From 028073625f1023cf38a43b259937f3e96235ecab Mon Sep 17 00:00:00 2001 From: Florent Gravin Date: Sat, 9 Dec 2023 08:53:05 +0100 Subject: [PATCH] chore: update gn4 API client to 4.2.7 --- .../gn4/src/openapi/.openapi-generator/FILES | 29 +- .../data-access/gn4/src/openapi/api.module.ts | 37 +- libs/data-access/gn4/src/openapi/api/api.ts | 9 + .../gn4/src/openapi/api/atom.api.service.ts | 520 + .../openapi/api/customstyle.api.service.ts | 6 +- .../src/openapi/api/formatters.api.service.ts | 819 + .../gn4/src/openapi/api/groups.api.service.ts | 83 +- .../src/openapi/api/harvesters.api.service.ts | 98 +- .../openapi/api/identifiers.api.service.ts | 82 +- .../src/openapi/api/languages.api.service.ts | 274 +- .../gn4/src/openapi/api/links.api.service.ts | 277 +- .../gn4/src/openapi/api/logos.api.service.ts | 78 +- .../src/openapi/api/mapservers.api.service.ts | 193 +- .../openapi/api/mapservices.api.service.ts | 171 + .../gn4/src/openapi/api/me.api.service.ts | 6 +- .../src/openapi/api/operations.api.service.ts | 6 +- .../gn4/src/openapi/api/pages.api.service.ts | 737 +- .../src/openapi/api/processes.api.service.ts | 358 +- .../src/openapi/api/records.api.service.ts | 4061 +++- .../src/openapi/api/regions.api.service.ts | 149 +- .../src/openapi/api/registries.api.service.ts | 668 +- .../src/openapi/api/related.api.service.ts | 18 +- .../gn4/src/openapi/api/search.api.service.ts | 243 +- .../src/openapi/api/selections.api.service.ts | 65 +- .../gn4/src/openapi/api/site.api.service.ts | 556 +- .../src/openapi/api/sources.api.service.ts | 317 +- .../src/openapi/api/standards.api.service.ts | 15 +- .../gn4/src/openapi/api/status.api.service.ts | 65 +- .../gn4/src/openapi/api/tags.api.service.ts | 161 +- .../gn4/src/openapi/api/tools.api.service.ts | 494 +- .../gn4/src/openapi/api/ui.api.service.ts | 157 +- .../openapi/api/userfeedback.api.service.ts | 8 +- .../gn4/src/openapi/api/users.api.service.ts | 174 +- .../openapi/api/usersearches.api.service.ts | 10 +- .../openapi/api/userselections.api.service.ts | 169 +- .../src/openapi/model/address.api.model.ts | 6 +- .../model/anonymousMapserver.api.model.ts | 14 +- .../src/openapi/model/associated.api.model.ts | 4 +- .../model/associatedRecord.api.model.ts | 19 + ...associatedSiblingMetadataItem.api.model.ts | 4 +- .../openapi/model/attributeTable.api.model.ts | 4 +- .../model/batchEditParameter.api.model.ts | 4 +- .../openapi/model/batchEditing.api.model.ts | 4 +- .../src/openapi/model/category.api.model.ts | 4 +- .../model/categoryResponse.api.model.ts | 4 +- .../src/openapi/model/children.api.model.ts | 4 +- .../src/openapi/model/codelist.api.model.ts | 4 +- .../gn4/src/openapi/model/crs.api.model.ts | 4 +- .../src/openapi/model/dataset.api.model.ts | 4 +- .../openapi/model/description.api.model.ts | 4 +- .../src/openapi/model/element.api.model.ts | 4 +- .../gn4/src/openapi/model/entry.api.model.ts | 4 +- .../src/openapi/model/extentDto.api.model.ts | 4 +- .../model/fCRelatedMetadataItem.api.model.ts | 4 +- .../gn4/src/openapi/model/fcat.api.model.ts | 4 +- .../model/featureResponse.api.model.ts | 4 +- .../openapi/model/featureType.api.model.ts | 4 +- .../gn4/src/openapi/model/field.api.model.ts | 4 +- .../openapi/model/formatterData.api.model.ts | 16 + .../model/formatterDataResponse.api.model.ts | 16 + .../model/grantedAuthority.api.model.ts | 4 +- .../gn4/src/openapi/model/group.api.model.ts | 13 +- .../model/groupOperations.api.model.ts | 4 +- .../openapi/model/groupPrivilege.api.model.ts | 4 +- .../openapi/model/hasfeaturecats.api.model.ts | 4 +- .../src/openapi/model/hassource.api.model.ts | 4 +- .../model/iProcessingReport.api.model.ts | 6 +- .../src/openapi/model/iSODate.api.model.ts | 17 +- .../src/openapi/model/infoReport.api.model.ts | 4 +- .../openapi/model/inlineObject1.api.model.ts | 7 +- .../openapi/model/inlineObject3.api.model.ts | 9 +- .../openapi/model/inlineObject4.api.model.ts | 18 + .../openapi/model/isoLanguage.api.model.ts | 4 +- ...2.api.model.ts => jSONObject.api.model.ts} | 8 +- .../src/openapi/model/jsonNode.api.model.ts | 59 + .../openapi/model/keywordBean.api.model.ts | 26 - .../src/openapi/model/language.api.model.ts | 18 + .../gn4/src/openapi/model/link.api.model.ts | 8 +- .../src/openapi/model/linkStatus.api.model.ts | 4 +- .../model/listRegionsResponse.api.model.ts | 4 +- .../model/localizedString.api.model.ts | 4 +- .../model/logFileResponse.api.model.ts | 4 +- .../src/openapi/model/mapServer.api.model.ts | 19 +- ...s.api.model.ts => mapService.api.model.ts} | 11 +- .../src/openapi/model/meResponse.api.model.ts | 4 +- ...metadataBatchApproveParameter.api.model.ts | 18 + .../metadataBatchSubmitParameter.api.model.ts | 17 + .../model/metadataCategory.api.model.ts | 4 +- .../metadataIdentifierTemplate.api.model.ts | 11 +- .../openapi/model/metadataLink.api.model.ts | 4 +- .../metadataProcessingReport.api.model.ts | 9 +- ...taReplacementProcessingReport.api.model.ts | 9 +- .../model/metadataResource.api.model.ts | 16 +- ...eExternalManagementProperties.api.model.ts | 25 + .../openapi/model/metadataSchema.api.model.ts | 30 - .../openapi/model/metadataStatus.api.model.ts | 32 - .../metadataStatusParameter.api.model.ts | 31 + .../model/metadataStatusResponse.api.model.ts | 44 - ...etadataWorkflowStatusResponse.api.model.ts | 21 - .../gn4/src/openapi/model/models.ts | 26 +- .../model/multilingualValue.api.model.ts | 4 +- .../gn4/src/openapi/model/online.api.model.ts | 4 +- .../src/openapi/model/operation.api.model.ts | 6 +- .../openapi/model/ownerResponse.api.model.ts | 4 +- .../src/openapi/model/pageLink.api.model.ts | 12 +- ...i.model.ts => pageProperties.api.model.ts} | 53 +- .../src/openapi/model/pageable.api.model.ts | 6 +- .../paginatedUserSearchResponse.api.model.ts | 4 +- .../gn4/src/openapi/model/parent.api.model.ts | 4 +- .../model/passwordResetDto.api.model.ts | 17 + .../passwordUpdateParameter.api.model.ts | 7 +- .../model/processingReport.api.model.ts | 6 +- .../model/proxyConfiguration.api.model.ts | 21 + .../model/publicationOption.api.model.ts | 56 + .../openapi/model/ratingAverage.api.model.ts | 4 +- .../openapi/model/ratingCriteria.api.model.ts | 6 +- .../openapi/model/regionResponse.api.model.ts | 4 +- .../src/openapi/model/related.api.model.ts | 4 +- .../model/relatedLinkItem.api.model.ts | 5 +- .../model/relatedMetadataItem.api.model.ts | 4 +- .../model/relatedResponse.api.model.ts | 4 +- .../relatedSiblingMetadataItem.api.model.ts | 4 +- .../model/relatedThumbnailItem.api.model.ts | 4 +- .../model/replaceEntryChange.api.model.ts | 4 +- .../openapi/model/replaceReport.api.model.ts | 4 +- .../gn4/src/openapi/model/report.api.model.ts | 4 +- .../src/openapi/model/reports.api.model.ts | 4 +- .../src/openapi/model/savedQuery.api.model.ts | 4 +- .../src/openapi/model/section.api.model.ts | 4 +- .../src/openapi/model/selection.api.model.ts | 4 +- .../src/openapi/model/service.api.model.ts | 4 +- .../src/openapi/model/setting.api.model.ts | 9 +- .../model/settingsListResponse.api.model.ts | 4 +- .../model/sharingParameter.api.model.ts | 7 +- .../model/sharingResponse.api.model.ts | 4 +- .../src/openapi/model/siblings.api.model.ts | 4 +- ...impleMetadataProcessingReport.api.model.ts | 9 +- .../model/siteInformation.api.model.ts | 4 +- .../gn4/src/openapi/model/sort.api.model.ts | 4 +- .../gn4/src/openapi/model/source.api.model.ts | 4 +- .../gn4/src/openapi/model/status.api.model.ts | 4 +- .../openapi/model/statusValue.api.model.ts | 10 +- .../openapi/model/suggestionType.api.model.ts | 4 +- .../src/openapi/model/systemInfo.api.model.ts | 4 +- .../openapi/model/thesaurusInfo.api.model.ts | 25 + .../src/openapi/model/thumbnail.api.model.ts | 4 +- .../model/transferRequest.api.model.ts | 4 +- .../openapi/model/translations.api.model.ts | 18 + .../src/openapi/model/uiSetting.api.model.ts | 4 +- .../gn4/src/openapi/model/user.api.model.ts | 14 +- .../src/openapi/model/userDto.api.model.ts | 4 +- .../model/userFeedbackDTO.api.model.ts | 4 +- .../src/openapi/model/userGroup.api.model.ts | 6 +- .../openapi/model/userGroupId.api.model.ts | 6 +- .../model/userGroupsResponse.api.model.ts | 4 +- .../model/userRegisterDto.api.model.ts | 7 +- .../openapi/model/userSearchDto.api.model.ts | 7 +- .../openapi/model/userSecurity.api.model.ts | 8 +- .../gn4/src/openapi/model/values.api.model.ts | 4 +- .../xsltMetadataProcessingReport.api.model.ts | 9 +- libs/data-access/gn4/src/spec.yaml | 18142 ++++++++++------ 161 files changed, 21869 insertions(+), 8575 deletions(-) create mode 100644 libs/data-access/gn4/src/openapi/api/atom.api.service.ts create mode 100644 libs/data-access/gn4/src/openapi/api/formatters.api.service.ts create mode 100644 libs/data-access/gn4/src/openapi/api/mapservices.api.service.ts create mode 100644 libs/data-access/gn4/src/openapi/model/associatedRecord.api.model.ts create mode 100644 libs/data-access/gn4/src/openapi/model/formatterData.api.model.ts create mode 100644 libs/data-access/gn4/src/openapi/model/formatterDataResponse.api.model.ts create mode 100644 libs/data-access/gn4/src/openapi/model/inlineObject4.api.model.ts rename libs/data-access/gn4/src/openapi/model/{inlineObject2.api.model.ts => jSONObject.api.model.ts} (69%) create mode 100644 libs/data-access/gn4/src/openapi/model/jsonNode.api.model.ts delete mode 100644 libs/data-access/gn4/src/openapi/model/keywordBean.api.model.ts create mode 100644 libs/data-access/gn4/src/openapi/model/language.api.model.ts rename libs/data-access/gn4/src/openapi/model/{externalResourceManagementProperties.api.model.ts => mapService.api.model.ts} (62%) create mode 100644 libs/data-access/gn4/src/openapi/model/metadataBatchApproveParameter.api.model.ts create mode 100644 libs/data-access/gn4/src/openapi/model/metadataBatchSubmitParameter.api.model.ts create mode 100644 libs/data-access/gn4/src/openapi/model/metadataResourceExternalManagementProperties.api.model.ts delete mode 100644 libs/data-access/gn4/src/openapi/model/metadataSchema.api.model.ts delete mode 100644 libs/data-access/gn4/src/openapi/model/metadataStatus.api.model.ts create mode 100644 libs/data-access/gn4/src/openapi/model/metadataStatusParameter.api.model.ts delete mode 100644 libs/data-access/gn4/src/openapi/model/metadataStatusResponse.api.model.ts delete mode 100644 libs/data-access/gn4/src/openapi/model/metadataWorkflowStatusResponse.api.model.ts rename libs/data-access/gn4/src/openapi/model/{pageJSONWrapper.api.model.ts => pageProperties.api.model.ts} (67%) create mode 100644 libs/data-access/gn4/src/openapi/model/passwordResetDto.api.model.ts create mode 100644 libs/data-access/gn4/src/openapi/model/proxyConfiguration.api.model.ts create mode 100644 libs/data-access/gn4/src/openapi/model/publicationOption.api.model.ts create mode 100644 libs/data-access/gn4/src/openapi/model/thesaurusInfo.api.model.ts create mode 100644 libs/data-access/gn4/src/openapi/model/translations.api.model.ts diff --git a/libs/data-access/gn4/src/openapi/.openapi-generator/FILES b/libs/data-access/gn4/src/openapi/.openapi-generator/FILES index 71ed9dd64d..1f64e54901 100644 --- a/libs/data-access/gn4/src/openapi/.openapi-generator/FILES +++ b/libs/data-access/gn4/src/openapi/.openapi-generator/FILES @@ -3,7 +3,9 @@ README.md api.module.ts api/api.ts +api/atom.api.service.ts api/customstyle.api.service.ts +api/formatters.api.service.ts api/groups.api.service.ts api/harvesters.api.service.ts api/identifiers.api.service.ts @@ -11,6 +13,7 @@ api/languages.api.service.ts api/links.api.service.ts api/logos.api.service.ts api/mapservers.api.service.ts +api/mapservices.api.service.ts api/me.api.service.ts api/operations.api.service.ts api/pages.api.service.ts @@ -39,6 +42,7 @@ index.ts model/address.api.model.ts model/anonymousMapserver.api.model.ts model/associated.api.model.ts +model/associatedRecord.api.model.ts model/associatedSiblingMetadataItem.api.model.ts model/attributeTable.api.model.ts model/batchEditParameter.api.model.ts @@ -53,12 +57,13 @@ model/description.api.model.ts model/element.api.model.ts model/entry.api.model.ts model/extentDto.api.model.ts -model/externalResourceManagementProperties.api.model.ts model/fCRelatedMetadataItem.api.model.ts model/fcat.api.model.ts model/featureResponse.api.model.ts model/featureType.api.model.ts model/field.api.model.ts +model/formatterData.api.model.ts +model/formatterDataResponse.api.model.ts model/grantedAuthority.api.model.ts model/group.api.model.ts model/groupOperations.api.model.ts @@ -69,39 +74,45 @@ model/iProcessingReport.api.model.ts model/iSODate.api.model.ts model/infoReport.api.model.ts model/inlineObject1.api.model.ts -model/inlineObject2.api.model.ts model/inlineObject3.api.model.ts +model/inlineObject4.api.model.ts model/isoLanguage.api.model.ts -model/keywordBean.api.model.ts +model/jSONObject.api.model.ts +model/jsonNode.api.model.ts +model/language.api.model.ts model/link.api.model.ts model/linkStatus.api.model.ts model/listRegionsResponse.api.model.ts model/localizedString.api.model.ts model/logFileResponse.api.model.ts model/mapServer.api.model.ts +model/mapService.api.model.ts model/meResponse.api.model.ts +model/metadataBatchApproveParameter.api.model.ts +model/metadataBatchSubmitParameter.api.model.ts model/metadataCategory.api.model.ts model/metadataIdentifierTemplate.api.model.ts model/metadataLink.api.model.ts model/metadataProcessingReport.api.model.ts model/metadataReplacementProcessingReport.api.model.ts model/metadataResource.api.model.ts -model/metadataSchema.api.model.ts -model/metadataStatus.api.model.ts -model/metadataStatusResponse.api.model.ts -model/metadataWorkflowStatusResponse.api.model.ts +model/metadataResourceExternalManagementProperties.api.model.ts +model/metadataStatusParameter.api.model.ts model/models.ts model/multilingualValue.api.model.ts model/online.api.model.ts model/operation.api.model.ts model/ownerResponse.api.model.ts -model/pageJSONWrapper.api.model.ts model/pageLink.api.model.ts +model/pageProperties.api.model.ts model/pageable.api.model.ts model/paginatedUserSearchResponse.api.model.ts model/parent.api.model.ts +model/passwordResetDto.api.model.ts model/passwordUpdateParameter.api.model.ts model/processingReport.api.model.ts +model/proxyConfiguration.api.model.ts +model/publicationOption.api.model.ts model/ratingAverage.api.model.ts model/ratingCriteria.api.model.ts model/regionResponse.api.model.ts @@ -132,8 +143,10 @@ model/status.api.model.ts model/statusValue.api.model.ts model/suggestionType.api.model.ts model/systemInfo.api.model.ts +model/thesaurusInfo.api.model.ts model/thumbnail.api.model.ts model/transferRequest.api.model.ts +model/translations.api.model.ts model/uiSetting.api.model.ts model/user.api.model.ts model/userDto.api.model.ts diff --git a/libs/data-access/gn4/src/openapi/api.module.ts b/libs/data-access/gn4/src/openapi/api.module.ts index 8b06ace96e..2a5668a7a5 100644 --- a/libs/data-access/gn4/src/openapi/api.module.ts +++ b/libs/data-access/gn4/src/openapi/api.module.ts @@ -1,12 +1,45 @@ import { - ModuleWithProviders, NgModule, - Optional, + ModuleWithProviders, SkipSelf, + Optional, } from '@angular/core' import { Configuration } from './configuration' import { HttpClient } from '@angular/common/http' +import { AtomApiService } from './api/atom.api.service' +import { CustomstyleApiService } from './api/customstyle.api.service' +import { FormattersApiService } from './api/formatters.api.service' +import { GroupsApiService } from './api/groups.api.service' +import { HarvestersApiService } from './api/harvesters.api.service' +import { IdentifiersApiService } from './api/identifiers.api.service' +import { LanguagesApiService } from './api/languages.api.service' +import { LinksApiService } from './api/links.api.service' +import { LogosApiService } from './api/logos.api.service' +import { MapserversApiService } from './api/mapservers.api.service' +import { MapservicesApiService } from './api/mapservices.api.service' +import { MeApiService } from './api/me.api.service' +import { OperationsApiService } from './api/operations.api.service' +import { PagesApiService } from './api/pages.api.service' +import { ProcessesApiService } from './api/processes.api.service' +import { RecordsApiService } from './api/records.api.service' +import { RegionsApiService } from './api/regions.api.service' +import { RegistriesApiService } from './api/registries.api.service' +import { RelatedApiService } from './api/related.api.service' +import { SearchApiService } from './api/search.api.service' +import { SelectionsApiService } from './api/selections.api.service' +import { SiteApiService } from './api/site.api.service' +import { SourcesApiService } from './api/sources.api.service' +import { StandardsApiService } from './api/standards.api.service' +import { StatusApiService } from './api/status.api.service' +import { TagsApiService } from './api/tags.api.service' +import { ToolsApiService } from './api/tools.api.service' +import { UiApiService } from './api/ui.api.service' +import { UserfeedbackApiService } from './api/userfeedback.api.service' +import { UsersApiService } from './api/users.api.service' +import { UsersearchesApiService } from './api/usersearches.api.service' +import { UserselectionsApiService } from './api/userselections.api.service' + @NgModule({ imports: [], declarations: [], diff --git a/libs/data-access/gn4/src/openapi/api/api.ts b/libs/data-access/gn4/src/openapi/api/api.ts index d0f849246c..c3913e86c8 100644 --- a/libs/data-access/gn4/src/openapi/api/api.ts +++ b/libs/data-access/gn4/src/openapi/api/api.ts @@ -1,5 +1,9 @@ +export * from './atom.api.service' +import { AtomApiService } from './atom.api.service' export * from './customstyle.api.service' import { CustomstyleApiService } from './customstyle.api.service' +export * from './formatters.api.service' +import { FormattersApiService } from './formatters.api.service' export * from './groups.api.service' import { GroupsApiService } from './groups.api.service' export * from './harvesters.api.service' @@ -14,6 +18,8 @@ export * from './logos.api.service' import { LogosApiService } from './logos.api.service' export * from './mapservers.api.service' import { MapserversApiService } from './mapservers.api.service' +export * from './mapservices.api.service' +import { MapservicesApiService } from './mapservices.api.service' export * from './me.api.service' import { MeApiService } from './me.api.service' export * from './operations.api.service' @@ -57,7 +63,9 @@ import { UsersearchesApiService } from './usersearches.api.service' export * from './userselections.api.service' import { UserselectionsApiService } from './userselections.api.service' export const APIS = [ + AtomApiService, CustomstyleApiService, + FormattersApiService, GroupsApiService, HarvestersApiService, IdentifiersApiService, @@ -65,6 +73,7 @@ export const APIS = [ LinksApiService, LogosApiService, MapserversApiService, + MapservicesApiService, MeApiService, OperationsApiService, PagesApiService, diff --git a/libs/data-access/gn4/src/openapi/api/atom.api.service.ts b/libs/data-access/gn4/src/openapi/api/atom.api.service.ts new file mode 100644 index 0000000000..e2ef4c0a72 --- /dev/null +++ b/libs/data-access/gn4/src/openapi/api/atom.api.service.ts @@ -0,0 +1,520 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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, + HttpParameterCodec, +} from '@angular/common/http' +import { CustomHttpParameterCodec } from '../encoder' +import { Observable } from 'rxjs' + +import { BASE_PATH, COLLECTION_FORMATS } from '../variables' +import { Configuration } from '../configuration' + +@Injectable({ + providedIn: 'root', +}) +export class AtomApiService { + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' + public defaultHeaders = new HttpHeaders() + public configuration = new Configuration() + public encoder: HttpParameterCodec + + constructor( + protected httpClient: HttpClient, + @Optional() @Inject(BASE_PATH) basePath: string, + @Optional() configuration: Configuration + ) { + if (configuration) { + this.configuration = configuration + } + if (typeof this.configuration.basePath !== 'string') { + if (typeof basePath !== 'string') { + basePath = this.basePath + } + this.configuration.basePath = basePath + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec() + } + + private addToHttpParams( + httpParams: HttpParams, + value: any, + key?: string + ): HttpParams { + if (typeof value === 'object' && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value) + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key) + } + return httpParams + } + + private addToHttpParamsRecursive( + httpParams: HttpParams, + value?: any, + key?: string + ): HttpParams { + if (value == null) { + return httpParams + } + + if (typeof value === 'object') { + if (Array.isArray(value)) { + ;(value as any[]).forEach( + (elem) => + (httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)) + ) + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append( + key, + (value as Date).toISOString().substr(0, 10) + ) + } else { + throw Error('key may not be null if value is Date') + } + } else { + Object.keys(value).forEach( + (k) => + (httpParams = this.addToHttpParamsRecursive( + httpParams, + value[k], + key != null ? `${key}.${k}` : k + )) + ) + } + } else if (key != null) { + httpParams = httpParams.append(key, value) + } else { + throw Error('key may not be null if value is not object or array') + } + return httpParams + } + + /** + * Describe service + * @param metadataUuid metadataUuid + * @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 describe( + metadataUuid: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public describe( + metadataUuid: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public describe( + metadataUuid: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public describe( + metadataUuid: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling describe.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${ + this.configuration.basePath + }/atom/describe/service/${encodeURIComponent(String(metadataUuid))}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Describe resource + * @param fileIdentifier fileIdentifier + * @param spatialDatasetIdentifierCode spatial_dataset_identifier_code + * @param spatialDatasetIdentifierNamespace spatial_dataset_identifier_namespace + * @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 describeResource( + fileIdentifier?: string, + spatialDatasetIdentifierCode?: string, + spatialDatasetIdentifierNamespace?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public describeResource( + fileIdentifier?: string, + spatialDatasetIdentifierCode?: string, + spatialDatasetIdentifierNamespace?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public describeResource( + fileIdentifier?: string, + spatialDatasetIdentifierCode?: string, + spatialDatasetIdentifierNamespace?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public describeResource( + fileIdentifier?: string, + spatialDatasetIdentifierCode?: string, + spatialDatasetIdentifierNamespace?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (fileIdentifier !== undefined && fileIdentifier !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + fileIdentifier, + 'fileIdentifier' + ) + } + if ( + spatialDatasetIdentifierCode !== undefined && + spatialDatasetIdentifierCode !== null + ) { + queryParameters = this.addToHttpParams( + queryParameters, + spatialDatasetIdentifierCode, + 'spatial_dataset_identifier_code' + ) + } + if ( + spatialDatasetIdentifierNamespace !== undefined && + spatialDatasetIdentifierNamespace !== null + ) { + queryParameters = this.addToHttpParams( + queryParameters, + spatialDatasetIdentifierNamespace, + 'spatial_dataset_identifier_namespace' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/atom/describe/resource`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get a data file related to dataset + * This service if a dataset has only 1 download format for a CRS returns the file, otherwise returns a feed with downloads for the dataset. + * @param spatialDatasetIdentifierCode spatial_dataset_identifier_code + * @param spatialDatasetIdentifierNamespace spatial_dataset_identifier_namespace + * @param crs crs + * @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 downloadResource( + spatialDatasetIdentifierCode?: string, + spatialDatasetIdentifierNamespace?: string, + crs?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public downloadResource( + spatialDatasetIdentifierCode?: string, + spatialDatasetIdentifierNamespace?: string, + crs?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public downloadResource( + spatialDatasetIdentifierCode?: string, + spatialDatasetIdentifierNamespace?: string, + crs?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public downloadResource( + spatialDatasetIdentifierCode?: string, + spatialDatasetIdentifierNamespace?: string, + crs?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if ( + spatialDatasetIdentifierCode !== undefined && + spatialDatasetIdentifierCode !== null + ) { + queryParameters = this.addToHttpParams( + queryParameters, + spatialDatasetIdentifierCode, + 'spatial_dataset_identifier_code' + ) + } + if ( + spatialDatasetIdentifierNamespace !== undefined && + spatialDatasetIdentifierNamespace !== null + ) { + queryParameters = this.addToHttpParams( + queryParameters, + spatialDatasetIdentifierNamespace, + 'spatial_dataset_identifier_namespace' + ) + } + if (crs !== undefined && crs !== null) { + queryParameters = this.addToHttpParams(queryParameters, crs, 'crs') + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/atom/download/resource`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get ATOM feeds + * @param fileIdentifier fileIdentifier + * @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 feeds1( + fileIdentifier?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public feeds1( + fileIdentifier?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public feeds1( + fileIdentifier?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public feeds1( + fileIdentifier?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (fileIdentifier !== undefined && fileIdentifier !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + fileIdentifier, + 'fileIdentifier' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/atom/feeds`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Scan records for ATOM feeds + * Check in the settings which protocol identify ATOM feeds in your catalogue.Only applies to ISO19139 records. + * @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 scan( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public scan( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public scan( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public scan( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/atom/scan`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } +} diff --git a/libs/data-access/gn4/src/openapi/api/customstyle.api.service.ts b/libs/data-access/gn4/src/openapi/api/customstyle.api.service.ts index 9fc9cd6704..1350d3a0ad 100644 --- a/libs/data-access/gn4/src/openapi/api/customstyle.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/customstyle.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -30,7 +30,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class CustomstyleApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec diff --git a/libs/data-access/gn4/src/openapi/api/formatters.api.service.ts b/libs/data-access/gn4/src/openapi/api/formatters.api.service.ts new file mode 100644 index 0000000000..0283b8ce8f --- /dev/null +++ b/libs/data-access/gn4/src/openapi/api/formatters.api.service.ts @@ -0,0 +1,819 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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, + HttpParameterCodec, +} from '@angular/common/http' +import { CustomHttpParameterCodec } from '../encoder' +import { Observable } from 'rxjs' + +import { FormatterDataResponseApiModel } from '../model/models' + +import { BASE_PATH, COLLECTION_FORMATS } from '../variables' +import { Configuration } from '../configuration' + +@Injectable({ + providedIn: 'root', +}) +export class FormattersApiService { + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' + public defaultHeaders = new HttpHeaders() + public configuration = new Configuration() + public encoder: HttpParameterCodec + + constructor( + protected httpClient: HttpClient, + @Optional() @Inject(BASE_PATH) basePath: string, + @Optional() configuration: Configuration + ) { + if (configuration) { + this.configuration = configuration + } + if (typeof this.configuration.basePath !== 'string') { + if (typeof basePath !== 'string') { + basePath = this.basePath + } + this.configuration.basePath = basePath + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec() + } + + private addToHttpParams( + httpParams: HttpParams, + value: any, + key?: string + ): HttpParams { + if (typeof value === 'object' && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value) + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key) + } + return httpParams + } + + private addToHttpParamsRecursive( + httpParams: HttpParams, + value?: any, + key?: string + ): HttpParams { + if (value == null) { + return httpParams + } + + if (typeof value === 'object') { + if (Array.isArray(value)) { + ;(value as any[]).forEach( + (elem) => + (httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)) + ) + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append( + key, + (value as Date).toISOString().substr(0, 10) + ) + } else { + throw Error('key may not be null if value is Date') + } + } else { + Object.keys(value).forEach( + (k) => + (httpParams = this.addToHttpParamsRecursive( + httpParams, + value[k], + key != null ? `${key}.${k}` : k + )) + ) + } + } else if (key != null) { + httpParams = httpParams.append(key, value) + } else { + throw Error('key may not be null if value is not object or array') + } + return httpParams + } + + /** + * Import a XSLT formatter (usually a zip named \'schema-formatter.zip\') + * @param file + * @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 addFormatter( + file: Array, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public addFormatter( + file: Array, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public addFormatter( + file: Array, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public addFormatter( + file: Array, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (file === null || file === undefined) { + throw new Error( + 'Required parameter file was null or undefined when calling addFormatter.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (file) { + file.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'file' + ) + }) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/formatters`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Clear formatter cache + * Formatters are used to render records in various format (HTML, PDF, ...). When a record is rendered a cache is populated for better performance. By default the cache is an H2 database with files on the filesystems (See <dataDirectory>/resources/htmlcache/formatter-cache folder). + * @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 clearFormatterCache( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public clearFormatterCache( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public clearFormatterCache( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public clearFormatterCache( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.delete( + `${this.configuration.basePath}/formatters/cache`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Delete a formatter + * @param formatter + * @param schema + * @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 deleteFormatter( + formatter: string, + schema: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public deleteFormatter( + formatter: string, + schema: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteFormatter( + formatter: string, + schema: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteFormatter( + formatter: string, + schema: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (formatter === null || formatter === undefined) { + throw new Error( + 'Required parameter formatter was null or undefined when calling deleteFormatter.' + ) + } + if (schema === null || schema === undefined) { + throw new Error( + 'Required parameter schema was null or undefined when calling deleteFormatter.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.delete( + `${this.configuration.basePath}/formatters/${encodeURIComponent( + String(schema) + )}/${encodeURIComponent(String(formatter))}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Download a formatter as ZIP + * @param formatter + * @param schema + * @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 downloadFormatter( + formatter: string, + schema: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public downloadFormatter( + formatter: string, + schema: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public downloadFormatter( + formatter: string, + schema: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public downloadFormatter( + formatter: string, + schema: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (formatter === null || formatter === undefined) { + throw new Error( + 'Required parameter formatter was null or undefined when calling downloadFormatter.' + ) + } + if (schema === null || schema === undefined) { + throw new Error( + 'Required parameter schema was null or undefined when calling downloadFormatter.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/formatters/${encodeURIComponent( + String(schema) + )}/${encodeURIComponent(String(formatter))}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get formatter file content + * @param formatter + * @param schema + * @param file + * @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 getFormatterFileContent( + formatter: string, + schema: string, + file: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable + public getFormatterFileContent( + formatter: string, + schema: string, + file: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public getFormatterFileContent( + formatter: string, + schema: string, + file: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public getFormatterFileContent( + formatter: string, + schema: string, + file: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable { + if (formatter === null || formatter === undefined) { + throw new Error( + 'Required parameter formatter was null or undefined when calling getFormatterFileContent.' + ) + } + if (schema === null || schema === undefined) { + throw new Error( + 'Required parameter schema was null or undefined when calling getFormatterFileContent.' + ) + } + if (file === null || file === undefined) { + throw new Error( + 'Required parameter file was null or undefined when calling getFormatterFileContent.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', 'text/plain'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/formatters/${encodeURIComponent( + String(schema) + )}/${encodeURIComponent(String(formatter))}/files/${encodeURIComponent( + String(file) + )}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get formatter files + * @param formatter + * @param schema + * @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 getFormatterFiles( + formatter: string, + schema: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public getFormatterFiles( + formatter: string, + schema: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getFormatterFiles( + formatter: string, + schema: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getFormatterFiles( + formatter: string, + schema: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (formatter === null || formatter === undefined) { + throw new Error( + 'Required parameter formatter was null or undefined when calling getFormatterFiles.' + ) + } + if (schema === null || schema === undefined) { + throw new Error( + 'Required parameter schema was null or undefined when calling getFormatterFiles.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/formatters/${encodeURIComponent( + String(schema) + )}/${encodeURIComponent(String(formatter))}/files`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get formatters + * @param id + * @param uuid + * @param schema + * @param pluginOnly + * @param publishedOnly + * @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 listFormatters( + id?: string, + uuid?: string, + schema?: string, + pluginOnly?: boolean, + publishedOnly?: boolean, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public listFormatters( + id?: string, + uuid?: string, + schema?: string, + pluginOnly?: boolean, + publishedOnly?: boolean, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public listFormatters( + id?: string, + uuid?: string, + schema?: string, + pluginOnly?: boolean, + publishedOnly?: boolean, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public listFormatters( + id?: string, + uuid?: string, + schema?: string, + pluginOnly?: boolean, + publishedOnly?: boolean, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (id !== undefined && id !== null) { + queryParameters = this.addToHttpParams(queryParameters, id, 'id') + } + if (uuid !== undefined && uuid !== null) { + queryParameters = this.addToHttpParams(queryParameters, uuid, 'uuid') + } + if (schema !== undefined && schema !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + schema, + 'schema' + ) + } + if (pluginOnly !== undefined && pluginOnly !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + pluginOnly, + 'pluginOnly' + ) + } + if (publishedOnly !== undefined && publishedOnly !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + publishedOnly, + 'publishedOnly' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/formatters`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Update formatter file + * @param formatter + * @param schema + * @param file + * @param data + * @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 updateFormatterFile( + formatter: string, + schema: string, + file: string, + data: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public updateFormatterFile( + formatter: string, + schema: string, + file: string, + data: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public updateFormatterFile( + formatter: string, + schema: string, + file: string, + data: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public updateFormatterFile( + formatter: string, + schema: string, + file: string, + data: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (formatter === null || formatter === undefined) { + throw new Error( + 'Required parameter formatter was null or undefined when calling updateFormatterFile.' + ) + } + if (schema === null || schema === undefined) { + throw new Error( + 'Required parameter schema was null or undefined when calling updateFormatterFile.' + ) + } + if (file === null || file === undefined) { + throw new Error( + 'Required parameter file was null or undefined when calling updateFormatterFile.' + ) + } + if (data === null || data === undefined) { + throw new Error( + 'Required parameter data was null or undefined when calling updateFormatterFile.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (data !== undefined && data !== null) { + queryParameters = this.addToHttpParams(queryParameters, data, 'data') + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/formatters/${encodeURIComponent( + String(schema) + )}/${encodeURIComponent(String(formatter))}/files/${encodeURIComponent( + String(file) + )}`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } +} diff --git a/libs/data-access/gn4/src/openapi/api/groups.api.service.ts b/libs/data-access/gn4/src/openapi/api/groups.api.service.ts index b5cb092c14..86bf6afc6e 100644 --- a/libs/data-access/gn4/src/openapi/api/groups.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/groups.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -33,7 +33,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class GroupsApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -113,7 +113,7 @@ export class GroupsApiService { /** * Add a group * Return the identifier of the group created. - * @param groupApiModel Group details + * @param groupApiModel * @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. */ @@ -351,6 +351,79 @@ export class GroupsApiService { ) } + /** + * Get the group logo image. + * If last-modified header is present it is used to check if the logo has been modified since the header date. If it hasn\'t been modified returns an empty 304 Not Modified response. If modified returns the image. If the group has no logo then returns a transparent 1x1 px PNG image. + * @param groupId Group identifier + * @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 getGroupLogo( + groupId: number, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public getGroupLogo( + groupId: number, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getGroupLogo( + groupId: number, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getGroupLogo( + groupId: number, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (groupId === null || groupId === undefined) { + throw new Error( + 'Required parameter groupId was null or undefined when calling getGroupLogo.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/groups/${encodeURIComponent( + String(groupId) + )}/logo`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Get group users * @param groupIdentifier Group identifier @@ -513,7 +586,7 @@ export class GroupsApiService { /** * Update a group * @param groupIdentifier Group identifier - * @param groupApiModel Group details + * @param groupApiModel * @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. */ diff --git a/libs/data-access/gn4/src/openapi/api/harvesters.api.service.ts b/libs/data-access/gn4/src/openapi/api/harvesters.api.service.ts index 49a2fc8091..fb3fb754f6 100644 --- a/libs/data-access/gn4/src/openapi/api/harvesters.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/harvesters.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -30,7 +30,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class HarvestersApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -199,4 +199,96 @@ export class HarvestersApiService { } ) } + + /** + * Check if a harvester name or host already exist + * @param property The harvester property to check + * @param exist The value to search + * @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 checkHarvesterPropertyExist( + property: string, + exist: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public checkHarvesterPropertyExist( + property: string, + exist: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public checkHarvesterPropertyExist( + property: string, + exist: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public checkHarvesterPropertyExist( + property: string, + exist: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if (property === null || property === undefined) { + throw new Error( + 'Required parameter property was null or undefined when calling checkHarvesterPropertyExist.' + ) + } + if (exist === null || exist === undefined) { + throw new Error( + 'Required parameter exist was null or undefined when calling checkHarvesterPropertyExist.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (exist !== undefined && exist !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + exist, + 'exist' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${ + this.configuration.basePath + }/harvesters/properties/${encodeURIComponent(String(property))}`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } } diff --git a/libs/data-access/gn4/src/openapi/api/identifiers.api.service.ts b/libs/data-access/gn4/src/openapi/api/identifiers.api.service.ts index 23792eee59..726bfa5630 100644 --- a/libs/data-access/gn4/src/openapi/api/identifiers.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/identifiers.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +32,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class IdentifiersApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -111,7 +111,7 @@ export class IdentifiersApiService { /** * Add an identifier template - * @param metadataIdentifierTemplateApiModel Identifier template details + * @param metadataIdentifierTemplateApiModel * @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. */ @@ -191,6 +191,78 @@ export class IdentifiersApiService { ) } + /** + * Remove an identifier template + * @param identifier Identifier template identifier + * @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 deleteIdentifier( + identifier: number, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public deleteIdentifier( + identifier: number, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteIdentifier( + identifier: number, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteIdentifier( + identifier: number, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (identifier === null || identifier === undefined) { + throw new Error( + 'Required parameter identifier was null or undefined when calling deleteIdentifier.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.delete( + `${this.configuration.basePath}/identifiers/${encodeURIComponent( + String(identifier) + )}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Get identifier templates * Identifier templates are used to create record UUIDs havind a particular structure. The template will be used when user creates a new record. The template identifier to use is defined in the administration > settings. @@ -269,7 +341,7 @@ export class IdentifiersApiService { /** * Update an identifier template * @param identifier Identifier template identifier - * @param metadataIdentifierTemplateApiModel Identifier template details + * @param metadataIdentifierTemplateApiModel * @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. */ diff --git a/libs/data-access/gn4/src/openapi/api/languages.api.service.ts b/libs/data-access/gn4/src/openapi/api/languages.api.service.ts index d150fb1ade..c6fd818350 100644 --- a/libs/data-access/gn4/src/openapi/api/languages.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/languages.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -24,6 +24,7 @@ import { CustomHttpParameterCodec } from '../encoder' import { Observable } from 'rxjs' import { IsoLanguageApiModel } from '../model/models' +import { LanguageApiModel } from '../model/models' import { BASE_PATH, COLLECTION_FORMATS } from '../variables' import { Configuration } from '../configuration' @@ -32,7 +33,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class LanguagesApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -109,6 +110,213 @@ export class LanguagesApiService { return httpParams } + /** + * Add a language + * Add all default translations from all *Desc tables in the database. This operation will only add translations for a default catalog installation. Defaults can be customized in SQL scripts located in WEB-INF/classes/setup/sql/data/_*. + * @param langCode ISO 3 letter code + * @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 addLanguages( + langCode: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public addLanguages( + langCode: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public addLanguages( + langCode: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public addLanguages( + langCode: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (langCode === null || langCode === undefined) { + throw new Error( + 'Required parameter langCode was null or undefined when calling addLanguages.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/languages/${encodeURIComponent( + String(langCode) + )}`, + null, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Remove a language + * Delete all translations from all *Desc tables in the database. Warning: This will also remove all translations you may have done to those objects (eg. custom groups). + * @param langCode ISO 3 letter code + * @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 deleteLanguage( + langCode: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public deleteLanguage( + langCode: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteLanguage( + langCode: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteLanguage( + langCode: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (langCode === null || langCode === undefined) { + throw new Error( + 'Required parameter langCode was null or undefined when calling deleteLanguage.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.delete( + `${this.configuration.basePath}/languages/${encodeURIComponent( + String(langCode) + )}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get languages available in the application + * Languages available in this version of the application. Those that you can add using PUT operation and which have SQL script to initialize the language. + * @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 getApplicationLanguages( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getApplicationLanguages( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getApplicationLanguages( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getApplicationLanguages( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/languages/application`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Get ISO languages * ISO languages provides a list of all languages (eg. used for autocompletion in metadata editor). @@ -168,4 +376,64 @@ export class LanguagesApiService { } ) } + + /** + * Get languages + * Languages for the application having translations in the database. All tables with \'Desc\' suffix contains translation for some domain objects like groups, tags, ... + * @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 getLanguages( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getLanguages( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getLanguages( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getLanguages( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/languages`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } } diff --git a/libs/data-access/gn4/src/openapi/api/links.api.service.ts b/libs/data-access/gn4/src/openapi/api/links.api.service.ts index f890ede825..0ec636b9d5 100644 --- a/libs/data-access/gn4/src/openapi/api/links.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/links.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -23,6 +23,7 @@ import { import { CustomHttpParameterCodec } from '../encoder' import { Observable } from 'rxjs' +import { JSONObjectApiModel } from '../model/models' import { PageLinkApiModel } from '../model/models' import { SimpleMetadataProcessingReportApiModel } from '../model/models' @@ -33,7 +34,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class LinksApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -110,6 +111,83 @@ export class LinksApiService { return httpParams } + /** + * Analyze one or more links + * @param url URL + * @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 analyzeLinks( + url?: Array, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public analyzeLinks( + url?: Array, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public analyzeLinks( + url?: Array, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public analyzeLinks( + url?: Array, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (url) { + url.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'url' + ) + }) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/records/links/analyzeurl`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Analyze records links * One of uuids or bucket parameter is required if not an Administrator. Only records that you can edit will be validated. @@ -211,7 +289,7 @@ export class LinksApiService { } return this.httpClient.post( - `${this.configuration.basePath}/records/links`, + `${this.configuration.basePath}/records/links/analyze`, null, { params: queryParameters, @@ -229,37 +307,52 @@ export class LinksApiService { * @param filter Filter, e.g. \"{url: \'png\', lastState: \'ko\', records: \'e421\', groupId: 12}\", lastState being \'ok\'/\'ko\'/\'unknown\' * @param groupIdFilter Optional, filter links to records published in that group. * @param groupOwnerIdFilter Optional, filter links to records created in that group. + * @param page Results page you want to retrieve (0..N) + * @param size Number of records per page. + * @param sort Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. * @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 getRecordLinks( - filter?: object, + filter?: JSONObjectApiModel, groupIdFilter?: Array, groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable public getRecordLinks( - filter?: object, + filter?: JSONObjectApiModel, groupIdFilter?: Array, groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public getRecordLinks( - filter?: object, + filter?: JSONObjectApiModel, groupIdFilter?: Array, groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public getRecordLinks( - filter?: object, + filter?: JSONObjectApiModel, groupIdFilter?: Array, groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } @@ -290,6 +383,15 @@ export class LinksApiService { ) }) } + if (page !== undefined && page !== null) { + queryParameters = this.addToHttpParams(queryParameters, page, 'page') + } + if (size !== undefined && size !== null) { + queryParameters = this.addToHttpParams(queryParameters, size, 'size') + } + if (sort !== undefined && sort !== null) { + queryParameters = this.addToHttpParams(queryParameters, sort, 'sort') + } let headers = this.defaultHeaders @@ -331,37 +433,52 @@ export class LinksApiService { * @param filter Filter, e.g. \"{url: \'png\', lastState: \'ko\', records: \'e421\', groupId: 12}\", lastState being \'ok\'/\'ko\'/\'unknown\' * @param groupIdFilter Optional, filter links to records published in that group. * @param groupOwnerIdFilter Optional, filter links to records created in that group. + * @param page Results page you want to retrieve (0..N) + * @param size Number of records per page. + * @param sort Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. * @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 getRecordLinksAsCsv( - filter?: object, + filter?: JSONObjectApiModel, groupIdFilter?: Array, groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable public getRecordLinksAsCsv( - filter?: object, + filter?: JSONObjectApiModel, groupIdFilter?: Array, groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public getRecordLinksAsCsv( - filter?: object, + filter?: JSONObjectApiModel, groupIdFilter?: Array, groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public getRecordLinksAsCsv( - filter?: object, + filter?: JSONObjectApiModel, groupIdFilter?: Array, groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } @@ -392,6 +509,15 @@ export class LinksApiService { ) }) } + if (page !== undefined && page !== null) { + queryParameters = this.addToHttpParams(queryParameters, page, 'page') + } + if (size !== undefined && size !== null) { + queryParameters = this.addToHttpParams(queryParameters, size, 'size') + } + if (sort !== undefined && sort !== null) { + queryParameters = this.addToHttpParams(queryParameters, sort, 'sort') + } let headers = this.defaultHeaders @@ -428,6 +554,133 @@ export class LinksApiService { ) } + /** + * Get record links + * @param filter Filter, e.g. \"{url: \'png\', lastState: \'ko\', records: \'e421\', groupId: 12}\", lastState being \'ok\'/\'ko\'/\'unknown\' + * @param groupIdFilter Optional, filter links to records published in that group. + * @param groupOwnerIdFilter Optional, filter links to records created in that group. + * @param page Results page you want to retrieve (0..N) + * @param size Number of records per page. + * @param sort Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. + * @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 getRecordLinksPost( + filter?: JSONObjectApiModel, + groupIdFilter?: Array, + groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public getRecordLinksPost( + filter?: JSONObjectApiModel, + groupIdFilter?: Array, + groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getRecordLinksPost( + filter?: JSONObjectApiModel, + groupIdFilter?: Array, + groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getRecordLinksPost( + filter?: JSONObjectApiModel, + groupIdFilter?: Array, + groupOwnerIdFilter?: Array, + page?: number, + size?: number, + sort?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (filter !== undefined && filter !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + filter, + 'filter' + ) + } + if (groupIdFilter) { + groupIdFilter.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'groupIdFilter' + ) + }) + } + if (groupOwnerIdFilter) { + groupOwnerIdFilter.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'groupOwnerIdFilter' + ) + }) + } + if (page !== undefined && page !== null) { + queryParameters = this.addToHttpParams(queryParameters, page, 'page') + } + if (size !== undefined && size !== null) { + queryParameters = this.addToHttpParams(queryParameters, size, 'size') + } + if (sort !== undefined && sort !== null) { + queryParameters = this.addToHttpParams(queryParameters, sort, 'sort') + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/records/links`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Remove all links and status history * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. diff --git a/libs/data-access/gn4/src/openapi/api/logos.api.service.ts b/libs/data-access/gn4/src/openapi/api/logos.api.service.ts index 491ddce479..b881b9dd0e 100644 --- a/libs/data-access/gn4/src/openapi/api/logos.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/logos.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -30,7 +30,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class LogosApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -274,6 +274,78 @@ export class LogosApiService { ) } + /** + * Get a logo + * @param file The logo filename + * @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 getLogo( + file: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public getLogo( + file: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getLogo( + file: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getLogo( + file: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (file === null || file === undefined) { + throw new Error( + 'Required parameter file was null or undefined when calling getLogo.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/logos/${encodeURIComponent( + String(file) + )}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Get all logos * Logos are used for the catalog, the groups logos, and harvester icons. Logos are stored in the data directory in <dataDirectory>/resources/images/harvesting.<br/> Records are attached to a source. A source can be the local catalog or a harvester node. When a source is created, its logo is located in the images/logos folder with the source UUID as filename. For some sources the logo can be automatically retrieved (eg. when harvesting GeoNetwork catalogs). For others, the logo is usually manually defined when configuring the harvester. diff --git a/libs/data-access/gn4/src/openapi/api/mapservers.api.service.ts b/libs/data-access/gn4/src/openapi/api/mapservers.api.service.ts index ded71210ab..ec71a21bc4 100644 --- a/libs/data-access/gn4/src/openapi/api/mapservers.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/mapservers.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -33,7 +33,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class MapserversApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -113,7 +113,7 @@ export class MapserversApiService { /** * Add a mapserver * Return the id of the newly created mapserver. - * @param mapServerApiModel Mapserver details + * @param mapServerApiModel * @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. */ @@ -190,6 +190,78 @@ export class MapserversApiService { ) } + /** + * Remove a mapserver + * @param mapserverId Mapserver identifier + * @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 deleteMapserver( + mapserverId: number, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public deleteMapserver( + mapserverId: number, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteMapserver( + mapserverId: number, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteMapserver( + mapserverId: number, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (mapserverId === null || mapserverId === undefined) { + throw new Error( + 'Required parameter mapserverId was null or undefined when calling deleteMapserver.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.delete( + `${this.configuration.basePath}/mapservers/${encodeURIComponent( + String(mapserverId) + )}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Remove a metadata mapserver resource * @param mapserverId Mapserver identifier @@ -704,7 +776,7 @@ export class MapserversApiService { /** * Update a mapserver * @param mapserverId Mapserver identifier - * @param mapServerApiModel Mapserver details + * @param mapServerApiModel * @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. */ @@ -791,4 +863,115 @@ export class MapserversApiService { } ) } + + /** + * Update a mapserver authentication + * The remote mapserver REST API may require basic authentication. This operation set the username and password. + * @param mapserverId Mapserver identifier + * @param username User name + * @param password Password + * @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 updateMapserver1( + mapserverId: number, + username: string, + password: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public updateMapserver1( + mapserverId: number, + username: string, + password: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public updateMapserver1( + mapserverId: number, + username: string, + password: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public updateMapserver1( + mapserverId: number, + username: string, + password: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (mapserverId === null || mapserverId === undefined) { + throw new Error( + 'Required parameter mapserverId was null or undefined when calling updateMapserver1.' + ) + } + if (username === null || username === undefined) { + throw new Error( + 'Required parameter username was null or undefined when calling updateMapserver1.' + ) + } + if (password === null || password === undefined) { + throw new Error( + 'Required parameter password was null or undefined when calling updateMapserver1.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (username !== undefined && username !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + username, + 'username' + ) + } + if (password !== undefined && password !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + password, + 'password' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/mapservers/${encodeURIComponent( + String(mapserverId) + )}/auth`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } } diff --git a/libs/data-access/gn4/src/openapi/api/mapservices.api.service.ts b/libs/data-access/gn4/src/openapi/api/mapservices.api.service.ts new file mode 100644 index 0000000000..11ad33e411 --- /dev/null +++ b/libs/data-access/gn4/src/openapi/api/mapservices.api.service.ts @@ -0,0 +1,171 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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, + HttpParameterCodec, +} from '@angular/common/http' +import { CustomHttpParameterCodec } from '../encoder' +import { Observable } from 'rxjs' + +import { MapServiceApiModel } from '../model/models' + +import { BASE_PATH, COLLECTION_FORMATS } from '../variables' +import { Configuration } from '../configuration' + +@Injectable({ + providedIn: 'root', +}) +export class MapservicesApiService { + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' + public defaultHeaders = new HttpHeaders() + public configuration = new Configuration() + public encoder: HttpParameterCodec + + constructor( + protected httpClient: HttpClient, + @Optional() @Inject(BASE_PATH) basePath: string, + @Optional() configuration: Configuration + ) { + if (configuration) { + this.configuration = configuration + } + if (typeof this.configuration.basePath !== 'string') { + if (typeof basePath !== 'string') { + basePath = this.basePath + } + this.configuration.basePath = basePath + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec() + } + + private addToHttpParams( + httpParams: HttpParams, + value: any, + key?: string + ): HttpParams { + if (typeof value === 'object' && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value) + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key) + } + return httpParams + } + + private addToHttpParamsRecursive( + httpParams: HttpParams, + value?: any, + key?: string + ): HttpParams { + if (value == null) { + return httpParams + } + + if (typeof value === 'object') { + if (Array.isArray(value)) { + ;(value as any[]).forEach( + (elem) => + (httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)) + ) + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append( + key, + (value as Date).toISOString().substr(0, 10) + ) + } else { + throw Error('key may not be null if value is Date') + } + } else { + Object.keys(value).forEach( + (k) => + (httpParams = this.addToHttpParamsRecursive( + httpParams, + value[k], + key != null ? `${key}.${k}` : k + )) + ) + } + } else if (key != null) { + httpParams = httpParams.append(key, value) + } else { + throw Error('key may not be null if value is not object or array') + } + return httpParams + } + + /** + * Get mapservices + * Return the list of mapservices. mapservices are used to identify secured map services. + * @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 getMapservices( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getMapservices( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getMapservices( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getMapservices( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/mapservices`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } +} diff --git a/libs/data-access/gn4/src/openapi/api/me.api.service.ts b/libs/data-access/gn4/src/openapi/api/me.api.service.ts index b973761e53..bb2d05c60f 100644 --- a/libs/data-access/gn4/src/openapi/api/me.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/me.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +32,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class MeApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec diff --git a/libs/data-access/gn4/src/openapi/api/operations.api.service.ts b/libs/data-access/gn4/src/openapi/api/operations.api.service.ts index 8d172191b5..4c4a63e5c1 100644 --- a/libs/data-access/gn4/src/openapi/api/operations.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/operations.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +32,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class OperationsApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec diff --git a/libs/data-access/gn4/src/openapi/api/pages.api.service.ts b/libs/data-access/gn4/src/openapi/api/pages.api.service.ts index 50092462a6..d92a91b037 100644 --- a/libs/data-access/gn4/src/openapi/api/pages.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/pages.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -23,7 +23,7 @@ import { import { CustomHttpParameterCodec } from '../encoder' import { Observable } from 'rxjs' -import { PageJSONWrapperApiModel } from '../model/models' +import { PagePropertiesApiModel } from '../model/models' import { BASE_PATH, COLLECTION_FORMATS } from '../variables' import { Configuration } from '../configuration' @@ -32,7 +32,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class PagesApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -54,6 +54,20 @@ export class PagesApiService { this.encoder = this.configuration.encoder || new CustomHttpParameterCodec() } + /** + * @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 + } + private addToHttpParams( httpParams: HttpParams, value: any, @@ -109,9 +123,375 @@ export class PagesApiService { return httpParams } + /** + * Add a page by uploading a file + * <p>Is not possible to load a link and a file at the same time.</p> <a href=\'https://geonetwork-opensource.org/manuals/4.0.x/en/customizing-application/adding-static-pages.html\'>More info</a> + * @param language + * @param pageId + * @param data + * @param sections + * @param status + * @param format + * @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 addPageUploadingFile( + language: string, + pageId: string, + data: Blob, + sections?: Array< + | 'TOP' + | 'FOOTER' + | 'MENU' + | 'SUBMENU' + | 'CUSTOM_MENU1' + | 'CUSTOM_MENU2' + | 'CUSTOM_MENU3' + >, + status?: 'PUBLIC' | 'PUBLIC_ONLY' | 'PRIVATE' | 'HIDDEN', + format?: 'LINK' | 'HTML' | 'HTMLPAGE' | 'TEXT', + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public addPageUploadingFile( + language: string, + pageId: string, + data: Blob, + sections?: Array< + | 'TOP' + | 'FOOTER' + | 'MENU' + | 'SUBMENU' + | 'CUSTOM_MENU1' + | 'CUSTOM_MENU2' + | 'CUSTOM_MENU3' + >, + status?: 'PUBLIC' | 'PUBLIC_ONLY' | 'PRIVATE' | 'HIDDEN', + format?: 'LINK' | 'HTML' | 'HTMLPAGE' | 'TEXT', + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public addPageUploadingFile( + language: string, + pageId: string, + data: Blob, + sections?: Array< + | 'TOP' + | 'FOOTER' + | 'MENU' + | 'SUBMENU' + | 'CUSTOM_MENU1' + | 'CUSTOM_MENU2' + | 'CUSTOM_MENU3' + >, + status?: 'PUBLIC' | 'PUBLIC_ONLY' | 'PRIVATE' | 'HIDDEN', + format?: 'LINK' | 'HTML' | 'HTMLPAGE' | 'TEXT', + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public addPageUploadingFile( + language: string, + pageId: string, + data: Blob, + sections?: Array< + | 'TOP' + | 'FOOTER' + | 'MENU' + | 'SUBMENU' + | 'CUSTOM_MENU1' + | 'CUSTOM_MENU2' + | 'CUSTOM_MENU3' + >, + status?: 'PUBLIC' | 'PUBLIC_ONLY' | 'PRIVATE' | 'HIDDEN', + format?: 'LINK' | 'HTML' | 'HTMLPAGE' | 'TEXT', + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if (language === null || language === undefined) { + throw new Error( + 'Required parameter language was null or undefined when calling addPageUploadingFile.' + ) + } + if (pageId === null || pageId === undefined) { + throw new Error( + 'Required parameter pageId was null or undefined when calling addPageUploadingFile.' + ) + } + if (data === null || data === undefined) { + throw new Error( + 'Required parameter data was null or undefined when calling addPageUploadingFile.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (language !== undefined && language !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + language, + 'language' + ) + } + if (pageId !== undefined && pageId !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + pageId, + 'pageId' + ) + } + if (sections) { + sections.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'sections' + ) + }) + } + if (status !== undefined && status !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + status, + 'status' + ) + } + if (format !== undefined && format !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + format, + 'format' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + // to determine the Content-Type header + const consumes: string[] = ['multipart/form-data'] + + const canConsumeForm = this.canConsumeForm(consumes) + + let formParams: { append(param: string, value: any): any } + let useForm = false + let convertFormParamsToString = false + // use FormData to transmit files using content-type "multipart/form-data" + // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data + useForm = canConsumeForm + if (useForm) { + formParams = new FormData() + } else { + formParams = new HttpParams({ encoder: this.encoder }) + } + + if (data !== undefined) { + formParams = (formParams.append('data', data) as any) || formParams + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/pages`, + convertFormParamsToString ? formParams.toString() : formParams, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Add a page + * <p>Is not possible to load a link and a file at the same time.</p> <a href=\'https://geonetwork-opensource.org/manuals/4.0.x/en/customizing-application/adding-static-pages.html\'>More info</a> + * @param pagePropertiesApiModel + * @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 addPageWithoutUploadingFile( + pagePropertiesApiModel: PagePropertiesApiModel, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public addPageWithoutUploadingFile( + pagePropertiesApiModel: PagePropertiesApiModel, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public addPageWithoutUploadingFile( + pagePropertiesApiModel: PagePropertiesApiModel, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public addPageWithoutUploadingFile( + pagePropertiesApiModel: PagePropertiesApiModel, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if ( + pagePropertiesApiModel === null || + pagePropertiesApiModel === undefined + ) { + throw new Error( + 'Required parameter pagePropertiesApiModel was null or undefined when calling addPageWithoutUploadingFile.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/pages`, + pagePropertiesApiModel, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Delete a page + * <a href=\'https://geonetwork-opensource.org/manuals/4.0.x/en/customizing-application/adding-static-pages.html\'>More info</a> + * @param language + * @param pageId + * @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 deletePage( + language: string, + pageId: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public deletePage( + language: string, + pageId: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deletePage( + language: string, + pageId: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deletePage( + language: string, + pageId: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (language === null || language === undefined) { + throw new Error( + 'Required parameter language was null or undefined when calling deletePage.' + ) + } + if (pageId === null || pageId === undefined) { + throw new Error( + 'Required parameter pageId was null or undefined when calling deletePage.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.delete( + `${this.configuration.basePath}/pages/${encodeURIComponent( + String(language) + )}/${encodeURIComponent(String(pageId))}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Return the page object details except the content - * <a href=\'http://geonetwork-opensource.org/manuals/trunk/eng/users/user-guide/define-static-pages/define-pages.html\'>More info</a> + * <a href=\'https://geonetwork-opensource.org/manuals/4.0.x/en/customizing-application/adding-static-pages.html\'>More info</a> * @param language * @param pageId * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -123,21 +503,21 @@ export class PagesApiService { observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable + ): Observable public getPage( language: string, pageId: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> + ): Observable> public getPage( language: string, pageId: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> + ): Observable> public getPage( language: string, pageId: string, @@ -178,7 +558,7 @@ export class PagesApiService { responseType_ = 'text' } - return this.httpClient.get( + return this.httpClient.get( `${this.configuration.basePath}/pages/${encodeURIComponent( String(language) )}/${encodeURIComponent(String(pageId))}`, @@ -194,7 +574,7 @@ export class PagesApiService { /** * Return the static html content identified by pageId - * <a href=\'http://geonetwork-opensource.org/manuals/trunk/eng/users/user-guide/define-static-pages/define-pages.html\'>More info</a> + * <a href=\'https://geonetwork-opensource.org/manuals/4.0.x/en/customizing-application/adding-static-pages.html\'>More info</a> * @param language * @param pageId * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -205,36 +585,28 @@ export class PagesApiService { pageId: string, observe?: 'body', reportProgress?: boolean, - options?: { - httpHeaderAccept?: 'application/json' | 'text/plain;charset=UTF-8' - } + options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable public getPageContent( language: string, pageId: string, observe?: 'response', reportProgress?: boolean, - options?: { - httpHeaderAccept?: 'application/json' | 'text/plain;charset=UTF-8' - } + options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable> public getPageContent( language: string, pageId: string, observe?: 'events', reportProgress?: boolean, - options?: { - httpHeaderAccept?: 'application/json' | 'text/plain;charset=UTF-8' - } + options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable> public getPageContent( language: string, pageId: string, observe: any = 'body', reportProgress: boolean = false, - options?: { - httpHeaderAccept?: 'application/json' | 'text/plain;charset=UTF-8' - } + options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable { if (language === null || language === undefined) { throw new Error( @@ -253,10 +625,7 @@ export class PagesApiService { options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json', - 'text/plain;charset=UTF-8', - ] + const httpHeaderAccepts: string[] = ['application/json', '*/*'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -286,9 +655,183 @@ export class PagesApiService { ) } + /** + * @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 getPageFormats( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getPageFormats( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getPageFormats( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getPageFormats( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/pages/config/formats`, + { + responseType: responseType_, + 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 getPageSections( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getPageSections( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getPageSections( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getPageSections( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/pages/config/sections`, + { + responseType: responseType_, + 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 getPageStatus( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getPageStatus( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getPageStatus( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getPageStatus( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/pages/config/status`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * List all pages according to the filters - * <a href=\'http://geonetwork-opensource.org/manuals/trunk/eng/users/user-guide/define-static-pages/define-pages.html\'>More info</a> + * <a href=\'https://geonetwork-opensource.org/manuals/4.0.x/en/customizing-application/adding-static-pages.html\'>More info</a> * @param language * @param section * @param format @@ -298,70 +841,62 @@ export class PagesApiService { public listPages( language?: string, section?: - | 'ALL' | 'TOP' | 'FOOTER' | 'MENU' | 'SUBMENU' | 'CUSTOM_MENU1' | 'CUSTOM_MENU2' - | 'CUSTOM_MENU3' - | 'DRAFT', - format?: 'LINK' | 'HTML' | 'TEXT' | 'MARKDOWN' | 'WIKI', + | 'CUSTOM_MENU3', + format?: 'LINK' | 'HTML' | 'HTMLPAGE' | 'TEXT', observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } + options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable public listPages( language?: string, section?: - | 'ALL' | 'TOP' | 'FOOTER' | 'MENU' | 'SUBMENU' | 'CUSTOM_MENU1' | 'CUSTOM_MENU2' - | 'CUSTOM_MENU3' - | 'DRAFT', - format?: 'LINK' | 'HTML' | 'TEXT' | 'MARKDOWN' | 'WIKI', + | 'CUSTOM_MENU3', + format?: 'LINK' | 'HTML' | 'HTMLPAGE' | 'TEXT', observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } + options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable> public listPages( language?: string, section?: - | 'ALL' | 'TOP' | 'FOOTER' | 'MENU' | 'SUBMENU' | 'CUSTOM_MENU1' | 'CUSTOM_MENU2' - | 'CUSTOM_MENU3' - | 'DRAFT', - format?: 'LINK' | 'HTML' | 'TEXT' | 'MARKDOWN' | 'WIKI', + | 'CUSTOM_MENU3', + format?: 'LINK' | 'HTML' | 'HTMLPAGE' | 'TEXT', observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } + options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable> public listPages( language?: string, section?: - | 'ALL' | 'TOP' | 'FOOTER' | 'MENU' | 'SUBMENU' | 'CUSTOM_MENU1' | 'CUSTOM_MENU2' - | 'CUSTOM_MENU3' - | 'DRAFT', - format?: 'LINK' | 'HTML' | 'TEXT' | 'MARKDOWN' | 'WIKI', + | 'CUSTOM_MENU3', + format?: 'LINK' | 'HTML' | 'HTMLPAGE' | 'TEXT', observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' } + options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable { let queryParameters = new HttpParams({ encoder: this.encoder }) if (language !== undefined && language !== null) { @@ -388,6 +923,98 @@ export class PagesApiService { let headers = this.defaultHeaders + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get(`${this.configuration.basePath}/pages`, { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + }) + } + + /** + * Update a page + * <a href=\'https://geonetwork-opensource.org/manuals/4.0.x/en/customizing-application/adding-static-pages.html\'>More info</a> + * @param language + * @param pageId + * @param pagePropertiesApiModel + * @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 updatePage( + language: string, + pageId: string, + pagePropertiesApiModel: PagePropertiesApiModel, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public updatePage( + language: string, + pageId: string, + pagePropertiesApiModel: PagePropertiesApiModel, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public updatePage( + language: string, + pageId: string, + pagePropertiesApiModel: PagePropertiesApiModel, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public updatePage( + language: string, + pageId: string, + pagePropertiesApiModel: PagePropertiesApiModel, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (language === null || language === undefined) { + throw new Error( + 'Required parameter language was null or undefined when calling updatePage.' + ) + } + if (pageId === null || pageId === undefined) { + throw new Error( + 'Required parameter pageId was null or undefined when calling updatePage.' + ) + } + if ( + pagePropertiesApiModel === null || + pagePropertiesApiModel === undefined + ) { + throw new Error( + 'Required parameter pagePropertiesApiModel was null or undefined when calling updatePage.' + ) + } + + let headers = this.defaultHeaders + let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { @@ -400,6 +1027,14 @@ export class PagesApiService { 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) + } + let responseType_: 'text' | 'json' = 'json' if ( httpHeaderAcceptSelected && @@ -408,10 +1043,12 @@ export class PagesApiService { responseType_ = 'text' } - return this.httpClient.get( - `${this.configuration.basePath}/pages/list`, + return this.httpClient.put( + `${this.configuration.basePath}/pages/${encodeURIComponent( + String(language) + )}/${encodeURIComponent(String(pageId))}`, + pagePropertiesApiModel, { - params: queryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: headers, diff --git a/libs/data-access/gn4/src/openapi/api/processes.api.service.ts b/libs/data-access/gn4/src/openapi/api/processes.api.service.ts index 92ecf6492b..2e03d28603 100644 --- a/libs/data-access/gn4/src/openapi/api/processes.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/processes.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -34,7 +34,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class ProcessesApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -234,44 +234,54 @@ export class ProcessesApiService { * Preview process result applied to one or more records * Preview result of a process applied to metadata records with an XSL transformation declared in the metadata schema (See the process folder). Parameters sent to the service are forwarded to XSL process. Append mode has 2 limitations. First, it only support a set of records in the same schema. Secondly, it does not propagate URL parameters. This mode is mainly used to create custom reports based on metadata records content.If process name ends with \'.csv\', the XSL process output a text document which is returned. When errors occur during processing, the processing report is returned in JSON format. * @param process Process identifier + * @param diffType Return differences with diff, diffhtml or patch * @param uuids Record UUIDs. If null current selection is used. * @param bucket Selection bucket name * @param appendFirst Append documents before processing + * @param applyUpdateFixedInfo Apply update fixed info * @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 previewProcessRecords( process: string, + diffType?: 'patch' | 'diff' | 'diffhtml', uuids?: Array, bucket?: string, appendFirst?: boolean, + applyUpdateFixedInfo?: boolean, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable public previewProcessRecords( process: string, + diffType?: 'patch' | 'diff' | 'diffhtml', uuids?: Array, bucket?: string, appendFirst?: boolean, + applyUpdateFixedInfo?: boolean, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable> public previewProcessRecords( process: string, + diffType?: 'patch' | 'diff' | 'diffhtml', uuids?: Array, bucket?: string, appendFirst?: boolean, + applyUpdateFixedInfo?: boolean, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable> public previewProcessRecords( process: string, + diffType?: 'patch' | 'diff' | 'diffhtml', uuids?: Array, bucket?: string, appendFirst?: boolean, + applyUpdateFixedInfo?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' | '*/*' } @@ -283,6 +293,13 @@ export class ProcessesApiService { } let queryParameters = new HttpParams({ encoder: this.encoder }) + if (diffType !== undefined && diffType !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + diffType, + 'diffType' + ) + } if (uuids) { uuids.forEach((element) => { queryParameters = this.addToHttpParams( @@ -306,6 +323,13 @@ export class ProcessesApiService { 'appendFirst' ) } + if (applyUpdateFixedInfo !== undefined && applyUpdateFixedInfo !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + applyUpdateFixedInfo, + 'applyUpdateFixedInfo' + ) + } let headers = this.defaultHeaders @@ -344,6 +368,161 @@ export class ProcessesApiService { ) } + /** + * Preview of search and replace text. + * When errors occur during processing, the processing report is returned in JSON format. + * @param search Value to search for + * @param useRegexp Use regular expression (may not be supported by all databases - tested with H2 and PostgreSQL) + * @param replace Replacement + * @param regexpFlags regexpFlags + * @param diffType Return differences with diff, diffhtml or patch + * @param uuids Record UUIDs. If null current selection is used. + * @param bucket Selection bucket name + * @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 previewProcessSearchAndReplace( + search: string, + useRegexp?: boolean, + replace?: string, + regexpFlags?: string, + diffType?: 'patch' | 'diff' | 'diffhtml', + uuids?: Array, + bucket?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public previewProcessSearchAndReplace( + search: string, + useRegexp?: boolean, + replace?: string, + regexpFlags?: string, + diffType?: 'patch' | 'diff' | 'diffhtml', + uuids?: Array, + bucket?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public previewProcessSearchAndReplace( + search: string, + useRegexp?: boolean, + replace?: string, + regexpFlags?: string, + diffType?: 'patch' | 'diff' | 'diffhtml', + uuids?: Array, + bucket?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public previewProcessSearchAndReplace( + search: string, + useRegexp?: boolean, + replace?: string, + regexpFlags?: string, + diffType?: 'patch' | 'diff' | 'diffhtml', + uuids?: Array, + bucket?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if (search === null || search === undefined) { + throw new Error( + 'Required parameter search was null or undefined when calling previewProcessSearchAndReplace.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (useRegexp !== undefined && useRegexp !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + useRegexp, + 'useRegexp' + ) + } + if (search !== undefined && search !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + search, + 'search' + ) + } + if (replace !== undefined && replace !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + replace, + 'replace' + ) + } + if (regexpFlags !== undefined && regexpFlags !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + regexpFlags, + 'regexpFlags' + ) + } + if (diffType !== undefined && diffType !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + diffType, + 'diffType' + ) + } + if (uuids) { + uuids.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'uuids' + ) + }) + } + if (bucket !== undefined && bucket !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + bucket, + 'bucket' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/processes/db/search-and-replace`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Apply a process to one or more records * Process a metadata with an XSL transformation declared in the metadata schema (See the process folder). Parameters sent to the service are forwarded to XSL process. @@ -472,8 +651,176 @@ export class ProcessesApiService { } /** - * Search and replace values in one or more records - * Service to apply replacements to one or more records. To define a replacement, send the following parameters: * mdsection-139815551372=metadata * mdfield-1398155513728=id.contact.individualName * replaceValue-1398155513728=Juan * searchValue-1398155513728=Jose TODO: Would be good to provide a simple object to define list of changes instead of group of parameters.<br/>Batch editing can also be used for similar works. + * Apply a database search and replace to one or more records + * Process a metadata with an XSL transformation declared in the metadata schema (See the process folder). Parameters sent to the service are forwarded to XSL process. + * @param search Value to search for + * @param useRegexp Use regular expression (may not be supported by all databases - tested with H2 and PostgreSQL) + * @param replace Replacement + * @param regexpFlags regexpFlags + * @param uuids Record UUIDs. If null current selection is used. + * @param bucket Selection bucket name + * @param updateDateStamp If true updates the DateStamp (or equivalent in standards different to ISO 19139) field in the metadata with the current timestamp + * @param index Index after processing + * @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 processSearchAndReplace( + search: string, + useRegexp?: boolean, + replace?: string, + regexpFlags?: string, + uuids?: Array, + bucket?: string, + updateDateStamp?: boolean, + index?: boolean, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public processSearchAndReplace( + search: string, + useRegexp?: boolean, + replace?: string, + regexpFlags?: string, + uuids?: Array, + bucket?: string, + updateDateStamp?: boolean, + index?: boolean, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public processSearchAndReplace( + search: string, + useRegexp?: boolean, + replace?: string, + regexpFlags?: string, + uuids?: Array, + bucket?: string, + updateDateStamp?: boolean, + index?: boolean, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public processSearchAndReplace( + search: string, + useRegexp?: boolean, + replace?: string, + regexpFlags?: string, + uuids?: Array, + bucket?: string, + updateDateStamp?: boolean, + index?: boolean, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (search === null || search === undefined) { + throw new Error( + 'Required parameter search was null or undefined when calling processSearchAndReplace.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (useRegexp !== undefined && useRegexp !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + useRegexp, + 'useRegexp' + ) + } + if (search !== undefined && search !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + search, + 'search' + ) + } + if (replace !== undefined && replace !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + replace, + 'replace' + ) + } + if (regexpFlags !== undefined && regexpFlags !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + regexpFlags, + 'regexpFlags' + ) + } + if (uuids) { + uuids.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'uuids' + ) + }) + } + if (bucket !== undefined && bucket !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + bucket, + 'bucket' + ) + } + if (updateDateStamp !== undefined && updateDateStamp !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + updateDateStamp, + 'updateDateStamp' + ) + } + if (index !== undefined && index !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + index, + 'index' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/processes/db/search-and-replace`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Search and replace values in one or more ISO19139 records + * Service to apply replacements to one or more records. To define a replacement, send the following parameters: * mdsection-139815551372=metadata * mdfield-1398155513728=id.contact.individualName * replaceValue-1398155513728=Juan * searchValue-1398155513728=Jose <br/>Batch editing can also be used for similar works. * @param process * @param uuids Record UUIDs. If null current selection is used. * @param bucket Selection bucket name @@ -482,6 +829,7 @@ export class ProcessesApiService { * @param vacuumMode \'record\' to apply vacuum.xsl, \'element\' to remove empty elements. Empty to not affect empty elements. * @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. + * @deprecated */ public searchAndReplace( process?: string, diff --git a/libs/data-access/gn4/src/openapi/api/records.api.service.ts b/libs/data-access/gn4/src/openapi/api/records.api.service.ts index 1a98856658..6d1552c5fa 100644 --- a/libs/data-access/gn4/src/openapi/api/records.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/records.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -24,16 +24,17 @@ import { CustomHttpParameterCodec } from '../encoder' import { Observable } from 'rxjs' import { BatchEditParameterApiModel } from '../model/models' -import { ElementApiModel } from '../model/models' import { ExtentDtoApiModel } from '../model/models' import { FeatureResponseApiModel } from '../model/models' import { IProcessingReportApiModel } from '../model/models' -import { InlineObject1ApiModel } from '../model/models' +import { InlineObject3ApiModel } from '../model/models' +import { MetadataBatchApproveParameterApiModel } from '../model/models' +import { MetadataBatchSubmitParameterApiModel } from '../model/models' import { MetadataCategoryApiModel } from '../model/models' import { MetadataProcessingReportApiModel } from '../model/models' import { MetadataResourceApiModel } from '../model/models' -import { MetadataStatusResponseApiModel } from '../model/models' -import { MetadataWorkflowStatusResponseApiModel } from '../model/models' +import { MetadataStatusParameterApiModel } from '../model/models' +import { PublicationOptionApiModel } from '../model/models' import { RelatedResponseApiModel } from '../model/models' import { ReportsApiModel } from '../model/models' import { SavedQueryApiModel } from '../model/models' @@ -49,7 +50,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class RecordsApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -126,6 +127,132 @@ export class RecordsApiService { return httpParams } + /** + * Add element + * @param metadataUuid Record UUID. + * @param ref Reference of the insertion point. + * @param name Name of the element to add (with prefix) + * @param child Use geonet:attribute for attributes or child name. + * @param displayAttributes Should attributes be shown on the editor snippet? + * @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 addElement( + metadataUuid: string, + ref: string, + name: string, + child?: string, + displayAttributes?: boolean, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public addElement( + metadataUuid: string, + ref: string, + name: string, + child?: string, + displayAttributes?: boolean, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public addElement( + metadataUuid: string, + ref: string, + name: string, + child?: string, + displayAttributes?: boolean, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public addElement( + metadataUuid: string, + ref: string, + name: string, + child?: string, + displayAttributes?: boolean, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling addElement.' + ) + } + if (ref === null || ref === undefined) { + throw new Error( + 'Required parameter ref was null or undefined when calling addElement.' + ) + } + if (name === null || name === undefined) { + throw new Error( + 'Required parameter name was null or undefined when calling addElement.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (ref !== undefined && ref !== null) { + queryParameters = this.addToHttpParams(queryParameters, ref, 'ref') + } + if (name !== undefined && name !== null) { + queryParameters = this.addToHttpParams(queryParameters, name, 'name') + } + if (child !== undefined && child !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + child, + 'child' + ) + } + if (displayAttributes !== undefined && displayAttributes !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + displayAttributes, + 'displayAttributes' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/editor/elements`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Reorder element * @param metadataUuid Record UUID. @@ -135,7 +262,7 @@ export class RecordsApiService { * @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 addElement( + public addElement1( metadataUuid: string, ref: string, direction: 'up' | 'down', @@ -144,7 +271,7 @@ export class RecordsApiService { reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable - public addElement( + public addElement1( metadataUuid: string, ref: string, direction: 'up' | 'down', @@ -153,7 +280,7 @@ export class RecordsApiService { reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public addElement( + public addElement1( metadataUuid: string, ref: string, direction: 'up' | 'down', @@ -162,7 +289,7 @@ export class RecordsApiService { reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public addElement( + public addElement1( metadataUuid: string, ref: string, direction: 'up' | 'down', @@ -173,17 +300,17 @@ export class RecordsApiService { ): Observable { if (metadataUuid === null || metadataUuid === undefined) { throw new Error( - 'Required parameter metadataUuid was null or undefined when calling addElement.' + 'Required parameter metadataUuid was null or undefined when calling addElement1.' ) } if (ref === null || ref === undefined) { throw new Error( - 'Required parameter ref was null or undefined when calling addElement.' + 'Required parameter ref was null or undefined when calling addElement1.' ) } if (direction === null || direction === undefined) { throw new Error( - 'Required parameter direction was null or undefined when calling addElement.' + 'Required parameter direction was null or undefined when calling addElement1.' ) } @@ -489,6 +616,88 @@ export class RecordsApiService { ) } + /** + * Set the records status to approved + * @param metadataBatchApproveParameterApiModel + * @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 approve( + metadataBatchApproveParameterApiModel: MetadataBatchApproveParameterApiModel, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public approve( + metadataBatchApproveParameterApiModel: MetadataBatchApproveParameterApiModel, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public approve( + metadataBatchApproveParameterApiModel: MetadataBatchApproveParameterApiModel, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public approve( + metadataBatchApproveParameterApiModel: MetadataBatchApproveParameterApiModel, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if ( + metadataBatchApproveParameterApiModel === null || + metadataBatchApproveParameterApiModel === undefined + ) { + throw new Error( + 'Required parameter metadataBatchApproveParameterApiModel was null or undefined when calling approve.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/records/approve`, + metadataBatchApproveParameterApiModel, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Edit a set of records by XPath expressions. This operations applies the update-fixed-info.xsl transformation for the metadata schema and updates the change date if the parameter updateDateStamp is set to true. * @param batchEditParameterApiModel @@ -757,6 +966,78 @@ export class RecordsApiService { ) } + /** + * Check the DOI URL created based on current configuration and pattern. + * @param metadataUuid Record UUID. + * @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 checkDoiUrl( + metadataUuid: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable + public checkDoiUrl( + metadataUuid: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public checkDoiUrl( + metadataUuid: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public checkDoiUrl( + metadataUuid: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling checkDoiUrl.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', 'text/plain'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/doi/checkDoiUrl`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Check the status of validation with the INSPIRE service. * User MUST be able to edit the record to validate it. An INSPIRE endpoint must be configured in Settings. If the process is complete an object with status is returned. @@ -919,18 +1200,144 @@ export class RecordsApiService { } /** - * Create a new record - * Create a record from a template or by copying an existing record.Return the UUID of the newly created record. Existing links in the source record are preserved, this means that the new record may contains link to the source attachments. They need to be manually updated after creation. - * @param sourceUuid UUID of the source record to copy. - * @param group The group the record is attached to. - * @param metadataType The type of record. - * @param targetUuid Assign a custom UUID. If this UUID already exist an error is returned. This is enabled only if metadata create / generate UUID settings is activated. - * @param isVisibleByAllGroupMembers Is published to all user group members? If not, only the author and administrator can edit the record. - * @param category Tags to assign to the record. - * @param hasCategoryOfSource Copy categories from source? - * @param isChildOfSource Is child of the record to copy? - * @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. + * Close a record task + * @param metadataUuid Record UUID. + * @param statusId Status identifier + * @param userId User identifier + * @param changeDate Change date + * @param closeDate Close date + * @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 closeTask( + metadataUuid: string, + statusId: number, + userId: number, + changeDate: string, + closeDate: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public closeTask( + metadataUuid: string, + statusId: number, + userId: number, + changeDate: string, + closeDate: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public closeTask( + metadataUuid: string, + statusId: number, + userId: number, + changeDate: string, + closeDate: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public closeTask( + metadataUuid: string, + statusId: number, + userId: number, + changeDate: string, + closeDate: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling closeTask.' + ) + } + if (statusId === null || statusId === undefined) { + throw new Error( + 'Required parameter statusId was null or undefined when calling closeTask.' + ) + } + if (userId === null || userId === undefined) { + throw new Error( + 'Required parameter userId was null or undefined when calling closeTask.' + ) + } + if (changeDate === null || changeDate === undefined) { + throw new Error( + 'Required parameter changeDate was null or undefined when calling closeTask.' + ) + } + if (closeDate === null || closeDate === undefined) { + throw new Error( + 'Required parameter closeDate was null or undefined when calling closeTask.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (closeDate !== undefined && closeDate !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + closeDate, + 'closeDate' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/status/${encodeURIComponent(String(statusId))}.${encodeURIComponent( + String(userId) + )}.${encodeURIComponent(String(changeDate))}/close`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Create a new record + * Create a record from a template or by copying an existing record.Return the UUID of the newly created record. Existing links in the source record are preserved, this means that the new record may contains link to the source attachments. They need to be manually updated after creation. + * @param sourceUuid UUID of the source record to copy. + * @param group The group the record is attached to. + * @param metadataType The type of record. + * @param targetUuid Assign a custom UUID. If this UUID already exist an error is returned. This is enabled only if metadata create / generate UUID settings is activated. + * @param allowEditGroupMembers Is editable by group members with editor profile? If not, only the author and administrator can edit the record. + * @param category Tags to assign to the record. + * @param hasCategoryOfSource Copy categories from source? + * @param isChildOfSource Is child of the record to copy? + * @param hasAttachmentsOfSource Copy attachments from source? + * @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 create( sourceUuid: string, @@ -941,10 +1348,11 @@ export class RecordsApiService { | 'SUB_TEMPLATE' | 'TEMPLATE_OF_SUB_TEMPLATE', targetUuid?: string, - isVisibleByAllGroupMembers?: boolean, + allowEditGroupMembers?: boolean, category?: Array, hasCategoryOfSource?: boolean, isChildOfSource?: boolean, + hasAttachmentsOfSource?: boolean, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } @@ -958,10 +1366,11 @@ export class RecordsApiService { | 'SUB_TEMPLATE' | 'TEMPLATE_OF_SUB_TEMPLATE', targetUuid?: string, - isVisibleByAllGroupMembers?: boolean, + allowEditGroupMembers?: boolean, category?: Array, hasCategoryOfSource?: boolean, isChildOfSource?: boolean, + hasAttachmentsOfSource?: boolean, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } @@ -975,10 +1384,11 @@ export class RecordsApiService { | 'SUB_TEMPLATE' | 'TEMPLATE_OF_SUB_TEMPLATE', targetUuid?: string, - isVisibleByAllGroupMembers?: boolean, + allowEditGroupMembers?: boolean, category?: Array, hasCategoryOfSource?: boolean, isChildOfSource?: boolean, + hasAttachmentsOfSource?: boolean, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } @@ -992,10 +1402,11 @@ export class RecordsApiService { | 'SUB_TEMPLATE' | 'TEMPLATE_OF_SUB_TEMPLATE', targetUuid?: string, - isVisibleByAllGroupMembers?: boolean, + allowEditGroupMembers?: boolean, category?: Array, hasCategoryOfSource?: boolean, isChildOfSource?: boolean, + hasAttachmentsOfSource?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } @@ -1040,14 +1451,11 @@ export class RecordsApiService { 'group' ) } - if ( - isVisibleByAllGroupMembers !== undefined && - isVisibleByAllGroupMembers !== null - ) { + if (allowEditGroupMembers !== undefined && allowEditGroupMembers !== null) { queryParameters = this.addToHttpParams( queryParameters, - isVisibleByAllGroupMembers, - 'isVisibleByAllGroupMembers' + allowEditGroupMembers, + 'allowEditGroupMembers' ) } if (category) { @@ -1073,6 +1481,16 @@ export class RecordsApiService { 'isChildOfSource' ) } + if ( + hasAttachmentsOfSource !== undefined && + hasAttachmentsOfSource !== null + ) { + queryParameters = this.addToHttpParams( + queryParameters, + hasAttachmentsOfSource, + 'hasAttachmentsOfSource' + ) + } let headers = this.defaultHeaders @@ -1184,65 +1602,62 @@ export class RecordsApiService { } /** - * Delete attribute - * @param metadataUuid Record UUID. - * @param ref Reference of the attribute to remove. - * @param displayAttributes Should attributes be shown on the editor snippet? + * Delete a metadata resource + * @param metadataUuid The metadata UUID + * @param resourceId The resource identifier (ie. filename) + * @param approved Use approved version or not * @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 deleteAttribute( + public delResource( metadataUuid: string, - ref: string, - displayAttributes?: boolean, + resourceId: string, + approved?: boolean, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable - public deleteAttribute( + public delResource( metadataUuid: string, - ref: string, - displayAttributes?: boolean, + resourceId: string, + approved?: boolean, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public deleteAttribute( + public delResource( metadataUuid: string, - ref: string, - displayAttributes?: boolean, + resourceId: string, + approved?: boolean, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public deleteAttribute( + public delResource( metadataUuid: string, - ref: string, - displayAttributes?: boolean, + resourceId: string, + approved?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } ): Observable { if (metadataUuid === null || metadataUuid === undefined) { throw new Error( - 'Required parameter metadataUuid was null or undefined when calling deleteAttribute.' + 'Required parameter metadataUuid was null or undefined when calling delResource.' ) } - if (ref === null || ref === undefined) { + if (resourceId === null || resourceId === undefined) { throw new Error( - 'Required parameter ref was null or undefined when calling deleteAttribute.' + 'Required parameter resourceId was null or undefined when calling delResource.' ) } let queryParameters = new HttpParams({ encoder: this.encoder }) - if (ref !== undefined && ref !== null) { - queryParameters = this.addToHttpParams(queryParameters, ref, 'ref') - } - if (displayAttributes !== undefined && displayAttributes !== null) { + if (approved !== undefined && approved !== null) { queryParameters = this.addToHttpParams( queryParameters, - displayAttributes, - 'displayAttributes' + approved, + 'approved' ) } @@ -1271,7 +1686,7 @@ export class RecordsApiService { return this.httpClient.delete( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) - )}/editor/attributes`, + )}/attachments/${encodeURIComponent(String(resourceId))}`, { params: queryParameters, responseType: responseType_, @@ -1284,88 +1699,52 @@ export class RecordsApiService { } /** - * Delete element - * @param metadataUuid Record UUID. - * @param ref Reference of the element to remove. - * @param parent Name of the parent. - * @param displayAttributes Should attributes be shown on the editor snippet? + * Delete all uploaded metadata resources + * @param metadataUuid The metadata UUID + * @param approved Use approved version or not * @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 deleteElement( + public delResources( metadataUuid: string, - ref: Array, - parent: string, - displayAttributes?: boolean, + approved?: boolean, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable - public deleteElement( + public delResources( metadataUuid: string, - ref: Array, - parent: string, - displayAttributes?: boolean, + approved?: boolean, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public deleteElement( + public delResources( metadataUuid: string, - ref: Array, - parent: string, - displayAttributes?: boolean, + approved?: boolean, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public deleteElement( + public delResources( metadataUuid: string, - ref: Array, - parent: string, - displayAttributes?: boolean, + approved?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } ): Observable { if (metadataUuid === null || metadataUuid === undefined) { throw new Error( - 'Required parameter metadataUuid was null or undefined when calling deleteElement.' - ) - } - if (ref === null || ref === undefined) { - throw new Error( - 'Required parameter ref was null or undefined when calling deleteElement.' - ) - } - if (parent === null || parent === undefined) { - throw new Error( - 'Required parameter parent was null or undefined when calling deleteElement.' + 'Required parameter metadataUuid was null or undefined when calling delResources.' ) } let queryParameters = new HttpParams({ encoder: this.encoder }) - if (ref) { - ref.forEach((element) => { - queryParameters = this.addToHttpParams( - queryParameters, - element, - 'ref' - ) - }) - } - if (parent !== undefined && parent !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - parent, - 'parent' - ) - } - if (displayAttributes !== undefined && displayAttributes !== null) { + if (approved !== undefined && approved !== null) { queryParameters = this.addToHttpParams( queryParameters, - displayAttributes, - 'displayAttributes' + approved, + 'approved' ) } @@ -1394,7 +1773,7 @@ export class RecordsApiService { return this.httpClient.delete( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) - )}/editor/elements`, + )}/attachments`, { params: queryParameters, responseType: responseType_, @@ -1407,68 +1786,38 @@ export class RecordsApiService { } /** - * Delete one or more records - * User MUST be able to edit the record to delete it. - * @param uuids Record UUIDs. If null current selection is used. - * @param bucket Selection bucket name - * @param withBackup Backup first the record as MEF in the metadata removed folder. + * Delete all record status + * @param metadataUuid Record UUID. * @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 deleteRecords( - uuids?: Array, - bucket?: string, - withBackup?: boolean, + public deleteAllRecordStatus( + metadataUuid: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable - public deleteRecords( - uuids?: Array, - bucket?: string, - withBackup?: boolean, + ): Observable + public deleteAllRecordStatus( + metadataUuid: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public deleteRecords( - uuids?: Array, - bucket?: string, - withBackup?: boolean, + ): Observable> + public deleteAllRecordStatus( + metadataUuid: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public deleteRecords( - uuids?: Array, - bucket?: string, - withBackup?: boolean, + ): Observable> + public deleteAllRecordStatus( + metadataUuid: string, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } ): Observable { - let queryParameters = new HttpParams({ encoder: this.encoder }) - if (uuids) { - uuids.forEach((element) => { - queryParameters = this.addToHttpParams( - queryParameters, - element, - 'uuids' - ) - }) - } - if (bucket !== undefined && bucket !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - bucket, - 'bucket' - ) - } - if (withBackup !== undefined && withBackup !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - withBackup, - 'withBackup' + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling deleteAllRecordStatus.' ) } @@ -1494,10 +1843,11 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.delete( - `${this.configuration.basePath}/records`, + return this.httpClient.delete( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/status`, { - params: queryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: headers, @@ -1508,77 +1858,67 @@ export class RecordsApiService { } /** - * Delete tags to one or more records - * @param id Tag identifier - * @param uuids Record UUIDs. If null current selection is used. - * @param bucket Selection bucket name + * Delete attribute + * @param metadataUuid Record UUID. + * @param ref Reference of the attribute to remove. + * @param displayAttributes Should attributes be shown on the editor snippet? * @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 deleteTagForRecords( - id: Array, - uuids?: Array, - bucket?: string, + public deleteAttribute( + metadataUuid: string, + ref: string, + displayAttributes?: boolean, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable - public deleteTagForRecords( - id: Array, - uuids?: Array, - bucket?: string, + ): Observable + public deleteAttribute( + metadataUuid: string, + ref: string, + displayAttributes?: boolean, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public deleteTagForRecords( - id: Array, - uuids?: Array, - bucket?: string, + ): Observable> + public deleteAttribute( + metadataUuid: string, + ref: string, + displayAttributes?: boolean, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public deleteTagForRecords( - id: Array, - uuids?: Array, - bucket?: string, + ): Observable> + public deleteAttribute( + metadataUuid: string, + ref: string, + displayAttributes?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } ): Observable { - if (id === null || id === undefined) { + if (metadataUuid === null || metadataUuid === undefined) { throw new Error( - 'Required parameter id was null or undefined when calling deleteTagForRecords.' + 'Required parameter metadataUuid was null or undefined when calling deleteAttribute.' + ) + } + if (ref === null || ref === undefined) { + throw new Error( + 'Required parameter ref was null or undefined when calling deleteAttribute.' ) } let queryParameters = new HttpParams({ encoder: this.encoder }) - if (uuids) { - uuids.forEach((element) => { - queryParameters = this.addToHttpParams( - queryParameters, - element, - 'uuids' - ) - }) + if (ref !== undefined && ref !== null) { + queryParameters = this.addToHttpParams(queryParameters, ref, 'ref') } - if (bucket !== undefined && bucket !== null) { + if (displayAttributes !== undefined && displayAttributes !== null) { queryParameters = this.addToHttpParams( queryParameters, - bucket, - 'bucket' + displayAttributes, + 'displayAttributes' ) } - if (id) { - id.forEach((element) => { - queryParameters = this.addToHttpParams( - queryParameters, - element, - 'id' - ) - }) - } let headers = this.defaultHeaders @@ -1602,8 +1942,10 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.delete( - `${this.configuration.basePath}/records/tags`, + return this.httpClient.delete( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/editor/attributes`, { params: queryParameters, responseType: responseType_, @@ -1616,56 +1958,90 @@ export class RecordsApiService { } /** - * Delete tags of a record + * Delete element * @param metadataUuid Record UUID. - * @param id Tag identifier. If none, all tags are removed. + * @param ref Reference of the element to remove. + * @param parent Name of the parent. + * @param displayAttributes Should attributes be shown on the editor snippet? * @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 deleteTags( + public deleteElement( metadataUuid: string, - id?: Array, + ref: Array, + parent: string, + displayAttributes?: boolean, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable - public deleteTags( + public deleteElement( metadataUuid: string, - id?: Array, + ref: Array, + parent: string, + displayAttributes?: boolean, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public deleteTags( + public deleteElement( metadataUuid: string, - id?: Array, + ref: Array, + parent: string, + displayAttributes?: boolean, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public deleteTags( + public deleteElement( metadataUuid: string, - id?: Array, + ref: Array, + parent: string, + displayAttributes?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } ): Observable { if (metadataUuid === null || metadataUuid === undefined) { throw new Error( - 'Required parameter metadataUuid was null or undefined when calling deleteTags.' + 'Required parameter metadataUuid was null or undefined when calling deleteElement.' + ) + } + if (ref === null || ref === undefined) { + throw new Error( + 'Required parameter ref was null or undefined when calling deleteElement.' + ) + } + if (parent === null || parent === undefined) { + throw new Error( + 'Required parameter parent was null or undefined when calling deleteElement.' ) } let queryParameters = new HttpParams({ encoder: this.encoder }) - if (id) { - id.forEach((element) => { + if (ref) { + ref.forEach((element) => { queryParameters = this.addToHttpParams( queryParameters, element, - 'id' + 'ref' ) }) } + if (parent !== undefined && parent !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + parent, + 'parent' + ) + } + if (displayAttributes !== undefined && displayAttributes !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + displayAttributes, + 'displayAttributes' + ) + } let headers = this.defaultHeaders @@ -1692,7 +2068,7 @@ export class RecordsApiService { return this.httpClient.delete( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) - )}/tags`, + )}/editor/elements`, { params: queryParameters, responseType: responseType_, @@ -1705,41 +2081,63 @@ export class RecordsApiService { } /** - * Download MEF backup archive - * The backup contains all metadata not harvested including templates. + * Delete a record + * User MUST be able to edit the record to delete it. By default, a backup is made in ZIP format. After that, the record attachments are removed, the document removed from the index and then from the database. + * @param metadataUuid Record UUID. + * @param withBackup Backup first the record as MEF in the metadata removed folder. * @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 downloadBackup( + public deleteRecord( + metadataUuid: string, + withBackup?: boolean, observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/zip' } + options?: { httpHeaderAccept?: 'application/json' } ): Observable - public downloadBackup( + public deleteRecord( + metadataUuid: string, + withBackup?: boolean, observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/zip' } + options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public downloadBackup( + public deleteRecord( + metadataUuid: string, + withBackup?: boolean, observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/zip' } + options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public downloadBackup( + public deleteRecord( + metadataUuid: string, + withBackup?: boolean, observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' | 'application/zip' } + options?: { httpHeaderAccept?: 'application/json' } ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling deleteRecord.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (withBackup !== undefined && withBackup !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + withBackup, + 'withBackup' + ) + } + let headers = this.defaultHeaders let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json', - 'application/zip', - ] + const httpHeaderAccepts: string[] = ['application/json'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -1755,9 +2153,12 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get( - `${this.configuration.basePath}/records/backups/latest`, + return this.httpClient.delete( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}`, { + params: queryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: headers, @@ -1768,38 +2169,68 @@ export class RecordsApiService { } /** - * (Experimental) Enable version control + * Delete a record status * @param metadataUuid Record UUID. + * @param statusId Status identifier + * @param userId User identifier + * @param changeDate Change date * @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 enableVersionControl( + public deleteRecordStatus( metadataUuid: string, + statusId: number, + userId: number, + changeDate: string, observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | '*/*' } - ): Observable - public enableVersionControl( + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public deleteRecordStatus( metadataUuid: string, + statusId: number, + userId: number, + changeDate: string, observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | '*/*' } - ): Observable> - public enableVersionControl( + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteRecordStatus( metadataUuid: string, - observe?: 'events', + statusId: number, + userId: number, + changeDate: string, + observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | '*/*' } - ): Observable> - public enableVersionControl( + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteRecordStatus( metadataUuid: string, + statusId: number, + userId: number, + changeDate: string, observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' | '*/*' } + options?: { httpHeaderAccept?: 'application/json' } ): Observable { if (metadataUuid === null || metadataUuid === undefined) { throw new Error( - 'Required parameter metadataUuid was null or undefined when calling enableVersionControl.' + 'Required parameter metadataUuid was null or undefined when calling deleteRecordStatus.' + ) + } + if (statusId === null || statusId === undefined) { + throw new Error( + 'Required parameter statusId was null or undefined when calling deleteRecordStatus.' + ) + } + if (userId === null || userId === undefined) { + throw new Error( + 'Required parameter userId was null or undefined when calling deleteRecordStatus.' + ) + } + if (changeDate === null || changeDate === undefined) { + throw new Error( + 'Required parameter changeDate was null or undefined when calling deleteRecordStatus.' ) } @@ -1809,7 +2240,7 @@ export class RecordsApiService { options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = ['application/json', '*/*'] + const httpHeaderAccepts: string[] = ['application/json'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -1825,11 +2256,12 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.put( + return this.httpClient.delete( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) - )}/versions`, - null, + )}/status/${encodeURIComponent(String(statusId))}.${encodeURIComponent( + String(userId) + )}.${encodeURIComponent(String(changeDate))}`, { responseType: responseType_, withCredentials: this.configuration.withCredentials, @@ -1841,36 +2273,42 @@ export class RecordsApiService { } /** - * (Experimental) Enable version control for one or more records + * Delete one or more records + * User MUST be able to edit the record to delete it. * @param uuids Record UUIDs. If null current selection is used. * @param bucket Selection bucket name + * @param withBackup Backup first the record as MEF in the metadata removed folder. * @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 enableVersionControlForRecords( + public deleteRecords( uuids?: Array, bucket?: string, + withBackup?: boolean, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable - public enableVersionControlForRecords( + ): Observable + public deleteRecords( uuids?: Array, bucket?: string, + withBackup?: boolean, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public enableVersionControlForRecords( + ): Observable> + public deleteRecords( uuids?: Array, bucket?: string, + withBackup?: boolean, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public enableVersionControlForRecords( + ): Observable> + public deleteRecords( uuids?: Array, bucket?: string, + withBackup?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } @@ -1892,6 +2330,13 @@ export class RecordsApiService { 'bucket' ) } + if (withBackup !== undefined && withBackup !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + withBackup, + 'withBackup' + ) + } let headers = this.defaultHeaders @@ -1915,9 +2360,8 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.put( - `${this.configuration.basePath}/records/versions`, - null, + return this.httpClient.delete( + `${this.configuration.basePath}/records`, { params: queryParameters, responseType: responseType_, @@ -1930,41 +2374,51 @@ export class RecordsApiService { } /** - * Get a set of metadata records as CSV - * The CSV is a short summary of each records. + * Delete tags to one or more records + * @param id Tag identifier * @param uuids Record UUIDs. If null current selection is used. * @param bucket Selection bucket name * @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 exportAsCsv( + public deleteTagForRecords( + id: Array, uuids?: Array, bucket?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable - public exportAsCsv( + ): Observable + public deleteTagForRecords( + id: Array, uuids?: Array, bucket?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public exportAsCsv( + ): Observable> + public deleteTagForRecords( + id: Array, uuids?: Array, bucket?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public exportAsCsv( + ): Observable> + public deleteTagForRecords( + id: Array, uuids?: Array, bucket?: string, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } ): Observable { + if (id === null || id === undefined) { + throw new Error( + 'Required parameter id was null or undefined when calling deleteTagForRecords.' + ) + } + let queryParameters = new HttpParams({ encoder: this.encoder }) if (uuids) { uuids.forEach((element) => { @@ -1982,6 +2436,15 @@ export class RecordsApiService { 'bucket' ) } + if (id) { + id.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'id' + ) + }) + } let headers = this.defaultHeaders @@ -2005,8 +2468,8 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get( - `${this.configuration.basePath}/records/csv`, + return this.httpClient.delete( + `${this.configuration.basePath}/records/tags`, { params: queryParameters, responseType: responseType_, @@ -2019,140 +2482,58 @@ export class RecordsApiService { } /** - * Get a set of metadata records as ZIP - * Metadata Exchange Format (MEF) is returned. MEF is a ZIP file containing the metadata as XML and some others files depending on the version requested. See http://geonetwork-opensource.org/manuals/trunk/eng/users/annexes/mef-format.html. - * @param uuids Record UUIDs. If null current selection is used. - * @param bucket Selection bucket name - * @param format MEF file format. - * @param withRelated With related records (parent and service). - * @param withXLinksResolved Resolve XLinks in the records. - * @param withXLinkAttribute Preserve XLink URLs in the records. - * @param addSchemaLocation - * @param approved Download the approved version - * @param accept + * Delete tags of a record + * @param metadataUuid Record UUID. + * @param id Tag identifier. If none, all tags are removed. * @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 exportAsMef( - uuids?: Array, - bucket?: string, - format?: 'simple' | 'partial' | 'full', - withRelated?: boolean, - withXLinksResolved?: boolean, - withXLinkAttribute?: boolean, - addSchemaLocation?: boolean, - approved?: boolean, - accept?: string, + public deleteTags( + metadataUuid: string, + id?: Array, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable - public exportAsMef( - uuids?: Array, - bucket?: string, - format?: 'simple' | 'partial' | 'full', - withRelated?: boolean, - withXLinksResolved?: boolean, - withXLinkAttribute?: boolean, - addSchemaLocation?: boolean, - approved?: boolean, - accept?: string, + public deleteTags( + metadataUuid: string, + id?: Array, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public exportAsMef( - uuids?: Array, - bucket?: string, - format?: 'simple' | 'partial' | 'full', - withRelated?: boolean, - withXLinksResolved?: boolean, - withXLinkAttribute?: boolean, - addSchemaLocation?: boolean, - approved?: boolean, - accept?: string, + public deleteTags( + metadataUuid: string, + id?: Array, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public exportAsMef( - uuids?: Array, - bucket?: string, - format?: 'simple' | 'partial' | 'full', - withRelated?: boolean, - withXLinksResolved?: boolean, - withXLinkAttribute?: boolean, - addSchemaLocation?: boolean, - approved?: boolean, - accept?: string, + public deleteTags( + metadataUuid: string, + id?: Array, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling deleteTags.' + ) + } + let queryParameters = new HttpParams({ encoder: this.encoder }) - if (uuids) { - uuids.forEach((element) => { + if (id) { + id.forEach((element) => { queryParameters = this.addToHttpParams( queryParameters, element, - 'uuids' + 'id' ) }) } - if (bucket !== undefined && bucket !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - bucket, - 'bucket' - ) - } - if (format !== undefined && format !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - format, - 'format' - ) - } - if (withRelated !== undefined && withRelated !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - withRelated, - 'withRelated' - ) - } - if (withXLinksResolved !== undefined && withXLinksResolved !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - withXLinksResolved, - 'withXLinksResolved' - ) - } - if (withXLinkAttribute !== undefined && withXLinkAttribute !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - withXLinkAttribute, - 'withXLinkAttribute' - ) - } - if (addSchemaLocation !== undefined && addSchemaLocation !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - addSchemaLocation, - 'addSchemaLocation' - ) - } - if (approved !== undefined && approved !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - approved, - 'approved' - ) - } let headers = this.defaultHeaders - if (accept !== undefined && accept !== null) { - headers = headers.set('Accept', String(accept)) - } let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept @@ -2174,8 +2555,10 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get( - `${this.configuration.basePath}/records/zip`, + return this.httpClient.delete( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/tags`, { params: queryParameters, responseType: responseType_, @@ -2188,66 +2571,41 @@ export class RecordsApiService { } /** - * Get a set of metadata records as PDF - * The PDF is a short summary of each records with links to the complete metadata record in different format (ie. landing page on the portal, XML) - * @param uuids Record UUIDs. If null current selection is used. - * @param bucket Selection bucket name + * Download MEF backup archive + * The backup contains all metadata not harvested including templates. * @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 exportAsPdf( - uuids?: Array, - bucket?: string, + public downloadBackup( observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } + options?: { httpHeaderAccept?: 'application/json' | 'application/zip' } ): Observable - public exportAsPdf( - uuids?: Array, - bucket?: string, + public downloadBackup( observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } + options?: { httpHeaderAccept?: 'application/json' | 'application/zip' } ): Observable> - public exportAsPdf( - uuids?: Array, - bucket?: string, + public downloadBackup( observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } + options?: { httpHeaderAccept?: 'application/json' | 'application/zip' } ): Observable> - public exportAsPdf( - uuids?: Array, - bucket?: string, + public downloadBackup( observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' } + options?: { httpHeaderAccept?: 'application/json' | 'application/zip' } ): Observable { - let queryParameters = new HttpParams({ encoder: this.encoder }) - if (uuids) { - uuids.forEach((element) => { - queryParameters = this.addToHttpParams( - queryParameters, - element, - 'uuids' - ) - }) - } - if (bucket !== undefined && bucket !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - bucket, - 'bucket' - ) - } - let headers = this.defaultHeaders let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = ['application/json'] + const httpHeaderAccepts: string[] = [ + 'application/json', + 'application/zip', + ] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -2264,9 +2622,8 @@ export class RecordsApiService { } return this.httpClient.get( - `${this.configuration.basePath}/records/pdf`, + `${this.configuration.basePath}/records/backups/latest`, { - params: queryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: headers, @@ -2277,80 +2634,40 @@ export class RecordsApiService { } /** - * Get the list of users \"active\" during a time period. - * @param dateFrom From date of users login date - * @param dateTo To date of users login date - * @param groups Group(s) for the users + * (Experimental) Enable version control + * @param metadataUuid Record UUID. * @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 getActiveUsers( - dateFrom: string, - dateTo: string, - groups?: Array, + public enableVersionControl( + metadataUuid: string, observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } - ): Observable - public getActiveUsers( - dateFrom: string, - dateTo: string, - groups?: Array, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public enableVersionControl( + metadataUuid: string, observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public getActiveUsers( - dateFrom: string, - dateTo: string, - groups?: Array, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public enableVersionControl( + metadataUuid: string, observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public getActiveUsers( - dateFrom: string, - dateTo: string, - groups?: Array, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public enableVersionControl( + metadataUuid: string, observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' } + options?: { httpHeaderAccept?: 'application/json' | '*/*' } ): Observable { - if (dateFrom === null || dateFrom === undefined) { - throw new Error( - 'Required parameter dateFrom was null or undefined when calling getActiveUsers.' - ) - } - if (dateTo === null || dateTo === undefined) { + if (metadataUuid === null || metadataUuid === undefined) { throw new Error( - 'Required parameter dateTo was null or undefined when calling getActiveUsers.' - ) - } - - let queryParameters = new HttpParams({ encoder: this.encoder }) - if (dateFrom !== undefined && dateFrom !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - dateFrom, - 'dateFrom' - ) - } - if (dateTo !== undefined && dateTo !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - dateTo, - 'dateTo' + 'Required parameter metadataUuid was null or undefined when calling enableVersionControl.' ) } - if (groups) { - groups.forEach((element) => { - queryParameters = this.addToHttpParams( - queryParameters, - element, - 'groups' - ) - }) - } let headers = this.defaultHeaders @@ -2358,7 +2675,7 @@ export class RecordsApiService { options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = ['application/json'] + const httpHeaderAccepts: string[] = ['application/json', '*/*'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -2374,10 +2691,12 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get( - `${this.configuration.basePath}/reports/users`, + return this.httpClient.put( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/versions`, + null, { - params: queryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: headers, @@ -2388,39 +2707,55 @@ export class RecordsApiService { } /** - * Get list of record extents - * A rendering of the geometry as a png. If no background is specified the image will be transparent. In getMap the envelope of the geometry is calculated then it is expanded by a factor. That factor is the size of the map. This allows the map to be slightly bigger than the geometry allowing some context to be shown. This parameter allows different factors to be chosen per scale level. Proportion is the proportion of the world that the geometry covers (bounds of WGS84)/(bounds of geometry in WGS84) Named backgrounds allow the background parameter to be a simple key and the complete URL will be looked up from this list of named backgrounds - * @param metadataUuid Record UUID. + * (Experimental) Enable version control for one or more records + * @param uuids Record UUIDs. If null current selection is used. + * @param bucket Selection bucket name * @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 getAllRecordExtentAsJson( - metadataUuid: string, + public enableVersionControlForRecords( + uuids?: Array, + bucket?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public getAllRecordExtentAsJson( - metadataUuid: string, + ): Observable + public enableVersionControlForRecords( + uuids?: Array, + bucket?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> - public getAllRecordExtentAsJson( - metadataUuid: string, + ): Observable> + public enableVersionControlForRecords( + uuids?: Array, + bucket?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> - public getAllRecordExtentAsJson( - metadataUuid: string, + ): Observable> + public enableVersionControlForRecords( + uuids?: Array, + bucket?: string, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } ): Observable { - if (metadataUuid === null || metadataUuid === undefined) { - throw new Error( - 'Required parameter metadataUuid was null or undefined when calling getAllRecordExtentAsJson.' + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (uuids) { + uuids.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'uuids' + ) + }) + } + if (bucket !== undefined && bucket !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + bucket, + 'bucket' ) } @@ -2446,11 +2781,11 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get>( - `${this.configuration.basePath}/records/${encodeURIComponent( - String(metadataUuid) - )}/extents.json`, + return this.httpClient.put( + `${this.configuration.basePath}/records/versions`, + null, { + params: queryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: headers, @@ -2461,60 +2796,739 @@ export class RecordsApiService { } /** - * List all metadata attachments - * <a href=\'http://geonetwork-opensource.org/manuals/trunk/eng/users/user-guide/associating-resources/using-filestore.html\'>More info</a> - * @param metadataUuid The metadata UUID - * @param sort Sort by - * @param approved Use approved version or not - * @param filter + * Get a set of metadata records as CSV + * The CSV is a short summary of each records. + * @param uuids Record UUIDs. If null current selection is used. + * @param bucket Selection bucket name * @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 getAllResources( - metadataUuid: string, - sort?: 'type' | 'name', - approved?: boolean, - filter?: string, + public exportAsCsv( + uuids?: Array, + bucket?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public getAllResources( - metadataUuid: string, - sort?: 'type' | 'name', - approved?: boolean, - filter?: string, + ): Observable + public exportAsCsv( + uuids?: Array, + bucket?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> - public getAllResources( - metadataUuid: string, - sort?: 'type' | 'name', - approved?: boolean, - filter?: string, + ): Observable> + public exportAsCsv( + uuids?: Array, + bucket?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> - public getAllResources( - metadataUuid: string, - sort?: 'type' | 'name', - approved?: boolean, - filter?: string, + ): Observable> + public exportAsCsv( + uuids?: Array, + bucket?: string, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } ): Observable { - if (metadataUuid === null || metadataUuid === undefined) { - throw new Error( - 'Required parameter metadataUuid was null or undefined when calling getAllResources.' - ) - } - let queryParameters = new HttpParams({ encoder: this.encoder }) - if (sort !== undefined && sort !== null) { - queryParameters = this.addToHttpParams(queryParameters, sort, 'sort') + if (uuids) { + uuids.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'uuids' + ) + }) + } + if (bucket !== undefined && bucket !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + bucket, + 'bucket' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/records/csv`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get a set of metadata records as ZIP + * Metadata Exchange Format (MEF) is returned. MEF is a ZIP file containing the metadata as XML and some others files depending on the version requested. See http://geonetwork-opensource.org/manuals/trunk/eng/users/annexes/mef-format.html. + * @param uuids Record UUIDs. If null current selection is used. + * @param bucket Selection bucket name + * @param format MEF file format. + * @param withRelated With related records (parent and service). + * @param withXLinksResolved Resolve XLinks in the records. + * @param withXLinkAttribute Preserve XLink URLs in the records. + * @param addSchemaLocation + * @param approved Download the approved version + * @param accept + * @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 exportAsMef( + uuids?: Array, + bucket?: string, + format?: 'simple' | 'partial' | 'full', + withRelated?: boolean, + withXLinksResolved?: boolean, + withXLinkAttribute?: boolean, + addSchemaLocation?: boolean, + approved?: boolean, + accept?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public exportAsMef( + uuids?: Array, + bucket?: string, + format?: 'simple' | 'partial' | 'full', + withRelated?: boolean, + withXLinksResolved?: boolean, + withXLinkAttribute?: boolean, + addSchemaLocation?: boolean, + approved?: boolean, + accept?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public exportAsMef( + uuids?: Array, + bucket?: string, + format?: 'simple' | 'partial' | 'full', + withRelated?: boolean, + withXLinksResolved?: boolean, + withXLinkAttribute?: boolean, + addSchemaLocation?: boolean, + approved?: boolean, + accept?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public exportAsMef( + uuids?: Array, + bucket?: string, + format?: 'simple' | 'partial' | 'full', + withRelated?: boolean, + withXLinksResolved?: boolean, + withXLinkAttribute?: boolean, + addSchemaLocation?: boolean, + approved?: boolean, + accept?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (uuids) { + uuids.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'uuids' + ) + }) + } + if (bucket !== undefined && bucket !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + bucket, + 'bucket' + ) + } + if (format !== undefined && format !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + format, + 'format' + ) + } + if (withRelated !== undefined && withRelated !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + withRelated, + 'withRelated' + ) + } + if (withXLinksResolved !== undefined && withXLinksResolved !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + withXLinksResolved, + 'withXLinksResolved' + ) + } + if (withXLinkAttribute !== undefined && withXLinkAttribute !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + withXLinkAttribute, + 'withXLinkAttribute' + ) + } + if (addSchemaLocation !== undefined && addSchemaLocation !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + addSchemaLocation, + 'addSchemaLocation' + ) + } + if (approved !== undefined && approved !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + approved, + 'approved' + ) + } + + let headers = this.defaultHeaders + if (accept !== undefined && accept !== null) { + headers = headers.set('Accept', String(accept)) + } + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/records/zip`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get a set of metadata records as PDF + * The PDF is a short summary of each records with links to the complete metadata record in different format (ie. landing page on the portal, XML) + * @param uuids Record UUIDs. If null current selection is used. + * @param bucket Selection bucket name + * @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 exportAsPdf( + uuids?: Array, + bucket?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public exportAsPdf( + uuids?: Array, + bucket?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public exportAsPdf( + uuids?: Array, + bucket?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public exportAsPdf( + uuids?: Array, + bucket?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (uuids) { + uuids.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'uuids' + ) + }) + } + if (bucket !== undefined && bucket !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + bucket, + 'bucket' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/records/pdf`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get the list of users \"active\" during a time period. + * @param dateFrom From date of users login date + * @param dateTo To date of users login date + * @param groups Group(s) for the users + * @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 getActiveUsers( + dateFrom: string, + dateTo: string, + groups?: Array, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public getActiveUsers( + dateFrom: string, + dateTo: string, + groups?: Array, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getActiveUsers( + dateFrom: string, + dateTo: string, + groups?: Array, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getActiveUsers( + dateFrom: string, + dateTo: string, + groups?: Array, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (dateFrom === null || dateFrom === undefined) { + throw new Error( + 'Required parameter dateFrom was null or undefined when calling getActiveUsers.' + ) + } + if (dateTo === null || dateTo === undefined) { + throw new Error( + 'Required parameter dateTo was null or undefined when calling getActiveUsers.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (dateFrom !== undefined && dateFrom !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + dateFrom, + 'dateFrom' + ) + } + if (dateTo !== undefined && dateTo !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + dateTo, + 'dateTo' + ) + } + if (groups) { + groups.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'groups' + ) + }) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/reports/users`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get record extents as image + * A rendering of the geometry as a png. If no background is specified the image will be transparent. In getMap the envelope of the geometry is calculated then it is expanded by a factor. That factor is the size of the map. This allows the map to be slightly bigger than the geometry allowing some context to be shown. This parameter allows different factors to be chosen per scale level. Proportion is the proportion of the world that the geometry covers (bounds of WGS84)/(bounds of geometry in WGS84) Named backgrounds allow the background parameter to be a simple key and the complete URL will be looked up from this list of named backgrounds + * @param metadataUuid Record UUID. + * @param mapsrs (optional) the background map projection. If not passed uses the region/getmap/mapproj setting. If the setting is not set defaults to EPSG:4326 + * @param width (optional) width of the image that is created. Only one of width and height are permitted + * @param height (optional) height of the image that is created. Only one of width and height are permitted + * @param background (optional) URL for loading a background image for regions or a key that references the namedBackgrounds (configured in config-spring-geonetwork.xml). A WMS GetMap request is the typical example. The URL must be parameterized with the following parameters: minx, maxx, miny, maxy, width, height + * @param fillColor (optional) Fill color with format RED,GREEN,BLUE,ALPHA + * @param strokeColor (optional) Stroke color with format RED,GREEN,BLUE,ALPHA + * @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 getAllRecordExtentAsImage( + metadataUuid: string, + mapsrs?: string, + width?: number, + height?: number, + background?: string, + fillColor?: string, + strokeColor?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable> + public getAllRecordExtentAsImage( + metadataUuid: string, + mapsrs?: string, + width?: number, + height?: number, + background?: string, + fillColor?: string, + strokeColor?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable>> + public getAllRecordExtentAsImage( + metadataUuid: string, + mapsrs?: string, + width?: number, + height?: number, + background?: string, + fillColor?: string, + strokeColor?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable>> + public getAllRecordExtentAsImage( + metadataUuid: string, + mapsrs?: string, + width?: number, + height?: number, + background?: string, + fillColor?: string, + strokeColor?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling getAllRecordExtentAsImage.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (mapsrs !== undefined && mapsrs !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + mapsrs, + 'mapsrs' + ) + } + if (width !== undefined && width !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + width, + 'width' + ) + } + if (height !== undefined && height !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + height, + 'height' + ) + } + if (background !== undefined && background !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + background, + 'background' + ) + } + if (fillColor !== undefined && fillColor !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + fillColor, + 'fillColor' + ) + } + if (strokeColor !== undefined && strokeColor !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + strokeColor, + 'strokeColor' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', 'image/png'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/extents.png`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get list of record extents + * A rendering of the geometry as a png. If no background is specified the image will be transparent. In getMap the envelope of the geometry is calculated then it is expanded by a factor. That factor is the size of the map. This allows the map to be slightly bigger than the geometry allowing some context to be shown. This parameter allows different factors to be chosen per scale level. Proportion is the proportion of the world that the geometry covers (bounds of WGS84)/(bounds of geometry in WGS84) Named backgrounds allow the background parameter to be a simple key and the complete URL will be looked up from this list of named backgrounds + * @param metadataUuid Record UUID. + * @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 getAllRecordExtentAsJson( + metadataUuid: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getAllRecordExtentAsJson( + metadataUuid: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getAllRecordExtentAsJson( + metadataUuid: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getAllRecordExtentAsJson( + metadataUuid: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling getAllRecordExtentAsJson.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/extents.json`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * List all metadata attachments + * <a href=\'http://geonetwork-opensource.org/manuals/trunk/eng/users/user-guide/associating-resources/using-filestore.html\'>More info</a> + * @param metadataUuid The metadata UUID + * @param sort Sort by + * @param approved Use approved version or not + * @param filter + * @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 getAllResources( + metadataUuid: string, + sort?: 'type' | 'name', + approved?: boolean, + filter?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getAllResources( + metadataUuid: string, + sort?: 'type' | 'name', + approved?: boolean, + filter?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getAllResources( + metadataUuid: string, + sort?: 'type' | 'name', + approved?: boolean, + filter?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getAllResources( + metadataUuid: string, + sort?: 'type' | 'name', + approved?: boolean, + filter?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling getAllResources.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (sort !== undefined && sort !== null) { + queryParameters = this.addToHttpParams(queryParameters, sort, 'sort') } if (approved !== undefined && approved !== null) { queryParameters = this.addToHttpParams( @@ -2571,36 +3585,306 @@ export class RecordsApiService { /** * Get catalog content as RDF. This endpoint supports the same Lucene query parameters as for the GUI search. * . + * @param from Indicates the start position in a sorted list of matches that the client wants to use as the beginning of a page result. + * @param hitsPerPage Indicates the number of hits per page. + * @param any Search key + * @param title A search key for the title. + * @param facetQ A search facet in the Lucene index. Use the GeoNetwork GUI search to generate the suitable filter values. Example: standard/dcat-ap&createDateYear/2018&sourceCatalog/6d93613e-2b76-4e26-94af-4b4c420a1758 (filter by creation year and source catalog). + * @param sortBy Lucene sortBy criteria. Relevant values: relevance, title, changeDate. + * @param sortOrder Sort order. Possible values: reverse. + * @param similarity Use the Lucene FuzzyQuery. Values range from 0.0 to 1.0 and defaults to 0.8. * @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 getAsRdf( + from?: number, + hitsPerPage?: number, + any?: string, + title?: string, + facetQ?: string, + sortBy?: string, + sortOrder?: string, + similarity?: number, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable public getAsRdf( + from?: number, + hitsPerPage?: number, + any?: string, + title?: string, + facetQ?: string, + sortBy?: string, + sortOrder?: string, + similarity?: number, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public getAsRdf( + from?: number, + hitsPerPage?: number, + any?: string, + title?: string, + facetQ?: string, + sortBy?: string, + sortOrder?: string, + similarity?: number, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public getAsRdf( + from?: number, + hitsPerPage?: number, + any?: string, + title?: string, + facetQ?: string, + sortBy?: string, + sortOrder?: string, + similarity?: number, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (from !== undefined && from !== null) { + queryParameters = this.addToHttpParams(queryParameters, from, 'from') + } + if (hitsPerPage !== undefined && hitsPerPage !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + hitsPerPage, + 'hitsPerPage' + ) + } + if (any !== undefined && any !== null) { + queryParameters = this.addToHttpParams(queryParameters, any, 'any') + } + if (title !== undefined && title !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + title, + 'title' + ) + } + if (facetQ !== undefined && facetQ !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + facetQ, + 'facet.q' + ) + } + if (sortBy !== undefined && sortBy !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + sortBy, + 'sortBy' + ) + } + if (sortOrder !== undefined && sortOrder !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + sortOrder, + 'sortOrder' + ) + } + if (similarity !== undefined && similarity !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + similarity, + 'similarity' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get(`${this.configuration.basePath}/records`, { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + }) + } + + /** + * Get record related resources + * Retrieve related services, datasets, onlines, thumbnails, sources, ... to this records.<br/><a href=\'http://geonetwork-opensource.org/manuals/trunk/eng/users/user-guide/associating-resources/index.html\'>More info</a> + * @param metadataUuid Record UUID. + * @param type Type of related resource. If none, all resources are returned. + * @param approved Use approved version or not + * @param start Start offset for paging. Default 1. Only applies to related metadata records (ie. not for thumbnails). + * @param rows Number of rows returned. Default 100. + * @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 getAssociatedResources( + metadataUuid: string, + type?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, + approved?: boolean, + start?: number, + rows?: number, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable + public getAssociatedResources( + metadataUuid: string, + type?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, + approved?: boolean, + start?: number, + rows?: number, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public getAssociatedResources( + metadataUuid: string, + type?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, + approved?: boolean, + start?: number, + rows?: number, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public getAssociatedResources( + metadataUuid: string, + type?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, + approved?: boolean, + start?: number, + rows?: number, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling getAssociatedResources.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (type) { + type.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'type' + ) + }) + } + if (approved !== undefined && approved !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + approved, + 'approved' + ) + } + if (start !== undefined && start !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + start, + 'start' + ) + } + if (rows !== undefined && rows !== null) { + queryParameters = this.addToHttpParams(queryParameters, rows, 'rows') + } + let headers = this.defaultHeaders let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = ['application/json'] + const httpHeaderAccepts: string[] = [ + 'application/json', + 'application/xml', + ] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -2616,26 +3900,33 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get(`${this.configuration.basePath}/records`, { - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress, - }) + return this.httpClient.get( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/related`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) } /** - * Get record related resources - * Retrieve related services, datasets, onlines, thumbnails, sources, ... to this records.<br/><a href=\'http://geonetwork-opensource.org/manuals/trunk/eng/users/user-guide/associating-resources/index.html\'>More info</a> + * Get record associated resources + * Retrieve related services, datasets, sources, ... to this records.<br/><a href=\'http://geonetwork-opensource.org/manuals/trunk/eng/users/user-guide/associating-resources/index.html\'>More info</a> * @param metadataUuid Record UUID. * @param type Type of related resource. If none, all resources are returned. + * @param approved Use approved version or not * @param start Start offset for paging. Default 1. Only applies to related metadata records (ie. not for thumbnails). * @param rows Number of rows returned. Default 100. * @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 getAssociatedResources( + public getAssociatedResources1( metadataUuid: string, type?: Array< | 'children' @@ -2653,13 +3944,14 @@ export class RecordsApiService { | 'onlines' | 'thumbnails' >, + approved?: boolean, start?: number, rows?: number, observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable - public getAssociatedResources( + options?: { httpHeaderAccept?: 'application/json' } + ): Observable<{ [key: string]: Array }> + public getAssociatedResources1( metadataUuid: string, type?: Array< | 'children' @@ -2677,13 +3969,16 @@ export class RecordsApiService { | 'onlines' | 'thumbnails' >, + approved?: boolean, start?: number, rows?: number, observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable> - public getAssociatedResources( + options?: { httpHeaderAccept?: 'application/json' } + ): Observable< + HttpResponse<{ [key: string]: Array }> + > + public getAssociatedResources1( metadataUuid: string, type?: Array< | 'children' @@ -2701,13 +3996,14 @@ export class RecordsApiService { | 'onlines' | 'thumbnails' >, + approved?: boolean, start?: number, rows?: number, observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable> - public getAssociatedResources( + options?: { httpHeaderAccept?: 'application/json' } + ): Observable }>> + public getAssociatedResources1( metadataUuid: string, type?: Array< | 'children' @@ -2725,37 +4021,295 @@ export class RecordsApiService { | 'onlines' | 'thumbnails' >, + approved?: boolean, start?: number, rows?: number, observe: any = 'body', reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling getAssociatedResources1.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (type) { + type.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'type' + ) + }) + } + if (approved !== undefined && approved !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + approved, + 'approved' + ) + } + if (start !== undefined && start !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + start, + 'start' + ) + } + if (rows !== undefined && rows !== null) { + queryParameters = this.addToHttpParams(queryParameters, rows, 'rows') + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get<{ + [key: string]: Array + }>( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/associated`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Returns a map to decode attributes in a dataset (from the associated feature catalog) + * @param metadataUuid Record UUID. + * @param approved Use approved version or not + * @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 getFeatureCatalog( + metadataUuid: string, + approved?: boolean, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable + public getFeatureCatalog( + metadataUuid: string, + approved?: boolean, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public getFeatureCatalog( + metadataUuid: string, + approved?: boolean, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public getFeatureCatalog( + metadataUuid: string, + approved?: boolean, + observe: any = 'body', + reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } ): Observable { if (metadataUuid === null || metadataUuid === undefined) { throw new Error( - 'Required parameter metadataUuid was null or undefined when calling getAssociatedResources.' + 'Required parameter metadataUuid was null or undefined when calling getFeatureCatalog.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (approved !== undefined && approved !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + approved, + 'approved' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json', + 'application/xml', + ] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/featureCatalog`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get one record extent as image + * A rendering of the geometry as a png. If no background is specified the image will be transparent. In getMap the envelope of the geometry is calculated then it is expanded by a factor. That factor is the size of the map. This allows the map to be slightly bigger than the geometry allowing some context to be shown. This parameter allows different factors to be chosen per scale level. Proportion is the proportion of the world that the geometry covers (bounds of WGS84)/(bounds of geometry in WGS84) Named backgrounds allow the background parameter to be a simple key and the complete URL will be looked up from this list of named backgrounds + * @param metadataUuid Record UUID. + * @param geometryIndex Index of the geometry or bounding box to display. Starts at 1. + * @param mapsrs (optional) the background map projection. If not passed uses the region/getmap/mapproj setting. If the setting is not set defaults to EPSG:4326 + * @param width (optional) width of the image that is created. Only one of width and height are permitted + * @param height (optional) height of the image that is created. Only one of width and height are permitted + * @param background (optional) URL for loading a background image for regions or a key that references the namedBackgrounds (configured in config-spring-geonetwork.xml). A WMS GetMap request is the typical example. The URL must be parameterized with the following parameters: minx, maxx, miny, maxy, width, height + * @param fillColor (optional) Fill color with format RED,GREEN,BLUE,ALPHA + * @param strokeColor (optional) Stroke color with format RED,GREEN,BLUE,ALPHA + * @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 getOneRecordExtentAsImage( + metadataUuid: string, + geometryIndex: number, + mapsrs?: string, + width?: number, + height?: number, + background?: string, + fillColor?: string, + strokeColor?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable> + public getOneRecordExtentAsImage( + metadataUuid: string, + geometryIndex: number, + mapsrs?: string, + width?: number, + height?: number, + background?: string, + fillColor?: string, + strokeColor?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable>> + public getOneRecordExtentAsImage( + metadataUuid: string, + geometryIndex: number, + mapsrs?: string, + width?: number, + height?: number, + background?: string, + fillColor?: string, + strokeColor?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable>> + public getOneRecordExtentAsImage( + metadataUuid: string, + geometryIndex: number, + mapsrs?: string, + width?: number, + height?: number, + background?: string, + fillColor?: string, + strokeColor?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling getOneRecordExtentAsImage.' + ) + } + if (geometryIndex === null || geometryIndex === undefined) { + throw new Error( + 'Required parameter geometryIndex was null or undefined when calling getOneRecordExtentAsImage.' ) } let queryParameters = new HttpParams({ encoder: this.encoder }) - if (type) { - type.forEach((element) => { - queryParameters = this.addToHttpParams( - queryParameters, - element, - 'type' - ) - }) + if (mapsrs !== undefined && mapsrs !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + mapsrs, + 'mapsrs' + ) } - if (start !== undefined && start !== null) { + if (width !== undefined && width !== null) { queryParameters = this.addToHttpParams( queryParameters, - start, - 'start' + width, + 'width' ) } - if (rows !== undefined && rows !== null) { - queryParameters = this.addToHttpParams(queryParameters, rows, 'rows') + if (height !== undefined && height !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + height, + 'height' + ) + } + if (background !== undefined && background !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + background, + 'background' + ) + } + if (fillColor !== undefined && fillColor !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + fillColor, + 'fillColor' + ) + } + if (strokeColor !== undefined && strokeColor !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + strokeColor, + 'strokeColor' + ) } let headers = this.defaultHeaders @@ -2764,10 +4318,7 @@ export class RecordsApiService { options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json', - 'application/xml', - ] + const httpHeaderAccepts: string[] = ['application/json', 'image/png'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -2783,10 +4334,10 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get( + return this.httpClient.get>( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) - )}/related`, + )}/extents/${encodeURIComponent(String(geometryIndex))}.png`, { params: queryParameters, responseType: responseType_, @@ -2799,43 +4350,159 @@ export class RecordsApiService { } /** - * Returns a map to decode attributes in a dataset (from the associated feature catalog) - * Retrieve related services, datasets, onlines, thumbnails, sources, ... to this records.<br/><a href=\'http://geonetwork-opensource.org/manuals/trunk/eng/users/user-guide/associating-resources/index.html\'>More info</a> + * Get publication options. + * @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 getPublicationOptions( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public getPublicationOptions( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable>> + public getPublicationOptions( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable>> + public getPublicationOptions( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/records/sharing/options`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get a metadata record + * Depending on the accept header the appropriate formatter is used. When requesting a ZIP, a MEF version 2 file is returned. When requesting HTML, the default formatter is used. * @param metadataUuid Record UUID. + * @param accept Accept header should indicate which is the appropriate format to return. It could be text/html, application/xml, application/zip, ...If no appropriate Accept header found, the XML format is returned. * @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 getFeatureCatalog( + public getRecord( metadataUuid: string, + accept: string, observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable - public getFeatureCatalog( + options?: { + httpHeaderAccept?: + | 'application/json' + | 'text/html' + | 'application/xml' + | 'application/xhtml+xml' + | 'application/pdf' + | 'application/zip' + | 'application/x-gn-mef-1-zip' + | 'application/x-gn-mef-2-zip' + | '*/*' + } + ): Observable + public getRecord( metadataUuid: string, + accept: string, observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable> - public getFeatureCatalog( + options?: { + httpHeaderAccept?: + | 'application/json' + | 'text/html' + | 'application/xml' + | 'application/xhtml+xml' + | 'application/pdf' + | 'application/zip' + | 'application/x-gn-mef-1-zip' + | 'application/x-gn-mef-2-zip' + | '*/*' + } + ): Observable> + public getRecord( metadataUuid: string, + accept: string, observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable> - public getFeatureCatalog( + options?: { + httpHeaderAccept?: + | 'application/json' + | 'text/html' + | 'application/xml' + | 'application/xhtml+xml' + | 'application/pdf' + | 'application/zip' + | 'application/x-gn-mef-1-zip' + | 'application/x-gn-mef-2-zip' + | '*/*' + } + ): Observable> + public getRecord( metadataUuid: string, + accept: string, observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + options?: { + httpHeaderAccept?: + | 'application/json' + | 'text/html' + | 'application/xml' + | 'application/xhtml+xml' + | 'application/pdf' + | 'application/zip' + | 'application/x-gn-mef-1-zip' + | 'application/x-gn-mef-2-zip' + | '*/*' + } ): Observable { if (metadataUuid === null || metadataUuid === undefined) { throw new Error( - 'Required parameter metadataUuid was null or undefined when calling getFeatureCatalog.' + 'Required parameter metadataUuid was null or undefined when calling getRecord.' + ) + } + if (accept === null || accept === undefined) { + throw new Error( + 'Required parameter accept was null or undefined when calling getRecord.' ) } let headers = this.defaultHeaders + if (accept !== undefined && accept !== null) { + headers = headers.set('Accept', String(accept)) + } let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept @@ -2843,7 +4510,14 @@ export class RecordsApiService { // to determine the Accept header const httpHeaderAccepts: string[] = [ 'application/json', + 'text/html', 'application/xml', + 'application/xhtml+xml', + 'application/pdf', + 'application/zip', + 'application/x-gn-mef-1-zip', + 'application/x-gn-mef-2-zip', + '*/*', ] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) @@ -2860,10 +4534,10 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get( + return this.httpClient.get( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) - )}/featureCatalog`, + )}`, { responseType: responseType_, withCredentials: this.configuration.withCredentials, @@ -3460,12 +5134,157 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get( + return this.httpClient.get( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/formatters/${encodeURIComponent(String(formatterId))}`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get metadata record permalink + * Permalink is by default the landing page formatter but can be configured in the admin console > settings. If the record as a DOI and if enabled in the settings, then it takes priority. + * @param metadataUuid Record UUID. + * @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 getRecordPermalink( + metadataUuid: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable + public getRecordPermalink( + metadataUuid: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public getRecordPermalink( + metadataUuid: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public getRecordPermalink( + metadataUuid: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling getRecordPermalink.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', 'text/plain'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/permalink`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get record popularity + * @param metadataUuid Record UUID. + * @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 getRecordPopularity( + metadataUuid: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable + public getRecordPopularity( + metadataUuid: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public getRecordPopularity( + metadataUuid: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public getRecordPopularity( + metadataUuid: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling getRecordPopularity.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', 'text/plain'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) - )}/formatters/${encodeURIComponent(String(formatterId))}`, + )}/popularity`, { - params: queryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: headers, @@ -3563,7 +5382,7 @@ export class RecordsApiService { observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> + ): Observable public getRecordStatusHistory( metadataUuid: string, details?: boolean, @@ -3571,7 +5390,7 @@ export class RecordsApiService { observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> + ): Observable> public getRecordStatusHistory( metadataUuid: string, details?: boolean, @@ -3579,7 +5398,7 @@ export class RecordsApiService { observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> + ): Observable> public getRecordStatusHistory( metadataUuid: string, details?: boolean, @@ -3632,7 +5451,7 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get>( + return this.httpClient.get( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) )}/status`, @@ -3664,7 +5483,7 @@ export class RecordsApiService { observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> + ): Observable public getRecordStatusHistoryByType( metadataUuid: string, type: 'workflow' | 'task' | 'event', @@ -3673,7 +5492,7 @@ export class RecordsApiService { observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> + ): Observable> public getRecordStatusHistoryByType( metadataUuid: string, type: 'workflow' | 'task' | 'event', @@ -3682,7 +5501,7 @@ export class RecordsApiService { observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> + ): Observable> public getRecordStatusHistoryByType( metadataUuid: string, type: 'workflow' | 'task' | 'event', @@ -3741,7 +5560,7 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get>( + return this.httpClient.get( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) )}/status/${encodeURIComponent(String(type))}`, @@ -4289,8 +6108,8 @@ export class RecordsApiService { size?: number, observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | '*/*' } - ): Observable> + options?: { httpHeaderAccept?: 'application/json' } + ): Observable public getResource( metadataUuid: string, resourceId: string, @@ -4298,8 +6117,8 @@ export class RecordsApiService { size?: number, observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | '*/*' } - ): Observable>> + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> public getResource( metadataUuid: string, resourceId: string, @@ -4307,8 +6126,8 @@ export class RecordsApiService { size?: number, observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | '*/*' } - ): Observable>> + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> public getResource( metadataUuid: string, resourceId: string, @@ -4316,7 +6135,7 @@ export class RecordsApiService { size?: number, observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' | '*/*' } + options?: { httpHeaderAccept?: 'application/json' } ): Observable { if (metadataUuid === null || metadataUuid === undefined) { throw new Error( @@ -4347,7 +6166,7 @@ export class RecordsApiService { options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = ['application/json', '*/*'] + const httpHeaderAccepts: string[] = ['application/json'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -4363,7 +6182,7 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get>( + return this.httpClient.get( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) )}/attachments/${encodeURIComponent(String(resourceId))}`, @@ -4520,19 +6339,19 @@ export class RecordsApiService { observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable + ): Observable public getStatus( metadataUuid: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> + ): Observable> public getStatus( metadataUuid: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> + ): Observable> public getStatus( metadataUuid: string, observe: any = 'body', @@ -4567,7 +6386,7 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get( + return this.httpClient.get( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) )}/status/workflow/last`, @@ -4731,11 +6550,13 @@ export class RecordsApiService { * Search status * @param type One or more types to retrieve (ie. worflow, event, task). Default is all. * @param details All event details including XML changes. Responses are bigger. Default is false + * @param sortOrder Sort Order (ie. DESC or ASC). Default is none. * @param author One or more event author. Default is all. * @param owner One or more event owners. Default is all. * @param id One or more record identifier. Default is all. - * @param record One or more metadata record identifier. Default is all. + * @param recordIdentifier One or more metadata record identifier. Default is all. * @param uuid One or more metadata uuid. Default is all. + * @param statusIds One or more status id. Default is all. * @param dateFrom Start date * @param dateTo End date * @param from From page @@ -4746,11 +6567,13 @@ export class RecordsApiService { public getWorkflowStatusByType( type?: Array<'workflow' | 'task' | 'event'>, details?: boolean, + sortOrder?: 'ASC' | 'DESC', author?: Array, owner?: Array, id?: Array, - record?: Array, + recordIdentifier?: Array, uuid?: Array, + statusIds?: Array, dateFrom?: string, dateTo?: string, from?: number, @@ -4758,15 +6581,17 @@ export class RecordsApiService { observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> + ): Observable public getWorkflowStatusByType( type?: Array<'workflow' | 'task' | 'event'>, details?: boolean, + sortOrder?: 'ASC' | 'DESC', author?: Array, owner?: Array, id?: Array, - record?: Array, + recordIdentifier?: Array, uuid?: Array, + statusIds?: Array, dateFrom?: string, dateTo?: string, from?: number, @@ -4774,15 +6599,17 @@ export class RecordsApiService { observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> + ): Observable> public getWorkflowStatusByType( type?: Array<'workflow' | 'task' | 'event'>, details?: boolean, + sortOrder?: 'ASC' | 'DESC', author?: Array, owner?: Array, id?: Array, - record?: Array, + recordIdentifier?: Array, uuid?: Array, + statusIds?: Array, dateFrom?: string, dateTo?: string, from?: number, @@ -4790,15 +6617,17 @@ export class RecordsApiService { observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> + ): Observable> public getWorkflowStatusByType( type?: Array<'workflow' | 'task' | 'event'>, details?: boolean, + sortOrder?: 'ASC' | 'DESC', author?: Array, owner?: Array, id?: Array, - record?: Array, + recordIdentifier?: Array, uuid?: Array, + statusIds?: Array, dateFrom?: string, dateTo?: string, from?: number, @@ -4824,6 +6653,13 @@ export class RecordsApiService { 'details' ) } + if (sortOrder !== undefined && sortOrder !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + sortOrder, + 'sortOrder' + ) + } if (author) { author.forEach((element) => { queryParameters = this.addToHttpParams( @@ -4851,12 +6687,12 @@ export class RecordsApiService { ) }) } - if (record) { - record.forEach((element) => { + if (recordIdentifier) { + recordIdentifier.forEach((element) => { queryParameters = this.addToHttpParams( queryParameters, element, - 'record' + 'recordIdentifier' ) }) } @@ -4869,6 +6705,15 @@ export class RecordsApiService { ) }) } + if (statusIds) { + statusIds.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'statusIds' + ) + }) + } if (dateFrom !== undefined && dateFrom !== null) { queryParameters = this.addToHttpParams( queryParameters, @@ -4912,7 +6757,7 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get>( + return this.httpClient.get( `${this.configuration.basePath}/records/status/search`, { params: queryParameters, @@ -4925,6 +6770,80 @@ export class RecordsApiService { ) } + /** + * Increase record popularity + * Used when a view is based on the search results content and does not really access the record. Record is then added to the indexing queue and popularity will be updated soon. + * @param metadataUuid Record UUID. + * @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 increaseRecordPopularity( + metadataUuid: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable + public increaseRecordPopularity( + metadataUuid: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public increaseRecordPopularity( + metadataUuid: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public increaseRecordPopularity( + metadataUuid: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling increaseRecordPopularity.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', 'text/plain'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/popularity`, + null, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Index a set of records * Index a set of records provided either by a bucket or a list of uuids @@ -4933,28 +6852,28 @@ export class RecordsApiService { * @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 index( + public index1( uuids?: Array, bucket?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable<{ [key: string]: object }> - public index( + public index1( uuids?: Array, bucket?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public index( + public index1( uuids?: Array, bucket?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public index( + public index1( uuids?: Array, bucket?: string, observe: any = 'body', @@ -5021,7 +6940,7 @@ export class RecordsApiService { * @param url URL of a file to download and insert. * @param serverFolder Server folder where to look for files. * @param recursiveSearch (Server folder import only) Recursive search in folder. - * @param publishToAll (XML file only) Publish record. + * @param publishToAll (XML file only and if workflow is not enabled) Publish record. * @param assignToCatalog (MEF file only) Assign to current catalog. * @param uuidProcessing Record identifier processing. * @param group The group the record is attached to. @@ -5029,8 +6948,9 @@ export class RecordsApiService { * @param rejectIfInvalid Validate the record first and reject it if not valid. * @param transformWith XSL transformation to apply to the record. * @param schema Force the schema of the record. If not set, schema autodetection is used (and is the preferred method). + * @param allowEditGroupMembers Is editable by group members with editor profile? If not, only the author and administrator can edit the record. * @param extra (experimental) Add extra information to the record. - * @param body XML fragment. + * @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. */ @@ -5045,12 +6965,17 @@ export class RecordsApiService { recursiveSearch?: boolean, publishToAll?: boolean, assignToCatalog?: boolean, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, category?: Array, rejectIfInvalid?: boolean, transformWith?: string, schema?: string, + allowEditGroupMembers?: boolean, extra?: string, body?: string, observe?: 'body', @@ -5068,12 +6993,17 @@ export class RecordsApiService { recursiveSearch?: boolean, publishToAll?: boolean, assignToCatalog?: boolean, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, category?: Array, rejectIfInvalid?: boolean, transformWith?: string, schema?: string, + allowEditGroupMembers?: boolean, extra?: string, body?: string, observe?: 'response', @@ -5091,12 +7021,17 @@ export class RecordsApiService { recursiveSearch?: boolean, publishToAll?: boolean, assignToCatalog?: boolean, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, category?: Array, rejectIfInvalid?: boolean, transformWith?: string, schema?: string, + allowEditGroupMembers?: boolean, extra?: string, body?: string, observe?: 'events', @@ -5114,12 +7049,17 @@ export class RecordsApiService { recursiveSearch?: boolean, publishToAll?: boolean, assignToCatalog?: boolean, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, category?: Array, rejectIfInvalid?: boolean, transformWith?: string, schema?: string, + allowEditGroupMembers?: boolean, extra?: string, body?: string, observe: any = 'body', @@ -5215,6 +7155,13 @@ export class RecordsApiService { 'schema' ) } + if (allowEditGroupMembers !== undefined && allowEditGroupMembers !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + allowEditGroupMembers, + 'allowEditGroupMembers' + ) + } if (extra !== undefined && extra !== null) { queryParameters = this.addToHttpParams( queryParameters, @@ -5285,6 +7232,7 @@ export class RecordsApiService { * @param transformWith XSL transformation to apply to the record. * @param schema Force the schema of the record. If not set, schema autodetection is used (and is the preferred method). * @param extra (experimental) Add extra information to the record. + * @param allowEditGroupMembers Is editable by group members with editor profile? If not, only the author and administrator can edit the record. * @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. */ @@ -5295,7 +7243,11 @@ export class RecordsApiService { | 'SUB_TEMPLATE' | 'TEMPLATE_OF_SUB_TEMPLATE', file?: Array, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, category?: Array, rejectIfInvalid?: boolean, @@ -5304,6 +7256,7 @@ export class RecordsApiService { transformWith?: string, schema?: string, extra?: string, + allowEditGroupMembers?: boolean, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } @@ -5315,7 +7268,11 @@ export class RecordsApiService { | 'SUB_TEMPLATE' | 'TEMPLATE_OF_SUB_TEMPLATE', file?: Array, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, category?: Array, rejectIfInvalid?: boolean, @@ -5324,6 +7281,7 @@ export class RecordsApiService { transformWith?: string, schema?: string, extra?: string, + allowEditGroupMembers?: boolean, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } @@ -5335,7 +7293,11 @@ export class RecordsApiService { | 'SUB_TEMPLATE' | 'TEMPLATE_OF_SUB_TEMPLATE', file?: Array, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, category?: Array, rejectIfInvalid?: boolean, @@ -5344,6 +7306,7 @@ export class RecordsApiService { transformWith?: string, schema?: string, extra?: string, + allowEditGroupMembers?: boolean, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } @@ -5355,7 +7318,11 @@ export class RecordsApiService { | 'SUB_TEMPLATE' | 'TEMPLATE_OF_SUB_TEMPLATE', file?: Array, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, category?: Array, rejectIfInvalid?: boolean, @@ -5364,6 +7331,7 @@ export class RecordsApiService { transformWith?: string, schema?: string, extra?: string, + allowEditGroupMembers?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } @@ -5450,6 +7418,13 @@ export class RecordsApiService { 'extra' ) } + if (allowEditGroupMembers !== undefined && allowEditGroupMembers !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + allowEditGroupMembers, + 'allowEditGroupMembers' + ) + } let headers = this.defaultHeaders @@ -5516,7 +7491,11 @@ export class RecordsApiService { overviewFilename?: string, topic?: string, publishToAll?: boolean, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, observe?: 'body', reportProgress?: boolean, @@ -5533,7 +7512,11 @@ export class RecordsApiService { overviewFilename?: string, topic?: string, publishToAll?: boolean, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, observe?: 'response', reportProgress?: boolean, @@ -5550,7 +7533,11 @@ export class RecordsApiService { overviewFilename?: string, topic?: string, publishToAll?: boolean, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, observe?: 'events', reportProgress?: boolean, @@ -5567,7 +7554,11 @@ export class RecordsApiService { overviewFilename?: string, topic?: string, publishToAll?: boolean, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: string, observe: any = 'body', reportProgress: boolean = false, @@ -5808,6 +7799,132 @@ export class RecordsApiService { ) } + /** + * Preview edits made by XPath expressions. + * @param batchEditParameterApiModel + * @param uuids Record UUIDs. If null current selection is used. + * @param bucket Selection bucket name + * @param diffType Return differences with diff, diffhtml or patch + * @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 previewBatchEdit( + batchEditParameterApiModel: Array, + uuids?: Array, + bucket?: string, + diffType?: 'patch' | 'diff' | 'diffhtml', + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable + public previewBatchEdit( + batchEditParameterApiModel: Array, + uuids?: Array, + bucket?: string, + diffType?: 'patch' | 'diff' | 'diffhtml', + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public previewBatchEdit( + batchEditParameterApiModel: Array, + uuids?: Array, + bucket?: string, + diffType?: 'patch' | 'diff' | 'diffhtml', + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public previewBatchEdit( + batchEditParameterApiModel: Array, + uuids?: Array, + bucket?: string, + diffType?: 'patch' | 'diff' | 'diffhtml', + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable { + if ( + batchEditParameterApiModel === null || + batchEditParameterApiModel === undefined + ) { + throw new Error( + 'Required parameter batchEditParameterApiModel was null or undefined when calling previewBatchEdit.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (uuids) { + uuids.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'uuids' + ) + }) + } + if (bucket !== undefined && bucket !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + bucket, + 'bucket' + ) + } + if (diffType !== undefined && diffType !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + diffType, + 'diffType' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json', + 'application/xml', + ] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/records/batchediting/preview`, + batchEditParameterApiModel, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Apply a process * Process a metadata with an XSL transformation declared in the metadata schema (See the process folder). Parameters sent to the service are forwarded to XSL process. @@ -5908,28 +8025,28 @@ export class RecordsApiService { process: string, observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable + options?: { httpHeaderAccept?: 'application/json' } + ): Observable public processRecordPreview( metadataUuid: string, process: string, observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable> + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> public processRecordPreview( metadataUuid: string, process: string, observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable> + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> public processRecordPreview( metadataUuid: string, process: string, observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + options?: { httpHeaderAccept?: 'application/json' } ): Observable { if (metadataUuid === null || metadataUuid === undefined) { throw new Error( @@ -5947,11 +8064,8 @@ export class RecordsApiService { let httpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { - // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json', - 'application/xml', - ] + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -5967,7 +8081,7 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.get( + return this.httpClient.get( `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) )}/processes/${encodeURIComponent(String(process))}`, @@ -5986,12 +8100,14 @@ export class RecordsApiService { * See record sharing for more details. * @param uuids Record UUIDs. If null current selection is used. * @param bucket Selection bucket name + * @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 publish( uuids?: Array, bucket?: string, + body?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | '*/*' } @@ -5999,6 +8115,7 @@ export class RecordsApiService { public publish( uuids?: Array, bucket?: string, + body?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | '*/*' } @@ -6006,6 +8123,7 @@ export class RecordsApiService { public publish( uuids?: Array, bucket?: string, + body?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | '*/*' } @@ -6013,6 +8131,7 @@ export class RecordsApiService { public publish( uuids?: Array, bucket?: string, + body?: string, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' | '*/*' } @@ -6049,6 +8168,14 @@ export class RecordsApiService { 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) + } + let responseType_: 'text' | 'json' = 'json' if ( httpHeaderAcceptSelected && @@ -6059,7 +8186,7 @@ export class RecordsApiService { return this.httpClient.put( `${this.configuration.basePath}/records/publish`, - null, + body, { params: queryParameters, responseType: responseType_, @@ -6071,12 +8198,98 @@ export class RecordsApiService { ) } + /** + * Set privileges for ALL group to publish the metadata for all users. + * @param metadataUuid Record UUID. + * @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 publish1( + metadataUuid: string, + body?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public publish1( + metadataUuid: string, + body?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public publish1( + metadataUuid: string, + body?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public publish1( + metadataUuid: string, + body?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling publish1.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/publish`, + body, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Create a new resource for a given metadata * @param metadataUuid The metadata UUID * @param visibility The sharing policy * @param approved Use approved version or not - * @param inlineObject1ApiModel + * @param inlineObject3ApiModel * @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. */ @@ -6084,7 +8297,7 @@ export class RecordsApiService { metadataUuid: string, visibility?: 'public' | 'private', approved?: boolean, - inlineObject1ApiModel?: InlineObject1ApiModel, + inlineObject3ApiModel?: InlineObject3ApiModel, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } @@ -6093,7 +8306,7 @@ export class RecordsApiService { metadataUuid: string, visibility?: 'public' | 'private', approved?: boolean, - inlineObject1ApiModel?: InlineObject1ApiModel, + inlineObject3ApiModel?: InlineObject3ApiModel, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } @@ -6102,7 +8315,7 @@ export class RecordsApiService { metadataUuid: string, visibility?: 'public' | 'private', approved?: boolean, - inlineObject1ApiModel?: InlineObject1ApiModel, + inlineObject3ApiModel?: InlineObject3ApiModel, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } @@ -6111,7 +8324,7 @@ export class RecordsApiService { metadataUuid: string, visibility?: 'public' | 'private', approved?: boolean, - inlineObject1ApiModel?: InlineObject1ApiModel, + inlineObject3ApiModel?: InlineObject3ApiModel, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } @@ -6172,7 +8385,7 @@ export class RecordsApiService { `${this.configuration.basePath}/records/${encodeURIComponent( String(metadataUuid) )}/attachments`, - inlineObject1ApiModel, + inlineObject3ApiModel, { params: queryParameters, responseType: responseType_, @@ -6301,7 +8514,7 @@ export class RecordsApiService { * Rate a record * User rating of metadata. If the metadata was harvested using the \'GeoNetwork\' protocol and the system setting localrating/enable is false (the default), the user\'s rating is shared between GN nodes in this harvesting network. If the metadata was not harvested or if localrating/enable is true then \'local rating\' is applied, counting only rating from users of this node.<br/>When a remote rating is applied, the local rating is not updated. It will be updated on the next harvest run (FIXME ?). * @param metadataUuid Record UUID. - * @param body Rating + * @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. */ @@ -6905,7 +9118,7 @@ export class RecordsApiService { * Set record group * A record is related to one group. * @param metadataUuid Record UUID. - * @param body Group identifier + * @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. */ @@ -7115,10 +9328,104 @@ export class RecordsApiService { ) } + /** + * Set the record status + * @param metadataUuid Record UUID. + * @param metadataStatusParameterApiModel + * @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 setStatus( + metadataUuid: string, + metadataStatusParameterApiModel: MetadataStatusParameterApiModel, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable<{ [key: string]: string }> + public setStatus( + metadataUuid: string, + metadataStatusParameterApiModel: MetadataStatusParameterApiModel, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public setStatus( + metadataUuid: string, + metadataStatusParameterApiModel: MetadataStatusParameterApiModel, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public setStatus( + metadataUuid: string, + metadataStatusParameterApiModel: MetadataStatusParameterApiModel, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling setStatus.' + ) + } + if ( + metadataStatusParameterApiModel === null || + metadataStatusParameterApiModel === undefined + ) { + throw new Error( + 'Required parameter metadataStatusParameterApiModel was null or undefined when calling setStatus.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put<{ [key: string]: string }>( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/status`, + metadataStatusParameterApiModel, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Set sharing settings for one or more records * See record sharing for more details. - * @param sharingParameterApiModel Privileges + * @param sharingParameterApiModel * @param uuids Record UUIDs. If null current selection is used. * @param bucket Selection bucket name * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -7189,7 +9496,101 @@ export class RecordsApiService { options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = ['application/json', '*/*'] + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/records/sharing`, + sharingParameterApiModel, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Set record sharing + * Privileges are assigned by group. User needs to be able to edit a record to set sharing settings. For reserved group (ie. Internet, Intranet & Guest), user MUST be reviewer of one group. For other group, if Only set privileges to user\'s groups is set in catalog configuration user MUST be a member of the group.<br/>Clear first allows to unset all operations first before setting the new ones.Clear option does not remove reserved groups operation if user is not an administrator, a reviewer or the owner of the record.<br/><a href=\'http://geonetwork-opensource.org/manuals/trunk/eng/users/user-guide/publishing/managing-privileges.html\'>More info</a> + * @param metadataUuid Record UUID. + * @param sharingParameterApiModel + * @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 share1( + metadataUuid: string, + sharingParameterApiModel: SharingParameterApiModel, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public share1( + metadataUuid: string, + sharingParameterApiModel: SharingParameterApiModel, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public share1( + metadataUuid: string, + sharingParameterApiModel: SharingParameterApiModel, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public share1( + metadataUuid: string, + sharingParameterApiModel: SharingParameterApiModel, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling share1.' + ) + } + if ( + sharingParameterApiModel === null || + sharingParameterApiModel === undefined + ) { + throw new Error( + 'Required parameter sharingParameterApiModel was null or undefined when calling share1.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -7213,11 +9614,12 @@ export class RecordsApiService { responseType_ = 'text' } - return this.httpClient.put( - `${this.configuration.basePath}/records/sharing`, + return this.httpClient.put( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/sharing`, sharingParameterApiModel, { - params: queryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: headers, @@ -7441,6 +9843,188 @@ export class RecordsApiService { ) } + /** + * Edit a record + * Return HTML form for editing. + * @param metadataUuid Record UUID. + * @param currTab Tab + * @param withAttributes + * @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 startEditing( + metadataUuid: string, + currTab?: string, + withAttributes?: boolean, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public startEditing( + metadataUuid: string, + currTab?: string, + withAttributes?: boolean, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public startEditing( + metadataUuid: string, + currTab?: string, + withAttributes?: boolean, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public startEditing( + metadataUuid: string, + currTab?: string, + withAttributes?: boolean, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling startEditing.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (currTab !== undefined && currTab !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + currTab, + 'currTab' + ) + } + if (withAttributes !== undefined && withAttributes !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + withAttributes, + 'withAttributes' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/editor`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Set the records status to submitted + * @param metadataBatchSubmitParameterApiModel + * @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 submit( + metadataBatchSubmitParameterApiModel: MetadataBatchSubmitParameterApiModel, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public submit( + metadataBatchSubmitParameterApiModel: MetadataBatchSubmitParameterApiModel, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public submit( + metadataBatchSubmitParameterApiModel: MetadataBatchSubmitParameterApiModel, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public submit( + metadataBatchSubmitParameterApiModel: MetadataBatchSubmitParameterApiModel, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if ( + metadataBatchSubmitParameterApiModel === null || + metadataBatchSubmitParameterApiModel === undefined + ) { + throw new Error( + 'Required parameter metadataBatchSubmitParameterApiModel was null or undefined when calling submit.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/records/submit`, + metadataBatchSubmitParameterApiModel, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Add tags to a record * @param metadataUuid Record UUID. @@ -7743,12 +10327,14 @@ export class RecordsApiService { * See record sharing for more details. * @param uuids Record UUIDs. If null current selection is used. * @param bucket Selection bucket name + * @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 unpublish( uuids?: Array, bucket?: string, + body?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | '*/*' } @@ -7756,6 +10342,7 @@ export class RecordsApiService { public unpublish( uuids?: Array, bucket?: string, + body?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | '*/*' } @@ -7763,6 +10350,7 @@ export class RecordsApiService { public unpublish( uuids?: Array, bucket?: string, + body?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | '*/*' } @@ -7770,6 +10358,7 @@ export class RecordsApiService { public unpublish( uuids?: Array, bucket?: string, + body?: string, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' | '*/*' } @@ -7806,6 +10395,14 @@ export class RecordsApiService { 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) + } + let responseType_: 'text' | 'json' = 'json' if ( httpHeaderAcceptSelected && @@ -7816,7 +10413,7 @@ export class RecordsApiService { return this.httpClient.put( `${this.configuration.basePath}/records/unpublish`, - null, + body, { params: queryParameters, responseType: responseType_, @@ -7828,6 +10425,92 @@ export class RecordsApiService { ) } + /** + * Unsets privileges for ALL group to publish the metadata for all users. + * @param metadataUuid Record UUID. + * @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 unpublish1( + metadataUuid: string, + body?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public unpublish1( + metadataUuid: string, + body?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public unpublish1( + metadataUuid: string, + body?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public unpublish1( + metadataUuid: string, + body?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (metadataUuid === null || metadataUuid === undefined) { + throw new Error( + 'Required parameter metadataUuid was null or undefined when calling unpublish1.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/records/${encodeURIComponent( + String(metadataUuid) + )}/unpublish`, + body, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Remove a DOI (this is not recommended, DOI are supposed to be persistent once created. This is mainly here for testing). * @param metadataUuid Record UUID. diff --git a/libs/data-access/gn4/src/openapi/api/regions.api.service.ts b/libs/data-access/gn4/src/openapi/api/regions.api.service.ts index a451fdf850..b0eca30544 100644 --- a/libs/data-access/gn4/src/openapi/api/regions.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/regions.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -33,7 +33,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class RegionsApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -110,6 +110,149 @@ export class RegionsApiService { return httpParams } + /** + * Get geometry as image + * A rendering of the geometry as a png. + * @param mapsrs (optional) the background map projection. If not passed uses the region/getmap/mapproj setting. If the setting is not set defaults to EPSG:4326 + * @param width (optional) width of the image that is created. Only one of width and height are permitted + * @param height (optional) height of the image that is created. Only one of width and height are permitted + * @param background (optional) URL for loading a background image for regions or a key that references the namedBackgrounds (configured in config-spring-geonetwork.xml). A WMS Getmap request is the typical example. The URL must be parameterized with the following parameters: minx, maxx, miny, maxy, width, height + * @param geom (optional) a wkt or gml encoded geometry. + * @param geomtype (optional) defines if geom is wkt or gml. Allowed values are wkt and gml. if not specified the it is assumed the geometry is wkt + * @param geomsrs + * @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 getGeomAsImage( + mapsrs?: string, + width?: number, + height?: number, + background?: string, + geom?: string, + geomtype?: string, + geomsrs?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable> + public getGeomAsImage( + mapsrs?: string, + width?: number, + height?: number, + background?: string, + geom?: string, + geomtype?: string, + geomsrs?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable>> + public getGeomAsImage( + mapsrs?: string, + width?: number, + height?: number, + background?: string, + geom?: string, + geomtype?: string, + geomsrs?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable>> + public getGeomAsImage( + mapsrs?: string, + width?: number, + height?: number, + background?: string, + geom?: string, + geomtype?: string, + geomsrs?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'image/png' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (mapsrs !== undefined && mapsrs !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + mapsrs, + 'mapsrs' + ) + } + if (width !== undefined && width !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + width, + 'width' + ) + } + if (height !== undefined && height !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + height, + 'height' + ) + } + if (background !== undefined && background !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + background, + 'background' + ) + } + if (geom !== undefined && geom !== null) { + queryParameters = this.addToHttpParams(queryParameters, geom, 'geom') + } + if (geomtype !== undefined && geomtype !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + geomtype, + 'geomtype' + ) + } + if (geomsrs !== undefined && geomsrs !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + geomsrs, + 'geomsrs' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', 'image/png'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/regions/geom.png`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Get list of region types * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. diff --git a/libs/data-access/gn4/src/openapi/api/registries.api.service.ts b/libs/data-access/gn4/src/openapi/api/registries.api.service.ts index c43d576d4b..47290e9197 100644 --- a/libs/data-access/gn4/src/openapi/api/registries.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/registries.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -24,11 +24,10 @@ import { CustomHttpParameterCodec } from '../encoder' import { Observable } from 'rxjs' import { CrsApiModel } from '../model/models' -import { ElementApiModel } from '../model/models' -import { InlineObject2ApiModel } from '../model/models' -import { InlineObject3ApiModel } from '../model/models' -import { KeywordBeanApiModel } from '../model/models' +import { InlineObject1ApiModel } from '../model/models' +import { InlineObject4ApiModel } from '../model/models' import { SimpleMetadataProcessingReportApiModel } from '../model/models' +import { ThesaurusInfoApiModel } from '../model/models' import { BASE_PATH, COLLECTION_FORMATS } from '../variables' import { Configuration } from '../configuration' @@ -37,7 +36,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class RegistriesApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -201,6 +200,126 @@ export class RegistriesApiService { ) } + /** + * Extracts directory entries from records + * Scan one or more records for element matching the XPath provided and save them as directory entries (ie. subtemplate).<br/><br/>Only records that the current user can edit are analyzed.<br/><br/>Examples:<br/>For ISO19115-3 records, use .//cit:CI_Responsibility and compute identifier based on email with .//cit:electronicMailAddress/_*_/text() to create a contact directory. + * @param xpath XPath of the elements to extract as entry. + * @param uuids Record UUIDs. If null current selection is used. + * @param bucket Selection bucket name + * @param identifierXpath XPath of the element identifier. If not defined a random UUID is generated and analysis will not check for duplicates. + * @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 extractEntries( + xpath: string, + uuids?: Array, + bucket?: string, + identifierXpath?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public extractEntries( + xpath: string, + uuids?: Array, + bucket?: string, + identifierXpath?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public extractEntries( + xpath: string, + uuids?: Array, + bucket?: string, + identifierXpath?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public extractEntries( + xpath: string, + uuids?: Array, + bucket?: string, + identifierXpath?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (xpath === null || xpath === undefined) { + throw new Error( + 'Required parameter xpath was null or undefined when calling extractEntries.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (uuids) { + uuids.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'uuids' + ) + }) + } + if (bucket !== undefined && bucket !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + bucket, + 'bucket' + ) + } + if (xpath !== undefined && xpath !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + xpath, + 'xpath' + ) + } + if (identifierXpath !== undefined && identifierXpath !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + identifierXpath, + 'identifierXpath' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/registries/actions/entries/collect`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Get CRS * @param id CRS identifier @@ -354,8 +473,8 @@ export class RegistriesApiService { schema?: string, observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable + options?: { httpHeaderAccept?: 'application/json' } + ): Observable public getEntry( uuid: string, process?: Array, @@ -364,8 +483,8 @@ export class RegistriesApiService { schema?: string, observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable> + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> public getEntry( uuid: string, process?: Array, @@ -374,8 +493,8 @@ export class RegistriesApiService { schema?: string, observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable> + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> public getEntry( uuid: string, process?: Array, @@ -384,7 +503,7 @@ export class RegistriesApiService { schema?: string, observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + options?: { httpHeaderAccept?: 'application/json' } ): Observable { if (uuid === null || uuid === undefined) { throw new Error( @@ -432,10 +551,7 @@ export class RegistriesApiService { options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json', - 'application/xml', - ] + const httpHeaderAccepts: string[] = ['application/json'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -451,7 +567,7 @@ export class RegistriesApiService { responseType_ = 'text' } - return this.httpClient.get( + return this.httpClient.get( `${this.configuration.basePath}/registries/entries/${encodeURIComponent( String(uuid) )}`, @@ -608,6 +724,162 @@ export class RegistriesApiService { responseType_ = 'text' } + return this.httpClient.post( + `${this.configuration.basePath}/registries/vocabularies/keyword`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get keyword by id + * Retrieve XML representation of keyword(s) from same thesaurususing different transformations. \'to-iso19139-keyword\' is the default and return an ISO19139 snippet.\'to-iso19139-keyword-as-xlink\' return an XLinked element. Custom transformation can be create on a per schema basis. + * @param id Keyword identifier or list of keyword identifiers comma separated. + * @param thesaurus Thesaurus to look info for the keyword(s). + * @param lang Languages. + * @param keywordOnly Only print the keyword, no thesaurus information. + * @param transformation XSL template to use (ISO19139 keyword by default, see convert.xsl). + * @param langMap langMap, that converts the values in the \'lang\' parameter to how they will be actually represented in the record. {\'fre\':\'fra\'} or {\'fre\':\'fr\'}. Missing/empty means to convert to iso 2 letter. + * @param accept + * @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 getKeywordById1( + id: string, + thesaurus: string, + lang?: Array, + keywordOnly?: boolean, + transformation?: string, + langMap?: string, + accept?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable + public getKeywordById1( + id: string, + thesaurus: string, + lang?: Array, + keywordOnly?: boolean, + transformation?: string, + langMap?: string, + accept?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public getKeywordById1( + id: string, + thesaurus: string, + lang?: Array, + keywordOnly?: boolean, + transformation?: string, + langMap?: string, + accept?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public getKeywordById1( + id: string, + thesaurus: string, + lang?: Array, + keywordOnly?: boolean, + transformation?: string, + langMap?: string, + accept?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable { + if (id === null || id === undefined) { + throw new Error( + 'Required parameter id was null or undefined when calling getKeywordById1.' + ) + } + if (thesaurus === null || thesaurus === undefined) { + throw new Error( + 'Required parameter thesaurus was null or undefined when calling getKeywordById1.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (id !== undefined && id !== null) { + queryParameters = this.addToHttpParams(queryParameters, id, 'id') + } + if (thesaurus !== undefined && thesaurus !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + thesaurus, + 'thesaurus' + ) + } + if (lang) { + lang.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'lang' + ) + }) + } + if (keywordOnly !== undefined && keywordOnly !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + keywordOnly, + 'keywordOnly' + ) + } + if (transformation !== undefined && transformation !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + transformation, + 'transformation' + ) + } + if (langMap !== undefined && langMap !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + langMap, + 'langMap' + ) + } + + let headers = this.defaultHeaders + if (accept !== undefined && accept !== null) { + headers = headers.set('Accept', String(accept)) + } + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json', + 'application/xml', + ] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + return this.httpClient.get( `${this.configuration.basePath}/registries/vocabularies/keyword`, { @@ -711,12 +983,12 @@ export class RegistriesApiService { * @param conceptRelatedIdColumn Column name for related concept id. Default is related. * @param conceptLinkSeparator Separator used when multiple broader/narrower/related ids are in the same column. Default is \'|\'. * @param importAsThesaurus Import CSV file as thesaurus if true (detault) or return it in SKOS format. - * @param inlineObject3ApiModel + * @param inlineObject4ApiModel * @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 importCsvAsThesaurus( - type?: string, + type?: 'external' | 'local', dir?: string, encoding?: string, thesaurusNs?: string, @@ -730,13 +1002,13 @@ export class RegistriesApiService { conceptRelatedIdColumn?: string, conceptLinkSeparator?: string, importAsThesaurus?: boolean, - inlineObject3ApiModel?: InlineObject3ApiModel, + inlineObject4ApiModel?: InlineObject4ApiModel, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable public importCsvAsThesaurus( - type?: string, + type?: 'external' | 'local', dir?: string, encoding?: string, thesaurusNs?: string, @@ -750,13 +1022,13 @@ export class RegistriesApiService { conceptRelatedIdColumn?: string, conceptLinkSeparator?: string, importAsThesaurus?: boolean, - inlineObject3ApiModel?: InlineObject3ApiModel, + inlineObject4ApiModel?: InlineObject4ApiModel, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public importCsvAsThesaurus( - type?: string, + type?: 'external' | 'local', dir?: string, encoding?: string, thesaurusNs?: string, @@ -770,13 +1042,13 @@ export class RegistriesApiService { conceptRelatedIdColumn?: string, conceptLinkSeparator?: string, importAsThesaurus?: boolean, - inlineObject3ApiModel?: InlineObject3ApiModel, + inlineObject4ApiModel?: InlineObject4ApiModel, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public importCsvAsThesaurus( - type?: string, + type?: 'external' | 'local', dir?: string, encoding?: string, thesaurusNs?: string, @@ -790,7 +1062,7 @@ export class RegistriesApiService { conceptRelatedIdColumn?: string, conceptLinkSeparator?: string, importAsThesaurus?: boolean, - inlineObject3ApiModel?: InlineObject3ApiModel, + inlineObject4ApiModel?: InlineObject4ApiModel, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } @@ -933,7 +1205,7 @@ export class RegistriesApiService { return this.httpClient.post( `${this.configuration.basePath}/registries/vocabularies/import/csv`, - inlineObject3ApiModel, + inlineObject4ApiModel, { params: queryParameters, responseType: responseType_, @@ -948,84 +1220,111 @@ export class RegistriesApiService { /** * Import spatial directory entries * Directory entry (AKA subtemplates) are XML fragments that can be inserted in metadata records. Use this service to import geographic extent entries from an ESRI Shapefile format. + * @param file The ZIP file to upload containing the Shapefile. * @param uuidAttribute Attribute to use for UUID. If none, random UUID are generated. * @param uuidPattern Pattern to build UUID from. Default is \'{{uuid}}\'. * @param descriptionAttribute Attribute to use for extent description. If none, no extent description defined. TODO: Add per language desc ? * @param geomProjectionTo geomProjectionTo * @param lenient lenient + * @param charset Attribute table charset * @param onlyBoundingBox Create only bounding box for each spatial objects. * @param process Process * @param schema Schema identifier * @param uuidProcessing Record identifier processing. * @param group The group the record is attached to. - * @param file * @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 importSpatialEntries( + file: Blob, uuidAttribute?: string, uuidPattern?: string, descriptionAttribute?: string, geomProjectionTo?: string, lenient?: boolean, + charset?: string, onlyBoundingBox?: boolean, process?: string, schema?: string, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: number, - file?: Blob, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable public importSpatialEntries( + file: Blob, uuidAttribute?: string, uuidPattern?: string, descriptionAttribute?: string, geomProjectionTo?: string, lenient?: boolean, + charset?: string, onlyBoundingBox?: boolean, process?: string, schema?: string, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: number, - file?: Blob, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public importSpatialEntries( + file: Blob, uuidAttribute?: string, uuidPattern?: string, descriptionAttribute?: string, geomProjectionTo?: string, lenient?: boolean, + charset?: string, onlyBoundingBox?: boolean, process?: string, schema?: string, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: number, - file?: Blob, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public importSpatialEntries( + file: Blob, uuidAttribute?: string, uuidPattern?: string, descriptionAttribute?: string, geomProjectionTo?: string, lenient?: boolean, + charset?: string, onlyBoundingBox?: boolean, process?: string, schema?: string, - uuidProcessing?: 'GENERATEUUID' | 'NOTHING' | 'OVERWRITE', + uuidProcessing?: + | 'GENERATEUUID' + | 'NOTHING' + | 'OVERWRITE' + | 'REMOVE_AND_REPLACE', group?: number, - file?: Blob, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } ): Observable { + if (file === null || file === undefined) { + throw new Error( + 'Required parameter file was null or undefined when calling importSpatialEntries.' + ) + } + let queryParameters = new HttpParams({ encoder: this.encoder }) if (uuidAttribute !== undefined && uuidAttribute !== null) { queryParameters = this.addToHttpParams( @@ -1062,6 +1361,13 @@ export class RegistriesApiService { 'lenient' ) } + if (charset !== undefined && charset !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + charset, + 'charset' + ) + } if (onlyBoundingBox !== undefined && onlyBoundingBox !== null) { queryParameters = this.addToHttpParams( queryParameters, @@ -1155,14 +1461,136 @@ export class RegistriesApiService { ) } + /** + * Preview directory entries extracted from records + * Scan one or more records for element matching the XPath provided and save them as directory entries (ie. subtemplate).<br/><br/>Only records that the current user can edit are analyzed.<br/><br/>Examples:<br/>For ISO19115-3 records, use .//cit:CI_Responsibility and compute identifier based on email with .//cit:electronicMailAddress/_*_/text() to create a contact directory. + * @param xpath XPath of the elements to extract as entry. + * @param uuids Record UUIDs. If null current selection is used. + * @param bucket Selection bucket name + * @param identifierXpath XPath of the element identifier. If not defined a random UUID is generated and analysis will not check for duplicates. + * @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 previewExtractedEntries( + xpath: string, + uuids?: Array, + bucket?: string, + identifierXpath?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable + public previewExtractedEntries( + xpath: string, + uuids?: Array, + bucket?: string, + identifierXpath?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public previewExtractedEntries( + xpath: string, + uuids?: Array, + bucket?: string, + identifierXpath?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public previewExtractedEntries( + xpath: string, + uuids?: Array, + bucket?: string, + identifierXpath?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable { + if (xpath === null || xpath === undefined) { + throw new Error( + 'Required parameter xpath was null or undefined when calling previewExtractedEntries.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (uuids) { + uuids.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'uuids' + ) + }) + } + if (bucket !== undefined && bucket !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + bucket, + 'bucket' + ) + } + if (xpath !== undefined && xpath !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + xpath, + 'xpath' + ) + } + if (identifierXpath !== undefined && identifierXpath !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + identifierXpath, + 'identifierXpath' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json', + 'application/xml', + ] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/registries/actions/entries/collect`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Preview updated matching entries in records - * Scan one or more records for element matching the XPath provided and then check if this element is available in the directory. If Found, the element from the directory update the element in the record and optionally properties are preserved.<br/><br/>The identifier XPath is used to find a match. An optional filtercan be added to restrict search to a subset of the directory. If no identifier XPaths is provided, the UUID is based on the content of the snippet (hash). It is recommended to use an identifier for better matching (eg. ISO19139 contact with different roles will not match on the automatic UUID mode). + * Scan one or more records for element matching the XPath provided and then check if this element is available in the directory. If Found, the element from the directory update the element in the record and optionally text or attribute value properties are preserved using propertiesToCopy. Elements can be lost if not existing in the directory entry (eg. from an gex:Extent directory containing only description and bounding polygon, the update can remove temporal element).<br/><br/>The identifier XPath is used to find a match. An optional filtercan be added to restrict search to a subset of the directory. If no identifier XPaths is provided, the UUID is based on the content of the snippet (hash). It is recommended to use an identifier for better matching (eg. ISO19139 contact with different roles will not match on the automatic UUID mode). * @param xpath XPath of the elements to extract as entry. * @param uuids Record UUIDs. If null current selection is used. * @param bucket Selection bucket name * @param identifierXpath XPath of the element identifier. If not defined a random UUID is generated and analysis will not check for duplicates. - * @param propertiesToCopy List of XPath of properties to copy from record to matching entry. + * @param propertiesToCopy List of XPath of properties to copy from record to matching entry. Only support text or attribute eg. ./gmd:role/_*_/@codeListValue * @param substituteAsXLink Replace entry by XLink. * @param fq Filter query for directory search. * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -1440,8 +1868,8 @@ export class RegistriesApiService { sort?: string, observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } - ): Observable> + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable public searchKeywords( q?: string, lang?: string, @@ -1454,8 +1882,8 @@ export class RegistriesApiService { sort?: string, observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> public searchKeywords( q?: string, lang?: string, @@ -1468,8 +1896,8 @@ export class RegistriesApiService { sort?: string, observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> public searchKeywords( q?: string, lang?: string, @@ -1482,7 +1910,7 @@ export class RegistriesApiService { sort?: string, observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' } + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } ): Observable { let queryParameters = new HttpParams({ encoder: this.encoder }) if (q !== undefined && q !== null) { @@ -1535,7 +1963,10 @@ export class RegistriesApiService { options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = ['application/json'] + const httpHeaderAccepts: string[] = [ + 'application/json', + 'application/xml', + ] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -1551,7 +1982,7 @@ export class RegistriesApiService { responseType_ = 'text' } - return this.httpClient.get>( + return this.httpClient.get( `${this.configuration.basePath}/registries/vocabularies/search`, { params: queryParameters, @@ -1566,12 +1997,12 @@ export class RegistriesApiService { /** * Update matching entries in records - * Scan one or more records for element matching the XPath provided and then check if this element is available in the directory. If Found, the element from the directory update the element in the record and optionally properties are preserved.<br/><br/>The identifier XPath is used to find a match. An optional filtercan be added to restrict search to a subset of the directory. If no identifier XPaths is provided, the UUID is based on the content of the snippet (hash). It is recommended to use an identifier for better matching (eg. ISO19139 contact with different roles will not match on the automatic UUID mode). + * Scan one or more records for element matching the XPath provided and then check if this element is available in the directory. If Found, the element from the directory update the element in the record and optionally text or attribute value properties are preserved using propertiesToCopy. Elements can be lost if not existing in the directory entry (eg. from an gex:Extent directory containing only description and bounding polygon, the update can remove temporal element).<br/><br/>The identifier XPath is used to find a match. An optional filtercan be added to restrict search to a subset of the directory. If no identifier XPaths is provided, the UUID is based on the content of the snippet (hash). It is recommended to use an identifier for better matching (eg. ISO19139 contact with different roles will not match on the automatic UUID mode). * @param xpath XPath of the elements to extract as entry. * @param uuids Record UUIDs. If null current selection is used. * @param bucket Selection bucket name * @param identifierXpath XPath of the element identifier. If not defined a random UUID is generated and analysis will not check for duplicates. - * @param propertiesToCopy List of XPath of properties to copy from record to matching entry. + * @param propertiesToCopy List of XPath of properties to copy from record to matching entry. Only support text or attribute eg. ./gmd:role/_*_/@codeListValue * @param substituteAsXLink Replace entry by XLink. * @param fq Filter query for directory search. * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -1718,48 +2149,140 @@ export class RegistriesApiService { ) } + /** + * Updates the information of a local thesaurus + * Updates the information of a local thesaurus. + * @param thesaurus Thesaurus to update. + * @param thesaurusInfoApiModel + * @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 updateThesaurus( + thesaurus: string, + thesaurusInfoApiModel: ThesaurusInfoApiModel, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public updateThesaurus( + thesaurus: string, + thesaurusInfoApiModel: ThesaurusInfoApiModel, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public updateThesaurus( + thesaurus: string, + thesaurusInfoApiModel: ThesaurusInfoApiModel, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public updateThesaurus( + thesaurus: string, + thesaurusInfoApiModel: ThesaurusInfoApiModel, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (thesaurus === null || thesaurus === undefined) { + throw new Error( + 'Required parameter thesaurus was null or undefined when calling updateThesaurus.' + ) + } + if (thesaurusInfoApiModel === null || thesaurusInfoApiModel === undefined) { + throw new Error( + 'Required parameter thesaurusInfoApiModel was null or undefined when calling updateThesaurus.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${ + this.configuration.basePath + }/registries/vocabularies/${encodeURIComponent(String(thesaurus))}`, + thesaurusInfoApiModel, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Uploads a new thesaurus from a file * Uploads a new thesaurus. * @param type Local or external (default). * @param dir Type of thesaurus, usually one of the ISO thesaurus type codelist value. Default is theme. * @param stylesheet XSL to be use to convert the thesaurus before load. Default _none_. - * @param inlineObject2ApiModel + * @param inlineObject1ApiModel * @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 uploadThesaurus( - type?: string, + type?: 'external' | 'local', dir?: string, stylesheet?: string, - inlineObject2ApiModel?: InlineObject2ApiModel, + inlineObject1ApiModel?: InlineObject1ApiModel, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | 'text/xml' } ): Observable public uploadThesaurus( - type?: string, + type?: 'external' | 'local', dir?: string, stylesheet?: string, - inlineObject2ApiModel?: InlineObject2ApiModel, + inlineObject1ApiModel?: InlineObject1ApiModel, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | 'text/xml' } ): Observable> public uploadThesaurus( - type?: string, + type?: 'external' | 'local', dir?: string, stylesheet?: string, - inlineObject2ApiModel?: InlineObject2ApiModel, + inlineObject1ApiModel?: InlineObject1ApiModel, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | 'text/xml' } ): Observable> public uploadThesaurus( - type?: string, + type?: 'external' | 'local', dir?: string, stylesheet?: string, - inlineObject2ApiModel?: InlineObject2ApiModel, + inlineObject1ApiModel?: InlineObject1ApiModel, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' | 'text/xml' } @@ -1811,7 +2334,7 @@ export class RegistriesApiService { return this.httpClient.post( `${this.configuration.basePath}/registries/vocabularies`, - inlineObject2ApiModel, + inlineObject1ApiModel, { params: queryParameters, responseType: responseType_, @@ -1833,6 +2356,7 @@ export class RegistriesApiService { * @param type Local or external (default). * @param dir Type of thesaurus, usually one of the ISO thesaurus type codelist value. Default is theme. * @param stylesheet XSL to be use to convert the thesaurus before load. Default _none_. + * @param thesaurusInfoApiModel * @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. */ @@ -1841,9 +2365,10 @@ export class RegistriesApiService { registryUrl?: string, registryType?: 're3gistry' | 'ldRegistry', registryLanguage?: Array, - type?: string, + type?: 'external' | 'local', dir?: string, stylesheet?: string, + thesaurusInfoApiModel?: ThesaurusInfoApiModel, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | 'text/xml' } @@ -1853,9 +2378,10 @@ export class RegistriesApiService { registryUrl?: string, registryType?: 're3gistry' | 'ldRegistry', registryLanguage?: Array, - type?: string, + type?: 'external' | 'local', dir?: string, stylesheet?: string, + thesaurusInfoApiModel?: ThesaurusInfoApiModel, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | 'text/xml' } @@ -1865,9 +2391,10 @@ export class RegistriesApiService { registryUrl?: string, registryType?: 're3gistry' | 'ldRegistry', registryLanguage?: Array, - type?: string, + type?: 'external' | 'local', dir?: string, stylesheet?: string, + thesaurusInfoApiModel?: ThesaurusInfoApiModel, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | 'text/xml' } @@ -1877,9 +2404,10 @@ export class RegistriesApiService { registryUrl?: string, registryType?: 're3gistry' | 'ldRegistry', registryLanguage?: Array, - type?: string, + type?: 'external' | 'local', dir?: string, stylesheet?: string, + thesaurusInfoApiModel?: ThesaurusInfoApiModel, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' | 'text/xml' } @@ -1939,6 +2467,14 @@ export class RegistriesApiService { 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) + } + let responseType_: 'text' | 'json' = 'json' if ( httpHeaderAcceptSelected && @@ -1949,7 +2485,7 @@ export class RegistriesApiService { return this.httpClient.put( `${this.configuration.basePath}/registries/vocabularies`, - null, + thesaurusInfoApiModel, { params: queryParameters, responseType: responseType_, diff --git a/libs/data-access/gn4/src/openapi/api/related.api.service.ts b/libs/data-access/gn4/src/openapi/api/related.api.service.ts index 815edbe0ed..7fca10e39d 100644 --- a/libs/data-access/gn4/src/openapi/api/related.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/related.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +32,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class RelatedApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -114,6 +114,7 @@ export class RelatedApiService { * Retrieve related services, datasets, onlines, thumbnails, sources, ... to all requested records.<br/><a href=\'http://geonetwork-opensource.org/manuals/trunk/eng/users/user-guide/associating-resources/index.html\'>More info</a> * @param type Type of related resource. If none, all resources are returned. * @param uuid Uuids of the metadatas you request the relations from. + * @param approved Use approved version or not * @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. */ @@ -135,6 +136,7 @@ export class RelatedApiService { | 'thumbnails' >, uuid?: Array, + approved?: boolean, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } @@ -157,6 +159,7 @@ export class RelatedApiService { | 'thumbnails' >, uuid?: Array, + approved?: boolean, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } @@ -179,6 +182,7 @@ export class RelatedApiService { | 'thumbnails' >, uuid?: Array, + approved?: boolean, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } @@ -201,6 +205,7 @@ export class RelatedApiService { | 'thumbnails' >, uuid?: Array, + approved?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } @@ -224,6 +229,13 @@ export class RelatedApiService { ) }) } + if (approved !== undefined && approved !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + approved, + 'approved' + ) + } let headers = this.defaultHeaders diff --git a/libs/data-access/gn4/src/openapi/api/search.api.service.ts b/libs/data-access/gn4/src/openapi/api/search.api.service.ts index b782a7632e..2db83af179 100644 --- a/libs/data-access/gn4/src/openapi/api/search.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/search.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -30,7 +30,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class SearchApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -111,12 +111,192 @@ export class SearchApiService { * Search endpoint * See https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html for search parameters details. * @param bucket + * @param relatedType Type of related resource. If none, no associated resource returned. + * @param body JSON request based on Elasticsearch API. + * @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 msearch( + bucket?: string, + relatedType?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, + body?: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public msearch( + bucket?: string, + relatedType?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, + body?: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public msearch( + bucket?: string, + relatedType?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, + body?: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public msearch( + bucket?: string, + relatedType?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, + body?: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (bucket !== undefined && bucket !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + bucket, + 'bucket' + ) + } + if (relatedType) { + relatedType.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'relatedType' + ) + }) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/search/records/_msearch`, + body, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Search endpoint + * See https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html for search parameters details. + * @param bucket + * @param relatedType Type of related resource. If none, no associated resource returned. * @param body JSON request based on Elasticsearch API. * @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 search( bucket?: string, + relatedType?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, body?: string, observe?: 'body', reportProgress?: boolean, @@ -124,6 +304,22 @@ export class SearchApiService { ): Observable public search( bucket?: string, + relatedType?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, body?: string, observe?: 'response', reportProgress?: boolean, @@ -131,6 +327,22 @@ export class SearchApiService { ): Observable> public search( bucket?: string, + relatedType?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, body?: string, observe?: 'events', reportProgress?: boolean, @@ -138,6 +350,22 @@ export class SearchApiService { ): Observable> public search( bucket?: string, + relatedType?: Array< + | 'children' + | 'parent' + | 'brothersAndSisters' + | 'siblings' + | 'associated' + | 'services' + | 'datasets' + | 'fcats' + | 'hasfeaturecats' + | 'sources' + | 'hassources' + | 'related' + | 'onlines' + | 'thumbnails' + >, body?: string, observe: any = 'body', reportProgress: boolean = false, @@ -151,6 +379,15 @@ export class SearchApiService { 'bucket' ) } + if (relatedType) { + relatedType.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'relatedType' + ) + }) + } let headers = this.defaultHeaders diff --git a/libs/data-access/gn4/src/openapi/api/selections.api.service.ts b/libs/data-access/gn4/src/openapi/api/selections.api.service.ts index d91b19f00d..64cfd10b8c 100644 --- a/libs/data-access/gn4/src/openapi/api/selections.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/selections.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -30,7 +30,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class SelectionsApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -357,4 +357,63 @@ export class SelectionsApiService { } ) } + + /** + * Get current selections + * @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 getSelectionsAndSize( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable<{ [key: string]: number }> + public getSelectionsAndSize( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getSelectionsAndSize( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getSelectionsAndSize( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get<{ [key: string]: number }>( + `${this.configuration.basePath}/selections`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } } diff --git a/libs/data-access/gn4/src/openapi/api/site.api.service.ts b/libs/data-access/gn4/src/openapi/api/site.api.service.ts index e76652d4a9..c937de7f34 100644 --- a/libs/data-access/gn4/src/openapi/api/site.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/site.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -23,8 +23,8 @@ import { import { CustomHttpParameterCodec } from '../encoder' import { Observable } from 'rxjs' -import { ElementApiModel } from '../model/models' import { LogFileResponseApiModel } from '../model/models' +import { ProxyConfigurationApiModel } from '../model/models' import { SettingApiModel } from '../model/models' import { SettingsListResponseApiModel } from '../model/models' import { SiteInformationApiModel } from '../model/models' @@ -38,7 +38,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class SiteApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -115,6 +115,67 @@ export class SiteApiService { return httpParams } + /** + * Force to commit pending documents in index. + * May be used when indexing task is hanging. + * @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 commitIndexChanges( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public commitIndexChanges( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public commitIndexChanges( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public commitIndexChanges( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/site/index/commit`, + null, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Get site informations * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -366,6 +427,125 @@ export class SiteApiService { ) } + /** + * Get notification levels + * @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 getNotificationLevel( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getNotificationLevel( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getNotificationLevel( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getNotificationLevel( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/site/info/notificationLevels`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Get proxy configuration details + * Get the proxy configuration. + * @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 getProxyConfiguration( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public getProxyConfiguration( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getProxyConfiguration( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getProxyConfiguration( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/site/info/proxy`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * robots.txt * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -374,22 +554,22 @@ export class SiteApiService { public getRobotsText( observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } - ): Observable + options?: { httpHeaderAccept?: 'application/json' } + ): Observable public getRobotsText( observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } - ): Observable> + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> public getRobotsText( observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } - ): Observable> + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> public getRobotsText( observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + options?: { httpHeaderAccept?: 'application/json' } ): Observable { let headers = this.defaultHeaders @@ -397,7 +577,7 @@ export class SiteApiService { options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = ['application/json', 'text/plain'] + const httpHeaderAccepts: string[] = ['application/json'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -413,7 +593,7 @@ export class SiteApiService { responseType_ = 'text' } - return this.httpClient.get( + return this.httpClient.get( `${this.configuration.basePath}/robots.txt`, { responseType: responseType_, @@ -766,28 +946,28 @@ export class SiteApiService { doc?: number, observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable + options?: { httpHeaderAccept?: 'application/json' } + ): Observable public getSitemap( format?: string, doc?: number, observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable> + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> public getSitemap( format?: string, doc?: number, observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } - ): Observable> + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> public getSitemap( format?: string, doc?: number, observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + options?: { httpHeaderAccept?: 'application/json' } ): Observable { let queryParameters = new HttpParams({ encoder: this.encoder }) if (format !== undefined && format !== null) { @@ -807,10 +987,7 @@ export class SiteApiService { options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = [ - 'application/json', - 'application/xml', - ] + const httpHeaderAccepts: string[] = ['application/json'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -826,17 +1003,14 @@ export class SiteApiService { responseType_ = 'text' } - return this.httpClient.get( - `${this.configuration.basePath}/sitemap`, - { - params: queryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress, - } - ) + return this.httpClient.get(`${this.configuration.basePath}/sitemap`, { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + }) } /** @@ -969,7 +1143,7 @@ export class SiteApiService { * @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 index1( + public index( reset?: boolean, asynchronous?: boolean, havingXlinkOnly?: boolean, @@ -979,7 +1153,7 @@ export class SiteApiService { reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable - public index1( + public index( reset?: boolean, asynchronous?: boolean, havingXlinkOnly?: boolean, @@ -989,7 +1163,7 @@ export class SiteApiService { reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public index1( + public index( reset?: boolean, asynchronous?: boolean, havingXlinkOnly?: boolean, @@ -999,7 +1173,7 @@ export class SiteApiService { reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public index1( + public index( reset?: boolean, asynchronous?: boolean, havingXlinkOnly?: boolean, @@ -1143,6 +1317,65 @@ export class SiteApiService { ) } + /** + * Index commit + * @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 indexCommit( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public indexCommit( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public indexCommit( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public indexCommit( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/site/index/commit`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Index status * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -1378,4 +1611,249 @@ export class SiteApiService { } ) } + + /** + * Save settings + * @param allRequestParams + * @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 saveSettings( + allRequestParams: { [key: string]: string }, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public saveSettings( + allRequestParams: { [key: string]: string }, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public saveSettings( + allRequestParams: { [key: string]: string }, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public saveSettings( + allRequestParams: { [key: string]: string }, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (allRequestParams === null || allRequestParams === undefined) { + throw new Error( + 'Required parameter allRequestParams was null or undefined when calling saveSettings.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (allRequestParams !== undefined && allRequestParams !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + allRequestParams, + 'allRequestParams' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/site/settings`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Set catalog logo + * Logos are stored in the data directory resources/images/harvesting as PNG or GIF images. When a logo is assigned to the catalog, a new image is created in images/logos/<catalogUuid>.png. + * @param file Logo to use for the catalog + * @param asFavicon Create favicon too + * @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 setLogo( + file: string, + asFavicon?: boolean, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public setLogo( + file: string, + asFavicon?: boolean, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public setLogo( + file: string, + asFavicon?: boolean, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public setLogo( + file: string, + asFavicon?: boolean, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (file === null || file === undefined) { + throw new Error( + 'Required parameter file was null or undefined when calling setLogo.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (file !== undefined && file !== null) { + queryParameters = this.addToHttpParams(queryParameters, file, 'file') + } + if (asFavicon !== undefined && asFavicon !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + asFavicon, + 'asFavicon' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/site/logo`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Update staging profile + * TODO: Needs doc + * @param profile + * @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 updateStagingProfile( + profile: 'testing' | 'development' | 'production', + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public updateStagingProfile( + profile: 'testing' | 'development' | 'production', + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public updateStagingProfile( + profile: 'testing' | 'development' | 'production', + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public updateStagingProfile( + profile: 'testing' | 'development' | 'production', + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (profile === null || profile === undefined) { + throw new Error( + 'Required parameter profile was null or undefined when calling updateStagingProfile.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/site/info/staging/${encodeURIComponent( + String(profile) + )}`, + null, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } } diff --git a/libs/data-access/gn4/src/openapi/api/sources.api.service.ts b/libs/data-access/gn4/src/openapi/api/sources.api.service.ts index 26d1bc6020..40a2a6c998 100644 --- a/libs/data-access/gn4/src/openapi/api/sources.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/sources.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +32,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class SourcesApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -110,42 +110,38 @@ export class SourcesApiService { } /** - * Get portal list - * List all subportal available. - * @param group Group owner of the source (only applies to subportal). + * Add a source + * @param sourceApiModel * @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 getSources1( - group?: number, + public addSource( + sourceApiModel: SourceApiModel, observe?: 'body', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } - ): Observable - public getSources1( - group?: number, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable + public addSource( + sourceApiModel: SourceApiModel, observe?: 'response', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public getSources1( - group?: number, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public addSource( + sourceApiModel: SourceApiModel, observe?: 'events', reportProgress?: boolean, - options?: { httpHeaderAccept?: 'application/json' } - ): Observable> - public getSources1( - group?: number, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public addSource( + sourceApiModel: SourceApiModel, observe: any = 'body', reportProgress: boolean = false, - options?: { httpHeaderAccept?: 'application/json' } + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } ): Observable { - let queryParameters = new HttpParams({ encoder: this.encoder }) - if (group !== undefined && group !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - group, - 'group' + if (sourceApiModel === null || sourceApiModel === undefined) { + throw new Error( + 'Required parameter sourceApiModel was null or undefined when calling addSource.' ) } @@ -155,7 +151,86 @@ export class SourcesApiService { options && options.httpHeaderAccept if (httpHeaderAcceptSelected === undefined) { // to determine the Accept header - const httpHeaderAccepts: string[] = ['application/json'] + const httpHeaderAccepts: string[] = ['application/json', 'text/plain'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/sources`, + sourceApiModel, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Remove a source + * @param sourceIdentifier Source identifier + * @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 deleteSource( + sourceIdentifier: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public deleteSource( + sourceIdentifier: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public deleteSource( + sourceIdentifier: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public deleteSource( + sourceIdentifier: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if (sourceIdentifier === null || sourceIdentifier === undefined) { + throw new Error( + 'Required parameter sourceIdentifier was null or undefined when calling deleteSource.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts) } @@ -171,14 +246,18 @@ export class SourcesApiService { responseType_ = 'text' } - return this.httpClient.get(`${this.configuration.basePath}/sources`, { - params: queryParameters, - responseType: responseType_, - withCredentials: this.configuration.withCredentials, - headers: headers, - observe: observe, - reportProgress: reportProgress, - }) + return this.httpClient.delete( + `${this.configuration.basePath}/sources/${encodeURIComponent( + String(sourceIdentifier) + )}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) } /** @@ -253,4 +332,170 @@ export class SourcesApiService { } ) } + + /** + * Get all sources + * Sources are the local catalogue, subportal, external catalogue (when importing MEF files) or harvesters. + * @param group Group owner of the source (only applies to subportal). + * @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 getSubPortals1( + group?: number, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getSubPortals1( + group?: number, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getSubPortals1( + group?: number, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getSubPortals1( + group?: number, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (group !== undefined && group !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + group, + 'group' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/sources`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Update a source + * @param sourceIdentifier Source identifier + * @param sourceApiModel + * @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 updateSource( + sourceIdentifier: string, + sourceApiModel: SourceApiModel, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public updateSource( + sourceIdentifier: string, + sourceApiModel: SourceApiModel, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public updateSource( + sourceIdentifier: string, + sourceApiModel: SourceApiModel, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public updateSource( + sourceIdentifier: string, + sourceApiModel: SourceApiModel, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if (sourceIdentifier === null || sourceIdentifier === undefined) { + throw new Error( + 'Required parameter sourceIdentifier was null or undefined when calling updateSource.' + ) + } + if (sourceApiModel === null || sourceApiModel === undefined) { + throw new Error( + 'Required parameter sourceApiModel was null or undefined when calling updateSource.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/sources/${encodeURIComponent( + String(sourceIdentifier) + )}`, + sourceApiModel, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } } diff --git a/libs/data-access/gn4/src/openapi/api/standards.api.service.ts b/libs/data-access/gn4/src/openapi/api/standards.api.service.ts index c3874601b3..4d51f9b81f 100644 --- a/libs/data-access/gn4/src/openapi/api/standards.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/standards.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -26,7 +26,6 @@ import { Observable } from 'rxjs' import { BatchEditingApiModel } from '../model/models' import { CodelistApiModel } from '../model/models' import { ElementApiModel } from '../model/models' -import { MetadataSchemaApiModel } from '../model/models' import { BASE_PATH, COLLECTION_FORMATS } from '../variables' import { Configuration } from '../configuration' @@ -35,7 +34,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class StandardsApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -853,17 +852,17 @@ export class StandardsApiService { observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> + ): Observable public getStandardConfigurations( observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> + ): Observable> public getStandardConfigurations( observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable>> + ): Observable> public getStandardConfigurations( observe: any = 'body', reportProgress: boolean = false, @@ -891,7 +890,7 @@ export class StandardsApiService { responseType_ = 'text' } - return this.httpClient.get>( + return this.httpClient.get( `${this.configuration.basePath}/standards`, { responseType: responseType_, diff --git a/libs/data-access/gn4/src/openapi/api/status.api.service.ts b/libs/data-access/gn4/src/openapi/api/status.api.service.ts index 68797f2bfb..23051c4581 100644 --- a/libs/data-access/gn4/src/openapi/api/status.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/status.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +32,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class StatusApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -109,6 +109,65 @@ export class StatusApiService { return httpParams } + /** + * Delete all record history and status + * @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 deleteAllHistoryAndStatus( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public deleteAllHistoryAndStatus( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteAllHistoryAndStatus( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public deleteAllHistoryAndStatus( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.delete( + `${this.configuration.basePath}/status`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Get status by type * @param type Type diff --git a/libs/data-access/gn4/src/openapi/api/tags.api.service.ts b/libs/data-access/gn4/src/openapi/api/tags.api.service.ts index 149f2bc355..5caf40b088 100644 --- a/libs/data-access/gn4/src/openapi/api/tags.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/tags.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +32,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class TagsApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -109,6 +109,78 @@ export class TagsApiService { return httpParams } + /** + * Remove a tag + * @param tagIdentifier Tag identifier + * @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 deleteTag( + tagIdentifier: number, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public deleteTag( + tagIdentifier: number, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public deleteTag( + tagIdentifier: number, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public deleteTag( + tagIdentifier: number, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if (tagIdentifier === null || tagIdentifier === undefined) { + throw new Error( + 'Required parameter tagIdentifier was null or undefined when calling deleteTag.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.delete( + `${this.configuration.basePath}/tags/${encodeURIComponent( + String(tagIdentifier) + )}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Get a tag * @param tagIdentifier Tag identifier @@ -240,6 +312,89 @@ export class TagsApiService { ) } + /** + * Create a tag + * If labels are not defined, a default label is created with the category name for all languages. + * @param metadataCategoryApiModel + * @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 putTag( + metadataCategoryApiModel: MetadataCategoryApiModel, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public putTag( + metadataCategoryApiModel: MetadataCategoryApiModel, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public putTag( + metadataCategoryApiModel: MetadataCategoryApiModel, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public putTag( + metadataCategoryApiModel: MetadataCategoryApiModel, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if ( + metadataCategoryApiModel === null || + metadataCategoryApiModel === undefined + ) { + throw new Error( + 'Required parameter metadataCategoryApiModel was null or undefined when calling putTag.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/tags`, + metadataCategoryApiModel, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Update a tag * @param tagIdentifier Tag identifier diff --git a/libs/data-access/gn4/src/openapi/api/tools.api.service.ts b/libs/data-access/gn4/src/openapi/api/tools.api.service.ts index c03adcf654..b2b8eac68b 100644 --- a/libs/data-access/gn4/src/openapi/api/tools.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/tools.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -23,6 +23,8 @@ import { import { CustomHttpParameterCodec } from '../encoder' import { Observable } from 'rxjs' +import { TranslationsApiModel } from '../model/models' + import { BASE_PATH, COLLECTION_FORMATS } from '../variables' import { Configuration } from '../configuration' @@ -30,7 +32,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class ToolsApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -108,14 +110,109 @@ export class ToolsApiService { } /** - * Add or update database translations. - * @param key - * @param requestBody + * Add or update all database translations. + * @param translationsApiModel * @param replace * @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 addTranslations( + translationsApiModel: Array, + replace?: boolean, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public addTranslations( + translationsApiModel: Array, + replace?: boolean, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public addTranslations( + translationsApiModel: Array, + replace?: boolean, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public addTranslations( + translationsApiModel: Array, + replace?: boolean, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (translationsApiModel === null || translationsApiModel === undefined) { + throw new Error( + 'Required parameter translationsApiModel was null or undefined when calling addTranslations.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (replace !== undefined && replace !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + replace, + 'replace' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/i18n/db/translations`, + translationsApiModel, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Add or update database translations for a key. + * Database translations can be used to customize labels in the UI for different languages. + * @param key Untranslated key for which translations are provided. + * @param requestBody An object where keys are valid 3-letter language codes (e.g. `eng` or `fre`) and values are custom translations for the corresponding language. + * @param replace Set to `true` to erase all existing translations for that key + * @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 addTranslationsFor( key: string, requestBody: { [key: string]: string }, replace?: boolean, @@ -123,7 +220,7 @@ export class ToolsApiService { reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable - public addTranslations( + public addTranslationsFor( key: string, requestBody: { [key: string]: string }, replace?: boolean, @@ -131,7 +228,7 @@ export class ToolsApiService { reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public addTranslations( + public addTranslationsFor( key: string, requestBody: { [key: string]: string }, replace?: boolean, @@ -139,7 +236,7 @@ export class ToolsApiService { reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> - public addTranslations( + public addTranslationsFor( key: string, requestBody: { [key: string]: string }, replace?: boolean, @@ -149,12 +246,12 @@ export class ToolsApiService { ): Observable { if (key === null || key === undefined) { throw new Error( - 'Required parameter key was null or undefined when calling addTranslations.' + 'Required parameter key was null or undefined when calling addTranslationsFor.' ) } if (requestBody === null || requestBody === undefined) { throw new Error( - 'Required parameter requestBody was null or undefined when calling addTranslations.' + 'Required parameter requestBody was null or undefined when calling addTranslationsFor.' ) } @@ -213,9 +310,94 @@ export class ToolsApiService { ) } + /** + * Generate an OGC filter + * From a JSON filter, return an OGC filter expression. + * @param filters The filters in JSON + * @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 buildFilter( + filters: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable + public buildFilter( + filters: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public buildFilter( + filters: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable> + public buildFilter( + filters: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'application/xml' } + ): Observable { + if (filters === null || filters === undefined) { + throw new Error( + 'Required parameter filters was null or undefined when calling buildFilter.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (filters !== undefined && filters !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + filters, + 'filters' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json', + 'application/xml', + ] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.post( + `${this.configuration.basePath}/tools/ogc/filter`, + null, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Generate a SLD with a new filter - * Get the currend SLD for the requested layers, add new filters in, save the SLD and return the new SLD URL. + * Get the current SLD for the requested layers, add new filters in, save the SLD and return the new SLD URL. * @param url The WMS server URL * @param layers The layers * @param filters The filters in JSON @@ -459,7 +641,8 @@ export class ToolsApiService { /** * Delete database translations. - * @param key + * Delete custom translations stored in the database. + * @param key Untranslated key for which all translations will be deleted. * @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. */ @@ -589,6 +772,164 @@ export class ToolsApiService { ) } + /** + * Download a SLD + * @param id The SLD identifier + * @param extension + * @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 downloadSLD( + id: number, + extension: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public downloadSLD( + id: number, + extension: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public downloadSLD( + id: number, + extension: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public downloadSLD( + id: number, + extension: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + if (id === null || id === undefined) { + throw new Error( + 'Required parameter id was null or undefined when calling downloadSLD.' + ) + } + if (extension === null || extension === undefined) { + throw new Error( + 'Required parameter extension was null or undefined when calling downloadSLD.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/tools/ogc/sld/${encodeURIComponent( + String(id) + )}.${encodeURIComponent(String(extension))}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * List custom user translations + * @param type + * @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 getCustomTranslations( + type?: Array, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public getCustomTranslations( + type?: Array, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getCustomTranslations( + type?: Array, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable>> + public getCustomTranslations( + type?: Array, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (type) { + type.forEach((element) => { + queryParameters = this.addToHttpParams( + queryParameters, + element, + 'type' + ) + }) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get>( + `${this.configuration.basePath}/i18n/db/custom`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * List database translations (used to overrides client application translations). * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -598,17 +939,17 @@ export class ToolsApiService { observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable<{ [key: string]: string }> + ): Observable> public getDbTranslations( observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> + ): Observable>> public getDbTranslations( observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } - ): Observable> + ): Observable>> public getDbTranslations( observe: any = 'body', reportProgress: boolean = false, @@ -636,7 +977,7 @@ export class ToolsApiService { responseType_ = 'text' } - return this.httpClient.get<{ [key: string]: string }>( + return this.httpClient.get>( `${this.configuration.basePath}/i18n/db/translations`, { responseType: responseType_, @@ -913,4 +1254,123 @@ export class ToolsApiService { } ) } + + /** + * Remove all database translations. + * @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 removeAllTranslations( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable + public removeAllTranslations( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public removeAllTranslations( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable> + public removeAllTranslations( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.delete( + `${this.configuration.basePath}/i18n/db/translations`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + + /** + * Test mail configuration + * Send an email to the catalog feedback email. + * @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 testMailConfiguration( + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable + public testMailConfiguration( + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public testMailConfiguration( + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public testMailConfiguration( + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable { + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', 'text/plain'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/tools/mail/test`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } } diff --git a/libs/data-access/gn4/src/openapi/api/ui.api.service.ts b/libs/data-access/gn4/src/openapi/api/ui.api.service.ts index aba63b3d88..a26fcc7a81 100644 --- a/libs/data-access/gn4/src/openapi/api/ui.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/ui.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +32,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class UiApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -109,6 +109,78 @@ export class UiApiService { return httpParams } + /** + * Remove a UI Configuration + * @param uiIdentifier UI configuration identifier + * @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 deleteUiConfiguration( + uiIdentifier: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public deleteUiConfiguration( + uiIdentifier: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public deleteUiConfiguration( + uiIdentifier: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public deleteUiConfiguration( + uiIdentifier: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if (uiIdentifier === null || uiIdentifier === undefined) { + throw new Error( + 'Required parameter uiIdentifier was null or undefined when calling deleteUiConfiguration.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.delete( + `${this.configuration.basePath}/ui/${encodeURIComponent( + String(uiIdentifier) + )}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Get a UI configuration * @param uiIdentifier UI identifier @@ -240,6 +312,85 @@ export class UiApiService { ) } + /** + * Create a UI configuration + * @param uiSettingApiModel + * @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 putUiConfiguration( + uiSettingApiModel: UiSettingApiModel, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable + public putUiConfiguration( + uiSettingApiModel: UiSettingApiModel, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public putUiConfiguration( + uiSettingApiModel: UiSettingApiModel, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable> + public putUiConfiguration( + uiSettingApiModel: UiSettingApiModel, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | 'text/plain' } + ): Observable { + if (uiSettingApiModel === null || uiSettingApiModel === undefined) { + throw new Error( + 'Required parameter uiSettingApiModel was null or undefined when calling putUiConfiguration.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', 'text/plain'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/ui`, + uiSettingApiModel, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Update a UI configuration * @param uiIdentifier UI configuration identifier diff --git a/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.ts b/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.ts index dbbdb77965..fd4cd904d8 100644 --- a/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/userfeedback.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -34,7 +34,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class UserfeedbackApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -723,7 +723,7 @@ export class UserfeedbackApiService { * @param _function User function. * @param type Comment type. * @param category Comment category. - * @param metadataEmail List of record\'s contact to send this email. + * @param metadataEmail List of record\'s contact to send this email (separated by comma). * @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. */ diff --git a/libs/data-access/gn4/src/openapi/api/users.api.service.ts b/libs/data-access/gn4/src/openapi/api/users.api.service.ts index 6271e1b22d..fc2a8eb9a7 100644 --- a/libs/data-access/gn4/src/openapi/api/users.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/users.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -24,6 +24,7 @@ import { CustomHttpParameterCodec } from '../encoder' import { Observable } from 'rxjs' import { OwnerResponseApiModel } from '../model/models' +import { PasswordResetDtoApiModel } from '../model/models' import { PasswordUpdateParameterApiModel } from '../model/models' import { TransferRequestApiModel } from '../model/models' import { UserApiModel } from '../model/models' @@ -39,7 +40,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class UsersApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -116,6 +117,98 @@ export class UsersApiService { return httpParams } + /** + * Check if a user property already exist + * @param property The user property to check + * @param exist The value to search + * @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 checkUserPropertyExist( + property: string, + exist: string, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public checkUserPropertyExist( + property: string, + exist: string, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public checkUserPropertyExist( + property: string, + exist: string, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public checkUserPropertyExist( + property: string, + exist: string, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if (property === null || property === undefined) { + throw new Error( + 'Required parameter property was null or undefined when calling checkUserPropertyExist.' + ) + } + if (exist === null || exist === undefined) { + throw new Error( + 'Required parameter exist was null or undefined when calling checkUserPropertyExist.' + ) + } + + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (exist !== undefined && exist !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + exist, + 'exist' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.get( + `${this.configuration.basePath}/users/properties/${encodeURIComponent( + String(property) + )}`, + { + params: queryParameters, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Creates a user * Creates a catalog user. @@ -546,7 +639,7 @@ export class UsersApiService { /** * Create user account * User is created with a registered user profile. username field is ignored and the email is used as username. Password is sent by email. Catalog administrator is also notified. - * @param userRegisterDtoApiModel User details + * @param userRegisterDtoApiModel * @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. */ @@ -630,39 +723,34 @@ export class UsersApiService { * Resets user password * Resets the user password. * @param userIdentifier User identifier. - * @param password Password to change. - * @param password2 Password to change (repeat). + * @param passwordResetDtoApiModel * @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 resetUserPassword( userIdentifier: number, - password: string, - password2: string, + passwordResetDtoApiModel: PasswordResetDtoApiModel, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable public resetUserPassword( userIdentifier: number, - password: string, - password2: string, + passwordResetDtoApiModel: PasswordResetDtoApiModel, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public resetUserPassword( userIdentifier: number, - password: string, - password2: string, + passwordResetDtoApiModel: PasswordResetDtoApiModel, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'application/json' } ): Observable> public resetUserPassword( userIdentifier: number, - password: string, - password2: string, + passwordResetDtoApiModel: PasswordResetDtoApiModel, observe: any = 'body', reportProgress: boolean = false, options?: { httpHeaderAccept?: 'application/json' } @@ -672,30 +760,12 @@ export class UsersApiService { 'Required parameter userIdentifier was null or undefined when calling resetUserPassword.' ) } - if (password === null || password === undefined) { - throw new Error( - 'Required parameter password was null or undefined when calling resetUserPassword.' - ) - } - if (password2 === null || password2 === undefined) { + if ( + passwordResetDtoApiModel === null || + passwordResetDtoApiModel === undefined + ) { throw new Error( - 'Required parameter password2 was null or undefined when calling resetUserPassword.' - ) - } - - let queryParameters = new HttpParams({ encoder: this.encoder }) - if (password !== undefined && password !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - password, - 'password' - ) - } - if (password2 !== undefined && password2 !== null) { - queryParameters = this.addToHttpParams( - queryParameters, - password2, - 'password2' + 'Required parameter passwordResetDtoApiModel was null or undefined when calling resetUserPassword.' ) } @@ -713,6 +783,14 @@ export class UsersApiService { 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) + } + let responseType_: 'text' | 'json' = 'json' if ( httpHeaderAcceptSelected && @@ -725,9 +803,8 @@ export class UsersApiService { `${this.configuration.basePath}/users/${encodeURIComponent( String(userIdentifier) )}/actions/forget-password`, - null, + passwordResetDtoApiModel, { - params: queryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: headers, @@ -988,6 +1065,15 @@ export class UsersApiService { ) } + let queryParameters = new HttpParams({ encoder: this.encoder }) + if (username !== undefined && username !== null) { + queryParameters = this.addToHttpParams( + queryParameters, + username, + 'username' + ) + } + let headers = this.defaultHeaders let httpHeaderAcceptSelected: string | undefined = @@ -1010,11 +1096,11 @@ export class UsersApiService { responseType_ = 'text' } - return this.httpClient.get( - `${this.configuration.basePath}/user/${encodeURIComponent( - String(username) - )}/actions/forgot-password`, + return this.httpClient.put( + `${this.configuration.basePath}/user/actions/forgot-password`, + null, { + params: queryParameters, responseType: responseType_, withCredentials: this.configuration.withCredentials, headers: headers, @@ -1028,7 +1114,7 @@ export class UsersApiService { * Update user password * Get a valid changekey by email first and then update your password. * @param username The user name - * @param passwordUpdateParameterApiModel The new password and a valid change key + * @param passwordUpdateParameterApiModel * @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. */ diff --git a/libs/data-access/gn4/src/openapi/api/usersearches.api.service.ts b/libs/data-access/gn4/src/openapi/api/usersearches.api.service.ts index 15aa044f40..960318a9bf 100644 --- a/libs/data-access/gn4/src/openapi/api/usersearches.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/usersearches.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -33,7 +33,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class UsersearchesApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -113,7 +113,7 @@ export class UsersearchesApiService { /** * Creates a user search * Creates a user search. - * @param userSearchDtoApiModel User search details + * @param userSearchDtoApiModel * @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. */ @@ -651,7 +651,7 @@ export class UsersearchesApiService { /** * Update a user search * @param searchIdentifier User search identifier - * @param userSearchDtoApiModel User search details + * @param userSearchDtoApiModel * @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. */ diff --git a/libs/data-access/gn4/src/openapi/api/userselections.api.service.ts b/libs/data-access/gn4/src/openapi/api/userselections.api.service.ts index d5306920b5..0624f665fa 100644 --- a/libs/data-access/gn4/src/openapi/api/userselections.api.service.ts +++ b/libs/data-access/gn4/src/openapi/api/userselections.api.service.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +32,7 @@ import { Configuration } from '../configuration' providedIn: 'root', }) export class UserselectionsApiService { - protected basePath = 'https://apps.titellus.net/geonetwork/srv/api' + protected basePath = 'https://demo.georchestra.org/geonetwork/srv/api' public defaultHeaders = new HttpHeaders() public configuration = new Configuration() public encoder: HttpParameterCodec @@ -387,6 +387,78 @@ export class UserselectionsApiService { ) } + /** + * Remove a user selection set + * @param selectionIdentifier Selection identifier + * @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 deleteUserSelection( + selectionIdentifier: number, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public deleteUserSelection( + selectionIdentifier: number, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public deleteUserSelection( + selectionIdentifier: number, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public deleteUserSelection( + selectionIdentifier: number, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if (selectionIdentifier === null || selectionIdentifier === undefined) { + throw new Error( + 'Required parameter selectionIdentifier was null or undefined when calling deleteUserSelection.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + this.configuration.selectHeaderAccept(httpHeaderAccepts) + } + if (httpHeaderAcceptSelected !== undefined) { + headers = headers.set('Accept', httpHeaderAcceptSelected) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.delete( + `${this.configuration.basePath}/userselections/${encodeURIComponent( + String(selectionIdentifier) + )}`, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } + /** * Get list of user selection sets * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -527,4 +599,95 @@ export class UserselectionsApiService { } ) } + + /** + * Update a user selection set + * @param selectionIdentifier Selection identifier + * @param selectionApiModel + * @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 updateUserSelection( + selectionIdentifier: number, + selectionApiModel: SelectionApiModel, + observe?: 'body', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable + public updateUserSelection( + selectionIdentifier: number, + selectionApiModel: SelectionApiModel, + observe?: 'response', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public updateUserSelection( + selectionIdentifier: number, + selectionApiModel: SelectionApiModel, + observe?: 'events', + reportProgress?: boolean, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable> + public updateUserSelection( + selectionIdentifier: number, + selectionApiModel: SelectionApiModel, + observe: any = 'body', + reportProgress: boolean = false, + options?: { httpHeaderAccept?: 'application/json' | '*/*' } + ): Observable { + if (selectionIdentifier === null || selectionIdentifier === undefined) { + throw new Error( + 'Required parameter selectionIdentifier was null or undefined when calling updateUserSelection.' + ) + } + if (selectionApiModel === null || selectionApiModel === undefined) { + throw new Error( + 'Required parameter selectionApiModel was null or undefined when calling updateUserSelection.' + ) + } + + let headers = this.defaultHeaders + + let httpHeaderAcceptSelected: string | undefined = + options && options.httpHeaderAccept + if (httpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = ['application/json', '*/*'] + httpHeaderAcceptSelected = + 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) + } + + let responseType_: 'text' | 'json' = 'json' + if ( + httpHeaderAcceptSelected && + httpHeaderAcceptSelected.startsWith('text') + ) { + responseType_ = 'text' + } + + return this.httpClient.put( + `${this.configuration.basePath}/userselections/${encodeURIComponent( + String(selectionIdentifier) + )}`, + selectionApiModel, + { + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: headers, + observe: observe, + reportProgress: reportProgress, + } + ) + } } diff --git a/libs/data-access/gn4/src/openapi/model/address.api.model.ts b/libs/data-access/gn4/src/openapi/model/address.api.model.ts index 926371b74c..7ed084de43 100644 --- a/libs/data-access/gn4/src/openapi/model/address.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/address.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -11,10 +11,10 @@ */ export interface AddressApiModel { + country?: string state?: string address?: string id?: number city?: string zip?: string - country?: string } diff --git a/libs/data-access/gn4/src/openapi/model/anonymousMapserver.api.model.ts b/libs/data-access/gn4/src/openapi/model/anonymousMapserver.api.model.ts index 6eb95ecdf8..4596cf2072 100644 --- a/libs/data-access/gn4/src/openapi/model/anonymousMapserver.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/anonymousMapserver.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -12,18 +12,18 @@ import { MapServerApiModel } from './mapServer.api.model' export interface AnonymousMapserverApiModel { - password?: string username?: string - namespace?: string - description?: string - id?: number - namespacePrefix?: string + password?: string configurl?: string wmsurl?: string wfsurl?: string wcsurl?: string stylerurl?: string + namespacePrefix?: string pushStyleInWorkspace_JpaWorkaround?: string pushStyleInWorkspace?: MapServerApiModel + namespace?: string + description?: string + id?: number name?: string } diff --git a/libs/data-access/gn4/src/openapi/model/associated.api.model.ts b/libs/data-access/gn4/src/openapi/model/associated.api.model.ts index f041f9795f..115c7d40ad 100644 --- a/libs/data-access/gn4/src/openapi/model/associated.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/associated.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/associatedRecord.api.model.ts b/libs/data-access/gn4/src/openapi/model/associatedRecord.api.model.ts new file mode 100644 index 0000000000..296e1fdf66 --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/associatedRecord.api.model.ts @@ -0,0 +1,19 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { JsonNodeApiModel } from './jsonNode.api.model' + +export interface AssociatedRecordApiModel { + origin?: string + properties?: { [key: string]: string } + _source?: JsonNodeApiModel + _id?: string +} diff --git a/libs/data-access/gn4/src/openapi/model/associatedSiblingMetadataItem.api.model.ts b/libs/data-access/gn4/src/openapi/model/associatedSiblingMetadataItem.api.model.ts index 8a5f2b1361..30911e4187 100644 --- a/libs/data-access/gn4/src/openapi/model/associatedSiblingMetadataItem.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/associatedSiblingMetadataItem.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/attributeTable.api.model.ts b/libs/data-access/gn4/src/openapi/model/attributeTable.api.model.ts index 875f298fb4..c5dcd07463 100644 --- a/libs/data-access/gn4/src/openapi/model/attributeTable.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/attributeTable.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/batchEditParameter.api.model.ts b/libs/data-access/gn4/src/openapi/model/batchEditParameter.api.model.ts index 64b738ac99..7d7d5e365e 100644 --- a/libs/data-access/gn4/src/openapi/model/batchEditParameter.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/batchEditParameter.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/batchEditing.api.model.ts b/libs/data-access/gn4/src/openapi/model/batchEditing.api.model.ts index 77673fe5b9..cbc819aeb2 100644 --- a/libs/data-access/gn4/src/openapi/model/batchEditing.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/batchEditing.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/category.api.model.ts b/libs/data-access/gn4/src/openapi/model/category.api.model.ts index a84f06ed12..bb49d64917 100644 --- a/libs/data-access/gn4/src/openapi/model/category.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/category.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/categoryResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/categoryResponse.api.model.ts index e6aaefdc42..097e482871 100644 --- a/libs/data-access/gn4/src/openapi/model/categoryResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/categoryResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/children.api.model.ts b/libs/data-access/gn4/src/openapi/model/children.api.model.ts index 1635ba674e..4aa281e782 100644 --- a/libs/data-access/gn4/src/openapi/model/children.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/children.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/codelist.api.model.ts b/libs/data-access/gn4/src/openapi/model/codelist.api.model.ts index 881f67289f..9a8bbbdb56 100644 --- a/libs/data-access/gn4/src/openapi/model/codelist.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/codelist.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/crs.api.model.ts b/libs/data-access/gn4/src/openapi/model/crs.api.model.ts index 295775f877..5b352f775f 100644 --- a/libs/data-access/gn4/src/openapi/model/crs.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/crs.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/dataset.api.model.ts b/libs/data-access/gn4/src/openapi/model/dataset.api.model.ts index e62f31ff43..7deeb983d6 100644 --- a/libs/data-access/gn4/src/openapi/model/dataset.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/dataset.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/description.api.model.ts b/libs/data-access/gn4/src/openapi/model/description.api.model.ts index 7327e6c6d1..15db680e78 100644 --- a/libs/data-access/gn4/src/openapi/model/description.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/description.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/element.api.model.ts b/libs/data-access/gn4/src/openapi/model/element.api.model.ts index f9a4dc8f48..1b6a508c49 100644 --- a/libs/data-access/gn4/src/openapi/model/element.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/element.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/entry.api.model.ts b/libs/data-access/gn4/src/openapi/model/entry.api.model.ts index 5253a47aea..1bcf4a0e6d 100644 --- a/libs/data-access/gn4/src/openapi/model/entry.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/entry.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/extentDto.api.model.ts b/libs/data-access/gn4/src/openapi/model/extentDto.api.model.ts index ab11e756ad..716c7930e1 100644 --- a/libs/data-access/gn4/src/openapi/model/extentDto.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/extentDto.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/fCRelatedMetadataItem.api.model.ts b/libs/data-access/gn4/src/openapi/model/fCRelatedMetadataItem.api.model.ts index b1f1875bcf..169df2228f 100644 --- a/libs/data-access/gn4/src/openapi/model/fCRelatedMetadataItem.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/fCRelatedMetadataItem.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/fcat.api.model.ts b/libs/data-access/gn4/src/openapi/model/fcat.api.model.ts index 97cf15df16..c8ac1d7a52 100644 --- a/libs/data-access/gn4/src/openapi/model/fcat.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/fcat.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/featureResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/featureResponse.api.model.ts index ca357cae43..4f98f2e0d8 100644 --- a/libs/data-access/gn4/src/openapi/model/featureResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/featureResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/featureType.api.model.ts b/libs/data-access/gn4/src/openapi/model/featureType.api.model.ts index 6b68cc707e..99bccf4027 100644 --- a/libs/data-access/gn4/src/openapi/model/featureType.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/featureType.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/field.api.model.ts b/libs/data-access/gn4/src/openapi/model/field.api.model.ts index d054c34c06..36c6d5f7b7 100644 --- a/libs/data-access/gn4/src/openapi/model/field.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/field.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/formatterData.api.model.ts b/libs/data-access/gn4/src/openapi/model/formatterData.api.model.ts new file mode 100644 index 0000000000..4de758009c --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/formatterData.api.model.ts @@ -0,0 +1,16 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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 FormatterDataApiModel { + schema?: string + id?: string +} diff --git a/libs/data-access/gn4/src/openapi/model/formatterDataResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/formatterDataResponse.api.model.ts new file mode 100644 index 0000000000..acc8cda75a --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/formatterDataResponse.api.model.ts @@ -0,0 +1,16 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { FormatterDataApiModel } from './formatterData.api.model' + +export interface FormatterDataResponseApiModel { + formatters?: Array +} diff --git a/libs/data-access/gn4/src/openapi/model/grantedAuthority.api.model.ts b/libs/data-access/gn4/src/openapi/model/grantedAuthority.api.model.ts index e4094c000f..555e80b5d7 100644 --- a/libs/data-access/gn4/src/openapi/model/grantedAuthority.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/grantedAuthority.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/group.api.model.ts b/libs/data-access/gn4/src/openapi/model/group.api.model.ts index 6eefd0dceb..2c6e7c0aef 100644 --- a/libs/data-access/gn4/src/openapi/model/group.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/group.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -11,17 +11,20 @@ */ import { MetadataCategoryApiModel } from './metadataCategory.api.model' +/** + * Group details + */ export interface GroupApiModel { logo?: string website?: string defaultCategory?: MetadataCategoryApiModel allowedCategories?: Array enableAllowedCategories?: boolean - description?: string - id?: number + reserved?: boolean email?: string referrer?: number - reserved?: boolean + description?: string + id?: number name?: string label?: { [key: string]: string } } diff --git a/libs/data-access/gn4/src/openapi/model/groupOperations.api.model.ts b/libs/data-access/gn4/src/openapi/model/groupOperations.api.model.ts index ae72d4ae73..6194a15c45 100644 --- a/libs/data-access/gn4/src/openapi/model/groupOperations.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/groupOperations.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/groupPrivilege.api.model.ts b/libs/data-access/gn4/src/openapi/model/groupPrivilege.api.model.ts index 799ccec324..4d8f5cfbff 100644 --- a/libs/data-access/gn4/src/openapi/model/groupPrivilege.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/groupPrivilege.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/hasfeaturecats.api.model.ts b/libs/data-access/gn4/src/openapi/model/hasfeaturecats.api.model.ts index 5859c2164c..13dca3b5c0 100644 --- a/libs/data-access/gn4/src/openapi/model/hasfeaturecats.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/hasfeaturecats.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/hassource.api.model.ts b/libs/data-access/gn4/src/openapi/model/hassource.api.model.ts index a1ab8532f0..85bcfaf37f 100644 --- a/libs/data-access/gn4/src/openapi/model/hassource.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/hassource.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/iProcessingReport.api.model.ts b/libs/data-access/gn4/src/openapi/model/iProcessingReport.api.model.ts index 017c823226..7a8f6bdcf7 100644 --- a/libs/data-access/gn4/src/openapi/model/iProcessingReport.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/iProcessingReport.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -11,11 +11,11 @@ */ export interface IProcessingReportApiModel { - running?: boolean uuid?: string startIsoDateTime?: string endIsoDateTime?: string ellapsedTimeInSeconds?: number totalTimeInSeconds?: number + running?: boolean type?: string } diff --git a/libs/data-access/gn4/src/openapi/model/iSODate.api.model.ts b/libs/data-access/gn4/src/openapi/model/iSODate.api.model.ts index 837b6cabb6..5bdf1ef698 100644 --- a/libs/data-access/gn4/src/openapi/model/iSODate.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/iSODate.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -12,12 +12,6 @@ export interface ISODateApiModel { internalDateTime?: string - hours?: number - minutes?: number - seconds?: number - years?: number - months?: number - days?: number dateAndTime?: string dateAsString?: string timeInSeconds?: number @@ -25,4 +19,11 @@ export interface ISODateApiModel { dateYearOnly?: boolean dateYearMonthOnly?: boolean timeAsString?: string + seconds?: number + days?: number + years?: number + months?: number + hours?: number + minutes?: number + dateAndTimeUtc?: string } diff --git a/libs/data-access/gn4/src/openapi/model/infoReport.api.model.ts b/libs/data-access/gn4/src/openapi/model/infoReport.api.model.ts index c690eed22a..81edaf65f5 100644 --- a/libs/data-access/gn4/src/openapi/model/infoReport.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/infoReport.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/inlineObject1.api.model.ts b/libs/data-access/gn4/src/openapi/model/inlineObject1.api.model.ts index 239336fe06..a83888f012 100644 --- a/libs/data-access/gn4/src/openapi/model/inlineObject1.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/inlineObject1.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -11,5 +11,8 @@ */ export interface InlineObject1ApiModel { + /** + * If set, do a file upload. + */ file?: Blob } diff --git a/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.ts b/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.ts index bd135a6fe0..f776d3ee1b 100644 --- a/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/inlineObject3.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -11,5 +11,8 @@ */ export interface InlineObject3ApiModel { - file?: Blob + /** + * The file to upload + */ + file: Blob } diff --git a/libs/data-access/gn4/src/openapi/model/inlineObject4.api.model.ts b/libs/data-access/gn4/src/openapi/model/inlineObject4.api.model.ts new file mode 100644 index 0000000000..c12bbc58a2 --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/inlineObject4.api.model.ts @@ -0,0 +1,18 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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 InlineObject4ApiModel { + /** + * If set, do a file upload. + */ + file?: Blob +} diff --git a/libs/data-access/gn4/src/openapi/model/isoLanguage.api.model.ts b/libs/data-access/gn4/src/openapi/model/isoLanguage.api.model.ts index e1d4a1e39c..63262c1249 100644 --- a/libs/data-access/gn4/src/openapi/model/isoLanguage.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/isoLanguage.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/inlineObject2.api.model.ts b/libs/data-access/gn4/src/openapi/model/jSONObject.api.model.ts similarity index 69% rename from libs/data-access/gn4/src/openapi/model/inlineObject2.api.model.ts rename to libs/data-access/gn4/src/openapi/model/jSONObject.api.model.ts index a7cc82e2e9..bc988c92c6 100644 --- a/libs/data-access/gn4/src/openapi/model/inlineObject2.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/jSONObject.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -10,6 +10,6 @@ * Do not edit the class manually. */ -export interface InlineObject2ApiModel { - file?: Blob +export interface JSONObjectApiModel { + empty?: boolean } diff --git a/libs/data-access/gn4/src/openapi/model/jsonNode.api.model.ts b/libs/data-access/gn4/src/openapi/model/jsonNode.api.model.ts new file mode 100644 index 0000000000..62e53d57dd --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/jsonNode.api.model.ts @@ -0,0 +1,59 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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 JsonNodeApiModel { + nodeType?: JsonNodeApiModel.NodeTypeEnum + bigDecimal?: boolean + bigInteger?: boolean + textual?: boolean + _boolean?: boolean + binary?: boolean + valueNode?: boolean + containerNode?: boolean + missingNode?: boolean + object?: boolean + pojo?: boolean + number?: boolean + integralNumber?: boolean + floatingPointNumber?: boolean + _short?: boolean + _int?: boolean + _long?: boolean + _float?: boolean + _double?: boolean + array?: boolean + empty?: boolean + _null?: boolean +} +export namespace JsonNodeApiModel { + export type NodeTypeEnum = + | 'ARRAY' + | 'BINARY' + | 'BOOLEAN' + | 'MISSING' + | 'NULL' + | 'NUMBER' + | 'OBJECT' + | 'POJO' + | 'STRING' + export const NodeTypeEnum = { + Array: 'ARRAY' as NodeTypeEnum, + Binary: 'BINARY' as NodeTypeEnum, + Boolean: 'BOOLEAN' as NodeTypeEnum, + Missing: 'MISSING' as NodeTypeEnum, + Null: 'NULL' as NodeTypeEnum, + Number: 'NUMBER' as NodeTypeEnum, + Object: 'OBJECT' as NodeTypeEnum, + Pojo: 'POJO' as NodeTypeEnum, + String: 'STRING' as NodeTypeEnum, + } +} diff --git a/libs/data-access/gn4/src/openapi/model/keywordBean.api.model.ts b/libs/data-access/gn4/src/openapi/model/keywordBean.api.model.ts deleted file mode 100644 index b0ef73262c..0000000000 --- a/libs/data-access/gn4/src/openapi/model/keywordBean.api.model.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * GeoNetwork 4.0.3 OpenAPI Documentation - * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. - * - * The version of the OpenAPI document: 4.0.3 - * Contact: geonetwork-users@lists.sourceforge.net - * - * 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 KeywordBeanApiModel { - values?: { [key: string]: string } - definitions?: { [key: string]: string } - coordEast?: string - coordWest?: string - coordSouth?: string - coordNorth?: string - thesaurusKey?: string - thesaurusInfo?: KeywordBeanApiModel - namespaceCode?: KeywordBeanApiModel - definition?: string - uri?: string - value?: string -} diff --git a/libs/data-access/gn4/src/openapi/model/language.api.model.ts b/libs/data-access/gn4/src/openapi/model/language.api.model.ts new file mode 100644 index 0000000000..08eb3fcaea --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/language.api.model.ts @@ -0,0 +1,18 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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 LanguageApiModel { + inspire_JPAWorkaround?: string + inspire?: boolean + id?: string + name?: string +} diff --git a/libs/data-access/gn4/src/openapi/model/link.api.model.ts b/libs/data-access/gn4/src/openapi/model/link.api.model.ts index be1f497ec3..68c97b8cd8 100644 --- a/libs/data-access/gn4/src/openapi/model/link.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/link.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -18,10 +18,10 @@ export interface LinkApiModel { linkStatus?: Set lastState?: number lastCheck?: ISODateApiModel - protocol?: string + linkType?: LinkApiModel.LinkTypeEnum url?: string + protocol?: string id?: number - linkType?: LinkApiModel.LinkTypeEnum } export namespace LinkApiModel { export type LinkTypeEnum = 'HTTP' | 'METADATA' diff --git a/libs/data-access/gn4/src/openapi/model/linkStatus.api.model.ts b/libs/data-access/gn4/src/openapi/model/linkStatus.api.model.ts index 7cfe3115cc..90cde995c3 100644 --- a/libs/data-access/gn4/src/openapi/model/linkStatus.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/linkStatus.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/listRegionsResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/listRegionsResponse.api.model.ts index 4de7659495..22612c0116 100644 --- a/libs/data-access/gn4/src/openapi/model/listRegionsResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/listRegionsResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/localizedString.api.model.ts b/libs/data-access/gn4/src/openapi/model/localizedString.api.model.ts index b318a329d6..0620a2f468 100644 --- a/libs/data-access/gn4/src/openapi/model/localizedString.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/localizedString.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/logFileResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/logFileResponse.api.model.ts index 4281274ace..dfba79be83 100644 --- a/libs/data-access/gn4/src/openapi/model/logFileResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/logFileResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/mapServer.api.model.ts b/libs/data-access/gn4/src/openapi/model/mapServer.api.model.ts index 0410827778..0b84cb7a66 100644 --- a/libs/data-access/gn4/src/openapi/model/mapServer.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/mapServer.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -10,19 +10,22 @@ * Do not edit the class manually. */ +/** + * Mapserver details + */ export interface MapServerApiModel { - namespace?: string - description?: string - password?: string - username?: string - id?: number - namespacePrefix?: string configurl?: string wmsurl?: string wfsurl?: string wcsurl?: string stylerurl?: string + namespacePrefix?: string pushStyleInWorkspace_JpaWorkaround?: string pushStyleInWorkspace?: MapServerApiModel + namespace?: string + description?: string + username?: string + password?: string + id?: number name?: string } diff --git a/libs/data-access/gn4/src/openapi/model/externalResourceManagementProperties.api.model.ts b/libs/data-access/gn4/src/openapi/model/mapService.api.model.ts similarity index 62% rename from libs/data-access/gn4/src/openapi/model/externalResourceManagementProperties.api.model.ts rename to libs/data-access/gn4/src/openapi/model/mapService.api.model.ts index 957c8b5776..cdc29a62c2 100644 --- a/libs/data-access/gn4/src/openapi/model/externalResourceManagementProperties.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/mapService.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -10,8 +10,9 @@ * Do not edit the class manually. */ -export interface ExternalResourceManagementPropertiesApiModel { +export interface MapServiceApiModel { url?: string - windowParameters?: string - modal?: boolean + urlType?: string + useProxy?: boolean + authType?: string } diff --git a/libs/data-access/gn4/src/openapi/model/meResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/meResponse.api.model.ts index 0794982eab..bc1c605599 100644 --- a/libs/data-access/gn4/src/openapi/model/meResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/meResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/metadataBatchApproveParameter.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataBatchApproveParameter.api.model.ts new file mode 100644 index 0000000000..e4d7e8ac66 --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/metadataBatchApproveParameter.api.model.ts @@ -0,0 +1,18 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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 MetadataBatchApproveParameterApiModel { + uuids?: Array + bucket?: string + message?: string + directApproval?: boolean +} diff --git a/libs/data-access/gn4/src/openapi/model/metadataBatchSubmitParameter.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataBatchSubmitParameter.api.model.ts new file mode 100644 index 0000000000..0a25e840e6 --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/metadataBatchSubmitParameter.api.model.ts @@ -0,0 +1,17 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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 MetadataBatchSubmitParameterApiModel { + uuids?: Array + bucket?: string + message?: string +} diff --git a/libs/data-access/gn4/src/openapi/model/metadataCategory.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataCategory.api.model.ts index a6bb89c5a3..7a381b8b3d 100644 --- a/libs/data-access/gn4/src/openapi/model/metadataCategory.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/metadataCategory.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/metadataIdentifierTemplate.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataIdentifierTemplate.api.model.ts index 414d8ec596..0b44e0b4e6 100644 --- a/libs/data-access/gn4/src/openapi/model/metadataIdentifierTemplate.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/metadataIdentifierTemplate.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -10,11 +10,14 @@ * Do not edit the class manually. */ +/** + * Identifier template details + */ export interface MetadataIdentifierTemplateApiModel { - id?: number template?: string - systemProvided_JPAWorkaround?: string systemProvided?: boolean systemDefault?: boolean + systemProvided_JPAWorkaround?: string + id?: number name?: string } diff --git a/libs/data-access/gn4/src/openapi/model/metadataLink.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataLink.api.model.ts index 91de8337fa..4ab129b6ae 100644 --- a/libs/data-access/gn4/src/openapi/model/metadataLink.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/metadataLink.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/metadataProcessingReport.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataProcessingReport.api.model.ts index bda21ff813..a66f1e7f6b 100644 --- a/libs/data-access/gn4/src/openapi/model/metadataProcessingReport.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/metadataProcessingReport.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -22,14 +22,15 @@ export interface MetadataProcessingReportApiModel { metadataInfos?: { [key: string]: Array } numberOfRecordNotFound?: number numberOfRecordsNotEditable?: number - numberOfRecords?: number numberOfNullRecords?: number numberOfRecordsProcessed?: number + numberOfRecordsUnchanged?: number numberOfRecordsWithErrors?: number - running?: boolean + numberOfRecords?: number startIsoDateTime?: string endIsoDateTime?: string ellapsedTimeInSeconds?: number totalTimeInSeconds?: number + running?: boolean type?: string } diff --git a/libs/data-access/gn4/src/openapi/model/metadataReplacementProcessingReport.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataReplacementProcessingReport.api.model.ts index e9a672beeb..5cb2fa0a8d 100644 --- a/libs/data-access/gn4/src/openapi/model/metadataReplacementProcessingReport.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/metadataReplacementProcessingReport.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -28,14 +28,15 @@ export interface MetadataReplacementProcessingReportApiModel { noProcessFoundCount?: number numberOfRecordNotFound?: number numberOfRecordsNotEditable?: number - numberOfRecords?: number numberOfNullRecords?: number numberOfRecordsProcessed?: number + numberOfRecordsUnchanged?: number numberOfRecordsWithErrors?: number - running?: boolean + numberOfRecords?: number startIsoDateTime?: string endIsoDateTime?: string ellapsedTimeInSeconds?: number totalTimeInSeconds?: number + running?: boolean type?: string } diff --git a/libs/data-access/gn4/src/openapi/model/metadataResource.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataResource.api.model.ts index 7570ca5a7c..b7d69cb4a2 100644 --- a/libs/data-access/gn4/src/openapi/model/metadataResource.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/metadataResource.api.model.ts @@ -1,26 +1,26 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ -import { ExternalResourceManagementPropertiesApiModel } from './externalResourceManagementProperties.api.model' +import { MetadataResourceExternalManagementPropertiesApiModel } from './metadataResourceExternalManagementProperties.api.model' export interface MetadataResourceApiModel { - version?: string - filename?: string - url?: string - metadataUuid?: string metadataId?: number + metadataUuid?: string approved?: boolean visibility?: MetadataResourceApiModel.VisibilityEnum - externalResourceManagementProperties?: ExternalResourceManagementPropertiesApiModel + metadataResourceExternalManagementProperties?: MetadataResourceExternalManagementPropertiesApiModel lastModification?: string + version?: string + url?: string + filename?: string id?: string size?: number } diff --git a/libs/data-access/gn4/src/openapi/model/metadataResourceExternalManagementProperties.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataResourceExternalManagementProperties.api.model.ts new file mode 100644 index 0000000000..6d307de943 --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/metadataResourceExternalManagementProperties.api.model.ts @@ -0,0 +1,25 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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 MetadataResourceExternalManagementPropertiesApiModel { + id?: string + url?: string + validationStatus?: MetadataResourceExternalManagementPropertiesApiModel.ValidationStatusEnum +} +export namespace MetadataResourceExternalManagementPropertiesApiModel { + export type ValidationStatusEnum = 'UNKNOWN' | 'VALID' | 'INCOMPLETE' + export const ValidationStatusEnum = { + Unknown: 'UNKNOWN' as ValidationStatusEnum, + Valid: 'VALID' as ValidationStatusEnum, + Incomplete: 'INCOMPLETE' as ValidationStatusEnum, + } +} diff --git a/libs/data-access/gn4/src/openapi/model/metadataSchema.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataSchema.api.model.ts deleted file mode 100644 index c64700fafc..0000000000 --- a/libs/data-access/gn4/src/openapi/model/metadataSchema.api.model.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * GeoNetwork 4.0.3 OpenAPI Documentation - * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. - * - * The version of the OpenAPI document: 4.0.3 - * Contact: geonetwork-users@lists.sourceforge.net - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { ElementApiModel } from './element.api.model' - -export interface MetadataSchemaApiModel { - name?: string - titles?: { [key: string]: string } - descriptions?: { [key: string]: string } - standardUrl?: string - targetNamespace?: string - namespaces?: { [key: string]: string } - readwriteUUID?: boolean - schematronRules?: Array - version?: string - appMinorVersionSupported?: string - appMajorVersionSupported?: string - canEdit?: boolean - rootAppInfoElements?: Array - dependsOn?: string - operationFilters?: { [key: string]: object } -} diff --git a/libs/data-access/gn4/src/openapi/model/metadataStatus.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataStatus.api.model.ts deleted file mode 100644 index 052b644174..0000000000 --- a/libs/data-access/gn4/src/openapi/model/metadataStatus.api.model.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * GeoNetwork 4.0.3 OpenAPI Documentation - * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. - * - * The version of the OpenAPI document: 4.0.3 - * Contact: geonetwork-users@lists.sourceforge.net - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { ElementApiModel } from './element.api.model' -import { StatusValueApiModel } from './statusValue.api.model' -import { ISODateApiModel } from './iSODate.api.model' - -export interface MetadataStatusApiModel { - id?: number - metadataId?: number - userId?: number - changeMessage?: string - statusValue?: StatusValueApiModel - previousState?: string - currentState?: string - uuid?: string - titles?: string - owner?: number - changeDate?: ISODateApiModel - dueDate?: ISODateApiModel - closeDate?: ISODateApiModel - asXml?: ElementApiModel - relatedMetadataStatusId?: number -} diff --git a/libs/data-access/gn4/src/openapi/model/metadataStatusParameter.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataStatusParameter.api.model.ts new file mode 100644 index 0000000000..0f19a6662e --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/metadataStatusParameter.api.model.ts @@ -0,0 +1,31 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +/** + * Metadata status + */ +export interface MetadataStatusParameterApiModel { + type?: MetadataStatusParameterApiModel.TypeEnum + status?: number + changeMessage?: string + dueDate?: string + closeDate?: string + owner?: number +} +export namespace MetadataStatusParameterApiModel { + export type TypeEnum = 'workflow' | 'task' | 'event' + export const TypeEnum = { + Workflow: 'workflow' as TypeEnum, + Task: 'task' as TypeEnum, + Event: 'event' as TypeEnum, + } +} diff --git a/libs/data-access/gn4/src/openapi/model/metadataStatusResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataStatusResponse.api.model.ts deleted file mode 100644 index a77119908c..0000000000 --- a/libs/data-access/gn4/src/openapi/model/metadataStatusResponse.api.model.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * GeoNetwork 4.0.3 OpenAPI Documentation - * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. - * - * The version of the OpenAPI document: 4.0.3 - * Contact: geonetwork-users@lists.sourceforge.net - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { ElementApiModel } from './element.api.model' -import { StatusValueApiModel } from './statusValue.api.model' -import { ISODateApiModel } from './iSODate.api.model' - -export interface MetadataStatusResponseApiModel { - id?: number - metadataId?: number - userId?: number - changeMessage?: string - statusValue?: StatusValueApiModel - previousState?: string - currentState?: string - uuid?: string - titles?: string - authorName?: string - authorEmail?: string - authorProfile?: string - ownerName?: string - ownerEmail?: string - ownerProfile?: string - title?: string - currentStatus?: string - previousStatus?: string - currentStateEmpty?: boolean - previousStateEmpty?: boolean - statusId?: number - owner?: number - changeDate?: ISODateApiModel - dueDate?: ISODateApiModel - closeDate?: ISODateApiModel - asXml?: ElementApiModel - relatedMetadataStatusId?: number -} diff --git a/libs/data-access/gn4/src/openapi/model/metadataWorkflowStatusResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/metadataWorkflowStatusResponse.api.model.ts deleted file mode 100644 index a102d062ba..0000000000 --- a/libs/data-access/gn4/src/openapi/model/metadataWorkflowStatusResponse.api.model.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * GeoNetwork 4.0.3 OpenAPI Documentation - * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. - * - * The version of the OpenAPI document: 4.0.3 - * Contact: geonetwork-users@lists.sourceforge.net - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { StatusValueApiModel } from './statusValue.api.model' -import { UserApiModel } from './user.api.model' -import { MetadataStatusApiModel } from './metadataStatus.api.model' - -export interface MetadataWorkflowStatusResponseApiModel { - currentStatus?: MetadataStatusApiModel - reviewers?: Array - hasEditPermission?: boolean - status?: Array -} diff --git a/libs/data-access/gn4/src/openapi/model/models.ts b/libs/data-access/gn4/src/openapi/model/models.ts index 075ecffc34..a26e92c1db 100644 --- a/libs/data-access/gn4/src/openapi/model/models.ts +++ b/libs/data-access/gn4/src/openapi/model/models.ts @@ -1,6 +1,7 @@ export * from './address.api.model' export * from './anonymousMapserver.api.model' export * from './associated.api.model' +export * from './associatedRecord.api.model' export * from './associatedSiblingMetadataItem.api.model' export * from './attributeTable.api.model' export * from './batchEditParameter.api.model' @@ -15,12 +16,13 @@ export * from './description.api.model' export * from './element.api.model' export * from './entry.api.model' export * from './extentDto.api.model' -export * from './externalResourceManagementProperties.api.model' export * from './fCRelatedMetadataItem.api.model' export * from './fcat.api.model' export * from './featureResponse.api.model' export * from './featureType.api.model' export * from './field.api.model' +export * from './formatterData.api.model' +export * from './formatterDataResponse.api.model' export * from './grantedAuthority.api.model' export * from './group.api.model' export * from './groupOperations.api.model' @@ -31,38 +33,44 @@ export * from './iProcessingReport.api.model' export * from './iSODate.api.model' export * from './infoReport.api.model' export * from './inlineObject1.api.model' -export * from './inlineObject2.api.model' export * from './inlineObject3.api.model' +export * from './inlineObject4.api.model' export * from './isoLanguage.api.model' -export * from './keywordBean.api.model' +export * from './jSONObject.api.model' +export * from './jsonNode.api.model' +export * from './language.api.model' export * from './link.api.model' export * from './linkStatus.api.model' export * from './listRegionsResponse.api.model' export * from './localizedString.api.model' export * from './logFileResponse.api.model' export * from './mapServer.api.model' +export * from './mapService.api.model' export * from './meResponse.api.model' +export * from './metadataBatchApproveParameter.api.model' +export * from './metadataBatchSubmitParameter.api.model' export * from './metadataCategory.api.model' export * from './metadataIdentifierTemplate.api.model' export * from './metadataLink.api.model' export * from './metadataProcessingReport.api.model' export * from './metadataReplacementProcessingReport.api.model' export * from './metadataResource.api.model' -export * from './metadataSchema.api.model' -export * from './metadataStatus.api.model' -export * from './metadataStatusResponse.api.model' -export * from './metadataWorkflowStatusResponse.api.model' +export * from './metadataResourceExternalManagementProperties.api.model' +export * from './metadataStatusParameter.api.model' export * from './multilingualValue.api.model' export * from './online.api.model' export * from './operation.api.model' export * from './ownerResponse.api.model' -export * from './pageJSONWrapper.api.model' export * from './pageLink.api.model' +export * from './pageProperties.api.model' export * from './pageable.api.model' export * from './paginatedUserSearchResponse.api.model' export * from './parent.api.model' +export * from './passwordResetDto.api.model' export * from './passwordUpdateParameter.api.model' export * from './processingReport.api.model' +export * from './proxyConfiguration.api.model' +export * from './publicationOption.api.model' export * from './ratingAverage.api.model' export * from './ratingCriteria.api.model' export * from './regionResponse.api.model' @@ -93,8 +101,10 @@ export * from './status.api.model' export * from './statusValue.api.model' export * from './suggestionType.api.model' export * from './systemInfo.api.model' +export * from './thesaurusInfo.api.model' export * from './thumbnail.api.model' export * from './transferRequest.api.model' +export * from './translations.api.model' export * from './uiSetting.api.model' export * from './user.api.model' export * from './userDto.api.model' diff --git a/libs/data-access/gn4/src/openapi/model/multilingualValue.api.model.ts b/libs/data-access/gn4/src/openapi/model/multilingualValue.api.model.ts index eaa3accc83..6b42329c0d 100644 --- a/libs/data-access/gn4/src/openapi/model/multilingualValue.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/multilingualValue.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/online.api.model.ts b/libs/data-access/gn4/src/openapi/model/online.api.model.ts index 6b3503094e..6ffa60f26e 100644 --- a/libs/data-access/gn4/src/openapi/model/online.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/online.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/operation.api.model.ts b/libs/data-access/gn4/src/openapi/model/operation.api.model.ts index 65cc1e82b6..90bfc7cecb 100644 --- a/libs/data-access/gn4/src/openapi/model/operation.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/operation.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -11,9 +11,9 @@ */ export interface OperationApiModel { - id?: number reserved?: boolean reservedOperation?: OperationApiModel.ReservedOperationEnum + id?: number name?: string label?: { [key: string]: string } } diff --git a/libs/data-access/gn4/src/openapi/model/ownerResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/ownerResponse.api.model.ts index 4fd18e1dfb..c2f86b30fd 100644 --- a/libs/data-access/gn4/src/openapi/model/ownerResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/ownerResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/pageLink.api.model.ts b/libs/data-access/gn4/src/openapi/model/pageLink.api.model.ts index 276e4386f4..58aaa74b57 100644 --- a/libs/data-access/gn4/src/openapi/model/pageLink.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/pageLink.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -16,13 +16,13 @@ import { LinkApiModel } from './link.api.model' export interface PageLinkApiModel { totalPages?: number totalElements?: number - sort?: SortApiModel - last?: boolean numberOfElements?: number - first?: boolean pageable?: PageableApiModel + number?: number + sort?: SortApiModel + first?: boolean + last?: boolean size?: number content?: Array - number?: number empty?: boolean } diff --git a/libs/data-access/gn4/src/openapi/model/pageJSONWrapper.api.model.ts b/libs/data-access/gn4/src/openapi/model/pageProperties.api.model.ts similarity index 67% rename from libs/data-access/gn4/src/openapi/model/pageJSONWrapper.api.model.ts rename to libs/data-access/gn4/src/openapi/model/pageProperties.api.model.ts index b747b1bcfb..6b62eaf7c6 100644 --- a/libs/data-access/gn4/src/openapi/model/pageJSONWrapper.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/pageProperties.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -10,32 +10,18 @@ * Do not edit the class manually. */ -export interface PageJSONWrapperApiModel { - format?: PageJSONWrapperApiModel.FormatEnum - status?: PageJSONWrapperApiModel.StatusEnum - link?: string - sections?: Array - linkText?: string +export interface PagePropertiesApiModel { language?: string + pageId?: string + sections?: Array + status?: PagePropertiesApiModel.StatusEnum + link?: string + content?: string + label?: string + format?: PagePropertiesApiModel.FormatEnum } -export namespace PageJSONWrapperApiModel { - export type FormatEnum = 'LINK' | 'HTML' | 'TEXT' | 'MARKDOWN' | 'WIKI' - export const FormatEnum = { - Link: 'LINK' as FormatEnum, - Html: 'HTML' as FormatEnum, - Text: 'TEXT' as FormatEnum, - Markdown: 'MARKDOWN' as FormatEnum, - Wiki: 'WIKI' as FormatEnum, - } - export type StatusEnum = 'PUBLIC' | 'PUBLIC_ONLY' | 'PRIVATE' | 'HIDDEN' - export const StatusEnum = { - Public: 'PUBLIC' as StatusEnum, - PublicOnly: 'PUBLIC_ONLY' as StatusEnum, - Private: 'PRIVATE' as StatusEnum, - Hidden: 'HIDDEN' as StatusEnum, - } +export namespace PagePropertiesApiModel { export type SectionsEnum = - | 'ALL' | 'TOP' | 'FOOTER' | 'MENU' @@ -43,9 +29,7 @@ export namespace PageJSONWrapperApiModel { | 'CUSTOM_MENU1' | 'CUSTOM_MENU2' | 'CUSTOM_MENU3' - | 'DRAFT' export const SectionsEnum = { - All: 'ALL' as SectionsEnum, Top: 'TOP' as SectionsEnum, Footer: 'FOOTER' as SectionsEnum, Menu: 'MENU' as SectionsEnum, @@ -53,6 +37,19 @@ export namespace PageJSONWrapperApiModel { CustomMenu1: 'CUSTOM_MENU1' as SectionsEnum, CustomMenu2: 'CUSTOM_MENU2' as SectionsEnum, CustomMenu3: 'CUSTOM_MENU3' as SectionsEnum, - Draft: 'DRAFT' as SectionsEnum, + } + export type StatusEnum = 'PUBLIC' | 'PUBLIC_ONLY' | 'PRIVATE' | 'HIDDEN' + export const StatusEnum = { + Public: 'PUBLIC' as StatusEnum, + PublicOnly: 'PUBLIC_ONLY' as StatusEnum, + Private: 'PRIVATE' as StatusEnum, + Hidden: 'HIDDEN' as StatusEnum, + } + export type FormatEnum = 'LINK' | 'HTML' | 'HTMLPAGE' | 'TEXT' + export const FormatEnum = { + Link: 'LINK' as FormatEnum, + Html: 'HTML' as FormatEnum, + Htmlpage: 'HTMLPAGE' as FormatEnum, + Text: 'TEXT' as FormatEnum, } } diff --git a/libs/data-access/gn4/src/openapi/model/pageable.api.model.ts b/libs/data-access/gn4/src/openapi/model/pageable.api.model.ts index 46317a66a9..1d206d0676 100644 --- a/libs/data-access/gn4/src/openapi/model/pageable.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/pageable.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -12,10 +12,10 @@ import { SortApiModel } from './sort.api.model' export interface PageableApiModel { - sort?: SortApiModel paged?: boolean unpaged?: boolean pageNumber?: number pageSize?: number + sort?: SortApiModel offset?: number } diff --git a/libs/data-access/gn4/src/openapi/model/paginatedUserSearchResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/paginatedUserSearchResponse.api.model.ts index bfc6071ada..5d13b4600b 100644 --- a/libs/data-access/gn4/src/openapi/model/paginatedUserSearchResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/paginatedUserSearchResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/parent.api.model.ts b/libs/data-access/gn4/src/openapi/model/parent.api.model.ts index 3578d552b7..95accec935 100644 --- a/libs/data-access/gn4/src/openapi/model/parent.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/parent.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/passwordResetDto.api.model.ts b/libs/data-access/gn4/src/openapi/model/passwordResetDto.api.model.ts new file mode 100644 index 0000000000..209190d815 --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/passwordResetDto.api.model.ts @@ -0,0 +1,17 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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 PasswordResetDtoApiModel { + passwordOld?: string + password?: string + password2?: string +} diff --git a/libs/data-access/gn4/src/openapi/model/passwordUpdateParameter.api.model.ts b/libs/data-access/gn4/src/openapi/model/passwordUpdateParameter.api.model.ts index bcc51779a6..ca6dc3e0ad 100644 --- a/libs/data-access/gn4/src/openapi/model/passwordUpdateParameter.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/passwordUpdateParameter.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -10,6 +10,9 @@ * Do not edit the class manually. */ +/** + * The new password and a valid change key + */ export interface PasswordUpdateParameterApiModel { password?: string changeKey?: string diff --git a/libs/data-access/gn4/src/openapi/model/processingReport.api.model.ts b/libs/data-access/gn4/src/openapi/model/processingReport.api.model.ts index 09fbc97220..56bff6ffdb 100644 --- a/libs/data-access/gn4/src/openapi/model/processingReport.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/processingReport.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -16,10 +16,10 @@ export interface ProcessingReportApiModel { errors?: Array infos?: Array uuid?: string - running?: boolean startIsoDateTime?: string endIsoDateTime?: string ellapsedTimeInSeconds?: number totalTimeInSeconds?: number + running?: boolean type?: string } diff --git a/libs/data-access/gn4/src/openapi/model/proxyConfiguration.api.model.ts b/libs/data-access/gn4/src/openapi/model/proxyConfiguration.api.model.ts new file mode 100644 index 0000000000..c1041cb85f --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/proxyConfiguration.api.model.ts @@ -0,0 +1,21 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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 ProxyConfigurationApiModel { + enabled?: boolean + host?: string + port?: string + username?: string + password?: string + ignoreHostList?: string + proxyConfiguredInSystemProperties?: boolean +} diff --git a/libs/data-access/gn4/src/openapi/model/publicationOption.api.model.ts b/libs/data-access/gn4/src/openapi/model/publicationOption.api.model.ts new file mode 100644 index 0000000000..81ec944913 --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/publicationOption.api.model.ts @@ -0,0 +1,56 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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 PublicationOptionApiModel { + name?: string + publicationGroup?: PublicationOptionApiModel.PublicationGroupEnum + publicationOperations?: Array + additionalPublications?: { [key: string]: Array } +} +export namespace PublicationOptionApiModel { + export type PublicationGroupEnum = 'all' | 'intranet' | 'guest' + export const PublicationGroupEnum = { + All: 'all' as PublicationGroupEnum, + Intranet: 'intranet' as PublicationGroupEnum, + Guest: 'guest' as PublicationGroupEnum, + } + export type PublicationOperationsEnum = + | 'view' + | 'download' + | 'editing' + | 'notify' + | 'dynamic' + | 'featured' + export const PublicationOperationsEnum = { + View: 'view' as PublicationOperationsEnum, + Download: 'download' as PublicationOperationsEnum, + Editing: 'editing' as PublicationOperationsEnum, + Notify: 'notify' as PublicationOperationsEnum, + Dynamic: 'dynamic' as PublicationOperationsEnum, + Featured: 'featured' as PublicationOperationsEnum, + } + export type AdditionalPublicationsEnum = + | 'view' + | 'download' + | 'editing' + | 'notify' + | 'dynamic' + | 'featured' + export const AdditionalPublicationsEnum = { + View: 'view' as AdditionalPublicationsEnum, + Download: 'download' as AdditionalPublicationsEnum, + Editing: 'editing' as AdditionalPublicationsEnum, + Notify: 'notify' as AdditionalPublicationsEnum, + Dynamic: 'dynamic' as AdditionalPublicationsEnum, + Featured: 'featured' as AdditionalPublicationsEnum, + } +} diff --git a/libs/data-access/gn4/src/openapi/model/ratingAverage.api.model.ts b/libs/data-access/gn4/src/openapi/model/ratingAverage.api.model.ts index 0b619c3f6c..b4db2b3f79 100644 --- a/libs/data-access/gn4/src/openapi/model/ratingAverage.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/ratingAverage.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/ratingCriteria.api.model.ts b/libs/data-access/gn4/src/openapi/model/ratingCriteria.api.model.ts index 32fb708c35..375d1b238b 100644 --- a/libs/data-access/gn4/src/openapi/model/ratingCriteria.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/ratingCriteria.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -11,8 +11,8 @@ */ export interface RatingCriteriaApiModel { - id?: number internal?: boolean + id?: number name?: string label?: { [key: string]: string } } diff --git a/libs/data-access/gn4/src/openapi/model/regionResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/regionResponse.api.model.ts index 3221b4ba17..020d67f36c 100644 --- a/libs/data-access/gn4/src/openapi/model/regionResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/regionResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/related.api.model.ts b/libs/data-access/gn4/src/openapi/model/related.api.model.ts index f8649cd8fc..d4e1ff01d8 100644 --- a/libs/data-access/gn4/src/openapi/model/related.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/related.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/relatedLinkItem.api.model.ts b/libs/data-access/gn4/src/openapi/model/relatedLinkItem.api.model.ts index f527890cfc..decd762429 100644 --- a/libs/data-access/gn4/src/openapi/model/relatedLinkItem.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/relatedLinkItem.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -20,5 +20,6 @@ export interface RelatedLinkItemApiModel { protocol?: string description: DescriptionApiModel _function?: string + mimeType?: string applicationProfile?: string } diff --git a/libs/data-access/gn4/src/openapi/model/relatedMetadataItem.api.model.ts b/libs/data-access/gn4/src/openapi/model/relatedMetadataItem.api.model.ts index 51a0e39821..9a03192318 100644 --- a/libs/data-access/gn4/src/openapi/model/relatedMetadataItem.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/relatedMetadataItem.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/relatedResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/relatedResponse.api.model.ts index 09e6421169..9eaf08210c 100644 --- a/libs/data-access/gn4/src/openapi/model/relatedResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/relatedResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/relatedSiblingMetadataItem.api.model.ts b/libs/data-access/gn4/src/openapi/model/relatedSiblingMetadataItem.api.model.ts index bf06113811..7c58624c24 100644 --- a/libs/data-access/gn4/src/openapi/model/relatedSiblingMetadataItem.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/relatedSiblingMetadataItem.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/relatedThumbnailItem.api.model.ts b/libs/data-access/gn4/src/openapi/model/relatedThumbnailItem.api.model.ts index 9e5d98c8f4..562e1d48ac 100644 --- a/libs/data-access/gn4/src/openapi/model/relatedThumbnailItem.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/relatedThumbnailItem.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/replaceEntryChange.api.model.ts b/libs/data-access/gn4/src/openapi/model/replaceEntryChange.api.model.ts index 389848aec7..b0a887622e 100644 --- a/libs/data-access/gn4/src/openapi/model/replaceEntryChange.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/replaceEntryChange.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/replaceReport.api.model.ts b/libs/data-access/gn4/src/openapi/model/replaceReport.api.model.ts index 985c2c42c8..6a76e040c4 100644 --- a/libs/data-access/gn4/src/openapi/model/replaceReport.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/replaceReport.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/report.api.model.ts b/libs/data-access/gn4/src/openapi/model/report.api.model.ts index 8f56623bb1..b156ad2ba2 100644 --- a/libs/data-access/gn4/src/openapi/model/report.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/report.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/reports.api.model.ts b/libs/data-access/gn4/src/openapi/model/reports.api.model.ts index 7ae96488f9..b1f276ae1b 100644 --- a/libs/data-access/gn4/src/openapi/model/reports.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/reports.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/savedQuery.api.model.ts b/libs/data-access/gn4/src/openapi/model/savedQuery.api.model.ts index 1c0391ac27..32ceac89ad 100644 --- a/libs/data-access/gn4/src/openapi/model/savedQuery.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/savedQuery.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/section.api.model.ts b/libs/data-access/gn4/src/openapi/model/section.api.model.ts index d390998897..7487d66a74 100644 --- a/libs/data-access/gn4/src/openapi/model/section.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/section.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/selection.api.model.ts b/libs/data-access/gn4/src/openapi/model/selection.api.model.ts index 2da7b3d62a..a07c50fd9d 100644 --- a/libs/data-access/gn4/src/openapi/model/selection.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/selection.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/service.api.model.ts b/libs/data-access/gn4/src/openapi/model/service.api.model.ts index 17fe2d5d70..837eff00ec 100644 --- a/libs/data-access/gn4/src/openapi/model/service.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/service.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/setting.api.model.ts b/libs/data-access/gn4/src/openapi/model/setting.api.model.ts index 32ca0cad83..cefa8820ae 100644 --- a/libs/data-access/gn4/src/openapi/model/setting.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/setting.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -12,11 +12,16 @@ export interface SettingApiModel { name?: string + storedValue?: string value?: string dataType?: SettingApiModel.DataTypeEnum position?: number internal?: boolean + encrypted?: boolean + editable?: boolean + encrypted_JpaWorkaround?: string internal_JpaWorkaround?: string + editable_JpaWorkaround?: string } export namespace SettingApiModel { export type DataTypeEnum = 'STRING' | 'INT' | 'BOOLEAN' | 'JSON' diff --git a/libs/data-access/gn4/src/openapi/model/settingsListResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/settingsListResponse.api.model.ts index 936c11d7dc..d737a29ea0 100644 --- a/libs/data-access/gn4/src/openapi/model/settingsListResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/settingsListResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/sharingParameter.api.model.ts b/libs/data-access/gn4/src/openapi/model/sharingParameter.api.model.ts index 2c84fcaf80..ed89b1ea89 100644 --- a/libs/data-access/gn4/src/openapi/model/sharingParameter.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/sharingParameter.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -11,6 +11,9 @@ */ import { GroupOperationsApiModel } from './groupOperations.api.model' +/** + * Privileges + */ export interface SharingParameterApiModel { privileges?: Array clear?: boolean diff --git a/libs/data-access/gn4/src/openapi/model/sharingResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/sharingResponse.api.model.ts index b01450e865..6e30f751cf 100644 --- a/libs/data-access/gn4/src/openapi/model/sharingResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/sharingResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/siblings.api.model.ts b/libs/data-access/gn4/src/openapi/model/siblings.api.model.ts index ce6f5a733a..770cc76f8a 100644 --- a/libs/data-access/gn4/src/openapi/model/siblings.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/siblings.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/simpleMetadataProcessingReport.api.model.ts b/libs/data-access/gn4/src/openapi/model/simpleMetadataProcessingReport.api.model.ts index 8e6b441054..e811f21789 100644 --- a/libs/data-access/gn4/src/openapi/model/simpleMetadataProcessingReport.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/simpleMetadataProcessingReport.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -22,14 +22,15 @@ export interface SimpleMetadataProcessingReportApiModel { metadataInfos?: { [key: string]: Array } numberOfRecordNotFound?: number numberOfRecordsNotEditable?: number - numberOfRecords?: number numberOfNullRecords?: number numberOfRecordsProcessed?: number + numberOfRecordsUnchanged?: number numberOfRecordsWithErrors?: number - running?: boolean + numberOfRecords?: number startIsoDateTime?: string endIsoDateTime?: string ellapsedTimeInSeconds?: number totalTimeInSeconds?: number + running?: boolean type?: string } diff --git a/libs/data-access/gn4/src/openapi/model/siteInformation.api.model.ts b/libs/data-access/gn4/src/openapi/model/siteInformation.api.model.ts index 366997179c..f43107b2c6 100644 --- a/libs/data-access/gn4/src/openapi/model/siteInformation.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/siteInformation.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/sort.api.model.ts b/libs/data-access/gn4/src/openapi/model/sort.api.model.ts index 5d0f6404ab..5364a80547 100644 --- a/libs/data-access/gn4/src/openapi/model/sort.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/sort.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/source.api.model.ts b/libs/data-access/gn4/src/openapi/model/source.api.model.ts index 67354c45df..396efaaaf7 100644 --- a/libs/data-access/gn4/src/openapi/model/source.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/source.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/status.api.model.ts b/libs/data-access/gn4/src/openapi/model/status.api.model.ts index 7ca36f149c..ddbe14deee 100644 --- a/libs/data-access/gn4/src/openapi/model/status.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/status.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/statusValue.api.model.ts b/libs/data-access/gn4/src/openapi/model/statusValue.api.model.ts index fc6d340d7f..2e40206937 100644 --- a/libs/data-access/gn4/src/openapi/model/statusValue.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/statusValue.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -14,9 +14,9 @@ export interface StatusValueApiModel { type?: StatusValueApiModel.TypeEnum notificationLevel?: StatusValueApiModel.NotificationLevelEnum displayOrder?: number - id?: number - reserved?: boolean reserved_JpaWorkaround?: string + reserved?: boolean + id?: number name?: string label?: { [key: string]: string } } @@ -38,6 +38,7 @@ export namespace StatusValueApiModel { | 'catalogueProfileGuest' | 'recordProfileReviewer' | 'recordUserAuthor' + | 'recordGroupEmail' export const NotificationLevelEnum = { StatusUserOwner: 'statusUserOwner' as NotificationLevelEnum, CatalogueAdministrator: 'catalogueAdministrator' as NotificationLevelEnum, @@ -53,5 +54,6 @@ export namespace StatusValueApiModel { CatalogueProfileGuest: 'catalogueProfileGuest' as NotificationLevelEnum, RecordProfileReviewer: 'recordProfileReviewer' as NotificationLevelEnum, RecordUserAuthor: 'recordUserAuthor' as NotificationLevelEnum, + RecordGroupEmail: 'recordGroupEmail' as NotificationLevelEnum, } } diff --git a/libs/data-access/gn4/src/openapi/model/suggestionType.api.model.ts b/libs/data-access/gn4/src/openapi/model/suggestionType.api.model.ts index 25589def06..d4aad036c0 100644 --- a/libs/data-access/gn4/src/openapi/model/suggestionType.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/suggestionType.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/systemInfo.api.model.ts b/libs/data-access/gn4/src/openapi/model/systemInfo.api.model.ts index 5597e40374..2310724b88 100644 --- a/libs/data-access/gn4/src/openapi/model/systemInfo.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/systemInfo.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/thesaurusInfo.api.model.ts b/libs/data-access/gn4/src/openapi/model/thesaurusInfo.api.model.ts new file mode 100644 index 0000000000..d5d6ed0394 --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/thesaurusInfo.api.model.ts @@ -0,0 +1,25 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +/** + * Thesaurus information + */ +export interface ThesaurusInfoApiModel { + filename?: string + description?: string + multilingualTitles?: { [key: string]: string } + multilingualDescriptions?: { [key: string]: string } + title?: string + defaultNamespace?: string + dname?: string + type?: string +} diff --git a/libs/data-access/gn4/src/openapi/model/thumbnail.api.model.ts b/libs/data-access/gn4/src/openapi/model/thumbnail.api.model.ts index cf77493dcb..c113f1adfc 100644 --- a/libs/data-access/gn4/src/openapi/model/thumbnail.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/thumbnail.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/transferRequest.api.model.ts b/libs/data-access/gn4/src/openapi/model/transferRequest.api.model.ts index 89c024f97e..624ec3927c 100644 --- a/libs/data-access/gn4/src/openapi/model/transferRequest.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/transferRequest.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/translations.api.model.ts b/libs/data-access/gn4/src/openapi/model/translations.api.model.ts new file mode 100644 index 0000000000..663382fdb7 --- /dev/null +++ b/libs/data-access/gn4/src/openapi/model/translations.api.model.ts @@ -0,0 +1,18 @@ +/** + * GeoNetwork 4.2.7 OpenAPI Documentation + * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. + * + * The version of the OpenAPI document: 4.2.7 + * Contact: geonetwork-users@lists.sourceforge.net + * + * 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 TranslationsApiModel { + fieldName?: string + id?: number + langId?: string + value?: string +} diff --git a/libs/data-access/gn4/src/openapi/model/uiSetting.api.model.ts b/libs/data-access/gn4/src/openapi/model/uiSetting.api.model.ts index c3644c80a2..b1f8fee150 100644 --- a/libs/data-access/gn4/src/openapi/model/uiSetting.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/uiSetting.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/user.api.model.ts b/libs/data-access/gn4/src/openapi/model/user.api.model.ts index 2fbba92c8f..1404ec9743 100644 --- a/libs/data-access/gn4/src/openapi/model/user.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/user.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -14,23 +14,23 @@ import { GrantedAuthorityApiModel } from './grantedAuthority.api.model' import { AddressApiModel } from './address.api.model' export interface UserApiModel { + security?: UserSecurityApiModel + email?: string profile?: UserApiModel.ProfileEnum surname?: string - enabled?: boolean - username?: string - id?: number - email?: string emailAddresses?: Set addresses?: Set primaryAddress?: AddressApiModel organisation?: string kind?: string - security?: UserSecurityApiModel lastLoginDate?: string authorities?: Array accountNonExpired?: boolean accountNonLocked?: boolean credentialsNonExpired?: boolean + enabled?: boolean + username?: string + id?: number name?: string } export namespace UserApiModel { diff --git a/libs/data-access/gn4/src/openapi/model/userDto.api.model.ts b/libs/data-access/gn4/src/openapi/model/userDto.api.model.ts index d1de4554e6..eb963b428d 100644 --- a/libs/data-access/gn4/src/openapi/model/userDto.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/userDto.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/userFeedbackDTO.api.model.ts b/libs/data-access/gn4/src/openapi/model/userFeedbackDTO.api.model.ts index f46606fbf6..526f89101b 100644 --- a/libs/data-access/gn4/src/openapi/model/userFeedbackDTO.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/userFeedbackDTO.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/userGroup.api.model.ts b/libs/data-access/gn4/src/openapi/model/userGroup.api.model.ts index fbc5cc78c9..650ee2c514 100644 --- a/libs/data-access/gn4/src/openapi/model/userGroup.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/userGroup.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -14,10 +14,10 @@ import { UserGroupIdApiModel } from './userGroupId.api.model' import { GroupApiModel } from './group.api.model' export interface UserGroupApiModel { + user?: UserApiModel profile?: UserGroupApiModel.ProfileEnum group?: GroupApiModel id?: UserGroupIdApiModel - user?: UserApiModel } export namespace UserGroupApiModel { export type ProfileEnum = diff --git a/libs/data-access/gn4/src/openapi/model/userGroupId.api.model.ts b/libs/data-access/gn4/src/openapi/model/userGroupId.api.model.ts index 47a82ddcdb..be30333207 100644 --- a/libs/data-access/gn4/src/openapi/model/userGroupId.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/userGroupId.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -11,9 +11,9 @@ */ export interface UserGroupIdApiModel { - profile?: UserGroupIdApiModel.ProfileEnum groupId?: number userId?: number + profile?: UserGroupIdApiModel.ProfileEnum } export namespace UserGroupIdApiModel { export type ProfileEnum = diff --git a/libs/data-access/gn4/src/openapi/model/userGroupsResponse.api.model.ts b/libs/data-access/gn4/src/openapi/model/userGroupsResponse.api.model.ts index 8d364ac106..1388d5280c 100644 --- a/libs/data-access/gn4/src/openapi/model/userGroupsResponse.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/userGroupsResponse.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/userRegisterDto.api.model.ts b/libs/data-access/gn4/src/openapi/model/userRegisterDto.api.model.ts index 4e1f911bc2..e79134aada 100644 --- a/libs/data-access/gn4/src/openapi/model/userRegisterDto.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/userRegisterDto.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -11,6 +11,9 @@ */ import { AddressApiModel } from './address.api.model' +/** + * User details + */ export interface UserRegisterDtoApiModel { profile?: string username?: string diff --git a/libs/data-access/gn4/src/openapi/model/userSearchDto.api.model.ts b/libs/data-access/gn4/src/openapi/model/userSearchDto.api.model.ts index 2f48c190e4..22ab2ac761 100644 --- a/libs/data-access/gn4/src/openapi/model/userSearchDto.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/userSearchDto.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -10,6 +10,9 @@ * Do not edit the class manually. */ +/** + * User search details + */ export interface UserSearchDtoApiModel { id?: number url?: string diff --git a/libs/data-access/gn4/src/openapi/model/userSecurity.api.model.ts b/libs/data-access/gn4/src/openapi/model/userSecurity.api.model.ts index 3d2832cb63..11cca9a421 100644 --- a/libs/data-access/gn4/src/openapi/model/userSecurity.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/userSecurity.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -11,10 +11,10 @@ */ export interface UserSecurityApiModel { - authType?: string nodeId?: string - securityNotificationsString?: UserSecurityApiModel securityNotifications?: Set + securityNotificationsString?: UserSecurityApiModel + authType?: string } export namespace UserSecurityApiModel { export type SecurityNotificationsEnum = 'UPDATE_HASH_REQUIRED' | 'UNKNOWN' diff --git a/libs/data-access/gn4/src/openapi/model/values.api.model.ts b/libs/data-access/gn4/src/openapi/model/values.api.model.ts index 1ecfcbd511..2af331f4cf 100644 --- a/libs/data-access/gn4/src/openapi/model/values.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/values.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/libs/data-access/gn4/src/openapi/model/xsltMetadataProcessingReport.api.model.ts b/libs/data-access/gn4/src/openapi/model/xsltMetadataProcessingReport.api.model.ts index 9b89ca28ff..8530649d32 100644 --- a/libs/data-access/gn4/src/openapi/model/xsltMetadataProcessingReport.api.model.ts +++ b/libs/data-access/gn4/src/openapi/model/xsltMetadataProcessingReport.api.model.ts @@ -1,8 +1,8 @@ /** - * GeoNetwork 4.0.3 OpenAPI Documentation + * GeoNetwork 4.2.7 OpenAPI Documentation * This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. * - * The version of the OpenAPI document: 4.0.3 + * The version of the OpenAPI document: 4.2.7 * Contact: geonetwork-users@lists.sourceforge.net * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -24,14 +24,15 @@ export interface XsltMetadataProcessingReportApiModel { noProcessFoundCount?: number numberOfRecordNotFound?: number numberOfRecordsNotEditable?: number - numberOfRecords?: number numberOfNullRecords?: number numberOfRecordsProcessed?: number + numberOfRecordsUnchanged?: number numberOfRecordsWithErrors?: number - running?: boolean + numberOfRecords?: number startIsoDateTime?: string endIsoDateTime?: string ellapsedTimeInSeconds?: number totalTimeInSeconds?: number + running?: boolean type?: string } diff --git a/libs/data-access/gn4/src/spec.yaml b/libs/data-access/gn4/src/spec.yaml index af06855d9f..0731f208b2 100644 --- a/libs/data-access/gn4/src/spec.yaml +++ b/libs/data-access/gn4/src/spec.yaml @@ -1,6 +1,6 @@ openapi: 3.0.1 info: - title: GeoNetwork 4.0.3 OpenAPI Documentation + title: GeoNetwork 4.2.7 OpenAPI Documentation description: This is the description of the GeoNetwork OpenAPI. Use this API to manage your catalog. contact: @@ -10,93 +10,99 @@ info: license: name: GPL 2.0 url: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - version: 4.0.3 + version: 4.2.7 externalDocs: description: Learn how to access the catalog using the GeoNetwork REST API. - url: https://apps.titellus.net/geonetwork/doc/api + url: https://demo.georchestra.org/geonetwork/doc/api servers: - - url: '{catalog}/{portal}/api' + - url: "{catalog}/{portal}/api" description: My GeoNetwork variables: catalog: description: The GeoNetwork catalog to contact enum: - - https://apps.titellus.net/geonetwork + - https://demo.georchestra.org/geonetwork - ../.. - default: https://apps.titellus.net/geonetwork + default: https://demo.georchestra.org/geonetwork portal: description: The thematic portal enum: - srv default: srv tags: - - name: userfeedback - description: User feedback - - name: userselections - description: User selections related operations - - name: records - description: Metadata record operations - name: site description: Catalog operations - - name: ui - description: User interface configuration operations - - name: operations - description: Privileges operations - - name: users - description: User operations - - name: records - description: Metadata record editing operations - - name: sources - description: Source catalogue operations - - name: mapservers - description: Mapservers related operations + - name: standards + description: Standard related operations + - name: mapservices + description: Mapservices related operations + - name: harvesters + description: Harvester operations + - name: selections + description: Selection related operations - name: tags description: Tags operations - name: registries description: Registries related operations + - name: operations + description: Privileges operations + - name: links + description: Record link operations - name: search - description: Proxy for ElasticSearch catalog search operations - - name: groups - description: Groups operations + description: Proxy for Elasticsearch catalog search operations + - name: userfeedback + description: User feedback + - name: pages + description: Static pages inside GeoNetwork + - name: related + description: Related records + - name: tools + description: Utility operations - name: status description: Workflow status operations - - name: me - description: Me operations + - name: formatters + description: Formatter admin operations + - name: languages + description: Languages operations + - name: atom + description: ATOM + - name: formatters + description: Formatter operations + - name: customstyle + description: Functionalities for custom styling - name: processes description: Processing operations - - name: pages - description: Static pages inside GeoNetwork - - name: harvesters - description: Harvester operations - - name: links - description: Record link operations - - name: standards - description: Standard related operations - - name: selections - description: Selection related operations - - name: regions - description: Regions operations - - name: identifiers - description: Identifiers operations + - name: groups + description: Groups operations + - name: sources + description: Source catalogue operations + - name: records + description: Metadata record operations + - name: mapservers + description: Mapservers related operations + - name: userselections + description: User selections related operations - name: logos description: Logos operations + - name: me + description: Me operations + - name: identifiers + description: Identifiers operations - name: usersearches description: User custom searches operations - - name: customstyle - description: Functionalities for custom styling - - name: languages - description: Languages operations - - name: related - description: Related records - - name: tools - description: Utility operations + - name: regions + description: Regions operations + - name: ui + description: User interface configuration operations + - name: users + description: User operations paths: - /tools/ogc/sld: + /site/indexing: get: tags: - - tools - summary: Get the list of SLD available - operationId: getSLD + - site + summary: Is indexing? + operationId: isIndexing responses: default: description: default response @@ -104,55 +110,61 @@ paths: application/json: {} "200": description: OK + content: + application/json: + schema: + type: boolean + /registries/crs/types: + get: + tags: + - registries + summary: Get list of CRS type + operationId: getCrsTypes + responses: + default: + description: default response + content: + application/json: {} + "200": + description: List of CRS types. content: application/json: schema: type: array items: type: string - post: + enum: + - CoordinateReferenceSystem + - VerticalCRS + - GeographicCRS + - ProjectedCRS + /i18n/packages: + get: tags: - tools - summary: Generate a SLD with a new filter - description: Get the currend SLD for the requested layers, add new filters in, - save the SLD and return the new SLD URL. - operationId: buildSLD - parameters: - - name: url - in: query - description: The WMS server URL - required: true - schema: - type: string - - name: layers - in: query - description: The layers - required: true - schema: - type: string - - name: filters - in: query - description: The filters in JSON - required: true - schema: - type: string + summary: Get list of translation packages. + operationId: getTranslationsPackage responses: default: description: default response content: application/json: {} - "201": - description: Created + "200": + description: OK content: - text/plain: + application/json: schema: - type: string - delete: + type: object + additionalProperties: + type: array + items: + type: string + /site/info/isCasEnabled: + get: tags: - - tools - summary: Remove all SLD files - description: Clean all SLD generated previously - operationId: deteleSLD + - site + summary: Is CAS enabled? + operationId: isCasEnabled responses: default: description: default response @@ -160,95 +172,61 @@ paths: application/json: {} "200": description: OK - /related: - get: + content: + application/json: + schema: + type: boolean + /records/validate: + put: tags: - - related - summary: Get record related resources for all requested metadatas - description: Retrieve related services, datasets, onlines, thumbnails, sources, - ... to all requested records.
More - info - operationId: getAssociatedResourcesForRecords + - records + summary: Validate one or more records + description: Update validation status for all records. + operationId: validateRecords parameters: - - name: type + - name: uuids in: query - description: Type of related resource. If none, all resources are returned. + description: Record UUIDs. If null current selection is used. required: false schema: type: array items: type: string - enum: - - children - - parent - - brothersAndSisters - - siblings - - associated - - services - - datasets - - fcats - - hasfeaturecats - - sources - - hassources - - related - - onlines - - thumbnails - default: "" - - name: uuid + - name: approved in: query - description: Uuids of the metadatas you request the relations from. + description: Use approved version or not required: false schema: - type: array - items: - type: string - default: "" + type: boolean + example: true + - name: bucket + in: query + description: Selection bucket name + required: false + schema: + type: string responses: default: description: default response content: application/json: {} - "200": - description: Return the associated resources. + "403": + description: Operation not allowed. Only Editors can access it. content: - application/xml: - schema: - type: object - additionalProperties: - $ref: '#/components/schemas/RelatedResponse' application/json: schema: - type: object - additionalProperties: - $ref: '#/components/schemas/RelatedResponse' - "403": - description: Operation not allowed. User needs to be able to view the resource. + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + "201": + description: Records validated. content: - application/xml: - schema: - type: object - additionalProperties: - $ref: '#/components/schemas/RelatedResponse' application/json: schema: - type: object - additionalProperties: - $ref: '#/components/schemas/RelatedResponse' - /registries/actions/entries/synchronize: - get: + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + delete: tags: - - registries - summary: Preview updated matching entries in records - description: Scan one or more records for element matching the XPath provided - and then check if this element is available in the directory. If Found, the - element from the directory update the element in the record and optionally - properties are preserved.

The identifier XPath is used to find a - match. An optional filtercan be added to restrict search to a subset of the - directory. If no identifier XPaths is provided, the UUID is based on the content - of the snippet (hash). It is recommended to use an identifier for better matching - (eg. ISO19139 contact with different roles will not match on the automatic - UUID mode). - operationId: previewUpdatedRecordEntries + - records + summary: Clear validation status of one or more records + operationId: cleanValidationStatus parameters: - name: uuids in: query @@ -264,70 +242,82 @@ paths: required: false schema: type: string - - name: xpath - in: query - description: XPath of the elements to extract as entry. - required: true - schema: - type: string - example: .//gmd:CI_ResponsibleParty - - name: identifierXpath + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Records validation status cleared. + content: + application/json: + schema: + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + "403": + description: Operation not allowed. Only Editors can access it. + content: + application/json: + schema: + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + /sitemap: + get: + tags: + - site + summary: Get sitemap + operationId: getSitemap + parameters: + - name: format in: query - description: XPath of the element identifier. If not defined a random UUID - is generated and analysis will not check for duplicates. + description: Format (xml or html). required: false schema: type: string - example: '@uuid or .//gmd:electronicMailAddress/gco:CharacterString/text()' - - name: propertiesToCopy - in: query - description: List of XPath of properties to copy from record to matching entry. - required: false - schema: - type: array - items: - type: string - example: ./gmd:role/*/@codeListValue - - name: substituteAsXLink - in: query - description: Replace entry by XLink. - required: false - schema: - type: boolean - default: false - example: '@uuid' - - name: fq + default: html + - name: doc in: query - description: Filter query for directory search. + description: page. required: false schema: - type: string - example: groupPublished:IFREMER + type: integer + format: int32 + default: 0 responses: default: description: default response content: application/json: {} "200": - description: OK + description: Site map. + /records/sharing: + get: + tags: + - records + summary: Get record sharing settings + operationId: getSharingSettings + responses: + default: + description: default response content: - application/xml: + application/json: {} + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + application/json: schema: - type: object + $ref: '#/components/schemas/SharingResponse' + "200": + description: Return a default array of group and operations that can be + used to set record sharing properties. + content: + application/json: + schema: + $ref: '#/components/schemas/SharingResponse' put: tags: - - registries - summary: Update matching entries in records - description: Scan one or more records for element matching the XPath provided - and then check if this element is available in the directory. If Found, the - element from the directory update the element in the record and optionally - properties are preserved.

The identifier XPath is used to find a - match. An optional filtercan be added to restrict search to a subset of the - directory. If no identifier XPaths is provided, the UUID is based on the content - of the snippet (hash). It is recommended to use an identifier for better matching - (eg. ISO19139 contact with different roles will not match on the automatic - UUID mode). - operationId: updateRecordEntries + - records + summary: Set sharing settings for one or more records + description: See record sharing for more details. + operationId: share parameters: - name: uuids in: query @@ -343,144 +333,78 @@ paths: required: false schema: type: string - - name: xpath - in: query - description: XPath of the elements to extract as entry. - required: true - schema: - type: string - example: .//gmd:CI_ResponsibleParty - - name: identifierXpath - in: query - description: XPath of the element identifier. If not defined a random UUID - is generated and analysis will not check for duplicates. - required: false - schema: - type: string - example: '@uuid' - - name: propertiesToCopy - in: query - description: List of XPath of properties to copy from record to matching entry. - required: false - schema: - type: array - items: - type: string - example: ./gmd:role/*/@codeListValue - - name: substituteAsXLink - in: query - description: Replace entry by XLink. - required: false - schema: - type: boolean - default: false - - name: fq - in: query - description: Filter query for directory search. - required: false - schema: - type: string - example: groupPublished:IFREMER + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SharingParameter' + required: true responses: default: description: default response content: application/json: {} "201": - description: Created + description: Report about updated privileges. content: - application/json: + '*/*': schema: - type: object - /registries/actions/entries/import/spatial: - post: + $ref: '#/components/schemas/MetadataProcessingReport' + "403": + description: Operation not allowed. Only Editors can access it. + content: + '*/*': + schema: + $ref: '#/components/schemas/MetadataProcessingReport' + /userfeedback: + get: tags: - - registries - summary: Import spatial directory entries - description: Directory entry (AKA subtemplates) are XML fragments that can be - inserted in metadata records. Use this service to import geographic extent - entries from an ESRI Shapefile format. - operationId: importSpatialEntries + - userfeedback + summary: 'Finds a list of user feedback records. ' + description: ' This list will include also the draft user feedback if the client + is logged as reviewer.' + operationId: getUserComments parameters: - - name: uuidAttribute - in: query - description: Attribute to use for UUID. If none, random UUID are generated. - required: false - schema: - type: string - - name: uuidPattern - in: query - description: Pattern to build UUID from. Default is '{{uuid}}'. - required: false - schema: - type: string - default: '{{uuid}}' - - name: descriptionAttribute - in: query - description: 'Attribute to use for extent description. If none, no extent - description defined. TODO: Add per language desc ?' - required: false - schema: - type: string - - name: geomProjectionTo - in: query - description: geomProjectionTo - required: false - schema: - type: string - - name: lenient - in: query - description: lenient - required: false - schema: - type: boolean - - name: onlyBoundingBox - in: query - description: Create only bounding box for each spatial objects. - required: false - schema: - type: boolean - default: true - - name: process - in: query - description: Process - required: false - schema: - type: string - - name: schema - in: query - description: Schema identifier - required: false - schema: - type: string - - name: uuidProcessing + - name: metadataUuid in: query - description: Record identifier processing. + description: Metadata record UUID. required: false schema: type: string - enum: - - GENERATEUUID - - NOTHING - - OVERWRITE - default: NOTHING - - name: group + default: "" + - name: size in: query - description: The group the record is attached to. + description: Maximum number of feedback to return. required: false schema: type: integer format: int32 + default: -1 + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserFeedbackDTO' + post: + tags: + - userfeedback + summary: Creates a user feedback + description: Creates a user feedback in draft status if the user is not logged + in. + operationId: newUserFeedback requestBody: - description: The ZIP file to upload containing the Shapefile. content: - multipart/form-data: + application/json: schema: - type: object - properties: - file: - type: string - format: binary + $ref: '#/components/schemas/UserFeedbackDTO' required: true responses: default: @@ -488,286 +412,212 @@ paths: content: application/json: {} "201": - description: Directory entries imported. + description: Created content: application/json: schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' - "403": - description: Operation not allowed. Only Reviewvers can access it. - content: - application/json: - schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' - /records: + type: string + /status/{type}: get: tags: - - records - summary: Get catalog content as RDF. This endpoint supports the same Lucene - query parameters as for the GUI search. - description: "." - operationId: getAsRdf + - status + summary: Get status by type + operationId: getStatusByType parameters: - - name: from - description: Indicates the start position in a sorted list of matches that - the client wants to use as the beginning of a page result. - - name: hitsPerPage - description: Indicates the number of hits per page. - - name: any - description: Search key - - name: title - description: A search key for the title. - - name: facet.q - description: 'A search facet in the Lucene index. Use the GeoNetwork GUI search - to generate the suitable filter values. Example: standard/dcat-ap&createDateYear/2018&sourceCatalog/6d93613e-2b76-4e26-94af-4b4c420a1758 - (filter by creation year and source catalog).' - - name: sortBy - description: 'Lucene sortBy criteria. Relevant values: relevance, title, changeDate.' - - name: sortOrder - description: 'Sort order. Possible values: reverse.' - - name: similarity - description: Use the Lucene FuzzyQuery. Values range from 0.0 to 1.0 and defaults - to 0.8. + - name: type + in: path + description: Type + required: true + schema: + type: string + enum: + - workflow + - task + - event responses: default: description: default response content: application/json: {} "200": - description: Return the catalog content as RDF. - "303": - description: Redirect the client to the first in-sequence page resource. - This happens when the paging parameters (from, hitsPerPage) are not included - in the request. + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/StatusValue' + /i18n/db/translations/{key}: put: tags: - - records - summary: Add a record - description: Add one or more record from an XML fragment, URL or file in a folder - on the catalog server. When loadingfrom the catalog server folder, it might - be faster to use a local filesystem harvester. - operationId: insert + - tools + summary: Add or update database translations for a key. + description: Database translations can be used to customize labels in the UI + for different languages. + operationId: addTranslationsFor parameters: - - name: metadataType - in: query - description: The type of record. - required: false - schema: - type: string - enum: - - METADATA - - TEMPLATE - - SUB_TEMPLATE - - TEMPLATE_OF_SUB_TEMPLATE - default: METADATA - - name: url - in: query - description: URL of a file to download and insert. - required: false - schema: - type: array - items: - type: string - - name: serverFolder - in: query - description: Server folder where to look for files. - required: false + - name: key + in: path + description: Untranslated key for which translations are provided. + required: true schema: type: string - - name: recursiveSearch - in: query - description: (Server folder import only) Recursive search in folder. - required: false - schema: - type: boolean - default: false - - name: publishToAll - in: query - description: (XML file only) Publish record. - required: false - schema: - type: boolean - default: false - - name: assignToCatalog + - name: replace in: query - description: (MEF file only) Assign to current catalog. + description: Set to `true` to erase all existing translations for that key required: false schema: type: boolean - default: false - - name: uuidProcessing - in: query - description: Record identifier processing. - required: false - schema: - type: string - enum: - - GENERATEUUID - - NOTHING - - OVERWRITE - default: NOTHING - - name: group - in: query - description: The group the record is attached to. - required: false + requestBody: + description: An object where keys are valid 3-letter language codes (e.g. + `eng` or `fre`) and values are custom translations for the corresponding + language. + content: + application/json: + schema: + type: object + additionalProperties: + type: string + example: + eng: my translation + ger: meine \DCbersetzung + fre: ma traduction + required: true + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Created + content: + application/json: + schema: + type: string + delete: + tags: + - tools + summary: Delete database translations. + description: Delete custom translations stored in the database. + operationId: deleteTranslations + parameters: + - name: key + in: path + description: Untranslated key for which all translations will be deleted. + required: true schema: type: string - - name: category + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + /site: + get: + tags: + - site + summary: Get site (or portal) description + operationId: getSiteOrPortalDescription + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Site description. + content: + application/json: + schema: + $ref: '#/components/schemas/SettingsListResponse' + /records/samples: + put: + tags: + - records + summary: Add samples + description: Add sample records for one or more schemas. Samples are defined + for each standard in the samples folder as MEF files. + operationId: addSamples + parameters: + - name: schema in: query - description: Tags to assign to the record. - required: false + description: Schema identifiers + required: true schema: type: array items: type: string - - name: rejectIfInvalid - in: query - description: Validate the record first and reject it if not valid. - required: false - schema: - type: boolean - default: false - - name: transformWith - in: query - description: XSL transformation to apply to the record. - required: false - schema: - type: string - default: _none_ - - name: schema - in: query - description: Force the schema of the record. If not set, schema autodetection - is used (and is the preferred method). - required: false - schema: - type: string - - name: extra - in: query - description: (experimental) Add extra information to the record. - required: false + example: iso19139 + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Return a report of what has been done. + content: + '*/*': + schema: + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + "403": + description: Operation not allowed. Only Administrators can access it. + content: + '*/*': + schema: + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + /sources/{sourceIdentifier}: + put: + tags: + - sources + summary: Update a source + operationId: updateSource + parameters: + - name: sourceIdentifier + in: path + description: Source identifier + required: true schema: type: string requestBody: - description: XML fragment. content: - application/xml: - schema: - type: string application/json: schema: - type: string - application/x-www-form-urlencoded: - schema: - type: string + $ref: '#/components/schemas/Source' + required: true responses: default: description: default response content: application/json: {} + "404": + description: Source not found. + content: + '*/*': + schema: + type: string "403": - description: Operation not allowed. Only Editors can access it. + description: Operation not allowed. Only UserAdmins can access it. content: - application/json: + '*/*': schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' - "201": - description: Report about imported records. + type: string + "204": + description: Source updated. content: - application/json: + '*/*': schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' - post: + type: string + delete: tags: - - records - summary: Add a record from XML or MEF/ZIP file - description: Add record in the catalog by uploading files. - operationId: insertFile + - sources + summary: Remove a source + operationId: deleteSource parameters: - - name: metadataType - in: query - description: The type of record. - required: false - schema: - type: string - enum: - - METADATA - - TEMPLATE - - SUB_TEMPLATE - - TEMPLATE_OF_SUB_TEMPLATE - default: METADATA - - name: file - in: query - description: XML or MEF file to upload - required: false - schema: - type: array - items: - type: string - format: binary - - name: uuidProcessing - in: query - description: Record identifier processing. - required: false - schema: - type: string - enum: - - GENERATEUUID - - NOTHING - - OVERWRITE - default: NOTHING - - name: group - in: query - description: The group the record is attached to. - required: false - schema: - type: string - - name: category - in: query - description: Tags to assign to the record. - required: false - schema: - type: array - items: - type: string - - name: rejectIfInvalid - in: query - description: Validate the record first and reject it if not valid. - required: false - schema: - type: boolean - default: false - - name: publishToAll - in: query - description: (XML file only) Publish record. - required: false - schema: - type: boolean - default: false - - name: assignToCatalog - in: query - description: (MEF file only) Assign to current catalog. - required: false - schema: - type: boolean - default: false - - name: transformWith - in: query - description: XSL transformation to apply to the record. - required: false - schema: - type: string - default: _none_ - - name: schema - in: query - description: Force the schema of the record. If not set, schema autodetection - is used (and is the preferred method). - required: false - schema: - type: string - - name: extra - in: query - description: (experimental) Add extra information to the record. - required: false + - name: sourceIdentifier + in: path + description: Source identifier + required: true schema: type: string responses: @@ -776,62 +626,17 @@ paths: content: application/json: {} "403": - description: Operation not allowed. Only Editors can access it. + description: Operation not allowed. Only Administrators can access it. content: - application/json: + '*/*': schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' + type: string "201": - description: Report about imported records. - content: - application/json: - schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' - delete: - tags: - - records - summary: Delete one or more records - description: 'User MUST be able to edit the record to delete it. ' - operationId: deleteRecords - parameters: - - name: uuids - in: query - description: Record UUIDs. If null current selection is used. - required: false - schema: - type: array - items: - type: string - - name: bucket - in: query - description: Selection bucket name - required: false - schema: - type: string - - name: withBackup - in: query - description: Backup first the record as MEF in the metadata removed folder. - required: false - schema: - type: boolean - default: true - responses: - default: - description: default response - content: - application/json: {} - "403": - description: Operation not allowed. Only Editors can access it. - content: - application/json: - schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' - "204": - description: Report about deleted records. + description: Source deleted. content: - application/json: + '*/*': schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' + type: string /records/importfrommap: post: tags: @@ -911,6 +716,7 @@ paths: - GENERATEUUID - NOTHING - OVERWRITE + - REMOVE_AND_REPLACE default: NOTHING - name: group in: query @@ -935,111 +741,42 @@ paths: application/json: schema: $ref: '#/components/schemas/SimpleMetadataProcessingReport' - /records/duplicate: + /site/index/commit: + get: + tags: + - site + summary: Index commit + operationId: indexCommit + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK put: tags: - - records - summary: Create a new record - description: Create a record from a template or by copying an existing record.Return - the UUID of the newly created record. Existing links in the source record - are preserved, this means that the new record may contains link to the source - attachments. They need to be manually updated after creation. - operationId: create - parameters: - - name: metadataType - in: query - description: The type of record. - required: false - schema: - type: string - enum: - - METADATA - - TEMPLATE - - SUB_TEMPLATE - - TEMPLATE_OF_SUB_TEMPLATE - default: METADATA - - name: sourceUuid - in: query - description: UUID of the source record to copy. - required: true - schema: - type: string - - name: targetUuid - in: query - description: Assign a custom UUID. If this UUID already exist an error is - returned. This is enabled only if metadata create / generate UUID settings - is activated. - required: false - schema: - type: string - - name: group - in: query - description: The group the record is attached to. - required: true - schema: - type: string - - name: isVisibleByAllGroupMembers - in: query - description: Is published to all user group members? If not, only the author - and administrator can edit the record. - required: false - schema: - type: boolean - default: false - - name: category - in: query - description: Tags to assign to the record. - required: false - schema: - type: array - items: - type: string - - name: hasCategoryOfSource - in: query - description: Copy categories from source? - required: false - schema: - type: boolean - default: false - - name: isChildOfSource - in: query - description: Is child of the record to copy? - required: false - schema: - type: boolean - default: false + - site + summary: Force to commit pending documents in index. + description: May be used when indexing task is hanging. + operationId: commitIndexChanges responses: default: description: default response content: application/json: {} "201": - description: Return the internal id of the newly created record. - content: - application/json: - schema: - type: string - "403": - description: Operation not allowed. Only Editors can access it. - content: - application/json: - schema: - type: string - /records/{metadataUuid}/extents.json: + description: Changes committed. + /mapservers/{mapserverId}: get: tags: - - records - summary: Get list of record extents - description: | - A rendering of the geometry as a png. If no background is specified the image will be transparent. In getMap the envelope of the geometry is calculated then it is expanded by a factor. That factor is the size of the map. This allows the map to be slightly bigger than the geometry allowing some context to be shown. This parameter allows different factors to be chosen per scale level. - Proportion is the proportion of the world that the geometry covers (bounds of WGS84)/(bounds of geometry in WGS84) - - Named backgrounds allow the background parameter to be a simple key and the complete URL will be looked up from this list of named backgrounds - operationId: getAllRecordExtentAsJson + - mapservers + summary: Get a mapserver + operationId: getMapserver parameters: - - name: metadataUuid + - name: mapserverId in: path - description: Record UUID. + description: Mapserver identifier required: true schema: type: string @@ -1048,265 +785,448 @@ paths: description: default response content: application/json: {} - "200": - description: OK + "404": + description: Resource not found. content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/ExtentDto' - /records/{metadataUuid}/editor: - post: + $ref: '#/components/schemas/AnonymousMapserver' + "403": + description: Operation not allowed. Only Editors can access it. + content: + application/json: + schema: + $ref: '#/components/schemas/AnonymousMapserver' + put: tags: - - records - summary: Save edits - description: Save the HTML form content. - operationId: saveEdits + - mapservers + summary: Update a mapserver + operationId: updateMapserver parameters: - - name: metadataUuid + - name: mapserverId in: path - description: Record UUID. + description: Mapserver identifier required: true schema: - type: string - - name: tab - in: query - description: Tab - required: false + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MapServer' + required: true + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Resource not found. + "204": + description: Mapserver updated. + "403": + description: Operation not allowed. Only Reviewvers can access it. + delete: + tags: + - mapservers + summary: Remove a mapserver + operationId: deleteMapserver + parameters: + - name: mapserverId + in: path + description: Mapserver identifier + required: true schema: - type: string - default: simple - - name: withAttributes + type: integer + format: int32 + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Resource not found. + "204": + description: Mapserver removed. + "403": + description: Operation not allowed. Only Reviewvers can access it. + /site/index/synchronized: + get: + tags: + - site + summary: Index synchronized with database + operationId: indexAndDbSynchronizationStatus + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: object + additionalProperties: + type: object + /registries/actions/entries/synchronize: + get: + tags: + - registries + summary: Preview updated matching entries in records + description: "Scan one or more records for element matching the XPath provided\ + \ and then check if this element is available in the directory. If Found,\ + \ the element from the directory update the element in the record and optionally\ + \ text or attribute value properties are preserved using propertiesToCopy.\ + \ Elements can be lost if not existing in the directory entry (eg. from an\ + \ gex:Extent directory containing only description and bounding polygon, the\ + \ update can remove temporal element).

The identifier XPath is used\ + \ to find a match. An optional filtercan be added to restrict search to a\ + \ subset of the directory. If no identifier XPaths is provided, the UUID is\ + \ based on the content of the snippet (hash). It is recommended to use an\ + \ identifier for better matching (eg. ISO19139 contact with different roles\ + \ will not match on the automatic UUID mode)." + operationId: previewUpdatedRecordEntries + parameters: + - name: uuids in: query + description: Record UUIDs. If null current selection is used. required: false schema: - type: boolean - default: false - - name: withValidationErrors + type: array + items: + type: string + - name: bucket in: query + description: Selection bucket name required: false schema: - type: boolean - default: false - - name: minor + type: string + - name: xpath in: query - required: false + description: XPath of the elements to extract as entry. + required: true schema: - type: boolean - default: false - - name: status + type: string + example: .//gmd:CI_ResponsibleParty + - name: identifierXpath in: query - description: Submit for review directly after save. + description: XPath of the element identifier. If not defined a random UUID + is generated and analysis will not check for duplicates. required: false schema: type: string - default: "1" - - name: commit + example: '@uuid or .//gmd:electronicMailAddress/gco:CharacterString/text()' + - name: propertiesToCopy in: query - description: Save current edits. + description: List of XPath of properties to copy from record to matching entry. + Only support text or attribute eg. ./gmd:role/*/@codeListValue required: false schema: - type: boolean - default: false - - name: terminate + type: array + items: + type: string + example: ./gmd:role/*/@codeListValue + - name: substituteAsXLink in: query - description: Save and terminate session. + description: Replace entry by XLink. required: false schema: type: boolean default: false - - name: data + example: '@uuid' + - name: fq in: query - description: 'Record as XML. TODO: rename xml' + description: Filter query for directory search. required: false schema: type: string - default: "" + example: groupPublished:IFREMER responses: default: description: default response content: application/json: {} "200": - description: The editor form. - "403": - description: Operation not allowed. User needs to be able to edit the resource. - delete: - tags: - - records - summary: Cancel edits - description: Cancel current editing session. - operationId: cancelEdits - parameters: - - name: metadataUuid - in: path - description: Record UUID. - required: true - schema: - type: string - responses: - default: - description: default response + description: OK content: - application/json: {} - "403": - description: Operation not allowed. User needs to be able to edit the resource. - "204": - description: Editing session cancelled. - /records/{metadataUuid}/editor/elements: - delete: + application/xml: + schema: + type: object + put: tags: - - records - summary: Delete element - operationId: deleteElement + - registries + summary: Update matching entries in records + description: "Scan one or more records for element matching the XPath provided\ + \ and then check if this element is available in the directory. If Found,\ + \ the element from the directory update the element in the record and optionally\ + \ text or attribute value properties are preserved using propertiesToCopy.\ + \ Elements can be lost if not existing in the directory entry (eg. from an\ + \ gex:Extent directory containing only description and bounding polygon, the\ + \ update can remove temporal element).

The identifier XPath is used\ + \ to find a match. An optional filtercan be added to restrict search to a\ + \ subset of the directory. If no identifier XPaths is provided, the UUID is\ + \ based on the content of the snippet (hash). It is recommended to use an\ + \ identifier for better matching (eg. ISO19139 contact with different roles\ + \ will not match on the automatic UUID mode)." + operationId: updateRecordEntries parameters: - - name: metadataUuid - in: path - description: Record UUID. - required: true - schema: - type: string - - name: ref + - name: uuids in: query - description: Reference of the element to remove. - required: true + description: Record UUIDs. If null current selection is used. + required: false schema: type: array items: type: string - - name: parent + - name: bucket in: query - description: Name of the parent. - required: true + description: Selection bucket name + required: false schema: type: string - - name: displayAttributes + - name: xpath in: query - description: Should attributes be shown on the editor snippet? - required: false - schema: - type: boolean - default: false - responses: - default: - description: default response - content: - application/json: {} - "204": - description: Element removed. - "403": - description: Operation not allowed. User needs to be able to edit the resource. - /records/{metadataUuid}/editor/attributes: - delete: - tags: - - records - summary: Delete attribute - operationId: deleteAttribute - parameters: - - name: metadataUuid - in: path - description: Record UUID. + description: XPath of the elements to extract as entry. required: true schema: type: string - - name: ref + example: .//gmd:CI_ResponsibleParty + - name: identifierXpath in: query - description: Reference of the attribute to remove. - required: true + description: XPath of the element identifier. If not defined a random UUID + is generated and analysis will not check for duplicates. + required: false schema: type: string - - name: displayAttributes + example: '@uuid' + - name: propertiesToCopy in: query - description: Should attributes be shown on the editor snippet? + description: List of XPath of properties to copy from record to matching entry. + Only support text or attribute eg. ./gmd:role/*/@codeListValue + required: false + schema: + type: array + items: + type: string + example: ./gmd:role/*/@codeListValue + - name: substituteAsXLink + in: query + description: Replace entry by XLink. required: false schema: type: boolean default: false + - name: fq + in: query + description: Filter query for directory search. + required: false + schema: + type: string + example: groupPublished:IFREMER responses: default: description: default response content: application/json: {} - "204": - description: Attribute removed. - "403": - description: Operation not allowed. User needs to be able to edit the resource. - /records/{metadataUuid}/editor/elements/{direction}: + "201": + description: Created + content: + application/json: + schema: + type: object + /records/submit: put: tags: - records - summary: Reorder element - operationId: addElement + summary: Set the records status to submitted + operationId: submit + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataBatchSubmitParameter' + required: true + responses: + default: + description: default response + content: + application/json: {} + "400": + description: Metadata workflow not enabled. + content: + '*/*': + schema: + $ref: '#/components/schemas/MetadataProcessingReport' + "200": + description: Metadata submitted . + content: + '*/*': + schema: + $ref: '#/components/schemas/MetadataProcessingReport' + /registries/actions/entries/import/spatial: + post: + tags: + - registries + summary: Import spatial directory entries + description: Directory entry (AKA subtemplates) are XML fragments that can be + inserted in metadata records. Use this service to import geographic extent + entries from an ESRI Shapefile format. + operationId: importSpatialEntries parameters: - - name: metadataUuid - in: path - description: Record UUID. - required: true + - name: uuidAttribute + in: query + description: "Attribute to use for UUID. If none, random UUID are generated." + required: false schema: type: string - - name: ref + - name: uuidPattern in: query - description: Reference of the element to move. - required: true + description: "Pattern to build UUID from. Default is '{{uuid}}'." + required: false schema: type: string - - name: direction - in: path - description: Direction - required: true + default: "{{uuid}}" + - name: descriptionAttribute + in: query + description: "Attribute to use for extent description. If none, no extent\ + \ description defined. TODO: Add per language desc ?" + required: false schema: type: string - enum: - - up - - down - - name: displayAttributes + - name: geomProjectionTo in: query - description: Should attributes be shown on the editor snippet? + description: geomProjectionTo + required: false + schema: + type: string + - name: lenient + in: query + description: lenient required: false schema: type: boolean - default: false + - name: charset + in: query + description: Attribute table charset + required: false + schema: + type: string + default: "" + - name: onlyBoundingBox + in: query + description: Create only bounding box for each spatial objects. + required: false + schema: + type: boolean + default: true + - name: process + in: query + description: Process + required: false + schema: + type: string + - name: schema + in: query + description: Schema identifier + required: false + schema: + type: string + - name: uuidProcessing + in: query + description: Record identifier processing. + required: false + schema: + type: string + enum: + - GENERATEUUID + - NOTHING + - OVERWRITE + - REMOVE_AND_REPLACE + default: NOTHING + - name: group + in: query + description: The group the record is attached to. + required: false + schema: + type: integer + format: int32 + requestBody: + content: + multipart/form-data: + schema: + required: + - file + type: object + properties: + file: + type: string + description: The ZIP file to upload containing the Shapefile. + format: binary responses: default: description: default response content: application/json: {} "201": - description: Element reordered. + description: Directory entries imported. + content: + application/json: + schema: + $ref: '#/components/schemas/SimpleMetadataProcessingReport' "403": - description: Operation not allowed. User needs to be able to edit the resource. - /records/{metadataUuid}/validate/inspire: - put: + description: Operation not allowed. Only Reviewvers can access it. + content: + application/json: + schema: + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + /reports/users: + get: tags: - records - summary: Submit a record to the INSPIRE service for validation. - description: User MUST be able to edit the record to validate it. An INSPIRE - endpoint must be configured in Settings. This activates an asyncronous process, - this method does not return any report. This method returns an id to be used - to get the report. - operationId: validateRecordForInspire + summary: Get the list of users "active" during a time period. + operationId: getActiveUsers parameters: - - name: metadataUuid - in: path - description: Record UUID. + - name: dateFrom + in: query + description: From date of users login date required: true schema: type: string - - name: testsuite + - name: dateTo in: query - description: Test suite to run + description: To date of users login date required: true schema: type: string - - name: mode + - name: groups in: query - description: Define the encoding of the record to use. By default, ISO19139 - are used as is and ISO19115-3 are converted to ISO19139.If mode = csw, a - GetRecordById request is used.If mode = any portal id, then a GetRecordById - request is used on this portal CSW entry point which may define custom CSW - post processing. See https://github.com/geonetwork/core-geonetwork/pull/4493. + description: Group(s) for the users required: false + schema: + type: array + items: + type: integer + format: int32 + responses: + default: + description: default response + content: + application/json: {} + "200": + description: List of users "active" during a time period. + /records/{metadataUuid}/popularity: + get: + tags: + - records + summary: Get record popularity + operationId: getRecordPopularity + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true schema: type: string responses: @@ -1315,36 +1235,31 @@ paths: content: application/json: {} "404": - description: Metadata not found. - content: - text/plain: - schema: - type: string - "403": - description: Operation not allowed. User needs to be able to edit the resource. + description: Resource not found. content: text/plain: schema: type: string - "500": - description: Service unavailable. + "200": + description: Popularity. content: text/plain: schema: type: string - "201": - description: Check status of the report. + "403": + description: Operation not allowed. User needs to be able to view the resource. content: text/plain: schema: type: string - /records/{metadataUuid}/validate/inspire/testsuites: - get: + post: tags: - records - summary: Get test suites available. - description: TG13, TG2, ... - operationId: getTestSuites + summary: Increase record popularity + description: Used when a view is based on the search results content and does + not really access the record. Record is then added to the indexing queue and + popularity will be updated soon. + operationId: increaseRecordPopularity parameters: - name: metadataUuid in: path @@ -1357,286 +1272,207 @@ paths: description: default response content: application/json: {} - "200": - description: List of testsuites available. + "404": + description: Resource not found. content: - application/json: + text/plain: schema: - type: object - additionalProperties: - type: array - items: - type: string + type: string + "201": + description: Popularity updated. + content: + text/plain: + schema: + type: string "403": - description: Operation not allowed. User needs to be able to edit the resource. + description: Operation not allowed. User needs to be able to view the resource. content: - application/json: + text/plain: schema: - type: object - additionalProperties: - type: array - items: - type: string - /records/{testId}/validate/inspire: + type: string + /userselections/{selectionIdentifier}/{userIdentifier}: get: tags: - - records - summary: Check the status of validation with the INSPIRE service. - description: 'User MUST be able to edit the record to validate it. An INSPIRE - endpoint must be configured in Settings. If the process is complete an object - with status is returned. ' - operationId: checkValidation + - userselections + summary: Get record in a user selection set + operationId: getSelectionRecords parameters: - - name: testId + - name: selectionIdentifier in: path - description: Test identifier + description: Selection identifier required: true schema: - type: string + type: integer + format: int32 + - name: userIdentifier + in: path + description: User identifier + required: true + schema: + type: integer + format: int32 responses: default: description: default response content: application/json: {} "200": - description: Report ready. + description: OK content: application/json: schema: - type: object - additionalProperties: + type: array + items: type: string - "403": - description: Operation not allowed. User needs to be able to edit the resource. - content: - application/json: - schema: - type: object - additionalProperties: - type: string - "201": - description: Report not ready. - content: - application/json: - schema: - type: object - additionalProperties: - type: string - "404": - description: Report id not found. - content: - application/json: - schema: - type: object - additionalProperties: - type: string - /records/{metadataUuid}/doi: put: tags: - - records - summary: Submit a record to the Datacite metadata store in order to create a - DOI. - operationId: createDoi + - userselections + summary: Add items to a user selection set + operationId: addToUserSelection parameters: - - name: metadataUuid + - name: selectionIdentifier in: path - description: Record UUID. + description: Selection identifier required: true schema: - type: string + type: integer + format: int32 + - name: userIdentifier + in: path + description: User identifier + required: true + schema: + type: integer + format: int32 + - name: uuid + in: query + description: One or more record UUIDs. + required: false + schema: + type: array + items: + type: string responses: default: description: default response content: application/json: {} - "404": - description: Metadata not found. - content: - application/json: - schema: - type: object - additionalProperties: - type: string "403": - description: Operation not allowed. User needs to be able to edit the resource. + description: Operation not allowed. Only UserAdmins can access it. content: application/json: schema: - type: object - additionalProperties: - type: string - "500": - description: Service unavailable. + type: string + "404": + description: Selection or user or at least one UUID not found. content: application/json: schema: - type: object - additionalProperties: - type: string + type: string "201": - description: Check status of the report. + description: Records added to selection set. content: application/json: schema: - type: object - additionalProperties: - type: string + type: string delete: tags: - - records - summary: Remove a DOI (this is not recommended, DOI are supposed to be persistent - once created. This is mainly here for testing). - operationId: unregisterDoi + - userselections + summary: Remove items to a user selection set + operationId: deleteFromUserSelection parameters: - - name: metadataUuid + - name: selectionIdentifier in: path - description: Record UUID. + description: Selection identifier required: true schema: - type: string + type: integer + format: int32 + - name: userIdentifier + in: path + description: User identifier + required: true + schema: + type: integer + format: int32 + - name: uuid + in: query + description: "One or more record UUIDs. If null, remove all." + required: false + schema: + type: array + items: + type: string responses: default: description: default response content: application/json: {} - "404": - description: Metadata or DOI not found. + "403": + description: Operation not allowed. Only UserAdmins can access it. content: application/json: schema: type: string "204": - description: DOI unregistered. - content: - application/json: - schema: - type: string - "403": - description: Operation not allowed. Only Administrators can access it. + description: Items removed from a set. content: application/json: schema: type: string - "500": - description: Service unavailable. + "404": + description: Selection or user not found. content: application/json: schema: type: string - /records/{metadataUuid}/doi/checkPreConditions: + /processes/db/search-and-replace: get: tags: - - records - summary: Check that a record can be submitted to DataCite for DOI creation. - DataCite requires some fields to be populated. - operationId: checkDoiStatus + - processes + summary: Preview of search and replace text. + description: " When errors occur during processing, the processing report is\ + \ returned in JSON format." + operationId: previewProcessSearchAndReplace parameters: - - name: metadataUuid - in: path - description: Record UUID. + - name: useRegexp + in: query + description: Use regular expression (may not be supported by all databases + - tested with H2 and PostgreSQL) + required: false + schema: + type: boolean + default: false + - name: search + in: query + description: Value to search for required: true schema: type: string - responses: - default: - description: default response - content: - application/json: {} - "200": - description: Record can be proposed to DataCite. - content: - application/json: - schema: - type: object - additionalProperties: - type: boolean - "404": - description: Metadata not found. - content: - application/json: - schema: - type: object - additionalProperties: - type: boolean - "403": - description: Operation not allowed. User needs to be able to edit the resource. - content: - application/json: - schema: - type: object - additionalProperties: - type: boolean - "500": - description: Service unavailable. - content: - application/json: - schema: - type: object - additionalProperties: - type: boolean - "400": - description: Record does not meet preconditions. Check error message. - content: - application/json: - schema: - type: object - additionalProperties: - type: boolean - /records/{metadataUuid}/attachments/print-thumbnail: - put: - tags: - - records - summary: Create an overview using the map print module - description: More - info - operationId: saveThumbnail - parameters: - - name: metadataUuid - in: path - description: Record UUID. - required: true + - name: replace + in: query + description: Replacement + required: false schema: type: string - - name: jsonConfig + default: "" + - name: regexpFlags in: query - description: The mapprint module JSON configuration - required: true + description: regexpFlags + required: false schema: type: string - - name: rotationAngle + default: "" + - name: diffType in: query - description: The rotation angle of the map + description: "Return differences with diff, diffhtml or patch" required: false schema: - type: integer - format: int32 - default: 0 - responses: - default: - description: default response - content: - application/json: {} - "201": - description: Thumbnail created. - content: - '*/*': - schema: - $ref: '#/components/schemas/MetadataResource' - "403": - description: Operation not allowed. User needs to be able to edit the resource. - content: - '*/*': - schema: - $ref: '#/components/schemas/MetadataResource' - /records/pdf: - get: - tags: - - records - summary: Get a set of metadata records as PDF - description: The PDF is a short summary of each records with links to the complete - metadata record in different format (ie. landing page on the portal, XML) - operationId: exportAsPdf - parameters: + type: string + enum: + - patch + - diff + - diffhtml - name: uuids in: query description: Record UUIDs. If null current selection is used. @@ -1656,308 +1492,354 @@ paths: description: default response content: application/json: {} - "200": - description: Return requested records as PDF. + "500": + description: If one record processed is invalid. + content: + '*/*': + schema: + type: object "403": - description: Operation not allowed. User needs to be able to view the resource. - /records/csv: - get: - tags: - - records - summary: Get a set of metadata records as CSV - description: The CSV is a short summary of each records. - operationId: exportAsCsv - parameters: - - name: uuids - in: query - description: Record UUIDs. If null current selection is used. - required: false - schema: - type: array - items: - type: string - - name: bucket - in: query - description: Selection bucket name - required: false - schema: - type: string - responses: - default: - description: default response + description: Operation not allowed. Only Editors can access it. content: - application/json: {} + '*/*': + schema: + type: object "200": - description: Return requested records as CSV. - "403": - description: Operation not allowed. User needs to be able to view the resource. - /records/zip: - get: + description: Processed records. + content: + '*/*': + schema: + type: object + post: tags: - - records - summary: Get a set of metadata records as ZIP - description: Metadata Exchange Format (MEF) is returned. MEF is a ZIP file containing - the metadata as XML and some others files depending on the version requested. - See http://geonetwork-opensource.org/manuals/trunk/eng/users/annexes/mef-format.html. - operationId: exportAsMef + - processes + summary: Apply a database search and replace to one or more records + description: Process a metadata with an XSL transformation declared in the metadata + schema (See the process folder). Parameters sent to the service are forwarded + to XSL process. + operationId: processSearchAndReplace parameters: - - name: uuids + - name: useRegexp in: query - description: Record UUIDs. If null current selection is used. + description: Use regular expression (may not be supported by all databases + - tested with H2 and PostgreSQL) required: false schema: - type: array - items: - type: string - - name: bucket + type: boolean + default: false + - name: search in: query - description: Selection bucket name - required: false + description: Value to search for + required: true schema: type: string - - name: format + - name: replace in: query - description: MEF file format. + description: Replacement required: false schema: type: string - enum: - - simple - - partial - - full - default: FULL - - name: withRelated + default: "" + - name: regexpFlags in: query - description: With related records (parent and service). + description: regexpFlags required: false schema: - type: boolean - default: false - - name: withXLinksResolved + type: string + default: "" + - name: uuids in: query - description: Resolve XLinks in the records. + description: Record UUIDs. If null current selection is used. required: false schema: - type: boolean - default: true - - name: withXLinkAttribute + type: array + items: + type: string + - name: bucket in: query - description: Preserve XLink URLs in the records. + description: Selection bucket name required: false schema: - type: boolean - default: false - - name: addSchemaLocation + type: string + - name: updateDateStamp in: query + description: If true updates the DateStamp (or equivalent in standards different + to ISO 19139) field in the metadata with the current timestamp required: false schema: type: boolean default: true - - name: approved + - name: index in: query - description: Download the approved version + description: Index after processing required: false schema: type: boolean default: true - - name: Accept - in: header - required: false - schema: - type: string - default: application/x-gn-mef-2-zip + example: false responses: default: description: default response content: application/json: {} - "200": - description: Return requested records as ZIP. "403": - description: Operation not allowed. User needs to be able to view the resource. - /isolanguages: - get: - tags: - - languages - summary: Get ISO languages - description: ISO languages provides a list of all languages (eg. used for autocompletion - in metadata editor). - operationId: getIsoLanguages - responses: - default: - description: default response - content: - application/json: {} - "200": - description: OK + description: Operation not allowed. Only Editors can access it. content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/IsoLanguage' - /customstyle: - get: - tags: - - customstyle - summary: Get CssStyleSettings - description: This returns a map with all Less variables. - operationId: getCssStyle - responses: - default: - description: default response - content: - application/json: {} - "200": - description: OK + $ref: '#/components/schemas/XsltMetadataProcessingReport' + "201": + description: Report about processed records. content: application/json: schema: - type: object - additionalProperties: - type: string - post: + $ref: '#/components/schemas/XsltMetadataProcessingReport' + /records/{metadataUuid}/attachments/print-thumbnail: + put: tags: - - customstyle - summary: Saves custom style variables. - description: Saves custom style variables. - operationId: saveCssStyle - requestBody: - content: - application/json: - schema: - type: string - required: true + - records + summary: Create an overview using the map print module + description: More + info + operationId: saveThumbnail + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: jsonConfig + in: query + description: The mapprint module JSON configuration + required: true + schema: + type: string + - name: rotationAngle + in: query + description: The rotation angle of the map + required: false + schema: + type: integer + format: int32 + default: 0 responses: default: description: default response content: application/json: {} "201": - description: Created + description: Thumbnail created. content: - application/json: + '*/*': schema: - type: string - /records/{metadataUuid}/formatters/{formatterId}: + $ref: '#/components/schemas/MetadataResource' + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + '*/*': + schema: + $ref: '#/components/schemas/MetadataResource' + /records: get: tags: - records - summary: Get a formatted metadata record - operationId: getRecordFormattedBy + summary: Get catalog content as RDF. This endpoint supports the same Lucene + query parameters as for the GUI search. + description: "." + operationId: getAsRdf parameters: - - name: Accept - in: header - description: Formatter type to use. - required: false + - name: from + in: query + description: Indicates the start position in a sorted list of matches that + the client wants to use as the beginning of a page result. schema: - type: string - default: text/html - - name: formatterId - in: path - required: true + type: integer + format: int32 + default: 1 + - name: hitsPerPage + in: query + description: Indicates the number of hits per page. schema: - type: string - - name: metadataUuid - in: path - description: Record UUID. - required: true + type: integer + format: int32 + - name: any + in: query + description: Search key schema: type: string - - name: width + - name: title in: query - required: false + description: A search key for the title. schema: type: string - enum: - - _25 - - _50 - - _75 - - _100 - default: _100 - - name: mdpath + - name: facet.q in: query - required: false + description: "A search facet in the Lucene index. Use the GeoNetwork GUI search\ + \ to generate the suitable filter values. Example: standard/dcat-ap&createDateYear/2018&sourceCatalog/6d93613e-2b76-4e26-94af-4b4c420a1758\ + \ (filter by creation year and source catalog)." schema: type: string - - name: language + - name: sortBy in: query - description: Optional language ISO 3 letters code to override HTTP Accept-language - header. - required: false + description: "Lucene sortBy criteria. Relevant values: relevance, title, changeDate." schema: type: string - - name: output + - name: sortOrder in: query - required: false + description: "Sort order. Possible values: reverse." schema: type: string - enum: - - txt - - html - - xml - - json - - jsonld - - pdf - - testpdf - - name: approved + - name: similarity in: query - description: Download the approved version - required: false + description: Use the Lucene FuzzyQuery. Values range from 0.0 to 1.0 and defaults + to 0.8. schema: - type: boolean - default: true + type: number + format: float + default: 0.8 responses: default: description: default response content: application/json: {} "200": - description: OK - /processes/{process}: - get: + description: Return the catalog content as RDF. + "303": + description: "Redirect the client to the first in-sequence page resource.\ + \ This happens when the paging parameters (from, hitsPerPage) are not\ + \ included in the request." + put: tags: - - processes - summary: Preview process result applied to one or more records - description: Preview result of a process applied to metadata records with an - XSL transformation declared in the metadata schema (See the process folder). - Parameters sent to the service are forwarded to XSL process. Append mode has - 2 limitations. First, it only support a set of records in the same schema. - Secondly, it does not propagate URL parameters. This mode is mainly used to - create custom reports based on metadata records content.If process name ends - with '.csv', the XSL process output a text document which is returned. When - errors occur during processing, the processing report is returned in JSON - format. - operationId: previewProcessRecords + - records + summary: Add a record + description: "Add one or more record from an XML fragment, URL or file in a\ + \ folder on the catalog server. When loadingfrom the catalog server folder,\ + \ it might be faster to use a local filesystem harvester." + operationId: insert parameters: - - name: process - in: path - description: Process identifier - required: true + - name: metadataType + in: query + description: The type of record. + required: false schema: type: string - - name: uuids + enum: + - METADATA + - TEMPLATE + - SUB_TEMPLATE + - TEMPLATE_OF_SUB_TEMPLATE + default: METADATA + - name: url in: query - description: Record UUIDs. If null current selection is used. + description: URL of a file to download and insert. required: false schema: type: array items: type: string - - name: bucket + - name: serverFolder in: query - description: Selection bucket name + description: Server folder where to look for files. required: false schema: type: string - - name: appendFirst + - name: recursiveSearch in: query - description: Append documents before processing + description: (Server folder import only) Recursive search in folder. required: false schema: type: boolean default: false - example: false + - name: publishToAll + in: query + description: (XML file only and if workflow is not enabled) Publish record. + required: false + schema: + type: boolean + default: false + - name: assignToCatalog + in: query + description: (MEF file only) Assign to current catalog. + required: false + schema: + type: boolean + default: false + - name: uuidProcessing + in: query + description: Record identifier processing. + required: false + schema: + type: string + enum: + - GENERATEUUID + - NOTHING + - OVERWRITE + - REMOVE_AND_REPLACE + default: NOTHING + - name: group + in: query + description: The group the record is attached to. + required: false + schema: + type: string + - name: category + in: query + description: Tags to assign to the record. + required: false + schema: + type: array + items: + type: string + - name: rejectIfInvalid + in: query + description: Validate the record first and reject it if not valid. + required: false + schema: + type: boolean + default: false + - name: transformWith + in: query + description: XSL transformation to apply to the record. + required: false + schema: + type: string + default: _none_ + - name: schema + in: query + description: "Force the schema of the record. If not set, schema autodetection\ + \ is used (and is the preferred method)." + required: false + schema: + type: string + - name: allowEditGroupMembers + in: query + description: "Is editable by group members with editor profile? If not, only\ + \ the author and administrator can edit the record." + required: false + schema: + type: boolean + default: false + - name: extra + in: query + description: (experimental) Add extra information to the record. + required: false + schema: + type: string + requestBody: + content: + application/xml: + schema: + type: string + description: XML fragment. + application/json: + schema: + type: string + description: XML fragment. + application/x-www-form-urlencoded: + schema: + type: string + description: XML fragment. responses: default: description: default response @@ -1966,60 +1848,118 @@ paths: "403": description: Operation not allowed. Only Editors can access it. content: - '*/*': + application/json: schema: - type: object - "200": - description: Processed records. + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + "201": + description: Report about imported records. content: - '*/*': + application/json: schema: - type: object + $ref: '#/components/schemas/SimpleMetadataProcessingReport' post: tags: - - processes - summary: Apply a process to one or more records - description: Process a metadata with an XSL transformation declared in the metadata - schema (See the process folder). Parameters sent to the service are forwarded - to XSL process. - operationId: processRecords + - records + summary: Add a record from XML or MEF/ZIP file + description: Add record in the catalog by uploading files. + operationId: insertFile parameters: - - name: process - in: path - description: Process identifier - required: true + - name: metadataType + in: query + description: The type of record. + required: false schema: type: string - - name: uuids + enum: + - METADATA + - TEMPLATE + - SUB_TEMPLATE + - TEMPLATE_OF_SUB_TEMPLATE + default: METADATA + - name: file in: query - description: Record UUIDs. If null current selection is used. + description: XML or MEF file to upload required: false schema: type: array items: type: string - - name: bucket + format: binary + - name: uuidProcessing in: query - description: Selection bucket name + description: Record identifier processing. required: false schema: type: string - - name: updateDateStamp + enum: + - GENERATEUUID + - NOTHING + - OVERWRITE + - REMOVE_AND_REPLACE + default: NOTHING + - name: group in: query - description: If true updates the DateStamp (or equivalent in standards different - to ISO 19139) field in the metadata with the current timestamp + description: The group the record is attached to. + required: false + schema: + type: string + - name: category + in: query + description: Tags to assign to the record. + required: false + schema: + type: array + items: + type: string + - name: rejectIfInvalid + in: query + description: Validate the record first and reject it if not valid. required: false schema: type: boolean - default: true - - name: index + default: false + - name: publishToAll in: query - description: Index after processing + description: (XML file only) Publish record. required: false schema: type: boolean - default: true - example: false + default: false + - name: assignToCatalog + in: query + description: (MEF file only) Assign to current catalog. + required: false + schema: + type: boolean + default: false + - name: transformWith + in: query + description: XSL transformation to apply to the record. + required: false + schema: + type: string + default: _none_ + - name: schema + in: query + description: "Force the schema of the record. If not set, schema autodetection\ + \ is used (and is the preferred method)." + required: false + schema: + type: string + - name: extra + in: query + description: (experimental) Add extra information to the record. + required: false + schema: + type: string + - name: allowEditGroupMembers + in: query + description: "Is editable by group members with editor profile? If not, only\ + \ the author and administrator can edit the record." + required: false + schema: + type: boolean + default: false responses: default: description: default response @@ -2030,317 +1970,320 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/XsltMetadataProcessingReport' + $ref: '#/components/schemas/SimpleMetadataProcessingReport' "201": - description: Report about processed records. + description: Report about imported records. content: application/json: schema: - $ref: '#/components/schemas/XsltMetadataProcessingReport' - /users/owners: - get: + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + delete: tags: - - users - summary: Get owners - description: Return users who actually owns one or more records. - operationId: getRecordOwners - responses: - default: - description: default response - content: - application/json: {} - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/OwnerResponse' - put: - tags: - - users - summary: Transfer privileges - operationId: saveOwners - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TransferRequest' - required: true - responses: - default: - description: default response - content: - application/json: {} - "200": - description: OK - content: - application/json: - schema: - type: string - /users/groups: - get: - tags: - - users - summary: Retrieve all user groups - operationId: retrieveAllUserGroups + - records + summary: Delete one or more records + description: 'User MUST be able to edit the record to delete it. ' + operationId: deleteRecords + parameters: + - name: uuids + in: query + description: Record UUIDs. If null current selection is used. + required: false + schema: + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name + required: false + schema: + type: string + - name: withBackup + in: query + description: Backup first the record as MEF in the metadata removed folder. + required: false + schema: + type: boolean + default: true responses: default: description: default response content: application/json: {} - "200": - description: OK + "403": + description: Operation not allowed. Only Editors can access it. content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/UserGroupsResponse' - /usersearches: - get: - tags: - - usersearches - summary: Get user custom searches - operationId: getUserCustomSearches - responses: - default: - description: default response - content: - application/json: {} - "200": - description: OK + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + "204": + description: Report about deleted records. content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/UserSearchDto' + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + /records/tags: put: tags: - - usersearches - summary: Creates a user search - description: Creates a user search. - operationId: createUserCustomSearch - requestBody: - description: User search details - content: - application/json: - schema: - $ref: '#/components/schemas/UserSearchDto' - required: true - responses: - default: - description: default response - content: - application/json: {} - "201": - description: User search created. - content: - application/json: - schema: - type: integer - format: int32 - /usersearches/all: - get: - tags: - - usersearches - summary: Get user custom searches for all users (no paginated) - operationId: getAllUserCustomSearches + - records + summary: Add or remove tags to one or more records + operationId: tagRecords parameters: - - name: featuredType + - name: uuids in: query - description: Featured type search. + description: Record UUIDs. If null current selection is used. + required: false + schema: + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name required: false schema: type: string - enum: - - HOME - - EDITOR_BOARD + - name: id + in: query + description: Tag identifier + required: false + schema: + type: array + items: + type: integer + format: int32 + - name: removeId + in: query + description: Tag identifier to remove. + required: false + schema: + type: array + items: + type: integer + format: int32 + - name: clear + in: query + description: Clear all before adding new ones + required: false + schema: + type: boolean + default: false responses: default: description: default response content: application/json: {} - "200": - description: OK + "403": + description: Operation not allowed. Only Editors can access it. content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/UserSearchDto' - /usersearches/allpaginated: - get: + $ref: '#/components/schemas/MetadataProcessingReport' + "201": + description: Report about updated records. + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataProcessingReport' + delete: tags: - - usersearches - summary: Get user custom searches for all users (paginated) - operationId: getAllUserCustomSearchesPage + - records + summary: Delete tags to one or more records + operationId: deleteTagForRecords parameters: - - name: featuredType + - name: uuids in: query - description: Featured type search. + description: Record UUIDs. If null current selection is used. required: false schema: - type: string - enum: - - HOME - - EDITOR_BOARD - - name: search + type: array + items: + type: string + - name: bucket in: query + description: Selection bucket name required: false schema: type: string - default: "" - - name: offset - in: query - description: From page - required: false - schema: - type: integer - format: int32 - default: 0 - - name: limit + - name: id in: query - description: Number of records to return - required: false + description: Tag identifier + required: true schema: - type: integer - format: int32 - default: 10 + type: array + items: + type: integer + format: int32 responses: default: description: default response content: application/json: {} - "200": - description: OK + "403": + description: Operation not allowed. Only Editors can access it. content: application/json: schema: - $ref: '#/components/schemas/PaginatedUserSearchResponse' - /usersearches/featured: + $ref: '#/components/schemas/MetadataProcessingReport' + "201": + description: Report about removed records. + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataProcessingReport' + /records/{metadataUuid}/tags: get: tags: - - usersearches - summary: Get featured user custom searches - operationId: getFeaturedUserCustomSearches + - records + summary: Get record tags + description: Tags are used to classify information.
More + info + operationId: getRecordTags parameters: - - name: type - in: query - description: Number of records to return - required: false + - name: metadataUuid + in: path + description: Record UUID. + required: true schema: type: string - enum: - - HOME - - EDITOR_BOARD responses: default: description: default response content: application/json: {} "200": - description: OK + description: Record tags. content: application/json: schema: + uniqueItems: true type: array items: - $ref: '#/components/schemas/UserSearchDto' - /usersearches/{searchIdentifier}: - get: - tags: - - usersearches - summary: Get custom search - operationId: getUserCustomSearch + $ref: '#/components/schemas/MetadataCategory' + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + application/json: + schema: + uniqueItems: true + type: array + items: + $ref: '#/components/schemas/MetadataCategory' + put: + tags: + - records + summary: Add tags to a record + operationId: tagRecord parameters: - - name: searchIdentifier + - name: metadataUuid in: path - description: User search identifier + description: Record UUID. required: true schema: - type: integer - format: int32 + type: string + - name: id + in: query + description: Tag identifier + required: true + schema: + type: array + items: + type: integer + format: int32 + - name: clear + in: query + description: Clear all before adding new ones + required: false + schema: + type: boolean + default: false responses: default: description: default response content: application/json: {} - "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/UserSearchDto' - put: + "403": + description: Operation not allowed. User needs to be able to edit the resource. + "201": + description: Record tags added. + delete: tags: - - usersearches - summary: Update a user search - operationId: updateCustomUserSearch + - records + summary: Delete tags of a record + operationId: deleteTags parameters: - - name: searchIdentifier + - name: metadataUuid in: path - description: User search identifier + description: Record UUID. required: true schema: - type: integer - format: int32 - requestBody: - description: User search details - content: - application/json: - schema: - $ref: '#/components/schemas/UserSearchDto' - required: true + type: string + - name: id + in: query + description: "Tag identifier. If none, all tags are removed." + required: false + schema: + type: array + items: + type: integer + format: int32 responses: default: description: default response content: application/json: {} - "404": - description: Resource not found. "204": - description: User search updated. - delete: + description: Record tags removed. + "403": + description: Operation not allowed. User needs to be able to edit the resource. + /pages/{language}/{pageId}/content: + get: tags: - - usersearches - summary: Delete a user search - description: Deletes a user search by identifier. - operationId: deleteUserCustomSerach + - pages + summary: Return the static html content identified by pageId + description: More + info + operationId: getPageContent parameters: - - name: searchIdentifier + - name: language in: path - description: Search identifier. required: true schema: - type: integer - format: int32 + type: string + - name: pageId + in: path + required: true + schema: + type: string responses: default: description: default response content: application/json: {} + "404": + description: Page not found + content: + '*/*': + schema: + type: string "200": - description: OK + description: Page found content: - application/json: + '*/*': schema: type: string - /logos: + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + '*/*': + schema: + type: string + /site/logging: get: tags: - - logos - summary: Get all logos - description: Logos are used for the catalog, the groups logos, and harvester - icons. Logos are stored in the data directory in /resources/images/harvesting.
- Records are attached to a source. A source can be the local catalog or a harvester - node. When a source is created, its logo is located in the images/logos folder - with the source UUID as filename. For some sources the logo can be automatically - retrieved (eg. when harvesting GeoNetwork catalogs). For others, the logo - is usually manually defined when configuring the harvester. - operationId: getLogos + - site + summary: Get log files + operationId: getLogFiles responses: default: description: default response @@ -2351,59 +2294,19 @@ paths: content: application/json: schema: - uniqueItems: true type: array items: - type: string - post: - tags: - - logos - summary: Add a logo - operationId: addLogo - parameters: - - name: file - in: query - description: The logo image to upload - required: true - schema: - type: array - items: - type: string - format: binary - - name: overwrite - in: query - description: Overwrite if exists - required: false - schema: - type: boolean - default: false - responses: - default: - description: default response - content: - application/json: {} - "403": - description: Operation not allowed. Only UserAdmins can access it. - content: - application/json: - schema: - type: string - "201": - description: Logo added. - content: - application/json: - schema: - type: string - /logos/{file}: - delete: + $ref: '#/components/schemas/LogFileResponse' + /registries/crs/{id}: + get: tags: - - logos - summary: Remove a logo - operationId: deleteLogo + - registries + summary: Get CRS + operationId: getCrs parameters: - - name: file + - name: id in: path - description: The logo filename to delete + description: CRS identifier required: true schema: type: string @@ -2413,219 +2316,108 @@ paths: content: application/json: {} "404": - description: Resource not found. - "403": - description: Operation not allowed. Only UserAdmins can access it. - "204": - description: Logo removed. - /robots.txt: - get: - tags: - - site - summary: robots.txt - operationId: getRobotsText - responses: - default: - description: default response + description: CRS not found. content: - application/json: {} + application/json: + schema: + $ref: '#/components/schemas/Crs' + application/xml: + schema: + $ref: '#/components/schemas/Crs' "200": - description: robots.txt file for SEO. + description: CRS details. content: - text/plain: + application/json: schema: - type: string - /sitemap: + $ref: '#/components/schemas/Crs' + application/xml: + schema: + $ref: '#/components/schemas/Crs' + /regions: get: tags: - - site - summary: Get sitemap - operationId: getSitemap + - regions + summary: Get list of regions + operationId: getRegions parameters: - - name: format + - name: label in: query - description: Format (xml or html). required: false schema: type: string - default: html - - name: doc + - name: categoryId + in: query + required: false + schema: + type: string + - name: maxRecords in: query - description: page. required: false schema: type: integer format: int32 - default: 0 + default: -1 responses: default: description: default response content: application/json: {} "200": - description: Site map. + description: List of regions. content: application/xml: schema: - $ref: '#/components/schemas/Element' - /identifiers: + $ref: '#/components/schemas/ListRegionsResponse' + application/json: + schema: + $ref: '#/components/schemas/ListRegionsResponse' + /formatters/{schema}/{formatter}: get: tags: - - identifiers - summary: Get identifier templates - description: Identifier templates are used to create record UUIDs havind a particular - structure. The template will be used when user creates a new record. The template - identifier to use is defined in the administration > settings. - operationId: getIdentifiers + - formatters + summary: Download a formatter as ZIP + operationId: downloadFormatter parameters: - - name: userDefinedOnly - in: query - description: Only user defined ones - required: false + - name: formatter + in: path + required: true schema: - type: boolean - default: false - responses: - default: - description: default response - content: - application/json: {} - "200": - description: List of identifier templates. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MetadataIdentifierTemplate' - "403": - description: Operation not allowed. Only Editor can access it. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MetadataIdentifierTemplate' - put: - tags: - - identifiers - summary: Add an identifier template - operationId: addIdentifier - requestBody: - description: Identifier template details - content: - application/json: - schema: - $ref: '#/components/schemas/MetadataIdentifierTemplate' - required: true - responses: - default: - description: default response - content: - application/json: {} - "201": - description: Identifier template created. - content: - application/json: - schema: - type: integer - format: int32 - "403": - description: Operation not allowed. Only Editor can access it. - content: - application/json: - schema: - type: integer - format: int32 - /identifiers/{identifier}: - put: - tags: - - identifiers - summary: Update an identifier template - operationId: updateIdentifier - parameters: - - name: identifier + type: string + - name: schema in: path - description: Identifier template identifier required: true schema: - type: integer - format: int32 - requestBody: - description: Identifier template details - content: - application/json: - schema: - $ref: '#/components/schemas/MetadataIdentifierTemplate' - required: true - responses: - default: - description: default response - content: - application/json: {} - "404": - description: Resource not found. - "403": - description: Operation not allowed. Only Editor can access it. - "204": - description: Identifier template updated. - /regions/types: - get: - tags: - - regions - summary: Get list of region types - operationId: getRegionTypes + type: string responses: default: description: default response content: application/json: {} "200": - description: List of region types. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Category' - /regions: - get: + description: OK + delete: tags: - - regions - summary: Get list of regions - operationId: getRegions + - formatters + summary: Delete a formatter + operationId: deleteFormatter parameters: - - name: label - in: query - required: false + - name: formatter + in: path + required: true schema: type: string - - name: categoryId - in: query - required: false + - name: schema + in: path + required: true schema: type: string - - name: maxRecords - in: query - required: false - schema: - type: integer - format: int32 - default: -1 responses: default: description: default response content: application/json: {} - "200": - description: List of regions. - content: - application/xml: - schema: - $ref: '#/components/schemas/ListRegionsResponse' - application/json: - schema: - $ref: '#/components/schemas/ListRegionsResponse' + "204": + description: No Content /selections/{bucket}: get: tags: @@ -2669,8 +2461,8 @@ paths: example: metadata - name: uuid in: query - description: 'One or more record UUIDs. If null, select all in current search - if bucket name is ''metadata'' (TODO: remove this limitation?).' + description: "One or more record UUIDs. If null, select all in current search\ + \ if bucket name is 'metadata' (TODO: remove this limitation?)." required: false schema: type: array @@ -2721,171 +2513,274 @@ paths: schema: type: integer format: int32 - /standards/{schema}/batchconfiguration: + /records/{metadataUuid}/editor: get: tags: - - standards - summary: Get batch editor configuration for a standard - operationId: getConfiguration + - records + summary: Edit a record + description: Return HTML form for editing. + operationId: startEditing parameters: - - name: schema + - name: metadataUuid in: path - description: Schema identifier + description: Record UUID. required: true schema: type: string - example: iso19139 + - name: currTab + in: query + description: Tab + required: false + schema: + type: string + default: "" + - name: withAttributes + in: query + required: false + schema: + type: boolean + default: false responses: default: description: default response content: application/json: {} "200": - description: OK - content: - application/json: - schema: - type: object - additionalProperties: - $ref: '#/components/schemas/BatchEditing' - /standards/batchconfiguration: - get: + description: The editor form. + "403": + description: Operation not allowed. User needs to be able to edit the resource. + post: tags: - - standards - summary: Get batch editor configuration for standards - operationId: getConfigurations + - records + summary: Save edits + description: Save the HTML form content. + operationId: saveEdits parameters: - - name: schema + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: tab in: query - description: Schema identifiers + description: Tab required: false schema: - type: array - items: - type: string - example: iso19139 + type: string + default: simple + - name: withAttributes + in: query + required: false + schema: + type: boolean + default: false + - name: withValidationErrors + in: query + required: false + schema: + type: boolean + default: false + - name: minor + in: query + required: false + schema: + type: boolean + default: false + - name: status + in: query + description: Submit for review directly after save. + required: false + schema: + type: string + default: "1" + - name: commit + in: query + description: Save current edits. + required: false + schema: + type: boolean + default: false + - name: terminate + in: query + description: Save and terminate session. + required: false + schema: + type: boolean + default: false + - name: data + in: query + description: "Record as XML. TODO: rename xml" + required: false + schema: + type: string + default: "" responses: default: description: default response content: application/json: {} "200": - description: Batch editor configuration. - content: - application/json: - schema: - type: object - additionalProperties: - $ref: '#/components/schemas/BatchEditing' - /standards/reload: - get: + description: The editor form. + "403": + description: Operation not allowed. User needs to be able to edit the resource. + delete: tags: - - standards - summary: Reload standards - operationId: reloadSchema + - records + summary: Cancel edits + description: Cancel current editing session. + operationId: cancelEdits + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string responses: default: description: default response content: application/json: {} - "200": - description: Standards reloaded. - /standards: + "403": + description: Operation not allowed. User needs to be able to edit the resource. + "204": + description: Editing session cancelled. + /identifiers: get: tags: - - standards - summary: Get standards - operationId: getStandardConfigurations + - identifiers + summary: Get identifier templates + description: Identifier templates are used to create record UUIDs havind a particular + structure. The template will be used when user creates a new record. The template + identifier to use is defined in the administration > settings. + operationId: getIdentifiers + parameters: + - name: userDefinedOnly + in: query + description: Only user defined ones + required: false + schema: + type: boolean + default: false responses: default: description: default response content: application/json: {} "200": - description: List of standards. + description: List of identifier templates. content: application/json: schema: type: array items: - $ref: '#/components/schemas/MetadataSchema' - /standards/{schema}/codelists: - get: + $ref: '#/components/schemas/MetadataIdentifierTemplate' + "403": + description: Operation not allowed. Only Editor can access it. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MetadataIdentifierTemplate' + put: tags: - - standards - summary: Get multiple codelist translations - description: All translations are combined in the same object. No distinction - by codelist. This is useful if you need lots of codelists terms to be loaded. - operationId: getCodelistsTranslations - parameters: - - name: schema - in: path - description: Schema identifier - required: true - schema: - type: string - example: iso19139 - - name: codelist - in: query - description: Codelist element name or alias - required: true - schema: - type: array - items: - type: string + - identifiers + summary: Add an identifier template + operationId: addIdentifier + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataIdentifierTemplate' + required: true responses: default: description: default response content: application/json: {} - "200": - description: OK + "201": + description: Identifier template created. content: application/json: schema: - type: object - additionalProperties: - type: string - /standards/{schema}/codelists/{codelist}: + type: integer + format: int32 + "403": + description: Operation not allowed. Only Editor can access it. + content: + application/json: + schema: + type: integer + format: int32 + /records/{metadataUuid}/extents.png: get: tags: - - standards - summary: Get codelist translations - operationId: getSchemaTranslations + - records + summary: Get record extents as image + description: | + A rendering of the geometry as a png. If no background is specified the image will be transparent. In getMap the envelope of the geometry is calculated then it is expanded by a factor. That factor is the size of the map. This allows the map to be slightly bigger than the geometry allowing some context to be shown. This parameter allows different factors to be chosen per scale level. + Proportion is the proportion of the world that the geometry covers (bounds of WGS84)/(bounds of geometry in WGS84) + + Named backgrounds allow the background parameter to be a simple key and the complete URL will be looked up from this list of named backgrounds + operationId: getAllRecordExtentAsImage parameters: - - name: schema + - name: metadataUuid in: path - description: Schema identifier + description: Record UUID. required: true schema: type: string - example: iso19139 - - name: codelist - in: path - description: Codelist element name or alias - required: true + - name: mapsrs + in: query + description: (optional) the background map projection. If not passed uses + the region/getmap/mapproj setting. If the setting is not set defaults to + EPSG:4326 + required: false schema: type: string - - name: parent + - name: width in: query + description: (optional) width of the image that is created. Only one of width + and height are permitted required: false schema: - type: string - - name: displayIf + type: integer + format: int32 + default: 300 + - name: height + in: query + description: (optional) height of the image that is created. Only one of width + and height are permitted + required: false + schema: + type: integer + format: int32 + - name: background in: query + description: "(optional) URL for loading a background image for regions or\ + \ a key that references the namedBackgrounds (configured in config-spring-geonetwork.xml).\ + \ A WMS GetMap request is the typical example. The URL must be parameterized\ + \ with the following parameters: minx, maxx, miny, maxy, width, height" required: false schema: type: string - - name: xpath + default: settings + - name: fillColor in: query + description: "(optional) Fill color with format RED,GREEN,BLUE,ALPHA" required: false schema: type: string - - name: isoType + default: "0,0,0,50" + - name: strokeColor in: query + description: "(optional) Stroke color with format RED,GREEN,BLUE,ALPHA" required: false schema: type: string + default: "0,0,0,255" responses: default: description: default response @@ -2894,218 +2789,285 @@ paths: "200": description: OK content: - application/json: + image/png: schema: - type: object - additionalProperties: + type: array + items: type: string - /standards/{schema}/codelists/{codelist}/details: + format: byte + /records/backups/latest: get: tags: - - standards - summary: Get codelist details - operationId: getSchemaCodelistsWithDetails + - records + summary: Download MEF backup archive + description: The backup contains all metadata not harvested including templates. + operationId: downloadBackup + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Resource not found. + content: + application/zip: + schema: + type: string + format: binary + /logos: + get: + tags: + - logos + summary: Get all logos + description: "Logos are used for the catalog, the groups logos, and harvester\ + \ icons. Logos are stored in the data directory in /resources/images/harvesting.
\ + \ Records are attached to a source. A source can be the local catalog or a\ + \ harvester node. When a source is created, its logo is located in the images/logos\ + \ folder with the source UUID as filename. For some sources the logo can be\ + \ automatically retrieved (eg. when harvesting GeoNetwork catalogs). For others,\ + \ the logo is usually manually defined when configuring the harvester." + operationId: getLogos + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + uniqueItems: true + type: array + items: + type: string + post: + tags: + - logos + summary: Add a logo + operationId: addLogo parameters: - - name: schema - in: path - description: Schema identifier - required: true - schema: - type: string - example: iso19139 - - name: codelist - in: path - description: Codelist element name or alias - required: true - schema: - type: string - - name: parent - in: query - description: Parent name with namespace which may indicate a more precise - label as defined in context attribute. - required: false - schema: - type: string - - name: displayIf - in: query - description: Display if condition as defined in the codelist.xml file. Allows - to select a more precise codelist when more than one is defined for same - name. - required: false - schema: - type: string - - name: xpath + - name: file in: query - description: XPath of the element to target which may indicate a more precise - label as defined in context attribute. - required: false + description: The logo image to upload + required: true schema: - type: string - - name: isoType + type: array + items: + type: string + format: binary + - name: overwrite in: query - description: 'ISO type of the element to target which may indicate a more - precise label as defined in context attribute. (Same as context. TODO: Deprecate - ?)' + description: Overwrite if exists required: false schema: - type: string + type: boolean + default: false responses: default: description: default response content: application/json: {} - "200": - description: OK + "403": + description: Operation not allowed. Only UserAdmins can access it. content: application/json: schema: - $ref: '#/components/schemas/Codelist' - application/xml: + type: string + "201": + description: Logo added. + content: + application/json: schema: - $ref: '#/components/schemas/Codelist' - /standards/{schema}/descriptors/{element}/details: + type: string + /formatters/{schema}/{formatter}/files: get: tags: - - standards - summary: Get descriptor details - operationId: getElementDetails + - formatters + summary: Get formatter files + operationId: getFormatterFiles parameters: - - name: schema + - name: formatter in: path - description: Schema identifier required: true schema: type: string - example: iso19139 - - name: element + - name: schema in: path - description: Descriptor name required: true schema: type: string - - name: parent - in: query - required: false - schema: - type: string - - name: displayIf + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: string + /mapservers/{mapserverId}/records/{metadataUuid}: + get: + tags: + - mapservers + summary: 'Check metadata mapserver resource is published ' + operationId: getMapserverResource + parameters: + - name: mapserverId + in: path + description: Mapserver identifier + required: true + schema: + type: string + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: resource in: query - required: false + description: Resource name (could be a file or a db connection) + required: true schema: type: string - - name: xpath + - name: metadataTitle in: query + description: Metadata title required: false schema: type: string - - name: isoType + default: "" + - name: metadataAbstract in: query + description: Metadata abstract required: false schema: type: string + default: "" responses: default: description: default response content: application/json: {} - "200": - description: OK + "403": + description: Operation not allowed. Only Editors can access it. content: - application/json: - schema: - $ref: '#/components/schemas/Element' - application/xml: + text/plain: schema: - $ref: '#/components/schemas/Element' - /standards/{schema}/editor/associatedpanel/config/{name}.json: - get: + type: string + put: tags: - - standards - summary: Get editor associated resources panel configuration - operationId: getEditorAssociatedPanelConfiguration + - mapservers + summary: Publish a metadata resource in a mapserver + operationId: publishMapserverResource parameters: - - name: schema + - name: mapserverId in: path - description: Schema identifier + description: Mapserver identifier required: true schema: type: string - example: iso19139 - - name: name + - name: metadataUuid in: path - description: Configuration identifier + description: Record UUID. required: true schema: type: string - example: default + - name: resource + in: query + description: Resource name (could be a file or a db connection) + required: true + schema: + type: string + - name: metadataTitle + in: query + description: Metadata title + required: false + schema: + type: string + default: "" + - name: metadataAbstract + in: query + description: Metadata abstract + required: false + schema: + type: string + default: "" responses: default: description: default response content: application/json: {} - "200": - description: OK + "403": + description: Operation not allowed. Only Editors can access it. content: - application/json: + text/plain: schema: type: string - /records/links: - get: + delete: tags: - - links - summary: Get record links - operationId: getRecordLinks + - mapservers + summary: Remove a metadata mapserver resource + operationId: deleteMapserverResource parameters: - - name: filter + - name: mapserverId + in: path + description: Mapserver identifier + required: true + schema: + type: string + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: resource in: query - description: 'Filter, e.g. "{url: ''png'', lastState: ''ko'', records: ''e421'', - groupId: 12}", lastState being ''ok''/''ko''/''unknown''' - required: false + description: Resource name (could be a file or a db connection) + required: true schema: - $ref: '#/components/schemas/JSONObject' - - name: groupIdFilter + type: string + - name: metadataTitle in: query - description: Optional, filter links to records published in that group. + description: Metadata title required: false schema: - type: array - items: - type: integer - format: int32 - - name: groupOwnerIdFilter + type: string + default: "" + - name: metadataAbstract in: query - description: Optional, filter links to records created in that group. + description: Metadata abstract required: false schema: - type: array - items: - type: integer - format: int32 - - name: page - description: Results page you want to retrieve (0..N) - - name: size - description: Number of records per page. - - name: sort - description: 'Sorting criteria in the format: property(,asc|desc). Default - sort order is ascending. ' + type: string + default: "" responses: default: description: default response content: application/json: {} - "200": - description: OK + "403": + description: Operation not allowed. Only Editors can access it. content: - application/json: + text/plain: schema: - $ref: '#/components/schemas/PageLink' - post: + type: string + /registries/actions/entries/collect: + get: tags: - - links - summary: Analyze records links - description: One of uuids or bucket parameter is required if not an Administrator. - Only records that you can edit will be validated. - operationId: analyzeRecordLinks + - registries + summary: Preview directory entries extracted from records + description: "Scan one or more records for element matching the XPath provided\ + \ and save them as directory entries (ie. subtemplate).

Only records\ + \ that the current user can edit are analyzed.

Examples:
For\ + \ ISO19115-3 records, use .//cit:CI_Responsibility and compute identifier\ + \ based on email with .//cit:electronicMailAddress/*/text() to create a contact\ + \ directory." + operationId: previewExtractedEntries parameters: - name: uuids in: query @@ -3121,35 +3083,73 @@ paths: required: false schema: type: string - - name: removeFirst + - name: xpath in: query - description: Only allowed if Administrator. - required: false + description: XPath of the elements to extract as entry. + required: true schema: - type: boolean - default: true - - name: analyze + type: string + example: .//gmd:CI_ResponsibleParty + - name: identifierXpath in: query + description: XPath of the element identifier. If not defined a random UUID + is generated and analysis will not check for duplicates. required: false schema: - type: boolean - default: false + type: string + example: '@uuid' responses: default: description: default response content: application/json: {} - "201": - description: Created + "200": + description: OK content: - application/json: + application/xml: schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' - delete: + type: object + put: tags: - - links - summary: Remove all links and status history - operationId: purgeAll + - registries + summary: Extracts directory entries from records + description: "Scan one or more records for element matching the XPath provided\ + \ and save them as directory entries (ie. subtemplate).

Only records\ + \ that the current user can edit are analyzed.

Examples:
For\ + \ ISO19115-3 records, use .//cit:CI_Responsibility and compute identifier\ + \ based on email with .//cit:electronicMailAddress/*/text() to create a contact\ + \ directory." + operationId: extractEntries + parameters: + - name: uuids + in: query + description: Record UUIDs. If null current selection is used. + required: false + schema: + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name + required: false + schema: + type: string + - name: xpath + in: query + description: XPath of the elements to extract as entry. + required: true + schema: + type: string + example: .//gmd:CI_ResponsibleParty + - name: identifierXpath + in: query + description: XPath of the element identifier. If not defined a random UUID + is generated and analysis will not check for duplicates. + required: false + schema: + type: string + example: '@uuid' responses: default: description: default response @@ -3160,24 +3160,24 @@ paths: content: application/json: schema: - type: string - /records/links/csv: + type: object + /records/links: get: tags: - links - description: Get record links as CSV - operationId: getRecordLinksAsCsv + summary: Get record links + operationId: getRecordLinks parameters: - name: filter in: query - description: 'Filter, e.g. "{url: ''png'', lastState: ''ko'', records: ''e421'', - groupId: 12}", lastState being ''ok''/''ko''/''unknown''' + description: "Filter, e.g. \"{url: 'png', lastState: 'ko', records: 'e421',\ + \ groupId: 12}\", lastState being 'ok'/'ko'/'unknown'" required: false schema: $ref: '#/components/schemas/JSONObject' - name: groupIdFilter in: query - description: Optional, filter links to records published in that group. + description: "Optional, filter links to records published in that group." required: false schema: type: array @@ -3186,7 +3186,7 @@ paths: format: int32 - name: groupOwnerIdFilter in: query - description: Optional, filter links to records created in that group. + description: "Optional, filter links to records created in that group." required: false schema: type: array @@ -3194,12 +3194,23 @@ paths: type: integer format: int32 - name: page + in: query description: Results page you want to retrieve (0..N) + schema: + type: integer + format: int32 - name: size + in: query description: Number of records per page. + schema: + type: integer + format: int32 - name: sort - description: 'Sorting criteria in the format: property(,asc|desc). Default - sort order is ascending. ' + in: query + description: "Sorting criteria in the format: property(,asc|desc). Default\ + \ sort order is ascending. " + schema: + type: string responses: default: description: default response @@ -3207,23 +3218,57 @@ paths: application/json: {} "200": description: OK - /harvesters/{harvesterUuid}/assign: + content: + application/json: + schema: + $ref: '#/components/schemas/PageLink' post: tags: - - harvesters - summary: Assign harvester records to a new source - operationId: assignHarvestedRecordToSource - parameters: - - name: harvesterUuid - in: path - description: The harvester UUID - required: true + - links + summary: Get record links + operationId: getRecordLinksPost + parameters: + - name: filter + in: query + description: "Filter, e.g. \"{url: 'png', lastState: 'ko', records: 'e421',\ + \ groupId: 12}\", lastState being 'ok'/'ko'/'unknown'" + required: false schema: - type: string - - name: source + $ref: '#/components/schemas/JSONObject' + - name: groupIdFilter in: query - description: The target source UUID - required: true + description: "Optional, filter links to records published in that group." + required: false + schema: + type: array + items: + type: integer + format: int32 + - name: groupOwnerIdFilter + in: query + description: "Optional, filter links to records created in that group." + required: false + schema: + type: array + items: + type: integer + format: int32 + - name: page + in: query + description: Results page you want to retrieve (0..N) + schema: + type: integer + format: int32 + - name: size + in: query + description: Number of records per page. + schema: + type: integer + format: int32 + - name: sort + in: query + description: "Sorting criteria in the format: property(,asc|desc). Default\ + \ sort order is ascending. " schema: type: string responses: @@ -3231,374 +3276,199 @@ paths: description: default response content: application/json: {} - "404": - description: Resource not found. + "200": + description: OK content: application/json: schema: - type: string - enum: - - 100 CONTINUE - - 101 SWITCHING_PROTOCOLS - - 102 PROCESSING - - 103 CHECKPOINT - - 200 OK - - 201 CREATED - - 202 ACCEPTED - - 203 NON_AUTHORITATIVE_INFORMATION - - 204 NO_CONTENT - - 205 RESET_CONTENT - - 206 PARTIAL_CONTENT - - 207 MULTI_STATUS - - 208 ALREADY_REPORTED - - 226 IM_USED - - 300 MULTIPLE_CHOICES - - 301 MOVED_PERMANENTLY - - 302 FOUND - - 302 MOVED_TEMPORARILY - - 303 SEE_OTHER - - 304 NOT_MODIFIED - - 305 USE_PROXY - - 307 TEMPORARY_REDIRECT - - 308 PERMANENT_REDIRECT - - 400 BAD_REQUEST - - 401 UNAUTHORIZED - - 402 PAYMENT_REQUIRED - - 403 FORBIDDEN - - 404 NOT_FOUND - - 405 METHOD_NOT_ALLOWED - - 406 NOT_ACCEPTABLE - - 407 PROXY_AUTHENTICATION_REQUIRED - - 408 REQUEST_TIMEOUT - - 409 CONFLICT - - 410 GONE - - 411 LENGTH_REQUIRED - - 412 PRECONDITION_FAILED - - 413 PAYLOAD_TOO_LARGE - - 413 REQUEST_ENTITY_TOO_LARGE - - 414 URI_TOO_LONG - - 414 REQUEST_URI_TOO_LONG - - 415 UNSUPPORTED_MEDIA_TYPE - - 416 REQUESTED_RANGE_NOT_SATISFIABLE - - 417 EXPECTATION_FAILED - - 418 I_AM_A_TEAPOT - - 419 INSUFFICIENT_SPACE_ON_RESOURCE - - 420 METHOD_FAILURE - - 421 DESTINATION_LOCKED - - 422 UNPROCESSABLE_ENTITY - - 423 LOCKED - - 424 FAILED_DEPENDENCY - - 425 TOO_EARLY - - 426 UPGRADE_REQUIRED - - 428 PRECONDITION_REQUIRED - - 429 TOO_MANY_REQUESTS - - 431 REQUEST_HEADER_FIELDS_TOO_LARGE - - 451 UNAVAILABLE_FOR_LEGAL_REASONS - - 500 INTERNAL_SERVER_ERROR - - 501 NOT_IMPLEMENTED - - 502 BAD_GATEWAY - - 503 SERVICE_UNAVAILABLE - - 504 GATEWAY_TIMEOUT - - 505 HTTP_VERSION_NOT_SUPPORTED - - 506 VARIANT_ALSO_NEGOTIATES - - 507 INSUFFICIENT_STORAGE - - 508 LOOP_DETECTED - - 509 BANDWIDTH_LIMIT_EXCEEDED - - 510 NOT_EXTENDED - - 511 NETWORK_AUTHENTICATION_REQUIRED - "403": - description: Operation not allowed. Only UserAdmins can access it. + $ref: '#/components/schemas/PageLink' + delete: + tags: + - links + summary: Remove all links and status history + operationId: purgeAll + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK content: application/json: schema: type: string - enum: - - 100 CONTINUE - - 101 SWITCHING_PROTOCOLS - - 102 PROCESSING - - 103 CHECKPOINT - - 200 OK - - 201 CREATED - - 202 ACCEPTED - - 203 NON_AUTHORITATIVE_INFORMATION - - 204 NO_CONTENT - - 205 RESET_CONTENT - - 206 PARTIAL_CONTENT - - 207 MULTI_STATUS - - 208 ALREADY_REPORTED - - 226 IM_USED - - 300 MULTIPLE_CHOICES - - 301 MOVED_PERMANENTLY - - 302 FOUND - - 302 MOVED_TEMPORARILY - - 303 SEE_OTHER - - 304 NOT_MODIFIED - - 305 USE_PROXY - - 307 TEMPORARY_REDIRECT - - 308 PERMANENT_REDIRECT - - 400 BAD_REQUEST - - 401 UNAUTHORIZED - - 402 PAYMENT_REQUIRED - - 403 FORBIDDEN - - 404 NOT_FOUND - - 405 METHOD_NOT_ALLOWED - - 406 NOT_ACCEPTABLE - - 407 PROXY_AUTHENTICATION_REQUIRED - - 408 REQUEST_TIMEOUT - - 409 CONFLICT - - 410 GONE - - 411 LENGTH_REQUIRED - - 412 PRECONDITION_FAILED - - 413 PAYLOAD_TOO_LARGE - - 413 REQUEST_ENTITY_TOO_LARGE - - 414 URI_TOO_LONG - - 414 REQUEST_URI_TOO_LONG - - 415 UNSUPPORTED_MEDIA_TYPE - - 416 REQUESTED_RANGE_NOT_SATISFIABLE - - 417 EXPECTATION_FAILED - - 418 I_AM_A_TEAPOT - - 419 INSUFFICIENT_SPACE_ON_RESOURCE - - 420 METHOD_FAILURE - - 421 DESTINATION_LOCKED - - 422 UNPROCESSABLE_ENTITY - - 423 LOCKED - - 424 FAILED_DEPENDENCY - - 425 TOO_EARLY - - 426 UPGRADE_REQUIRED - - 428 PRECONDITION_REQUIRED - - 429 TOO_MANY_REQUESTS - - 431 REQUEST_HEADER_FIELDS_TOO_LARGE - - 451 UNAVAILABLE_FOR_LEGAL_REASONS - - 500 INTERNAL_SERVER_ERROR - - 501 NOT_IMPLEMENTED - - 502 BAD_GATEWAY - - 503 SERVICE_UNAVAILABLE - - 504 GATEWAY_TIMEOUT - - 505 HTTP_VERSION_NOT_SUPPORTED - - 506 VARIANT_ALSO_NEGOTIATES - - 507 INSUFFICIENT_STORAGE - - 508 LOOP_DETECTED - - 509 BANDWIDTH_LIMIT_EXCEEDED - - 510 NOT_EXTENDED - - 511 NETWORK_AUTHENTICATION_REQUIRED - "204": - description: Harvester records transfered to new source. + /tools/migration/steps/{stepName}: + put: + tags: + - tools + summary: Call a migration step + operationId: callStep + parameters: + - name: stepName + in: path + description: Class name to execute corresponding to a migration step. See + DatabaseMigrationTask. + required: true + schema: + type: string + example: org.fao.geonet.api.records.attachments.MetadataResourceDatabaseMigration + responses: + default: + description: default response content: - application/json: + application/json: {} + "201": + description: Created + content: + text/plain: schema: type: string - enum: - - 100 CONTINUE - - 101 SWITCHING_PROTOCOLS - - 102 PROCESSING - - 103 CHECKPOINT - - 200 OK - - 201 CREATED - - 202 ACCEPTED - - 203 NON_AUTHORITATIVE_INFORMATION - - 204 NO_CONTENT - - 205 RESET_CONTENT - - 206 PARTIAL_CONTENT - - 207 MULTI_STATUS - - 208 ALREADY_REPORTED - - 226 IM_USED - - 300 MULTIPLE_CHOICES - - 301 MOVED_PERMANENTLY - - 302 FOUND - - 302 MOVED_TEMPORARILY - - 303 SEE_OTHER - - 304 NOT_MODIFIED - - 305 USE_PROXY - - 307 TEMPORARY_REDIRECT - - 308 PERMANENT_REDIRECT - - 400 BAD_REQUEST - - 401 UNAUTHORIZED - - 402 PAYMENT_REQUIRED - - 403 FORBIDDEN - - 404 NOT_FOUND - - 405 METHOD_NOT_ALLOWED - - 406 NOT_ACCEPTABLE - - 407 PROXY_AUTHENTICATION_REQUIRED - - 408 REQUEST_TIMEOUT - - 409 CONFLICT - - 410 GONE - - 411 LENGTH_REQUIRED - - 412 PRECONDITION_FAILED - - 413 PAYLOAD_TOO_LARGE - - 413 REQUEST_ENTITY_TOO_LARGE - - 414 URI_TOO_LONG - - 414 REQUEST_URI_TOO_LONG - - 415 UNSUPPORTED_MEDIA_TYPE - - 416 REQUESTED_RANGE_NOT_SATISFIABLE - - 417 EXPECTATION_FAILED - - 418 I_AM_A_TEAPOT - - 419 INSUFFICIENT_SPACE_ON_RESOURCE - - 420 METHOD_FAILURE - - 421 DESTINATION_LOCKED - - 422 UNPROCESSABLE_ENTITY - - 423 LOCKED - - 424 FAILED_DEPENDENCY - - 425 TOO_EARLY - - 426 UPGRADE_REQUIRED - - 428 PRECONDITION_REQUIRED - - 429 TOO_MANY_REQUESTS - - 431 REQUEST_HEADER_FIELDS_TOO_LARGE - - 451 UNAVAILABLE_FOR_LEGAL_REASONS - - 500 INTERNAL_SERVER_ERROR - - 501 NOT_IMPLEMENTED - - 502 BAD_GATEWAY - - 503 SERVICE_UNAVAILABLE - - 504 GATEWAY_TIMEOUT - - 505 HTTP_VERSION_NOT_SUPPORTED - - 506 VARIANT_ALSO_NEGOTIATES - - 507 INSUFFICIENT_STORAGE - - 508 LOOP_DETECTED - - 509 BANDWIDTH_LIMIT_EXCEEDED - - 510 NOT_EXTENDED - - 511 NETWORK_AUTHENTICATION_REQUIRED - /pages/{language}/{pageId}: - get: + /processes/search-and-replace: + post: tags: - - pages - summary: Return the page object details except the content - description: More - info - operationId: getPage + - processes + summary: Search and replace values in one or more ISO19139 records + description: "Service to apply replacements to one or more records.\n To define\ + \ a replacement, send the following parameters:\n * mdsection-139815551372=metadata\n\ + \ * mdfield-1398155513728=id.contact.individualName\n * replaceValue-1398155513728=Juan\n\ + \ * searchValue-1398155513728=Jose\n\n
Batch editing can also be used\ + \ for similar works." + operationId: searchAndReplace parameters: - - name: language - in: path - required: true + - name: process + in: query + required: false schema: type: string - - name: pageId - in: path - required: true + default: massive-content-update + - name: uuids + in: query + description: Record UUIDs. If null current selection is used. + required: false + schema: + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name + required: false + schema: + type: string + - name: isTesting + in: query + description: Test only (ie. metadata are not saved). Return the report only. + required: false + schema: + type: boolean + default: false + - name: isCaseInsensitive + in: query + description: Case insensitive search. + required: false + schema: + type: boolean + default: false + - name: vacuumMode + in: query + description: "'record' to apply vacuum.xsl, 'element' to remove empty elements.\ + \ Empty to not affect empty elements." + required: false schema: type: string + default: "" responses: default: description: default response content: application/json: {} - "404": - description: Page not found - content: - application/json: - schema: - $ref: '#/components/schemas/PageJSONWrapper' "200": - description: Page found + description: Replacements applied. content: application/json: schema: - $ref: '#/components/schemas/PageJSONWrapper' + $ref: '#/components/schemas/MetadataReplacementProcessingReport' "403": - description: Operation not allowed. User needs to be able to view the resource. + description: Operation not allowed. Only Editors can access it. content: application/json: schema: - $ref: '#/components/schemas/PageJSONWrapper' - /pages/{language}/{pageId}/content: - get: + $ref: '#/components/schemas/MetadataReplacementProcessingReport' + deprecated: true + /records/{metadataUuid}/editor/attributes: + delete: tags: - - pages - summary: Return the static html content identified by pageId - description: More - info - operationId: getPageContent + - records + summary: Delete attribute + operationId: deleteAttribute parameters: - - name: language + - name: metadataUuid in: path + description: Record UUID. required: true schema: type: string - - name: pageId - in: path + - name: ref + in: query + description: Reference of the attribute to remove. required: true schema: type: string + - name: displayAttributes + in: query + description: Should attributes be shown on the editor snippet? + required: false + schema: + type: boolean + default: false responses: default: description: default response content: application/json: {} - "404": - description: Page not found - content: - text/plain;charset=UTF-8: - schema: - type: string - "200": - description: Page found - content: - text/plain;charset=UTF-8: - schema: - type: string + "204": + description: Attribute removed. "403": - description: Operation not allowed. User needs to be able to view the resource. - content: - text/plain;charset=UTF-8: - schema: - type: string - /pages/list: + description: Operation not allowed. User needs to be able to edit the resource. + /standards/{schema}/editor/associatedpanel/config/{name}.json: get: tags: - - pages - summary: List all pages according to the filters - description: More - info - operationId: listPages + - standards + summary: Get editor associated resources panel configuration + operationId: getEditorAssociatedPanelConfiguration parameters: - - name: language - in: query - required: false - schema: - type: string - - name: section - in: query - required: false + - name: schema + in: path + description: Schema identifier + required: true schema: type: string - enum: - - ALL - - TOP - - FOOTER - - MENU - - SUBMENU - - CUSTOM_MENU1 - - CUSTOM_MENU2 - - CUSTOM_MENU3 - - DRAFT - - name: format - in: query - required: false + example: iso19139 + - name: name + in: path + description: Configuration identifier + required: true schema: type: string - enum: - - LINK - - HTML - - TEXT - - MARKDOWN - - WIKI + example: default responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. User needs to be able to view the resource. + "200": + description: OK content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/PageJSONWrapper' - /records/{metadataUuid}/status/workflow/last: - get: + type: string + /records/{metadataUuid}/editor/elements: + put: tags: - records - summary: Get last workflow status for a record - operationId: getStatus + summary: Add element + operationId: addElement parameters: - name: metadataUuid in: path @@ -3606,29 +3476,45 @@ paths: required: true schema: type: string + - name: ref + in: query + description: Reference of the insertion point. + required: true + schema: + type: string + - name: name + in: query + description: Name of the element to add (with prefix) + required: true + schema: + type: string + - name: child + in: query + description: Use geonet:attribute for attributes or child name. + required: false + schema: + type: string + - name: displayAttributes + in: query + description: Should attributes be shown on the editor snippet? + required: false + schema: + type: boolean + default: false responses: default: description: default response content: application/json: {} "200": - description: Record status. - content: - application/json: - schema: - $ref: '#/components/schemas/MetadataWorkflowStatusResponse' + description: Element added. "403": description: Operation not allowed. User needs to be able to edit the resource. - content: - application/json: - schema: - $ref: '#/components/schemas/MetadataWorkflowStatusResponse' - /records/{metadataUuid}/status: - get: + delete: tags: - records - summary: Get record status history - operationId: getRecordStatusHistory + summary: Delete element + operationId: deleteElement parameters: - name: metadataUuid in: path @@ -3636,21 +3522,84 @@ paths: required: true schema: type: string - - name: details + - name: ref in: query - required: false + description: Reference of the element to remove. + required: true schema: - type: boolean - - name: sortOrder + type: array + items: + type: string + - name: parent in: query - description: Sort direction - required: false + description: Name of the parent. + required: true schema: type: string - enum: - - ASC - - DESC - default: DESC + - name: displayAttributes + in: query + description: Should attributes be shown on the editor snippet? + required: false + schema: + type: boolean + default: false + responses: + default: + description: default response + content: + application/json: {} + "204": + description: Element removed. + "403": + description: Operation not allowed. User needs to be able to edit the resource. + /site/logging/activity: + get: + tags: + - site + summary: Get last activity + operationId: getLastActivity + parameters: + - name: lines + in: query + description: Number of lines to return + required: false + schema: + type: integer + format: int32 + default: 2000 + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + text/plain: + schema: + type: string + /users/{userIdentifier}.png: + get: + tags: + - users + summary: Get user identicon + operationId: getUserIdenticon + parameters: + - name: userIdentifier + in: path + description: User identifier. + required: true + schema: + type: integer + format: int32 + - name: size + in: query + description: Size. + required: false + schema: + type: integer + format: int32 + default: 18 responses: default: description: default response @@ -3658,12 +3607,43 @@ paths: application/json: {} "200": description: OK + /userfeedback/{uuid}/publish: + get: + tags: + - userfeedback + summary: Publishes a feedback + description: For reviewers + operationId: publishFeedback + parameters: + - name: uuid + in: path + description: User feedback UUID. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Resource not found. content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/MetadataStatusResponse' + type: string + "204": + description: User feedback published. + content: + application/json: + schema: + type: string + "403": + description: Operation not allowed. Only Reviewvers can access it. + content: + application/json: + schema: + type: string /records/{metadataUuid}/status/{type}: get: tags: @@ -3709,204 +3689,294 @@ paths: application/json: {} "200": description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MetadataStatusResponse' - /records/status/search: - get: + content: {} + /search/records/_msearch: + post: tags: - - records - summary: Search status - operationId: getWorkflowStatusByType + - search + summary: Search endpoint + description: See https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html + for search parameters details. + operationId: msearch parameters: - - name: type - in: query - description: One or more types to retrieve (ie. worflow, event, task). Default - is all. - required: false - schema: - type: array - items: - type: string - enum: - - workflow - - task - - event - - name: details - in: query - description: All event details including XML changes. Responses are bigger. - Default is false - required: false - schema: - type: boolean - - name: author - in: query - description: One or more event author. Default is all. - required: false - schema: - type: array - items: - type: integer - format: int32 - - name: owner - in: query - description: One or more event owners. Default is all. - required: false - schema: - type: array - items: - type: integer - format: int32 - - name: id - in: query - description: One or more record identifier. Default is all. - required: false - schema: - type: array - items: - type: integer - format: int32 - - name: record + - name: bucket in: query - description: One or more metadata record identifier. Default is all. required: false schema: - type: array - items: - type: integer - format: int32 - - name: uuid + type: string + default: metadata + - name: relatedType in: query - description: One or more metadata uuid. Default is all. + description: "Type of related resource. If none, no associated resource returned." required: false schema: type: array items: type: string - - name: dateFrom - in: query - description: Start date - required: false + enum: + - children + - parent + - brothersAndSisters + - siblings + - associated + - services + - datasets + - fcats + - hasfeaturecats + - sources + - hassources + - related + - onlines + - thumbnails + default: [] + requestBody: + description: JSON request based on Elasticsearch API. + content: + application/json: + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + /records/{metadataUuid}/attachments/{resourceId}: + get: + tags: + - records + summary: Get a metadata resource + operationId: getResource + parameters: + - name: metadataUuid + in: path + description: The metadata UUID + required: true schema: type: string - - name: dateTo - in: query - description: End date - required: false + example: 43d7c186-2187-4bcd-8843-41e575a5ef56 + - name: resourceId + in: path + description: The resource identifier (ie. filename) + required: true schema: type: string - - name: from + - name: approved in: query - description: From page + description: Use approved version or not required: false schema: - type: integer - format: int32 - default: 0 + type: boolean + default: true + example: true - name: size in: query - description: Number of records to return + description: Size (only applies to images). From 1px to 2048px. required: false schema: type: integer format: int32 - default: 100 + example: 200 responses: default: description: default response content: application/json: {} - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/MetadataStatusResponse' - /records/{metadataUuid}/status/{statusId}.{userId}.{changeDate}/before: - get: + "403": + description: Operation not allowed. User needs to be able to download the + resource. + "201": + description: Record attachment. + delete: tags: - records - summary: Get saved content from the status record before changes - operationId: showStatusBefore + summary: Delete a metadata resource + operationId: delResource parameters: - name: metadataUuid in: path - description: Record UUID. + description: The metadata UUID required: true schema: type: string - - name: statusId + example: 43d7c186-2187-4bcd-8843-41e575a5ef56 + - name: resourceId in: path - description: Status identifier + description: The resource identifier (ie. filename) required: true schema: - type: integer - format: int32 - - name: userId + type: string + - name: approved + in: query + description: Use approved version or not + required: false + schema: + type: boolean + default: false + example: true + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. User needs to be able to edit the resource. + "204": + description: Attachment visibility removed. + patch: + tags: + - records + summary: Update the metadata resource visibility + operationId: patchResource + parameters: + - name: metadataUuid in: path - description: User identifier + description: The metadata UUID required: true schema: - type: integer - format: int32 - - name: changeDate + type: string + example: 43d7c186-2187-4bcd-8843-41e575a5ef56 + - name: resourceId in: path - description: Change date + description: The resource identifier (ie. filename) + required: true + schema: + type: string + - name: visibility + in: query + description: The visibility required: true schema: type: string + enum: + - public + - private + example: public + - name: approved + in: query + description: Use approved version or not + required: false + schema: + type: boolean + default: false + example: true responses: default: description: default response content: application/json: {} + "201": + description: Attachment visibility updated. + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataResource' "403": description: Operation not allowed. User needs to be able to edit the resource. content: - application/xml: + application/json: schema: - type: string + $ref: '#/components/schemas/MetadataResource' + /tools/ogc/sld: + get: + tags: + - tools + summary: Get the list of SLD available + operationId: getSLD + responses: + default: + description: default response + content: + application/json: {} "200": - description: Previous version of the record. + description: OK content: - application/xml: + application/json: schema: - type: string - /records/{metadataUuid}/status/{statusId}.{userId}.{changeDate}/after: - get: + type: array + items: + type: string + post: tags: - - records - summary: Get saved content from the status record after changes - operationId: showStatusAfter + - tools + summary: Generate a SLD with a new filter + description: "Get the current SLD for the requested layers, add new filters\ + \ in, save the SLD and return the new SLD URL." + operationId: buildSLD parameters: - - name: metadataUuid - in: path - description: Record UUID. + - name: url + in: query + description: The WMS server URL required: true schema: type: string - - name: statusId - in: path - description: Status identifier + - name: layers + in: query + description: The layers required: true schema: - type: integer - format: int32 - - name: userId - in: path - description: User identifier + type: string + - name: filters + in: query + description: The filters in JSON required: true schema: - type: integer - format: int32 - - name: changeDate + type: string + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Created + content: + text/plain: + schema: + type: string + delete: + tags: + - tools + summary: Remove all SLD files + description: Clean all SLD generated previously + operationId: deteleSLD + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + /selections: + get: + tags: + - selections + summary: Get current selections + operationId: getSelectionsAndSize + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: object + additionalProperties: + type: integer + format: int32 + /records/{metadataUuid}/doi/checkDoiUrl: + get: + tags: + - records + summary: Check the DOI URL created based on current configuration and pattern. + operationId: checkDoiUrl + parameters: + - name: metadataUuid in: path - description: Change date + description: Record UUID. required: true schema: type: string @@ -3915,24 +3985,36 @@ paths: description: default response content: application/json: {} + "200": + description: DOI URL created. + content: + text/plain: + schema: + type: string + "404": + description: Metadata not found. + content: + text/plain: + schema: + type: string "403": description: Operation not allowed. User needs to be able to edit the resource. content: - application/xml: + text/plain: schema: type: string - "200": - description: Version of the record after changes. + "500": + description: Service unavailable. content: - application/xml: + text/plain: schema: type: string - /records/{metadataUuid}/status/{statusId}.{userId}.{changeDate}/restore: - post: + /records/{metadataUuid}/status/{statusId}.{userId}.{changeDate}: + delete: tags: - records - summary: Restore saved content from a status record - operationId: restoreAtStatusSave + summary: Delete a record status + operationId: deleteRecordStatus parameters: - name: metadataUuid in: path @@ -3965,131 +4047,154 @@ paths: description: default response content: application/json: {} - "200": - description: Record restored. + "404": + description: Status not found. "403": - description: Operation not allowed. User needs to be able to edit the resource. - /records/tags: - put: + description: Operation not allowed. Only Administrators can access it. + "204": + description: Status removed. + /groups/{groupId}/logo: + get: tags: - - records - summary: Add or remove tags to one or more records - operationId: tagRecords + - groups + summary: Get the group logo image. + description: If last-modified header is present it is used to check if the logo + has been modified since the header date. If it hasn't been modified returns + an empty 304 Not Modified response. If modified returns the image. If the + group has no logo then returns a transparent 1x1 px PNG image. + operationId: getGroupLogo parameters: - - name: uuids - in: query - description: Record UUIDs. If null current selection is used. - required: false + - name: groupId + in: path + description: Group identifier + required: true schema: - type: array - items: - type: string - - name: bucket + type: integer + format: int32 + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + /atom/feeds: + get: + tags: + - atom + summary: Get ATOM feeds + operationId: feeds_1 + parameters: + - name: fileIdentifier in: query - description: Selection bucket name + description: fileIdentifier required: false schema: type: string - - name: id - in: query - description: Tag identifier - required: false - schema: - type: array - items: - type: integer - format: int32 - - name: removeId - in: query - description: Tag identifier to remove. - required: false - schema: - type: array - items: - type: integer - format: int32 - - name: clear - in: query - description: Clear all before adding new ones - required: false - schema: - type: boolean - default: false + default: "" responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. Only Editors can access it. + "200": + description: Get a list of feeds. + "204": + description: Not authenticated. + /usersearches/{searchIdentifier}: + get: + tags: + - usersearches + summary: Get custom search + operationId: getUserCustomSearch + parameters: + - name: searchIdentifier + in: path + description: User search identifier + required: true + schema: + type: integer + format: int32 + responses: + default: + description: default response content: - application/json: - schema: - $ref: '#/components/schemas/MetadataProcessingReport' - "201": - description: Report about updated records. + application/json: {} + "200": + description: OK content: application/json: schema: - $ref: '#/components/schemas/MetadataProcessingReport' - delete: + $ref: '#/components/schemas/UserSearchDto' + put: tags: - - records - summary: Delete tags to one or more records - operationId: deleteTagForRecords + - usersearches + summary: Update a user search + operationId: updateCustomUserSearch parameters: - - name: uuids - in: query - description: Record UUIDs. If null current selection is used. - required: false - schema: - type: array - items: - type: string - - name: bucket - in: query - description: Selection bucket name - required: false - schema: - type: string - - name: id - in: query - description: Tag identifier + - name: searchIdentifier + in: path + description: User search identifier required: true schema: - type: array - items: - type: integer - format: int32 + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserSearchDto' + required: true responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. Only Editors can access it. + "404": + description: Resource not found. + "204": + description: User search updated. + delete: + tags: + - usersearches + summary: Delete a user search + description: Deletes a user search by identifier. + operationId: deleteUserCustomSerach + parameters: + - name: searchIdentifier + in: path + description: Search identifier. + required: true + schema: + type: integer + format: int32 + responses: + default: + description: default response content: - application/json: - schema: - $ref: '#/components/schemas/MetadataProcessingReport' - "201": - description: Report about removed records. + application/json: {} + "200": + description: OK content: application/json: schema: - $ref: '#/components/schemas/MetadataProcessingReport' - /records/{metadataUuid}/tags: + type: string + /pages/{language}/{pageId}: get: tags: - - records - summary: Get record tags - description: Tags are used to classify information.
More + - pages + summary: Return the page object details except the content + description: More info - operationId: getRecordTags + operationId: getPage parameters: - - name: metadataUuid + - name: language + in: path + required: true + schema: + type: string + - name: pageId in: path - description: Record UUID. required: true schema: type: string @@ -4098,52 +4203,48 @@ paths: description: default response content: application/json: {} + "404": + description: Page not found + content: + application/json: + schema: + $ref: '#/components/schemas/PageProperties' "200": - description: Record tags. + description: Page found content: application/json: schema: - uniqueItems: true - type: array - items: - $ref: '#/components/schemas/MetadataCategory' + $ref: '#/components/schemas/PageProperties' "403": description: Operation not allowed. User needs to be able to view the resource. content: application/json: schema: - uniqueItems: true - type: array - items: - $ref: '#/components/schemas/MetadataCategory' + $ref: '#/components/schemas/PageProperties' put: tags: - - records - summary: Add tags to a record - operationId: tagRecord + - pages + summary: Update a page + description: More + info + operationId: updatePage parameters: - - name: metadataUuid + - name: language in: path - description: Record UUID. required: true schema: type: string - - name: id - in: query - description: Tag identifier + - name: pageId + in: path required: true schema: - type: array - items: - type: integer - format: int32 - - name: clear - in: query - description: Clear all before adding new ones - required: false - schema: - type: boolean - default: false + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PageProperties' + required: true responses: default: description: default response @@ -4151,201 +4252,279 @@ paths: application/json: {} "403": description: Operation not allowed. User needs to be able to edit the resource. - "201": - description: Record tags added. + "200": + description: Page changes saved delete: tags: - - records - summary: Delete tags of a record - operationId: deleteTags + - pages + summary: Delete a page + description: More + info + operationId: deletePage parameters: - - name: metadataUuid + - name: language in: path - description: Record UUID. required: true schema: type: string - - name: id - in: query - description: Tag identifier. If none, all tags are removed. - required: false + - name: pageId + in: path + required: true schema: - type: array - items: - type: integer - format: int32 + type: string responses: default: description: default response content: application/json: {} - "204": - description: Record tags removed. + "200": + description: Page removed + "404": + description: Page not found "403": description: Operation not allowed. User needs to be able to edit the resource. - /records/backups/latest: + /tags/{tagIdentifier}: get: tags: - - records - summary: Download MEF backup archive - description: The backup contains all metadata not harvested including templates. - operationId: downloadBackup - responses: - default: - description: default response - content: - application/json: {} - "404": - description: Resource not found. - content: - application/zip: - schema: - type: string - format: binary - /records/backups: - put: - tags: - - records - summary: Trigger MEF backup archive - description: The backup contains all metadata not harvested including templates. - operationId: trigger + - tags + summary: Get a tag + operationId: getTag + parameters: + - name: tagIdentifier + in: path + description: Tag identifier + required: true + schema: + type: integer + format: int32 responses: default: description: default response content: application/json: {} "200": - description: Return succeed message. + description: Tag details. content: application/json: schema: - type: string - /records/{metadataUuid}/query: - get: + $ref: '#/components/schemas/MetadataCategory' + put: tags: - - records - summary: List saved queries for this metadata - operationId: getSavedQueries + - tags + summary: Update a tag + operationId: updateTag parameters: - - name: metadataUuid + - name: tagIdentifier in: path - description: Record UUID. + description: Tag identifier required: true schema: - type: string + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataCategory' + required: true responses: default: description: default response content: application/json: {} - "200": - description: Saved query available. + "403": + description: Operation not allowed. Only UserAdmins can access it. content: - application/json: + '*/*': schema: - type: array - items: - $ref: '#/components/schemas/SavedQuery' - "403": - description: Operation not allowed. User needs to be able to view the resource. + type: string + "204": + description: Tag updated. content: - application/json: + '*/*': schema: - type: array - items: - $ref: '#/components/schemas/SavedQuery' - /records/{metadataUuid}/query/{savedQuery}: - post: + type: string + delete: tags: - - records - summary: Apply a saved query for this metadata - description: All parameters will be substituted to the XPath query. eg. {{protocol}} - in the XPath expression will be replaced by the protocol parameter provided - in the request body. - operationId: applyQuery + - tags + summary: Remove a tag + operationId: deleteTag parameters: - - name: metadataUuid - in: path - description: The metadata UUID - required: true - schema: - type: string - example: 43d7c186-2187-4bcd-8843-41e575a5ef56 - - name: savedQuery + - name: tagIdentifier in: path - description: The saved query to apply + description: Tag identifier required: true schema: - type: string - example: wfs-indexing-config + type: integer + format: int32 responses: default: description: default response content: application/json: {} - "200": - description: List of matching elements. If element are nodes, then they - are returned as string. + "403": + description: Operation not allowed. Only UserAdmins can access it. content: - application/json: + '*/*': schema: - type: object - additionalProperties: - type: string - "403": - description: Operation not allowed. User needs to be able to view the resource. + type: string + "204": + description: Tag removed. content: - application/json: + '*/*': schema: - type: object - additionalProperties: - type: string - /records/publish: + type: string + /registries/vocabularies: put: tags: - - records - summary: Publish one or more records - description: See record sharing for more details. - operationId: publish + - registries + summary: Uploads a new thesaurus from URL or Registry + description: Uploads a new thesaurus. + operationId: uploadThesaurusFromUrl parameters: - - name: uuids + - name: url in: query - description: Record UUIDs. If null current selection is used. + description: "If set, try to download from the Internet." + required: false + schema: + type: string + - name: registryUrl + in: query + description: "If set, try to download from a registry." + required: false + schema: + type: string + - name: registryType + in: query + description: "If using registryUrl, then define the type of registry. If not\ + \ set, default mode is re3gistry." + required: false + schema: + type: string + enum: + - re3gistry + - ldRegistry + - name: registryLanguage + in: query + description: Languages to download from a registry. required: false schema: type: array items: type: string - - name: bucket + - name: type in: query - description: Selection bucket name + description: Local or external (default). + required: false + schema: + type: string + enum: + - external + - local + default: external + - name: dir + in: query + description: "Type of thesaurus, usually one of the ISO thesaurus type codelist\ + \ value. Default is theme." + required: false + schema: + type: string + default: theme + - name: stylesheet + in: query + description: XSL to be use to convert the thesaurus before load. Default _none_. required: false schema: type: string + default: _none_ + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ThesaurusInfo' responses: default: description: default response content: application/json: {} "201": - description: Report about updated privileges. + description: Thesaurus uploaded in SKOS format. content: - '*/*': + text/xml: schema: - $ref: '#/components/schemas/MetadataProcessingReport' + type: string "403": - description: Operation not allowed. Only Editors can access it. + description: Operation not allowed. Only Reviewvers can access it. content: - '*/*': + text/xml: schema: - $ref: '#/components/schemas/MetadataProcessingReport' - /records/{metadataUuid}/sharing: + type: string + post: + tags: + - registries + summary: Uploads a new thesaurus from a file + description: Uploads a new thesaurus. + operationId: uploadThesaurus + parameters: + - name: type + in: query + description: Local or external (default). + required: false + schema: + type: string + enum: + - external + - local + default: external + - name: dir + in: query + description: "Type of thesaurus, usually one of the ISO thesaurus type codelist\ + \ value. Default is theme." + required: false + schema: + type: string + default: theme + - name: stylesheet + in: query + description: XSL to be use to convert the thesaurus before load. Default _none_. + required: false + schema: + type: string + default: _none_ + requestBody: + content: + application/json: + schema: + type: object + properties: + file: + type: string + description: "If set, do a file upload." + format: binary + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Thesaurus uploaded in SKOS format. + content: + text/xml: + schema: + type: string + "403": + description: Operation not allowed. Only Reviewvers can access it. + content: + text/xml: + schema: + type: string + /records/{metadataUuid}/validate/inspire/testsuites: get: tags: - records - summary: Get record sharing settings - description: Return current sharing options for a record. - operationId: getRecordSharingSettings + summary: Get test suites available. + description: "TG13, TG2, ..." + operationId: getTestSuites parameters: - name: metadataUuid in: path @@ -4359,160 +4538,213 @@ paths: content: application/json: {} "200": - description: The record sharing settings. + description: List of testsuites available. content: application/json: schema: - $ref: '#/components/schemas/SharingResponse' + type: object + additionalProperties: + type: array + items: + type: string "403": - description: Operation not allowed. User needs to be able to view the resource. + description: Operation not allowed. User needs to be able to edit the resource. content: application/json: schema: - $ref: '#/components/schemas/SharingResponse' - /records/{metadataUuid}/group: + type: object + additionalProperties: + type: array + items: + type: string + /registries/vocabularies/{thesaurus}: + get: + tags: + - registries + summary: Download a thesaurus by name + description: Download the thesaurus in SKOS format. + operationId: getThesaurus + parameters: + - name: thesaurus + in: path + description: Thesaurus to download. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Resource not found. + "200": + description: Thesaurus in SKOS format. put: tags: - - records - summary: Set record group - description: A record is related to one group. - operationId: setRecordGroup + - registries + summary: Updates the information of a local thesaurus + description: Updates the information of a local thesaurus. + operationId: updateThesaurus parameters: - - name: metadataUuid + - name: thesaurus in: path - description: Record UUID. + description: Thesaurus to update. required: true schema: type: string requestBody: - description: Group identifier content: application/json: schema: - type: integer - format: int32 + $ref: '#/components/schemas/ThesaurusInfo' required: true responses: default: description: default response content: application/json: {} - "204": - description: Record group updated. "403": - description: Operation not allowed. User needs to be able to edit the resource. - /records/sharing: - get: + description: Operation not allowed. Only Administrators can access it. + "201": + description: Thesaurus created. + delete: tags: - - records - summary: Get record sharing settings - operationId: getSharingSettings - responses: - default: - description: default response - content: - application/json: {} - "403": - description: Operation not allowed. User needs to be able to edit the resource. - content: - application/json: - schema: - $ref: '#/components/schemas/SharingResponse' - "200": - description: Return a default array of group and operations that can be - used to set record sharing properties. + - registries + summary: Delete a thesaurus by name + description: Delete a thesaurus. + operationId: deleteThesaurus + parameters: + - name: thesaurus + in: path + description: Thesaurus to delete. + required: true + schema: + type: string + responses: + default: + description: default response content: - application/json: - schema: - $ref: '#/components/schemas/SharingResponse' + application/json: {} + "404": + description: Resource not found. + "403": + description: Operation not allowed. Only UserAdmins can access it. + "200": + description: Thesaurus deleted. + /identifiers/{identifier}: put: tags: - - records - summary: Set sharing settings for one or more records - description: See record sharing for more details. - operationId: share + - identifiers + summary: Update an identifier template + operationId: updateIdentifier parameters: - - name: uuids - in: query - description: Record UUIDs. If null current selection is used. - required: false - schema: - type: array - items: - type: string - - name: bucket - in: query - description: Selection bucket name - required: false + - name: identifier + in: path + description: Identifier template identifier + required: true schema: - type: string + type: integer + format: int32 requestBody: - description: Privileges content: application/json: schema: - $ref: '#/components/schemas/SharingParameter' + $ref: '#/components/schemas/MetadataIdentifierTemplate' required: true responses: default: description: default response content: application/json: {} - "201": - description: Report about updated privileges. + "404": + description: Resource not found. + "403": + description: Operation not allowed. Only Editor can access it. + "204": + description: Identifier template updated. + delete: + tags: + - identifiers + summary: Remove an identifier template + operationId: deleteIdentifier + parameters: + - name: identifier + in: path + description: Identifier template identifier + required: true + schema: + type: integer + format: int32 + responses: + default: + description: default response content: - '*/*': + application/json: {} + "404": + description: Resource not found. + "403": + description: Operation not allowed. Only Editor can access it. + "204": + description: Template identifier removed. + /records/{metadataUuid}/sharing: + get: + tags: + - records + summary: Get record sharing settings + description: Return current sharing options for a record. + operationId: getRecordSharingSettings + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: The record sharing settings. + content: + application/json: schema: - $ref: '#/components/schemas/MetadataProcessingReport' + $ref: '#/components/schemas/SharingResponse' "403": - description: Operation not allowed. Only Editors can access it. + description: Operation not allowed. User needs to be able to view the resource. content: - '*/*': + application/json: schema: - $ref: '#/components/schemas/MetadataProcessingReport' - /records/ownership: + $ref: '#/components/schemas/SharingResponse' put: tags: - records - summary: Set group and owner for one or more records - operationId: setGroupAndOwner + summary: Set record sharing + description: "Privileges are assigned by group. User needs to be able to edit\ + \ a record to set sharing settings. For reserved group (ie. Internet, Intranet\ + \ & Guest), user MUST be reviewer of one group. For other group, if Only set\ + \ privileges to user's groups is set in catalog configuration user MUST be\ + \ a member of the group.
Clear first allows to unset all operations first\ + \ before setting the new ones.Clear option does not remove reserved groups\ + \ operation if user is not an administrator, a reviewer or the owner of the\ + \ record.
More\ + \ info" + operationId: share_1 parameters: - - name: uuids - in: query - description: Record UUIDs. If null current selection is used. - required: false - schema: - type: array - items: - type: string - - name: groupIdentifier - in: query - description: Group identifier + - name: metadataUuid + in: path + description: Record UUID. required: true - schema: - type: integer - format: int32 - - name: bucket - in: query - description: Selection bucket name - required: false schema: type: string - - name: userIdentifier - in: query - description: User identifier - required: true - schema: - type: integer - format: int32 - - name: approved - in: query - description: Use approved version or not - required: false - schema: - type: boolean - default: false - example: true + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SharingParameter' + required: true responses: default: description: default response @@ -4520,22 +4752,33 @@ paths: application/json: {} "403": description: Operation not allowed. User needs to be able to edit the resource. + "204": + description: Settings updated. + /users/groups: + get: + tags: + - users + summary: Retrieve all user groups + operationId: retrieveAllUserGroups + responses: + default: + description: default response content: - '*/*': - schema: - $ref: '#/components/schemas/MetadataProcessingReport' - "201": - description: Records group and owner updated + application/json: {} + "200": + description: OK content: - '*/*': + application/json: schema: - $ref: '#/components/schemas/MetadataProcessingReport' - /records/{metadataUuid}/ownership: + type: array + items: + $ref: '#/components/schemas/UserGroupsResponse' + /records/{metadataUuid}/editor/elements/{direction}: put: tags: - records - summary: Set record group and owner - operationId: setRecordOwnership + summary: Reorder element + operationId: addElement_1 parameters: - name: metadataUuid in: path @@ -4543,651 +4786,431 @@ paths: required: true schema: type: string - - name: groupIdentifier + - name: ref in: query - description: Group identifier + description: Reference of the element to move. required: true schema: - type: integer - format: int32 - - name: userIdentifier - in: query - description: User identifier + type: string + - name: direction + in: path + description: Direction required: true schema: - type: integer - format: int32 - - name: approved + type: string + enum: + - up + - down + - name: displayAttributes in: query - description: Use approved version or not + description: Should attributes be shown on the editor snippet? required: false schema: type: boolean - default: true - example: true + default: false responses: default: description: default response content: application/json: {} + "201": + description: Element reordered. "403": description: Operation not allowed. User needs to be able to edit the resource. - content: - '*/*': - schema: - $ref: '#/components/schemas/MetadataProcessingReport' - "201": - description: Record group and owner updated - content: - '*/*': - schema: - $ref: '#/components/schemas/MetadataProcessingReport' - /records/unpublish: - put: + /usersearches/allpaginated: + get: tags: - - records - summary: Un-publish one or more records - description: See record sharing for more details. - operationId: unpublish + - usersearches + summary: Get user custom searches for all users (paginated) + operationId: getAllUserCustomSearchesPage parameters: - - name: uuids + - name: featuredType in: query - description: Record UUIDs. If null current selection is used. + description: Featured type search. required: false schema: - type: array - items: - type: string - - name: bucket + type: string + enum: + - HOME + - EDITOR_BOARD + - name: search in: query - description: Selection bucket name required: false schema: type: string - responses: - default: - description: default response - content: - application/json: {} - "201": - description: Report about updated privileges. - content: - '*/*': - schema: - $ref: '#/components/schemas/MetadataProcessingReport' - "403": - description: Operation not allowed. Only Editors can access it. - content: - '*/*': - schema: - $ref: '#/components/schemas/MetadataProcessingReport' - /records/index: - get: - tags: - - records - summary: Index a set of records - description: Index a set of records provided either by a bucket or a list of - uuids - operationId: index - parameters: - - name: uuids + default: "" + - name: offset in: query - description: Record UUIDs. If null current selection is used. + description: From page required: false schema: - type: array - items: - type: string - - name: bucket + type: integer + format: int32 + default: 0 + - name: limit in: query - description: Selection bucket name + description: Number of records to return required: false schema: - type: string + type: integer + format: int32 + default: 10 responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. Only Administrators can access it. + "200": + description: OK content: application/json: schema: - type: object - properties: - nullObject: - type: boolean - array: - type: boolean - empty: - type: boolean - additionalProperties: - type: object + $ref: '#/components/schemas/PaginatedUserSearchResponse' + /site/info/proxy: + get: + tags: + - site + summary: Get proxy configuration details + description: Get the proxy configuration. + operationId: getProxyConfiguration + responses: + default: + description: default response + content: + application/json: {} "200": - description: Record indexed. + description: Proxy configuration. content: application/json: schema: - type: object - properties: - nullObject: - type: boolean - array: - type: boolean - empty: - type: boolean - additionalProperties: - type: object - /records/{metadataUuid}/attachments: + $ref: '#/components/schemas/ProxyConfiguration' + /groups: get: tags: - - records - summary: List all metadata attachments - description: More - info - operationId: getAllResources + - groups + summary: Get groups + description: "The catalog contains one or more groups. By default, there is\ + \ 3 reserved groups (Internet, Intranet, Guest) and a sample group.
This\ + \ service returns all catalog groups when not authenticated or when current\ + \ is user is an administrator. The list can contains or not reserved groups\ + \ depending on the parameters.
When authenticated, return user groups\ + \ optionally filtered on a specific user profile." + operationId: getGroups parameters: - - name: metadataUuid - in: path - description: The metadata UUID - required: true - schema: - type: string - example: 43d7c186-2187-4bcd-8843-41e575a5ef56 - - name: sort - in: query - description: Sort by - required: false - schema: - type: string - enum: - - type - - name - default: name - example: type - - name: approved + - name: withReservedGroup in: query - description: Use approved version or not + description: "Including Internet, Intranet, Guest groups or not" required: false schema: type: boolean - default: true - example: true - - name: filter + default: false + - name: profile in: query + description: For a specific profile required: false schema: type: string - default: '*.*' responses: default: description: default response content: application/json: {} "200": - description: Return the record attachments. + description: OK content: application/json: schema: type: array items: - $ref: '#/components/schemas/MetadataResource' + $ref: '#/components/schemas/Group' + put: + tags: + - groups + summary: Add a group + description: Return the identifier of the group created. + operationId: addGroup + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Group' + required: true + responses: + default: + description: default response + content: + application/json: {} "403": - description: Operation not allowed. User needs to be able to view the resource. + description: Operation not allowed. Only UserAdmins can access it. content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/MetadataResource' - put: + type: integer + format: int32 + "400": + description: Group with that id or name already exist. + content: + application/json: + schema: + type: integer + format: int32 + "201": + description: Group created. + content: + application/json: + schema: + type: integer + format: int32 + /tools/ogc/filter: + post: tags: - - records - summary: Create a new resource from a URL for a given metadata - operationId: putResourceFromURL + - tools + summary: Generate an OGC filter + description: "From a JSON filter, return an OGC filter expression." + operationId: buildFilter parameters: - - name: metadataUuid - in: path - description: The metadata UUID - required: true - schema: - type: string - example: 43d7c186-2187-4bcd-8843-41e575a5ef56 - - name: visibility - in: query - description: The sharing policy - required: false - schema: - type: string - enum: - - public - - private - default: public - example: public - - name: url + - name: filters in: query - description: The URL to load in the store + description: The filters in JSON required: true schema: type: string - format: url - - name: approved - in: query - description: Use approved version or not - required: false - schema: - type: boolean - default: false - example: true responses: default: description: default response content: application/json: {} "201": - description: Attachment added. - content: - '*/*': - schema: - $ref: '#/components/schemas/MetadataResource' - "403": - description: Operation not allowed. User needs to be able to edit the resource. + description: Created content: - '*/*': + application/xml: schema: - $ref: '#/components/schemas/MetadataResource' - post: + type: string + /languages/{langCode}: + put: tags: - - records - summary: Create a new resource for a given metadata - operationId: putResource + - languages + summary: Add a language + description: Add all default translations from all *Desc tables in the database. + This operation will only add translations for a default catalog installation. + Defaults can be customized in SQL scripts located in WEB-INF/classes/setup/sql/data/*. + operationId: addLanguages parameters: - - name: metadataUuid + - name: langCode in: path - description: The metadata UUID + description: ISO 3 letter code required: true schema: type: string - example: 43d7c186-2187-4bcd-8843-41e575a5ef56 - - name: visibility - in: query - description: The sharing policy - required: false - schema: - type: string - enum: - - public - - private - default: public - example: public - - name: approved - in: query - description: Use approved version or not - required: false - schema: - type: boolean - default: false - example: true - requestBody: - description: The file to upload - content: - application/json: - schema: - type: object - properties: - file: - type: string - format: binary responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. User needs to be able to edit the resource. - content: - application/json: - schema: - $ref: '#/components/schemas/MetadataResource' "201": - description: Attachment uploaded. - content: - application/json: - schema: - $ref: '#/components/schemas/MetadataResource' - /records/{metadataUuid}/attachments/{resourceId}: - get: + description: Language translations added. + "403": + description: Operation not allowed. Only Administrator can access it. + "404": + description: Resource not found. eg. No SQL file available for that langugae. + delete: tags: - - records - summary: Get a metadata resource - operationId: getResource + - languages + summary: Remove a language + description: "Delete all translations from all *Desc tables in the database.\ + \ Warning: This will also remove all translations you may have done to those\ + \ objects (eg. custom groups)." + operationId: deleteLanguage parameters: - - name: metadataUuid - in: path - description: The metadata UUID - required: true - schema: - type: string - example: 43d7c186-2187-4bcd-8843-41e575a5ef56 - - name: resourceId + - name: langCode in: path - description: The resource identifier (ie. filename) + description: ISO 3 letter code required: true schema: type: string - - name: approved - in: query - description: Use approved version or not - required: false - schema: - type: boolean - default: true - example: true - - name: size - in: query - description: Size (only applies to images). From 1px to 2048px. - required: false - schema: - type: integer - format: int32 - example: 200 responses: default: description: default response content: application/json: {} + "404": + description: Resource not found. "403": - description: Operation not allowed. User needs to be able to download the - resource. - content: - '*/*': - schema: - type: array - items: - type: string - format: byte - "201": - description: Record attachment. - content: - '*/*': - schema: - type: array - items: - type: string - format: byte - patch: + description: Operation not allowed. Only Administrator can access it. + "204": + description: Language translations removed. + /atom/describe/service/{metadataUuid}: + get: tags: - - records - summary: Update the metadata resource visibility - operationId: patchResource + - atom + summary: Describe service + operationId: describe parameters: - name: metadataUuid in: path - description: The metadata UUID - required: true - schema: - type: string - example: 43d7c186-2187-4bcd-8843-41e575a5ef56 - - name: resourceId - in: path - description: The resource identifier (ie. filename) - required: true - schema: - type: string - - name: visibility - in: query - description: The visibility + description: metadataUuid required: true schema: type: string - enum: - - public - - private - example: public - - name: approved - in: query - description: Use approved version or not - required: false - schema: - type: boolean - default: false - example: true - responses: - default: - description: default response - content: - application/json: {} - "201": - description: Attachment visibility updated. - content: - application/json: - schema: - $ref: '#/components/schemas/MetadataResource' - "403": - description: Operation not allowed. User needs to be able to edit the resource. - content: - application/json: - schema: - $ref: '#/components/schemas/MetadataResource' - /processes/search-and-replace: - post: - tags: - - processes - summary: Search and replace values in one or more records - description: |- - Service to apply replacements to one or more records. - To define a replacement, send the following parameters: - * mdsection-139815551372=metadata - * mdfield-1398155513728=id.contact.individualName - * replaceValue-1398155513728=Juan - * searchValue-1398155513728=Jose - - TODO: Would be good to provide a simple object to define list of changes instead of group of parameters.
Batch editing can also be used for similar works. - operationId: searchAndReplace - parameters: - - name: process - in: query - required: false - schema: - type: string - default: massive-content-update - - name: uuids - in: query - description: Record UUIDs. If null current selection is used. - required: false - schema: - type: array - items: - type: string - - name: bucket - in: query - description: Selection bucket name - required: false - schema: - type: string - - name: isTesting - in: query - description: Test only (ie. metadata are not saved). Return the report only. - required: false - schema: - type: boolean - default: false - - name: isCaseInsensitive - in: query - description: Case insensitive search. - required: false - schema: - type: boolean - default: false - - name: vacuumMode - in: query - description: '''record'' to apply vacuum.xsl, ''element'' to remove empty - elements. Empty to not affect empty elements.' - required: false - schema: - type: string - default: "" responses: default: description: default response content: application/json: {} "200": - description: Replacements applied. - content: - application/json: - schema: - $ref: '#/components/schemas/MetadataReplacementProcessingReport' - "403": - description: Operation not allowed. Only Editors can access it. - content: - application/json: - schema: - $ref: '#/components/schemas/MetadataReplacementProcessingReport' - /processes/reports: + description: Feeds. + content: {} + "204": + description: Not authenticated. + content: {} + /userselections: get: tags: - - processes - summary: Get current process reports - description: When processing, the report is stored in memory and allows to retrieve - progress repport during processing. Usually, process reports are returned - by the synchronous processing operation. - operationId: getProcessReport + - userselections + summary: Get list of user selection sets + operationId: getSelectionList responses: default: description: default response content: application/json: {} "200": - description: List of reports returned. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ProcessingReport' - "403": - description: Operation not allowed. Only authenticated user can access it. + description: OK content: application/json: schema: type: array items: - $ref: '#/components/schemas/ProcessingReport' - delete: + $ref: '#/components/schemas/Selection' + put: tags: - - processes - summary: Clear process reports list - operationId: delete + - userselections + summary: Add a user selection set + operationId: createPersistentSelectionType + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Selection' + required: true responses: default: description: default response content: application/json: {} "403": - description: Operation not allowed. Only authenticated user can access it. - "204": - description: Report registry cleared. - /me: - get: - tags: - - me - summary: Get information about me - description: If not authenticated, return status 204 (NO_CONTENT), else return - basic user information. This operation is usually used to know if current - user is authenticated or not.It returns also info about groups and profiles. - operationId: getMe - responses: - default: - description: default response + description: Operation not allowed. Only UserAdmins can access it. content: - application/json: {} - "200": - description: Authenticated. Return user details. + application/json: + schema: + type: string + "201": + description: Selection created. content: application/json: schema: - $ref: '#/components/schemas/MeResponse' - "204": - description: Not authenticated. + type: string + "400": + description: A selection with that id or name already exist. content: application/json: schema: - $ref: '#/components/schemas/MeResponse' - /user/{username}: - patch: + type: string + /groups/{groupIdentifier}: + get: tags: - - users - summary: Update user password - description: Get a valid changekey by email first and then update your password. - operationId: updatePassword + - groups + summary: Get group + description: Return the requested group details. + operationId: getGroup parameters: - - name: username + - name: groupIdentifier in: path - description: The user name + description: Group identifier required: true schema: - type: string - requestBody: - description: The new password and a valid change key - content: - application/json: - schema: - $ref: '#/components/schemas/PasswordUpdateParameter' - required: true + type: integer + format: int32 responses: default: description: default response content: application/json: {} - "201": - description: Created + "404": + description: Resource not found. content: - text/plain: + application/json: schema: - type: string - /user/{username}/actions/forgot-password: - get: + $ref: '#/components/schemas/Group' + put: tags: - - users - summary: Send user password reminder by email - description: An email is sent to the requested user with a link to reset his - password. User MUST have an email to get the link. LDAP users will not be - able to retrieve their password using this service. - operationId: sendPasswordByEmail + - groups + summary: Update a group + operationId: updateGroup parameters: - - name: username + - name: groupIdentifier in: path - description: The user name + description: Group identifier required: true schema: - type: string + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Group' + required: true responses: default: description: default response content: application/json: {} - "201": - description: Created - content: - text/plain: - schema: - type: string - /users/{userIdentifier}: - get: + "404": + description: Resource not found. + "403": + description: Operation not allowed. Only UserAdmins can access it. + "204": + description: Group updated. + delete: tags: - - users - summary: Get user - operationId: getUser + - groups + summary: Remove a group + description: "Remove a group by first removing sharing settings, link to users\ + \ and finally reindex all affected records." + operationId: deleteGroup parameters: - - name: userIdentifier + - name: groupIdentifier in: path - description: User identifier. + description: Group identifier. required: true schema: type: integer format: int32 + - name: force + in: query + description: Force removal even if records are assigned to that group. + required: false + schema: + type: boolean + default: false + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Resource not found. + "403": + description: Operation not allowed. Only UserAdmins can access it. + "204": + description: Group removed. + /i18n/db/translations: + get: + tags: + - tools + summary: List database translations (used to overrides client application translations). + operationId: getDbTranslations responses: default: description: default response @@ -5198,52 +5221,59 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/User' + type: "{ < * >: string }" + example: + translationKey1: Translated Key One + translationKey2: Translated Key Two + translationKey3: Translated Key Two put: tags: - - users - summary: Update a user - description: Updates a catalog user. - operationId: updateUser + - tools + summary: Add or update all database translations. + operationId: addTranslations parameters: - - name: userIdentifier - in: path - description: User identifier. - required: true + - name: replace + in: query + required: false schema: - type: integer - format: int32 + type: boolean requestBody: content: application/json: schema: - $ref: '#/components/schemas/UserDto' + type: array + items: + $ref: '#/components/schemas/Translations' required: true responses: default: description: default response content: application/json: {} - "200": - description: OK + "201": + description: Created content: application/json: schema: type: string delete: tags: - - users - summary: Delete a user - description: Deletes a catalog user by identifier. - operationId: deleteUser - parameters: - - name: userIdentifier - in: path - description: User identifier. - required: true - schema: - type: integer - format: int32 + - tools + summary: Remove all database translations. + operationId: removeAllTranslations + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Created + /i18n/cache: + delete: + tags: + - tools + summary: Clean translation packages cache. + operationId: cleanTranslationsPackagesCache responses: default: description: default response @@ -5251,34 +5281,36 @@ paths: application/json: {} "200": description: OK - content: - application/json: - schema: - type: string - /users/{userIdentifier}/actions/forget-password: - post: + /records/{metadataUuid}/status/{statusId}.{userId}.{changeDate}/before: + get: tags: - - users - summary: Resets user password - description: Resets the user password. - operationId: resetUserPassword + - records + summary: Get saved content from the status record before changes + operationId: showStatusBefore parameters: - - name: userIdentifier + - name: metadataUuid in: path - description: User identifier. + description: Record UUID. + required: true + schema: + type: string + - name: statusId + in: path + description: Status identifier required: true schema: type: integer format: int32 - - name: password - in: query - description: Password to change. + - name: userId + in: path + description: User identifier required: true schema: - type: string - - name: password2 - in: query - description: Password to change (repeat). + type: integer + format: int32 + - name: changeDate + in: path + description: Change date required: true schema: type: string @@ -5287,62 +5319,169 @@ paths: description: default response content: application/json: {} + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + application/xml: + schema: + type: string "200": - description: OK + description: Previous version of the record. content: - application/json: + application/xml: schema: type: string - /users/{userIdentifier}/groups: - get: + /records/unpublish: + put: tags: - - users - summary: Retrieve user groups - description: Retrieve the user groups. - operationId: retrieveUserGroups + - records + summary: Un-publish one or more records + description: See record sharing for more details. + operationId: unpublish parameters: - - name: userIdentifier - in: path - description: User identifier. - required: true + - name: uuids + in: query + description: Record UUIDs. If null current selection is used. + required: false schema: - type: integer - format: int32 + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + type: string + description: Publication type responses: default: description: default response content: application/json: {} - "200": - description: OK + "201": + description: Report about updated privileges. content: - application/json: + '*/*': schema: - type: array - items: - $ref: '#/components/schemas/UserGroup' - /users/{userIdentifier}.png: + $ref: '#/components/schemas/MetadataProcessingReport' + "403": + description: Operation not allowed. Only Editors can access it. + content: + '*/*': + schema: + $ref: '#/components/schemas/MetadataProcessingReport' + /records/zip: get: tags: - - users - summary: Get user identicon - operationId: getUserIdenticon + - records + summary: Get a set of metadata records as ZIP + description: Metadata Exchange Format (MEF) is returned. MEF is a ZIP file containing + the metadata as XML and some others files depending on the version requested. + See http://geonetwork-opensource.org/manuals/trunk/eng/users/annexes/mef-format.html. + operationId: exportAsMef parameters: - - name: userIdentifier - in: path - description: User identifier. - required: true + - name: uuids + in: query + description: Record UUIDs. If null current selection is used. + required: false schema: - type: integer - format: int32 - - name: size + type: array + items: + type: string + - name: bucket in: query - description: Size. + description: Selection bucket name required: false schema: - type: integer - format: int32 - default: 18 + type: string + - name: format + in: query + description: MEF file format. + required: false + schema: + type: string + enum: + - simple + - partial + - full + default: full + - name: withRelated + in: query + description: With related records (parent and service). + required: false + schema: + type: boolean + default: false + - name: withXLinksResolved + in: query + description: Resolve XLinks in the records. + required: false + schema: + type: boolean + default: true + - name: withXLinkAttribute + in: query + description: Preserve XLink URLs in the records. + required: false + schema: + type: boolean + default: false + - name: addSchemaLocation + in: query + required: false + schema: + type: boolean + default: true + - name: approved + in: query + description: Download the approved version + required: false + schema: + type: boolean + default: true + - name: Accept + in: header + required: false + schema: + type: string + default: application/x-gn-mef-2-zip + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Return requested records as ZIP. + "403": + description: Operation not allowed. User needs to be able to view the resource. + /formatters/{schema}/{formatter}/files/{file}: + get: + tags: + - formatters + summary: Get formatter file content + operationId: getFormatterFileContent + parameters: + - name: formatter + in: path + required: true + schema: + type: string + - name: schema + in: path + required: true + schema: + type: string + - name: file + in: path + required: true + schema: + type: string responses: default: description: default response @@ -5350,12 +5489,50 @@ paths: application/json: {} "200": description: OK - /users: + content: + text/plain: + schema: + type: string + post: + tags: + - formatters + summary: Update formatter file + operationId: updateFormatterFile + parameters: + - name: formatter + in: path + required: true + schema: + type: string + - name: schema + in: path + required: true + schema: + type: string + - name: file + in: path + required: true + schema: + type: string + - name: data + in: query + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Created + /customstyle: get: tags: - - users - summary: Get users - operationId: getUsers + - customstyle + summary: Get CssStyleSettings + description: This returns a map with all Less variables. + operationId: getCssStyle responses: default: description: default response @@ -5366,68 +5543,59 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/User' - put: + type: object + additionalProperties: + type: string + post: tags: - - users - summary: Creates a user - description: Creates a catalog user. - operationId: createUser + - customstyle + summary: Saves custom style variables. + description: Saves custom style variables. + operationId: saveCssStyle requestBody: content: application/json: schema: - $ref: '#/components/schemas/UserDto' + type: string required: true responses: default: description: default response content: application/json: {} - "200": - description: OK + "201": + description: Created content: application/json: schema: type: string - /status/{type}: + /site/info/transforms: get: tags: - - status - summary: Get status by type - operationId: getStatusByType - parameters: - - name: type - in: path - description: Type - required: true - schema: - type: string - enum: - - workflow - - task - - event + - site + summary: Get XSL tranformations available + description: XSL transformations may be applied while importing or harvesting + records. + operationId: getXslTransformations responses: default: description: default response content: application/json: {} "200": - description: OK + description: XSLT available. content: application/json: schema: type: array items: - $ref: '#/components/schemas/StatusValue' - /status: + type: string + /site/info/readonly: get: tags: - - status - summary: Get status - operationId: getStatusList + - site + summary: Is in read-only mode? + operationId: isReadOnly responses: default: description: default response @@ -5438,449 +5606,3638 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/StatusValue' - /groups/{groupIdentifier}: - get: + type: boolean + /records/publish: + put: tags: - - groups - summary: Get group - description: Return the requested group details. - operationId: getGroup + - records + summary: Publish one or more records + description: See record sharing for more details. + operationId: publish parameters: - - name: groupIdentifier - in: path - description: Group identifier - required: true + - name: uuids + in: query + description: Record UUIDs. If null current selection is used. + required: false schema: - type: integer - format: int32 + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + type: string + description: Publication type responses: default: description: default response content: application/json: {} - "404": - description: Resource not found. + "201": + description: Report about updated privileges. content: - application/json: + '*/*': schema: - $ref: '#/components/schemas/Group' - put: + $ref: '#/components/schemas/MetadataProcessingReport' + "403": + description: Operation not allowed. Only Editors can access it. + content: + '*/*': + schema: + $ref: '#/components/schemas/MetadataProcessingReport' + /sources: + get: tags: - - groups - summary: Update a group - operationId: updateGroup + - sources + summary: Get all sources + description: "Sources are the local catalogue, subportal, external catalogue\ + \ (when importing MEF files) or harvesters." + operationId: getSubPortals_1 parameters: - - name: groupIdentifier - in: path - description: Group identifier - required: true + - name: group + in: query + description: Group owner of the source (only applies to subportal). + required: false schema: type: integer format: int32 - requestBody: - description: Group details - content: - application/json: - schema: - $ref: '#/components/schemas/Group' - required: true responses: default: description: default response content: application/json: {} - "404": - description: Resource not found. - "403": - description: Operation not allowed. Only UserAdmins can access it. - "204": - description: Group updated. - delete: + "200": + description: List of source catalogues. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Source' + put: + tags: + - sources + summary: Add a source + operationId: addSource + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Source' + required: true + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Source created. + content: + text/plain: + schema: + type: string + "403": + description: Operation not allowed. Only Administrators can access it. + content: + text/plain: + schema: + type: string + /standards/batchconfiguration: + get: + tags: + - standards + summary: Get batch editor configuration for standards + operationId: getConfigurations + parameters: + - name: schema + in: query + description: Schema identifiers + required: false + schema: + type: array + items: + type: string + example: iso19139 + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Batch editor configuration. + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/BatchEditing' + /standards/{schema}/codelists: + get: + tags: + - standards + summary: Get multiple codelist translations + description: All translations are combined in the same object. No distinction + by codelist. This is useful if you need lots of codelists terms to be loaded. + operationId: getCodelistsTranslations + parameters: + - name: schema + in: path + description: Schema identifier + required: true + schema: + type: string + example: iso19139 + - name: codelist + in: query + description: Codelist element name or alias + required: true + schema: + type: array + items: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: object + additionalProperties: + type: string + /records/{metadataUuid}/related: + get: + tags: + - records + summary: Get record related resources + description: "Retrieve related services, datasets, onlines, thumbnails, sources,\ + \ ... to this records.
More\ + \ info" + operationId: getAssociatedResources + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: type + in: query + description: "Type of related resource. If none, all resources are returned." + required: false + schema: + type: array + items: + type: string + enum: + - children + - parent + - brothersAndSisters + - siblings + - associated + - services + - datasets + - fcats + - hasfeaturecats + - sources + - hassources + - related + - onlines + - thumbnails + default: [] + - name: approved + in: query + description: Use approved version or not + required: false + schema: + type: boolean + default: true + example: true + - name: start + in: query + description: Start offset for paging. Default 1. Only applies to related metadata + records (ie. not for thumbnails). + required: false + schema: + type: integer + format: int32 + default: 0 + - name: rows + in: query + description: Number of rows returned. Default 100. + required: false + schema: + type: integer + format: int32 + default: 100 + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Return the associated resources. + content: + application/xml: + schema: + $ref: '#/components/schemas/RelatedResponse' + application/json: + schema: + $ref: '#/components/schemas/RelatedResponse' + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + application/xml: + schema: + $ref: '#/components/schemas/RelatedResponse' + application/json: + schema: + $ref: '#/components/schemas/RelatedResponse' + /reports/datadownloads: + get: + tags: + - records + summary: Get list of metadata file downloads + operationId: getReportDataDownloads + parameters: + - name: dateFrom + in: query + description: From date of the metadata downloads + required: true + schema: + type: string + - name: dateTo + in: query + description: To date of the metadata downloads + required: true + schema: + type: string + - name: groups + in: query + description: Metadata group(s) + required: false + schema: + type: array + items: + type: integer + format: int32 + responses: + default: + description: default response + content: + application/json: {} + "200": + description: List of metadata file downloads. + /records/{metadataUuid}/doi: + put: + tags: + - records + summary: Submit a record to the Datacite metadata store in order to create a + DOI. + operationId: createDoi + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Metadata not found. + content: + application/json: + schema: + type: object + additionalProperties: + type: string + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + application/json: + schema: + type: object + additionalProperties: + type: string + "500": + description: Service unavailable. + content: + application/json: + schema: + type: object + additionalProperties: + type: string + "201": + description: Check status of the report. + content: + application/json: + schema: + type: object + additionalProperties: + type: string + delete: + tags: + - records + summary: "Remove a DOI (this is not recommended, DOI are supposed to be persistent\ + \ once created. This is mainly here for testing)." + operationId: unregisterDoi + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Metadata or DOI not found. + content: + application/json: + schema: + type: string + "204": + description: DOI unregistered. + content: + application/json: + schema: + type: string + "403": + description: Operation not allowed. Only Administrators can access it. + content: + application/json: + schema: + type: string + "500": + description: Service unavailable. + content: + application/json: + schema: + type: string + /processes/reports: + get: + tags: + - processes + summary: Get current process reports + description: "When processing, the report is stored in memory and allows to\ + \ retrieve progress repport during processing. Usually, process reports are\ + \ returned by the synchronous processing operation." + operationId: getProcessReport + responses: + default: + description: default response + content: + application/json: {} + "200": + description: List of reports returned. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProcessingReport' + "403": + description: Operation not allowed. Only authenticated user can access it. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ProcessingReport' + delete: + tags: + - processes + summary: Clear process reports list + operationId: delete + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. Only authenticated user can access it. + "204": + description: Report registry cleared. + /records/{metadataUuid}/doi/checkPreConditions: + get: + tags: + - records + summary: Check that a record can be submitted to DataCite for DOI creation. + DataCite requires some fields to be populated. + operationId: checkDoiStatus + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Record can be proposed to DataCite. + content: + application/json: + schema: + type: object + additionalProperties: + type: boolean + "404": + description: Metadata not found. + content: + application/json: + schema: + type: object + additionalProperties: + type: boolean + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + application/json: + schema: + type: object + additionalProperties: + type: boolean + "500": + description: Service unavailable. + content: + application/json: + schema: + type: object + additionalProperties: + type: boolean + "400": + description: Record does not meet preconditions. Check error message. + content: + application/json: + schema: + type: object + additionalProperties: + type: boolean + /records/{metadataUuid}: + get: + tags: + - records + summary: Get a metadata record + description: "Depending on the accept header the appropriate formatter is used.\ + \ When requesting a ZIP, a MEF version 2 file is returned. When requesting\ + \ HTML, the default formatter is used." + operationId: getRecord + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: Accept + in: header + description: "Accept header should indicate which is the appropriate format\ + \ to return. It could be text/html, application/xml, application/zip, ...If\ + \ no appropriate Accept header found, the XML format is returned." + required: true + schema: + type: string + default: application/xml + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Resource not found. + content: + text/html: + schema: + type: string + application/xml: + schema: + type: string + application/xhtml+xml: + schema: + type: string + application/json: + schema: + type: string + application/pdf: + schema: + type: string + application/zip: + schema: + type: string + application/x-gn-mef-1-zip: + schema: + type: string + application/x-gn-mef-2-zip: + schema: + type: string + '*/*': + schema: + type: string + "200": + description: Return the record. + content: + text/html: + schema: + type: string + application/xml: + schema: + type: string + application/xhtml+xml: + schema: + type: string + application/json: + schema: + type: string + application/pdf: + schema: + type: string + application/zip: + schema: + type: string + application/x-gn-mef-1-zip: + schema: + type: string + application/x-gn-mef-2-zip: + schema: + type: string + '*/*': + schema: + type: string + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + text/html: + schema: + type: string + application/xml: + schema: + type: string + application/xhtml+xml: + schema: + type: string + application/json: + schema: + type: string + application/pdf: + schema: + type: string + application/zip: + schema: + type: string + application/x-gn-mef-1-zip: + schema: + type: string + application/x-gn-mef-2-zip: + schema: + type: string + '*/*': + schema: + type: string + delete: + tags: + - records + summary: Delete a record + description: "User MUST be able to edit the record to delete it. By default,\ + \ a backup is made in ZIP format. After that, the record attachments are removed,\ + \ the document removed from the index and then from the database." + operationId: deleteRecord + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: withBackup + in: query + description: Backup first the record as MEF in the metadata removed folder. + required: false + schema: + type: boolean + default: true + responses: + default: + description: default response + content: + application/json: {} + "204": + description: Record deleted. + "401": + description: This template is referenced + "403": + description: Operation not allowed. User needs to be able to edit the resource. + /records/{metadataUuid}/publish: + put: + tags: + - records + summary: Set privileges for ALL group to publish the metadata for all users. + operationId: publish_1 + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + type: string + description: Publication type + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. User needs to be able to edit the resource. + "204": + description: Settings updated. + /records/pdf: + get: + tags: + - records + summary: Get a set of metadata records as PDF + description: "The PDF is a short summary of each records with links to the complete\ + \ metadata record in different format (ie. landing page on the portal, XML)" + operationId: exportAsPdf + parameters: + - name: uuids + in: query + description: Record UUIDs. If null current selection is used. + required: false + schema: + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name + required: false + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Return requested records as PDF. + "403": + description: Operation not allowed. User needs to be able to view the resource. + /records/{metadataUuid}/featureCatalog: + get: + tags: + - records + summary: Returns a map to decode attributes in a dataset (from the associated + feature catalog) + operationId: getFeatureCatalog + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: approved + in: query + description: Use approved version or not + required: false + schema: + type: boolean + default: true + example: true + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Return the associated resources. + content: + application/xml: + schema: + $ref: '#/components/schemas/FeatureResponse' + application/json: + schema: + $ref: '#/components/schemas/FeatureResponse' + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + application/xml: + schema: + $ref: '#/components/schemas/FeatureResponse' + application/json: + schema: + $ref: '#/components/schemas/FeatureResponse' + /formatters: + get: + tags: + - formatters + summary: Get formatters + operationId: listFormatters + parameters: + - name: id + in: query + required: false + schema: + type: string + - name: uuid + in: query + required: false + schema: + type: string + - name: schema + in: query + required: false + schema: + type: string + default: all + - name: pluginOnly + in: query + required: false + schema: + type: boolean + default: false + - name: publishedOnly + in: query + required: false + schema: + type: boolean + default: true + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/FormatterDataResponse' + post: + tags: + - formatters + summary: Import a XSLT formatter (usually a zip named 'schema-formatter.zip') + operationId: addFormatter + parameters: + - name: file + in: query + required: true + schema: + type: array + items: + type: string + format: binary + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Created + /site/info/build: + get: + tags: + - site + summary: Get build details + description: To know when and how this version of the application was built. + operationId: getSystemInfo + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Build info. + content: + application/json: + schema: + $ref: '#/components/schemas/SystemInfo' + /records/{metadataUuid}/formatters/{formatterId}: + get: + tags: + - records + summary: Get a formatted metadata record + operationId: getRecordFormattedBy + parameters: + - name: Accept + in: header + description: Formatter type to use. + required: false + schema: + type: string + default: text/html + - name: formatterId + in: path + required: true + schema: + type: string + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: width + in: query + required: false + schema: + type: string + enum: + - _25 + - _50 + - _75 + - _100 + default: _100 + - name: mdpath + in: query + required: false + schema: + type: string + - name: language + in: query + description: Optional language ISO 3 letters code to override HTTP Accept-language + header. + required: false + schema: + type: string + - name: output + in: query + required: false + schema: + type: string + enum: + - txt + - html + - xml + - json + - jsonld + - pdf + - testpdf + - name: approved + in: query + description: Download the approved version + required: false + schema: + type: boolean + default: true + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + /records/{metadataUuid}/userfeedback: + get: + tags: + - userfeedback + summary: 'Finds a list of user feedback for a specific records. ' + description: ' This list will include also the draft user feedback if the client + is logged as reviewer.' + operationId: getUserCommentsOnARecord + parameters: + - name: metadataUuid + in: path + description: Metadata record UUID. + required: true + schema: + type: string + - name: size + in: query + description: Maximum number of feedback to return. + required: false + schema: + type: integer + format: int32 + default: -1 + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserFeedbackDTO' + /pages: + get: + tags: + - pages + summary: List all pages according to the filters + description: More + info + operationId: listPages + parameters: + - name: language + in: query + required: false + schema: + type: string + - name: section + in: query + required: false + schema: + type: string + enum: + - TOP + - FOOTER + - MENU + - SUBMENU + - CUSTOM_MENU1 + - CUSTOM_MENU2 + - CUSTOM_MENU3 + - name: format + in: query + required: false + schema: + type: string + enum: + - LINK + - HTML + - HTMLPAGE + - TEXT + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + '*/*': + schema: + type: array + items: + $ref: '#/components/schemas/PageProperties' + put: + tags: + - pages + summary: Add a page + description:

Is not possible to load a link and a file at the same time.

+ More + info + operationId: addPageWithoutUploadingFile + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PageProperties' + required: true + responses: + default: + description: default response + content: + application/json: {} + "500": + description: File not valid + content: + '*/*': + schema: + type: string + "400": + description: Wrong parameters are provided + content: + '*/*': + schema: + type: string + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + '*/*': + schema: + type: string + "201": + description: Page saved + content: + '*/*': + schema: + type: string + "409": + description: "Page already in the system: use PUT" + content: + '*/*': + schema: + type: string + post: + tags: + - pages + summary: Add a page by uploading a file + description:

Is not possible to load a link and a file at the same time.

+ More + info + operationId: addPageUploadingFile + parameters: + - name: language + in: query + required: true + schema: + type: string + - name: pageId + in: query + required: true + schema: + type: string + - name: sections + in: query + required: false + schema: + type: array + items: + type: string + enum: + - TOP + - FOOTER + - MENU + - SUBMENU + - CUSTOM_MENU1 + - CUSTOM_MENU2 + - CUSTOM_MENU3 + - name: status + in: query + required: false + schema: + type: string + enum: + - PUBLIC + - PUBLIC_ONLY + - PRIVATE + - HIDDEN + - name: format + in: query + required: false + schema: + type: string + enum: + - LINK + - HTML + - HTMLPAGE + - TEXT + requestBody: + content: + multipart/form-data: + schema: + required: + - data + type: object + properties: + data: + type: string + format: binary + responses: + default: + description: default response + content: + application/json: {} + "500": + description: File not valid + content: + '*/*': + schema: + type: string + "400": + description: Wrong parameters are provided + content: + '*/*': + schema: + type: string + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + '*/*': + schema: + type: string + "201": + description: Page saved + content: + '*/*': + schema: + type: string + "409": + description: "Page already in the system: use PUT" + content: + '*/*': + schema: + type: string + /i18n/packages/{pack}: + get: + tags: + - tools + summary: Get a translation package. + operationId: getTranslationsPackage_1 + parameters: + - name: pack + in: path + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: object + additionalProperties: + type: string + /records/{metadataUuid}/status: + get: + tags: + - records + summary: Get record status history + operationId: getRecordStatusHistory + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: details + in: query + required: false + schema: + type: boolean + - name: sortOrder + in: query + description: Sort direction + required: false + schema: + type: string + enum: + - ASC + - DESC + default: DESC + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: {} + put: + tags: + - records + summary: Set the record status + operationId: setStatus + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataStatusParameter' + required: true + responses: + default: + description: default response + content: + application/json: {} + "400": + description: Metadata workflow not enabled. + content: + '*/*': + schema: + type: object + additionalProperties: + type: string + enum: + - UPDATED + - UNCHANGED + - DELETED + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + '*/*': + schema: + type: object + additionalProperties: + type: string + enum: + - UPDATED + - UNCHANGED + - DELETED + "201": + description: Status updated. + content: + '*/*': + schema: + type: object + additionalProperties: + type: string + enum: + - UPDATED + - UNCHANGED + - DELETED + delete: + tags: + - records + summary: Delete all record status + operationId: deleteAllRecordStatus + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Status not found. + "403": + description: Operation not allowed. Only Administrators can access it. + "204": + description: Status removed. + /users/{userIdentifier}/actions/forget-password: + post: + tags: + - users + summary: Resets user password + description: Resets the user password. + operationId: resetUserPassword + parameters: + - name: userIdentifier + in: path + description: User identifier. + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordResetDto' + required: true + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: string + /reports/metadataupdated: + get: + tags: + - records + summary: Get the updated metadata during a period. + operationId: getReportUpdatedMetadata + parameters: + - name: dateFrom + in: query + description: From date of metadata change date + required: true + schema: + type: string + - name: dateTo + in: query + description: To date of metadata change date + required: true + schema: + type: string + - name: groups + in: query + description: Metadata group(s) + required: false + schema: + type: array + items: + type: integer + format: int32 + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Updated metadata during a period. + /records/versions: + put: + tags: + - records + summary: (Experimental) Enable version control for one or more records + operationId: enableVersionControlForRecords + parameters: + - name: uuids + in: query + description: Record UUIDs. If null current selection is used. + required: false + schema: + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name + required: false + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataProcessingReport' + /harvesters/{harvesterUuid}/assign: + post: + tags: + - harvesters + summary: Assign harvester records to a new source + operationId: assignHarvestedRecordToSource + parameters: + - name: harvesterUuid + in: path + description: The harvester UUID + required: true + schema: + type: string + - name: source + in: query + description: The target source UUID + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Resource not found. + content: + application/json: + schema: + type: string + enum: + - 100 CONTINUE + - 101 SWITCHING_PROTOCOLS + - 102 PROCESSING + - 103 CHECKPOINT + - 200 OK + - 201 CREATED + - 202 ACCEPTED + - 203 NON_AUTHORITATIVE_INFORMATION + - 204 NO_CONTENT + - 205 RESET_CONTENT + - 206 PARTIAL_CONTENT + - 207 MULTI_STATUS + - 208 ALREADY_REPORTED + - 226 IM_USED + - 300 MULTIPLE_CHOICES + - 301 MOVED_PERMANENTLY + - 302 FOUND + - 302 MOVED_TEMPORARILY + - 303 SEE_OTHER + - 304 NOT_MODIFIED + - 305 USE_PROXY + - 307 TEMPORARY_REDIRECT + - 308 PERMANENT_REDIRECT + - 400 BAD_REQUEST + - 401 UNAUTHORIZED + - 402 PAYMENT_REQUIRED + - 403 FORBIDDEN + - 404 NOT_FOUND + - 405 METHOD_NOT_ALLOWED + - 406 NOT_ACCEPTABLE + - 407 PROXY_AUTHENTICATION_REQUIRED + - 408 REQUEST_TIMEOUT + - 409 CONFLICT + - 410 GONE + - 411 LENGTH_REQUIRED + - 412 PRECONDITION_FAILED + - 413 PAYLOAD_TOO_LARGE + - 413 REQUEST_ENTITY_TOO_LARGE + - 414 URI_TOO_LONG + - 414 REQUEST_URI_TOO_LONG + - 415 UNSUPPORTED_MEDIA_TYPE + - 416 REQUESTED_RANGE_NOT_SATISFIABLE + - 417 EXPECTATION_FAILED + - 418 I_AM_A_TEAPOT + - 419 INSUFFICIENT_SPACE_ON_RESOURCE + - 420 METHOD_FAILURE + - 421 DESTINATION_LOCKED + - 422 UNPROCESSABLE_ENTITY + - 423 LOCKED + - 424 FAILED_DEPENDENCY + - 425 TOO_EARLY + - 426 UPGRADE_REQUIRED + - 428 PRECONDITION_REQUIRED + - 429 TOO_MANY_REQUESTS + - 431 REQUEST_HEADER_FIELDS_TOO_LARGE + - 451 UNAVAILABLE_FOR_LEGAL_REASONS + - 500 INTERNAL_SERVER_ERROR + - 501 NOT_IMPLEMENTED + - 502 BAD_GATEWAY + - 503 SERVICE_UNAVAILABLE + - 504 GATEWAY_TIMEOUT + - 505 HTTP_VERSION_NOT_SUPPORTED + - 506 VARIANT_ALSO_NEGOTIATES + - 507 INSUFFICIENT_STORAGE + - 508 LOOP_DETECTED + - 509 BANDWIDTH_LIMIT_EXCEEDED + - 510 NOT_EXTENDED + - 511 NETWORK_AUTHENTICATION_REQUIRED + "403": + description: Operation not allowed. Only UserAdmins can access it. + content: + application/json: + schema: + type: string + enum: + - 100 CONTINUE + - 101 SWITCHING_PROTOCOLS + - 102 PROCESSING + - 103 CHECKPOINT + - 200 OK + - 201 CREATED + - 202 ACCEPTED + - 203 NON_AUTHORITATIVE_INFORMATION + - 204 NO_CONTENT + - 205 RESET_CONTENT + - 206 PARTIAL_CONTENT + - 207 MULTI_STATUS + - 208 ALREADY_REPORTED + - 226 IM_USED + - 300 MULTIPLE_CHOICES + - 301 MOVED_PERMANENTLY + - 302 FOUND + - 302 MOVED_TEMPORARILY + - 303 SEE_OTHER + - 304 NOT_MODIFIED + - 305 USE_PROXY + - 307 TEMPORARY_REDIRECT + - 308 PERMANENT_REDIRECT + - 400 BAD_REQUEST + - 401 UNAUTHORIZED + - 402 PAYMENT_REQUIRED + - 403 FORBIDDEN + - 404 NOT_FOUND + - 405 METHOD_NOT_ALLOWED + - 406 NOT_ACCEPTABLE + - 407 PROXY_AUTHENTICATION_REQUIRED + - 408 REQUEST_TIMEOUT + - 409 CONFLICT + - 410 GONE + - 411 LENGTH_REQUIRED + - 412 PRECONDITION_FAILED + - 413 PAYLOAD_TOO_LARGE + - 413 REQUEST_ENTITY_TOO_LARGE + - 414 URI_TOO_LONG + - 414 REQUEST_URI_TOO_LONG + - 415 UNSUPPORTED_MEDIA_TYPE + - 416 REQUESTED_RANGE_NOT_SATISFIABLE + - 417 EXPECTATION_FAILED + - 418 I_AM_A_TEAPOT + - 419 INSUFFICIENT_SPACE_ON_RESOURCE + - 420 METHOD_FAILURE + - 421 DESTINATION_LOCKED + - 422 UNPROCESSABLE_ENTITY + - 423 LOCKED + - 424 FAILED_DEPENDENCY + - 425 TOO_EARLY + - 426 UPGRADE_REQUIRED + - 428 PRECONDITION_REQUIRED + - 429 TOO_MANY_REQUESTS + - 431 REQUEST_HEADER_FIELDS_TOO_LARGE + - 451 UNAVAILABLE_FOR_LEGAL_REASONS + - 500 INTERNAL_SERVER_ERROR + - 501 NOT_IMPLEMENTED + - 502 BAD_GATEWAY + - 503 SERVICE_UNAVAILABLE + - 504 GATEWAY_TIMEOUT + - 505 HTTP_VERSION_NOT_SUPPORTED + - 506 VARIANT_ALSO_NEGOTIATES + - 507 INSUFFICIENT_STORAGE + - 508 LOOP_DETECTED + - 509 BANDWIDTH_LIMIT_EXCEEDED + - 510 NOT_EXTENDED + - 511 NETWORK_AUTHENTICATION_REQUIRED + "204": + description: Harvester records transfered to new source. + content: + application/json: + schema: + type: string + enum: + - 100 CONTINUE + - 101 SWITCHING_PROTOCOLS + - 102 PROCESSING + - 103 CHECKPOINT + - 200 OK + - 201 CREATED + - 202 ACCEPTED + - 203 NON_AUTHORITATIVE_INFORMATION + - 204 NO_CONTENT + - 205 RESET_CONTENT + - 206 PARTIAL_CONTENT + - 207 MULTI_STATUS + - 208 ALREADY_REPORTED + - 226 IM_USED + - 300 MULTIPLE_CHOICES + - 301 MOVED_PERMANENTLY + - 302 FOUND + - 302 MOVED_TEMPORARILY + - 303 SEE_OTHER + - 304 NOT_MODIFIED + - 305 USE_PROXY + - 307 TEMPORARY_REDIRECT + - 308 PERMANENT_REDIRECT + - 400 BAD_REQUEST + - 401 UNAUTHORIZED + - 402 PAYMENT_REQUIRED + - 403 FORBIDDEN + - 404 NOT_FOUND + - 405 METHOD_NOT_ALLOWED + - 406 NOT_ACCEPTABLE + - 407 PROXY_AUTHENTICATION_REQUIRED + - 408 REQUEST_TIMEOUT + - 409 CONFLICT + - 410 GONE + - 411 LENGTH_REQUIRED + - 412 PRECONDITION_FAILED + - 413 PAYLOAD_TOO_LARGE + - 413 REQUEST_ENTITY_TOO_LARGE + - 414 URI_TOO_LONG + - 414 REQUEST_URI_TOO_LONG + - 415 UNSUPPORTED_MEDIA_TYPE + - 416 REQUESTED_RANGE_NOT_SATISFIABLE + - 417 EXPECTATION_FAILED + - 418 I_AM_A_TEAPOT + - 419 INSUFFICIENT_SPACE_ON_RESOURCE + - 420 METHOD_FAILURE + - 421 DESTINATION_LOCKED + - 422 UNPROCESSABLE_ENTITY + - 423 LOCKED + - 424 FAILED_DEPENDENCY + - 425 TOO_EARLY + - 426 UPGRADE_REQUIRED + - 428 PRECONDITION_REQUIRED + - 429 TOO_MANY_REQUESTS + - 431 REQUEST_HEADER_FIELDS_TOO_LARGE + - 451 UNAVAILABLE_FOR_LEGAL_REASONS + - 500 INTERNAL_SERVER_ERROR + - 501 NOT_IMPLEMENTED + - 502 BAD_GATEWAY + - 503 SERVICE_UNAVAILABLE + - 504 GATEWAY_TIMEOUT + - 505 HTTP_VERSION_NOT_SUPPORTED + - 506 VARIANT_ALSO_NEGOTIATES + - 507 INSUFFICIENT_STORAGE + - 508 LOOP_DETECTED + - 509 BANDWIDTH_LIMIT_EXCEEDED + - 510 NOT_EXTENDED + - 511 NETWORK_AUTHENTICATION_REQUIRED + /records/{metadataUuid}/attachments: + get: + tags: + - records + summary: List all metadata attachments + description: More + info + operationId: getAllResources + parameters: + - name: metadataUuid + in: path + description: The metadata UUID + required: true + schema: + type: string + example: 43d7c186-2187-4bcd-8843-41e575a5ef56 + - name: sort + in: query + description: Sort by + required: false + schema: + type: string + enum: + - type + - name + default: name + example: type + - name: approved + in: query + description: Use approved version or not + required: false + schema: + type: boolean + default: true + example: true + - name: filter + in: query + required: false + schema: + type: string + default: '*.*' + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Return the record attachments. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MetadataResource' + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MetadataResource' + put: + tags: + - records + summary: Create a new resource from a URL for a given metadata + operationId: putResourceFromURL + parameters: + - name: metadataUuid + in: path + description: The metadata UUID + required: true + schema: + type: string + example: 43d7c186-2187-4bcd-8843-41e575a5ef56 + - name: visibility + in: query + description: The sharing policy + required: false + schema: + type: string + enum: + - public + - private + default: public + example: public + - name: url + in: query + description: The URL to load in the store + required: true + schema: + type: string + format: url + - name: approved + in: query + description: Use approved version or not + required: false + schema: + type: boolean + default: false + example: true + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Attachment added. + content: + '*/*': + schema: + $ref: '#/components/schemas/MetadataResource' + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + '*/*': + schema: + $ref: '#/components/schemas/MetadataResource' + post: + tags: + - records + summary: Create a new resource for a given metadata + operationId: putResource + parameters: + - name: metadataUuid + in: path + description: The metadata UUID + required: true + schema: + type: string + example: 43d7c186-2187-4bcd-8843-41e575a5ef56 + - name: visibility + in: query + description: The sharing policy + required: false + schema: + type: string + enum: + - public + - private + default: public + example: public + - name: approved + in: query + description: Use approved version or not + required: false + schema: + type: boolean + default: false + example: true + requestBody: + content: + application/json: + schema: + required: + - file + type: object + properties: + file: + type: string + description: The file to upload + format: binary + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataResource' + "201": + description: Attachment uploaded. + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataResource' + delete: + tags: + - records + summary: Delete all uploaded metadata resources + operationId: delResources + parameters: + - name: metadataUuid + in: path + description: The metadata UUID + required: true + schema: + type: string + example: 43d7c186-2187-4bcd-8843-41e575a5ef56 + - name: approved + in: query + description: Use approved version or not + required: false + schema: + type: boolean + default: false + example: true + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. User needs to be able to edit the resource. + "204": + description: Attachment added. + /groups/{groupIdentifier}/users: + get: + tags: + - groups + summary: Get group users + operationId: getGroupUsers + parameters: + - name: groupIdentifier + in: path + description: Group identifier + required: true + schema: + type: integer + format: int32 + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Resource not found. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/User' + "403": + description: Operation not allowed. Only UserAdmins can access it. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/User' + "200": + description: List of users in that group. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/User' + /records/{metadataUuid}/query/{savedQuery}: + post: + tags: + - records + summary: Apply a saved query for this metadata + description: "All parameters will be substituted to the XPath query. eg. {{protocol}}\ + \ in the XPath expression will be replaced by the protocol parameter provided\ + \ in the request body." + operationId: applyQuery + parameters: + - name: metadataUuid + in: path + description: The metadata UUID + required: true + schema: + type: string + example: 43d7c186-2187-4bcd-8843-41e575a5ef56 + - name: savedQuery + in: path + description: The saved query to apply + required: true + schema: + type: string + example: wfs-indexing-config + responses: + default: + description: default response + content: + application/json: {} + "200": + description: "List of matching elements. If element are nodes, then they\ + \ are returned as string." + content: + application/json: + schema: + type: object + additionalProperties: + type: string + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + application/json: + schema: + type: object + additionalProperties: + type: string + /records/{metadataUuid}/extents.json: + get: + tags: + - records + summary: Get list of record extents + description: | + A rendering of the geometry as a png. If no background is specified the image will be transparent. In getMap the envelope of the geometry is calculated then it is expanded by a factor. That factor is the size of the map. This allows the map to be slightly bigger than the geometry allowing some context to be shown. This parameter allows different factors to be chosen per scale level. + Proportion is the proportion of the world that the geometry covers (bounds of WGS84)/(bounds of geometry in WGS84) + + Named backgrounds allow the background parameter to be a simple key and the complete URL will be looked up from this list of named backgrounds + operationId: getAllRecordExtentAsJson + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ExtentDto' + /userselections/{selectionIdentifier}: + put: + tags: + - userselections + summary: Update a user selection set + operationId: updateUserSelection + parameters: + - name: selectionIdentifier + in: path + description: Selection identifier + required: true + schema: + type: integer + format: int32 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Selection' + required: true + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. Only UserAdmins can access it. + content: + '*/*': + schema: + type: string + "404": + description: Selection not found. + content: + '*/*': + schema: + type: string + "204": + description: Selection updated. + content: + '*/*': + schema: + type: string + delete: + tags: + - userselections + summary: Remove a user selection set + operationId: deleteUserSelection + parameters: + - name: selectionIdentifier + in: path + description: Selection identifier + required: true + schema: + type: integer + format: int32 + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. Only UserAdmins can access it. + content: + '*/*': + schema: + type: string + "404": + description: Selection not found. + content: + '*/*': + schema: + type: string + "204": + description: Selection removed. + content: + '*/*': + schema: + type: string + /logos/{file}: + get: + tags: + - logos + summary: Get a logo + operationId: getLogo + parameters: + - name: file + in: path + description: The logo filename + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Resource not found. + "403": + description: Operation not allowed. Only UserAdmins can access it. + "200": + description: Logo returned. + delete: + tags: + - logos + summary: Remove a logo + operationId: deleteLogo + parameters: + - name: file + in: path + description: The logo filename to delete + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "404": + description: Resource not found. + "403": + description: Operation not allowed. Only UserAdmins can access it. + "204": + description: Logo removed. + /pages/config/status: + get: + tags: + - pages + operationId: getPageStatus + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Page found + content: + application/json: + schema: + type: array + items: + type: string + enum: + - PUBLIC + - PUBLIC_ONLY + - PRIVATE + - HIDDEN + /languages/application: + get: + tags: + - languages + summary: Get languages available in the application + description: Languages available in this version of the application. Those that + you can add using PUT operation and which have SQL script to initialize the + language. + operationId: getApplicationLanguages + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Language' + /search/records/_search: + post: + tags: + - search + summary: Search endpoint + description: See https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html + for search parameters details. + operationId: search + parameters: + - name: bucket + in: query + required: false + schema: + type: string + default: metadata + - name: relatedType + in: query + description: "Type of related resource. If none, no associated resource returned." + required: false + schema: + type: array + items: + type: string + enum: + - children + - parent + - brothersAndSisters + - siblings + - associated + - services + - datasets + - fcats + - hasfeaturecats + - sources + - hassources + - related + - onlines + - thumbnails + default: [] + requestBody: + description: JSON request based on Elasticsearch API. + content: + application/json: + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + /site/logging/activity/zip: + get: + tags: + - site + summary: Get last activity in a ZIP + operationId: getLastActivityInAZip + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + /records/{metadataUuid}/status/workflow/last: + get: + tags: + - records + summary: Get last workflow status for a record + operationId: getStatus + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Record status. + content: {} + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: {} + /tools/ogc/sld/{id}.{extension}: + get: + tags: + - tools + summary: Download a SLD + operationId: downloadSLD + parameters: + - name: id + in: path + description: The SLD identifier + required: true + schema: + type: integer + format: int32 + - name: extension + in: path + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + /status: + get: + tags: + - status + summary: Get status + operationId: getStatusList + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/StatusValue' + delete: + tags: + - status + summary: Delete all record history and status + operationId: deleteAllHistoryAndStatus + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. Only Administrators can access it. + "204": + description: Status removed. + /pages/config/formats: + get: + tags: + - pages + operationId: getPageFormats + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Page found + content: + application/json: + schema: + type: array + items: + type: string + enum: + - LINK + - HTML + - HTMLPAGE + - TEXT + /site/index: + put: + tags: + - site + summary: Index + operationId: index + parameters: + - name: reset + in: query + description: Drop and recreate index + required: false + schema: + type: boolean + default: true + - name: asynchronous + in: query + description: Asynchronous mode (only on all records. ie. no selection bucket) + required: false + schema: + type: boolean + default: false + - name: havingXlinkOnly + in: query + description: Records having only XLinks + required: false + schema: + type: boolean + default: false + - name: indices + in: query + description: Index. By default only remove record index. + required: false + schema: + type: array + items: + type: string + default: + - records + - name: bucket + in: query + description: Selection bucket name + required: false + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: string + /site/info/staging/{profile}: + put: + tags: + - site + summary: Update staging profile + description: "TODO: Needs doc" + operationId: updateStagingProfile + parameters: + - name: profile + in: path + required: true + schema: + type: string + enum: + - testing + - development + - production + responses: + default: + description: default response + content: + application/json: {} + "204": + description: Staging profile saved. + "403": + description: Operation not allowed. Only Administrators can access it. + /usersearches/all: + get: + tags: + - usersearches + summary: Get user custom searches for all users (no paginated) + operationId: getAllUserCustomSearches + parameters: + - name: featuredType + in: query + description: Featured type search. + required: false + schema: + type: string + enum: + - HOME + - EDITOR_BOARD + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UserSearchDto' + /records/{metadataUuid}/validate/internal: + put: + tags: + - records + summary: Validate a record + description: "User MUST be able to edit the record to validate it. FIXME : id\ + \ MUST be the id of the current metadata record in session ?" + operationId: validateRecord + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: isvalid + in: query + description: "Validation status. Should be provided only in case of SUBTEMPLATE\ + \ validation. If provided for another type, throw a BadParameter Exception" + required: false + schema: + type: boolean + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Validation report. + content: + application/json: + schema: + $ref: '#/components/schemas/Reports' + application/xml: + schema: + $ref: '#/components/schemas/Reports' + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/Reports' + application/xml: + schema: + $ref: '#/components/schemas/Reports' + /related: + get: + tags: + - related + summary: Get record related resources for all requested metadatas + description: "Retrieve related services, datasets, onlines, thumbnails, sources,\ + \ ... to all requested records.
More\ + \ info" + operationId: getAssociatedResourcesForRecords + parameters: + - name: type + in: query + description: "Type of related resource. If none, all resources are returned." + required: false + schema: + type: array + items: + type: string + enum: + - children + - parent + - brothersAndSisters + - siblings + - associated + - services + - datasets + - fcats + - hasfeaturecats + - sources + - hassources + - related + - onlines + - thumbnails + default: [] + - name: uuid + in: query + description: Uuids of the metadatas you request the relations from. + required: false + schema: + type: array + items: + type: string + default: [] + - name: approved + in: query + description: Use approved version or not + required: false + schema: + type: boolean + default: true + example: true + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Return the associated resources. + content: + application/xml: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/RelatedResponse' + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/RelatedResponse' + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + application/xml: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/RelatedResponse' + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/RelatedResponse' + /mapservers: + get: + tags: + - mapservers + summary: Get mapservers + description: "Mapservers are used by the catalog to publish record attachments\ + \ (eg. ZIP file with shape) or record associated resources (eg. database table,\ + \ file on the local network) in a remote mapserver like GeoServer or MapServer.\ + \ The catalog communicate with the mapserver using GeoServer REST API." + operationId: getMapservers + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. Only Editors can access it. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AnonymousMapserver' + put: + tags: + - mapservers + summary: Add a mapserver + description: Return the id of the newly created mapserver. + operationId: addMapserver + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MapServer' + required: true + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Mapserver created. + content: + application/json: + schema: + type: integer + format: int32 + "400": + description: Bad parameters. + content: + application/json: + schema: + type: integer + format: int32 + "403": + description: Operation not allowed. Only Reviewvers can access it. + content: + application/json: + schema: + type: integer + format: int32 + /userfeedback/ratingcriteria: + get: + tags: + - userfeedback + summary: Get list of rating criteria + operationId: getRatingCriteria + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RatingCriteria' + /records/{metadataUuid}/query: + get: + tags: + - records + summary: List saved queries for this metadata + operationId: getSavedQueries + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Saved query available. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SavedQuery' + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/SavedQuery' + /ui/{uiIdentifier}: + get: + tags: + - ui + summary: Get a UI configuration + operationId: getUiConfiguration + parameters: + - name: uiIdentifier + in: path + description: UI identifier + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: UI configuration. + content: + application/json: + schema: + $ref: '#/components/schemas/UiSetting' + put: + tags: + - ui + summary: Update a UI configuration + operationId: updateUiConfiguration + parameters: + - name: uiIdentifier + in: path + description: UI configuration identifier + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UiSetting' + required: true + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. Only UserAdmins can access it. + content: + '*/*': + schema: + type: string + "204": + description: UI configuration updated. + content: + '*/*': + schema: + type: string + delete: + tags: + - ui + summary: Remove a UI Configuration + operationId: deleteUiConfiguration + parameters: + - name: uiIdentifier + in: path + description: UI configuration identifier + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. Only UserAdmins can access it. + content: + '*/*': + schema: + type: string + "204": + description: UI Configuration removed. + content: + '*/*': + schema: + type: string + "404": + description: UI Configuration not found. + content: + '*/*': + schema: + type: string + /operations: + get: + tags: + - operations + summary: Get operations + description: "Return the list of operations. Operations are used to define authorization\ + \ per group. Extending the list of default operations (ie. view, dynamic,\ + \ download, editing, notify, featured) might be feasible but is experimental.
\ + \ Featured is not really used anymore (was used in past version for home page\ + \ highlights)." + operationId: getOperations + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Operation' + /records/links/analyzeurl: + post: + tags: + - links + summary: Analyze one or more links + operationId: analyzeLinks + parameters: + - name: url + in: query + description: URL + required: false + schema: + type: array + items: + type: string + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Created + /site/info/notificationLevels: + get: + tags: + - site + summary: Get notification levels + operationId: getNotificationLevel + responses: + default: + description: default response + content: + application/json: {} + "200": + description: List of notification levels. + content: + application/json: + schema: + type: array + items: + type: string + enum: + - statusUserOwner + - catalogueAdministrator + - catalogueProfileAdministrator + - catalogueProfileUserAdmin + - catalogueProfileReviewer + - catalogueProfileEditor + - catalogueProfileRegisteredUser + - catalogueProfileGuest + - recordProfileReviewer + - recordUserAuthor + - recordGroupEmail + /userfeedback/{uuid}: + get: + tags: + - userfeedback + summary: Finds a specific user feedback + operationId: getUserComment + parameters: + - name: uuid + in: path + description: User feedback UUID. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UserFeedbackDTO' + delete: + tags: + - userfeedback + summary: Removes a user feedback + description: Removes a user feedback + operationId: deleteUserFeedback + parameters: + - name: uuid + in: path + description: User feedback UUID. + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "204": + description: User feedback removed. + content: + application/json: + schema: + type: string + "403": + description: Operation not allowed. Only Reviewvers can access it. + content: + application/json: + schema: + type: string + /records/{testId}/validate/inspire: + get: + tags: + - records + summary: Check the status of validation with the INSPIRE service. + description: 'User MUST be able to edit the record to validate it. An INSPIRE + endpoint must be configured in Settings. If the process is complete an object + with status is returned. ' + operationId: checkValidation + parameters: + - name: testId + in: path + description: Test identifier + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Report ready. + content: + application/json: + schema: + type: object + additionalProperties: + type: string + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + application/json: + schema: + type: object + additionalProperties: + type: string + "201": + description: Report not ready. + content: + application/json: + schema: + type: object + additionalProperties: + type: string + "404": + description: Report id not found. + content: + application/json: + schema: + type: object + additionalProperties: + type: string + /users/properties/{property}: + get: + tags: + - users + summary: Check if a user property already exist + operationId: checkUserPropertyExist + parameters: + - name: property + in: path + description: The user property to check + required: true + schema: + type: string + - name: exist + in: query + description: The value to search + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. Only UserAdmins can access it. + content: + '*/*': + schema: + type: string + enum: + - 100 CONTINUE + - 101 SWITCHING_PROTOCOLS + - 102 PROCESSING + - 103 CHECKPOINT + - 200 OK + - 201 CREATED + - 202 ACCEPTED + - 203 NON_AUTHORITATIVE_INFORMATION + - 204 NO_CONTENT + - 205 RESET_CONTENT + - 206 PARTIAL_CONTENT + - 207 MULTI_STATUS + - 208 ALREADY_REPORTED + - 226 IM_USED + - 300 MULTIPLE_CHOICES + - 301 MOVED_PERMANENTLY + - 302 FOUND + - 302 MOVED_TEMPORARILY + - 303 SEE_OTHER + - 304 NOT_MODIFIED + - 305 USE_PROXY + - 307 TEMPORARY_REDIRECT + - 308 PERMANENT_REDIRECT + - 400 BAD_REQUEST + - 401 UNAUTHORIZED + - 402 PAYMENT_REQUIRED + - 403 FORBIDDEN + - 404 NOT_FOUND + - 405 METHOD_NOT_ALLOWED + - 406 NOT_ACCEPTABLE + - 407 PROXY_AUTHENTICATION_REQUIRED + - 408 REQUEST_TIMEOUT + - 409 CONFLICT + - 410 GONE + - 411 LENGTH_REQUIRED + - 412 PRECONDITION_FAILED + - 413 PAYLOAD_TOO_LARGE + - 413 REQUEST_ENTITY_TOO_LARGE + - 414 URI_TOO_LONG + - 414 REQUEST_URI_TOO_LONG + - 415 UNSUPPORTED_MEDIA_TYPE + - 416 REQUESTED_RANGE_NOT_SATISFIABLE + - 417 EXPECTATION_FAILED + - 418 I_AM_A_TEAPOT + - 419 INSUFFICIENT_SPACE_ON_RESOURCE + - 420 METHOD_FAILURE + - 421 DESTINATION_LOCKED + - 422 UNPROCESSABLE_ENTITY + - 423 LOCKED + - 424 FAILED_DEPENDENCY + - 425 TOO_EARLY + - 426 UPGRADE_REQUIRED + - 428 PRECONDITION_REQUIRED + - 429 TOO_MANY_REQUESTS + - 431 REQUEST_HEADER_FIELDS_TOO_LARGE + - 451 UNAVAILABLE_FOR_LEGAL_REASONS + - 500 INTERNAL_SERVER_ERROR + - 501 NOT_IMPLEMENTED + - 502 BAD_GATEWAY + - 503 SERVICE_UNAVAILABLE + - 504 GATEWAY_TIMEOUT + - 505 HTTP_VERSION_NOT_SUPPORTED + - 506 VARIANT_ALSO_NEGOTIATES + - 507 INSUFFICIENT_STORAGE + - 508 LOOP_DETECTED + - 509 BANDWIDTH_LIMIT_EXCEEDED + - 510 NOT_EXTENDED + - 511 NETWORK_AUTHENTICATION_REQUIRED + "404": + description: A property with that value already exist. + content: + '*/*': + schema: + type: string + enum: + - 100 CONTINUE + - 101 SWITCHING_PROTOCOLS + - 102 PROCESSING + - 103 CHECKPOINT + - 200 OK + - 201 CREATED + - 202 ACCEPTED + - 203 NON_AUTHORITATIVE_INFORMATION + - 204 NO_CONTENT + - 205 RESET_CONTENT + - 206 PARTIAL_CONTENT + - 207 MULTI_STATUS + - 208 ALREADY_REPORTED + - 226 IM_USED + - 300 MULTIPLE_CHOICES + - 301 MOVED_PERMANENTLY + - 302 FOUND + - 302 MOVED_TEMPORARILY + - 303 SEE_OTHER + - 304 NOT_MODIFIED + - 305 USE_PROXY + - 307 TEMPORARY_REDIRECT + - 308 PERMANENT_REDIRECT + - 400 BAD_REQUEST + - 401 UNAUTHORIZED + - 402 PAYMENT_REQUIRED + - 403 FORBIDDEN + - 404 NOT_FOUND + - 405 METHOD_NOT_ALLOWED + - 406 NOT_ACCEPTABLE + - 407 PROXY_AUTHENTICATION_REQUIRED + - 408 REQUEST_TIMEOUT + - 409 CONFLICT + - 410 GONE + - 411 LENGTH_REQUIRED + - 412 PRECONDITION_FAILED + - 413 PAYLOAD_TOO_LARGE + - 413 REQUEST_ENTITY_TOO_LARGE + - 414 URI_TOO_LONG + - 414 REQUEST_URI_TOO_LONG + - 415 UNSUPPORTED_MEDIA_TYPE + - 416 REQUESTED_RANGE_NOT_SATISFIABLE + - 417 EXPECTATION_FAILED + - 418 I_AM_A_TEAPOT + - 419 INSUFFICIENT_SPACE_ON_RESOURCE + - 420 METHOD_FAILURE + - 421 DESTINATION_LOCKED + - 422 UNPROCESSABLE_ENTITY + - 423 LOCKED + - 424 FAILED_DEPENDENCY + - 425 TOO_EARLY + - 426 UPGRADE_REQUIRED + - 428 PRECONDITION_REQUIRED + - 429 TOO_MANY_REQUESTS + - 431 REQUEST_HEADER_FIELDS_TOO_LARGE + - 451 UNAVAILABLE_FOR_LEGAL_REASONS + - 500 INTERNAL_SERVER_ERROR + - 501 NOT_IMPLEMENTED + - 502 BAD_GATEWAY + - 503 SERVICE_UNAVAILABLE + - 504 GATEWAY_TIMEOUT + - 505 HTTP_VERSION_NOT_SUPPORTED + - 506 VARIANT_ALSO_NEGOTIATES + - 507 INSUFFICIENT_STORAGE + - 508 LOOP_DETECTED + - 509 BANDWIDTH_LIMIT_EXCEEDED + - 510 NOT_EXTENDED + - 511 NETWORK_AUTHENTICATION_REQUIRED + "200": + description: Property does not exist. + content: + '*/*': + schema: + type: string + enum: + - 100 CONTINUE + - 101 SWITCHING_PROTOCOLS + - 102 PROCESSING + - 103 CHECKPOINT + - 200 OK + - 201 CREATED + - 202 ACCEPTED + - 203 NON_AUTHORITATIVE_INFORMATION + - 204 NO_CONTENT + - 205 RESET_CONTENT + - 206 PARTIAL_CONTENT + - 207 MULTI_STATUS + - 208 ALREADY_REPORTED + - 226 IM_USED + - 300 MULTIPLE_CHOICES + - 301 MOVED_PERMANENTLY + - 302 FOUND + - 302 MOVED_TEMPORARILY + - 303 SEE_OTHER + - 304 NOT_MODIFIED + - 305 USE_PROXY + - 307 TEMPORARY_REDIRECT + - 308 PERMANENT_REDIRECT + - 400 BAD_REQUEST + - 401 UNAUTHORIZED + - 402 PAYMENT_REQUIRED + - 403 FORBIDDEN + - 404 NOT_FOUND + - 405 METHOD_NOT_ALLOWED + - 406 NOT_ACCEPTABLE + - 407 PROXY_AUTHENTICATION_REQUIRED + - 408 REQUEST_TIMEOUT + - 409 CONFLICT + - 410 GONE + - 411 LENGTH_REQUIRED + - 412 PRECONDITION_FAILED + - 413 PAYLOAD_TOO_LARGE + - 413 REQUEST_ENTITY_TOO_LARGE + - 414 URI_TOO_LONG + - 414 REQUEST_URI_TOO_LONG + - 415 UNSUPPORTED_MEDIA_TYPE + - 416 REQUESTED_RANGE_NOT_SATISFIABLE + - 417 EXPECTATION_FAILED + - 418 I_AM_A_TEAPOT + - 419 INSUFFICIENT_SPACE_ON_RESOURCE + - 420 METHOD_FAILURE + - 421 DESTINATION_LOCKED + - 422 UNPROCESSABLE_ENTITY + - 423 LOCKED + - 424 FAILED_DEPENDENCY + - 425 TOO_EARLY + - 426 UPGRADE_REQUIRED + - 428 PRECONDITION_REQUIRED + - 429 TOO_MANY_REQUESTS + - 431 REQUEST_HEADER_FIELDS_TOO_LARGE + - 451 UNAVAILABLE_FOR_LEGAL_REASONS + - 500 INTERNAL_SERVER_ERROR + - 501 NOT_IMPLEMENTED + - 502 BAD_GATEWAY + - 503 SERVICE_UNAVAILABLE + - 504 GATEWAY_TIMEOUT + - 505 HTTP_VERSION_NOT_SUPPORTED + - 506 VARIANT_ALSO_NEGOTIATES + - 507 INSUFFICIENT_STORAGE + - 508 LOOP_DETECTED + - 509 BANDWIDTH_LIMIT_EXCEEDED + - 510 NOT_EXTENDED + - 511 NETWORK_AUTHENTICATION_REQUIRED + /registries/vocabularies/import/csv: + post: tags: - - groups - summary: Remove a group - description: Remove a group by first removing sharing settings, link to users - and finally reindex all affected records. - operationId: deleteGroup + - registries + summary: Uploads a CSV file and convert it to SKOS format + description: "CSV file MUST contains columns at least for concept id and label.\ + \ For multilingual thesaurus, consider using columns like label, label_fre,\ + \ label_ita with languages parameter set to [en, fr, it]. Default language\ + \ value is used if translations are empty. The thesaurus filename will be\ + \ the filename of the CSV file (with .rdf extension). It is recommended to\ + \ set the thesaurus title and namespace URL even if default values will be\ + \ used based on the filename. Thesaurus dates are set to the date of import." + operationId: importCsvAsThesaurus parameters: - - name: groupIdentifier - in: path - description: Group identifier. - required: true + - name: type + in: query + description: Local or external (default). + required: false schema: - type: integer - format: int32 - - name: force + type: string + enum: + - external + - local + default: external + - name: dir in: query - description: Force removal even if records are assigned to that group. + description: "Type of thesaurus, usually one of the ISO thesaurus type codelist\ + \ value. Default is theme." required: false schema: - type: boolean - default: false - responses: - default: - description: default response - content: - application/json: {} - "404": - description: Resource not found. - "403": - description: Operation not allowed. Only UserAdmins can access it. - "204": - description: Group removed. - /groups: - get: - tags: - - groups - summary: Get groups - description: The catalog contains one or more groups. By default, there is 3 - reserved groups (Internet, Intranet, Guest) and a sample group.
This service - returns all catalog groups when not authenticated or when current is user - is an administrator. The list can contains or not reserved groups depending - on the parameters.
When authenticated, return user groups optionally filtered - on a specific user profile. - operationId: getGroups - parameters: - - name: withReservedGroup + type: string + default: theme + - name: encoding + in: query + description: Encoding. Default is UTF-8. + required: false + schema: + type: string + default: UTF-8 + - name: thesaurusNs in: query - description: Including Internet, Intranet, Guest groups or not + description: Thesaurus namespace. Default is filename. required: false schema: - type: boolean - default: false - - name: profile + type: string + default: "" + - name: languages in: query - description: For a specific profile + description: Thesaurus languages + required: false + schema: + type: array + items: + type: string + default: + - en + - name: thesaurusTitle + in: query + description: Thesaurus title. Default is filename. required: false schema: type: string - responses: - default: - description: default response - content: - application/json: {} - "200": - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Group' - put: - tags: - - groups - summary: Add a group - description: Return the identifier of the group created. - operationId: addGroup + default: "" + - name: conceptIdColumn + in: query + description: Column name for concept id. Default is id. + required: false + schema: + type: string + default: id + - name: conceptLabelColumn + in: query + description: Column name for concept label. Default is label. + required: false + schema: + type: string + default: label + - name: conceptDescriptionColumn + in: query + description: Column name for concept description. Default is description. + required: false + schema: + type: string + default: "" + - name: conceptBroaderIdColumn + in: query + description: Column name for broader concept id. Default is broader. + required: false + schema: + type: string + default: broader + - name: conceptNarrowerIdColumn + in: query + description: Column name for narrower concept id. Default is narrower. + required: false + schema: + type: string + default: narrower + - name: conceptRelatedIdColumn + in: query + description: Column name for related concept id. Default is related. + required: false + schema: + type: string + default: related + - name: conceptLinkSeparator + in: query + description: Separator used when multiple broader/narrower/related ids are + in the same column. Default is '|'. + required: false + schema: + type: string + default: \| + - name: importAsThesaurus + in: query + description: Import CSV file as thesaurus if true (detault) or return it in SKOS + format. + required: false + schema: + type: boolean + default: true requestBody: - description: Group details content: application/json: schema: - $ref: '#/components/schemas/Group' - required: true + type: object + properties: + file: + type: string + description: "If set, do a file upload." + format: binary responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. Only UserAdmins can access it. - content: - application/json: - schema: - type: integer - format: int32 - "400": - description: Group with that id or name already exist. - content: - application/json: - schema: - type: integer - format: int32 "201": - description: Group created. - content: - application/json: - schema: - type: integer - format: int32 - /groups/{groupIdentifier}/users: - get: - tags: - - groups - summary: Get group users - operationId: getGroupUsers - parameters: - - name: groupIdentifier - in: path - description: Group identifier - required: true - schema: - type: integer - format: int32 - responses: - default: - description: default response - content: - application/json: {} - "404": - description: Resource not found. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/User' - "403": - description: Operation not allowed. Only UserAdmins can access it. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/User' - "200": - description: List of users in that group. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/User' - /site/logging/activity: - get: - tags: - - site - summary: Get last activity - operationId: getLastActivity - parameters: - - name: lines - in: query - description: Number of lines to return - required: false - schema: - type: integer - format: int32 - default: 2000 - responses: - default: - description: default response - content: - application/json: {} + description: Thesaurus converted and imported in SKOS format. "200": - description: OK - content: - text/plain: - schema: - type: string - /site/logging: + description: Thesaurus converted and returned in response in SKOS format. + "403": + description: Operation not allowed. Only Reviewvers can access it. + /tags: get: tags: - - site - summary: Get log files - operationId: getLogFiles + - tags + summary: Get tags + operationId: getTags responses: default: description: default response content: application/json: {} "200": - description: OK + description: List of tags. content: application/json: schema: type: array items: - $ref: '#/components/schemas/LogFileResponse' - /site/logging/activity/zip: - get: + $ref: '#/components/schemas/MetadataCategory' + put: tags: - - site - summary: Get last activity in a ZIP - operationId: getLastActivityInAZip + - tags + summary: Create a tag + description: "If labels are not defined, a default label is created with the\ + \ category name for all languages." + operationId: putTag + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataCategory' + required: true responses: default: description: default response content: application/json: {} - "200": - description: OK - /search/records/_search: + "403": + description: Operation not allowed. Only UserAdmins can access it. + content: + '*/*': + schema: + type: integer + format: int32 + "201": + description: Tag created. Return the new tag identifier. + content: + '*/*': + schema: + type: integer + format: int32 + /mapservers/{mapserverId}/auth: post: tags: - - search - summary: Search endpoint - description: See https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html - for search parameters details. - operationId: search + - mapservers + summary: Update a mapserver authentication + description: The remote mapserver REST API may require basic authentication. + This operation set the username and password. + operationId: updateMapserver_1 parameters: - - name: bucket + - name: mapserverId + in: path + description: Mapserver identifier + required: true + schema: + type: integer + format: int32 + - name: username in: query - required: false + description: User name + required: true + schema: + type: string + - name: password + in: query + description: Password + required: true schema: type: string - default: metadata - requestBody: - description: JSON request based on Elasticsearch API. - content: - application/json: - schema: - type: string responses: default: description: default response content: application/json: {} - "200": - description: OK - /registries/entries/{uuid}: - get: + "404": + description: Resource not found. + "204": + description: Mapserver updated. + "403": + description: Operation not allowed. Only Reviewvers can access it. + /records/{metadataUuid}/validate/inspire: + put: tags: - - registries - summary: Get a directory entry - description: Directory entry (AKA subtemplates) are XML fragments that can be - inserted in metadata records using XLinks. XLinks can be remote or local. - operationId: getEntry + - records + summary: Submit a record to the INSPIRE service for validation. + description: "User MUST be able to edit the record to validate it. An INSPIRE\ + \ endpoint must be configured in Settings. This activates an asyncronous process,\ + \ this method does not return any report. This method returns an id to be\ + \ used to get the report." + operationId: validateRecordForInspire parameters: - - name: uuid + - name: metadataUuid in: path - description: Directory entry UUID. + description: Record UUID. required: true schema: type: string - - name: process - in: query - description: Process - required: false - schema: - type: array - items: - type: string - - name: transformation + - name: testsuite in: query - description: Transformation - required: false + description: Test suite to run + required: true schema: type: string - - name: lang - in: query - description: lang - required: false - schema: - type: array - items: - type: string - - name: schema + - name: mode in: query - description: schema + description: "Define the encoding of the record to use. By default, ISO19139\ + \ are used as is and ISO19115-3 are converted to ISO19139.If mode = csw,\ + \ a GetRecordById request is used.If mode = any portal id, then a GetRecordById\ + \ request is used on this portal CSW entry point which may define custom\ + \ CSW post processing. See https://github.com/geonetwork/core-geonetwork/pull/4493." required: false schema: type: string - default: iso19139 responses: default: description: default response content: application/json: {} - "200": - description: Directory entry. + "404": + description: Metadata not found. content: - application/xml: + text/plain: schema: - $ref: '#/components/schemas/Element' + type: string "403": - description: Operation not allowed. User needs to be able to view the resource. + description: Operation not allowed. User needs to be able to edit the resource. content: - application/xml: + text/plain: schema: - $ref: '#/components/schemas/Element' - /registries/crs: + type: string + "500": + description: Service unavailable. + content: + text/plain: + schema: + type: string + "201": + description: Check status of the report. + content: + text/plain: + schema: + type: string + /processes/{process}: get: tags: - - registries - summary: Search coordinate reference system (CRS) - description: Based on GeoTools EPSG database. If phrase query, each words are - searched separately. - operationId: searchCrs + - processes + summary: Preview process result applied to one or more records + description: "Preview result of a process applied to metadata records with an\ + \ XSL transformation declared in the metadata schema (See the process folder).\ + \ Parameters sent to the service are forwarded to XSL process. Append mode\ + \ has 2 limitations. First, it only support a set of records in the same schema.\ + \ Secondly, it does not propagate URL parameters. This mode is mainly used\ + \ to create custom reports based on metadata records content.If process name\ + \ ends with '.csv', the XSL process output a text document which is returned.\ + \ When errors occur during processing, the processing report is returned in\ + \ JSON format." + operationId: previewProcessRecords parameters: - - name: q + - name: process + in: path + description: Process identifier + required: true + schema: + type: string + - name: diffType in: query - description: Search value + description: "Return differences with diff, diffhtml or patch" required: false schema: type: string - default: "" - - name: type + enum: + - patch + - diff + - diffhtml + - name: uuids in: query - description: Type of CRS + description: Record UUIDs. If null current selection is used. + required: false + schema: + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name required: false schema: type: string - enum: - - CoordinateReferenceSystem - - VerticalCRS - - GeographicCRS - - ProjectedCRS - - name: rows + - name: appendFirst + in: query + description: Append documents before processing + required: false + schema: + type: boolean + default: false + example: false + - name: applyUpdateFixedInfo in: query - description: 'Number of results. Default is: 100' + description: Apply update fixed info required: false schema: - type: integer - format: int32 - default: 100 + type: boolean + default: true + example: false responses: default: description: default response content: application/json: {} + "403": + description: Operation not allowed. Only Editors can access it. + content: + '*/*': + schema: + type: object "200": - description: List of CRS. + description: Processed records. content: - application/json: + '*/*': schema: - type: array - items: - $ref: '#/components/schemas/Crs' - /registries/crs/types: - get: + type: object + post: tags: - - registries - summary: Get list of CRS type - operationId: getCrsTypes + - processes + summary: Apply a process to one or more records + description: Process a metadata with an XSL transformation declared in the metadata + schema (See the process folder). Parameters sent to the service are forwarded + to XSL process. + operationId: processRecords + parameters: + - name: process + in: path + description: Process identifier + required: true + schema: + type: string + - name: uuids + in: query + description: Record UUIDs. If null current selection is used. + required: false + schema: + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name + required: false + schema: + type: string + - name: updateDateStamp + in: query + description: If true updates the DateStamp (or equivalent in standards different + to ISO 19139) field in the metadata with the current timestamp + required: false + schema: + type: boolean + default: true + - name: index + in: query + description: Index after processing + required: false + schema: + type: boolean + default: true + example: false responses: default: description: default response content: application/json: {} - "200": - description: List of CRS types. + "403": + description: Operation not allowed. Only Editors can access it. content: application/json: schema: - type: array - items: - type: string - enum: - - CoordinateReferenceSystem - - VerticalCRS - - GeographicCRS - - ProjectedCRS - /registries/crs/{id}: + $ref: '#/components/schemas/XsltMetadataProcessingReport' + "201": + description: Report about processed records. + content: + application/json: + schema: + $ref: '#/components/schemas/XsltMetadataProcessingReport' + /harvesters/properties/{property}: get: tags: - - registries - summary: Get CRS - operationId: getCrs + - harvesters + summary: Check if a harvester name or host already exist + operationId: checkHarvesterPropertyExist parameters: - - name: id + - name: property in: path - description: CRS identifier + description: The harvester property to check + required: true + schema: + type: string + - name: exist + in: query + description: The value to search required: true schema: type: string @@ -5889,219 +9246,330 @@ paths: description: default response content: application/json: {} - "404": - description: CRS not found. + "403": + description: Operation not allowed. Only UserAdmins can access it. content: - application/json: + '*/*': schema: - $ref: '#/components/schemas/Crs' - application/xml: + type: string + enum: + - 100 CONTINUE + - 101 SWITCHING_PROTOCOLS + - 102 PROCESSING + - 103 CHECKPOINT + - 200 OK + - 201 CREATED + - 202 ACCEPTED + - 203 NON_AUTHORITATIVE_INFORMATION + - 204 NO_CONTENT + - 205 RESET_CONTENT + - 206 PARTIAL_CONTENT + - 207 MULTI_STATUS + - 208 ALREADY_REPORTED + - 226 IM_USED + - 300 MULTIPLE_CHOICES + - 301 MOVED_PERMANENTLY + - 302 FOUND + - 302 MOVED_TEMPORARILY + - 303 SEE_OTHER + - 304 NOT_MODIFIED + - 305 USE_PROXY + - 307 TEMPORARY_REDIRECT + - 308 PERMANENT_REDIRECT + - 400 BAD_REQUEST + - 401 UNAUTHORIZED + - 402 PAYMENT_REQUIRED + - 403 FORBIDDEN + - 404 NOT_FOUND + - 405 METHOD_NOT_ALLOWED + - 406 NOT_ACCEPTABLE + - 407 PROXY_AUTHENTICATION_REQUIRED + - 408 REQUEST_TIMEOUT + - 409 CONFLICT + - 410 GONE + - 411 LENGTH_REQUIRED + - 412 PRECONDITION_FAILED + - 413 PAYLOAD_TOO_LARGE + - 413 REQUEST_ENTITY_TOO_LARGE + - 414 URI_TOO_LONG + - 414 REQUEST_URI_TOO_LONG + - 415 UNSUPPORTED_MEDIA_TYPE + - 416 REQUESTED_RANGE_NOT_SATISFIABLE + - 417 EXPECTATION_FAILED + - 418 I_AM_A_TEAPOT + - 419 INSUFFICIENT_SPACE_ON_RESOURCE + - 420 METHOD_FAILURE + - 421 DESTINATION_LOCKED + - 422 UNPROCESSABLE_ENTITY + - 423 LOCKED + - 424 FAILED_DEPENDENCY + - 425 TOO_EARLY + - 426 UPGRADE_REQUIRED + - 428 PRECONDITION_REQUIRED + - 429 TOO_MANY_REQUESTS + - 431 REQUEST_HEADER_FIELDS_TOO_LARGE + - 451 UNAVAILABLE_FOR_LEGAL_REASONS + - 500 INTERNAL_SERVER_ERROR + - 501 NOT_IMPLEMENTED + - 502 BAD_GATEWAY + - 503 SERVICE_UNAVAILABLE + - 504 GATEWAY_TIMEOUT + - 505 HTTP_VERSION_NOT_SUPPORTED + - 506 VARIANT_ALSO_NEGOTIATES + - 507 INSUFFICIENT_STORAGE + - 508 LOOP_DETECTED + - 509 BANDWIDTH_LIMIT_EXCEEDED + - 510 NOT_EXTENDED + - 511 NETWORK_AUTHENTICATION_REQUIRED + "404": + description: A property with that value already exist. + content: + '*/*': schema: - $ref: '#/components/schemas/Crs' + type: string + enum: + - 100 CONTINUE + - 101 SWITCHING_PROTOCOLS + - 102 PROCESSING + - 103 CHECKPOINT + - 200 OK + - 201 CREATED + - 202 ACCEPTED + - 203 NON_AUTHORITATIVE_INFORMATION + - 204 NO_CONTENT + - 205 RESET_CONTENT + - 206 PARTIAL_CONTENT + - 207 MULTI_STATUS + - 208 ALREADY_REPORTED + - 226 IM_USED + - 300 MULTIPLE_CHOICES + - 301 MOVED_PERMANENTLY + - 302 FOUND + - 302 MOVED_TEMPORARILY + - 303 SEE_OTHER + - 304 NOT_MODIFIED + - 305 USE_PROXY + - 307 TEMPORARY_REDIRECT + - 308 PERMANENT_REDIRECT + - 400 BAD_REQUEST + - 401 UNAUTHORIZED + - 402 PAYMENT_REQUIRED + - 403 FORBIDDEN + - 404 NOT_FOUND + - 405 METHOD_NOT_ALLOWED + - 406 NOT_ACCEPTABLE + - 407 PROXY_AUTHENTICATION_REQUIRED + - 408 REQUEST_TIMEOUT + - 409 CONFLICT + - 410 GONE + - 411 LENGTH_REQUIRED + - 412 PRECONDITION_FAILED + - 413 PAYLOAD_TOO_LARGE + - 413 REQUEST_ENTITY_TOO_LARGE + - 414 URI_TOO_LONG + - 414 REQUEST_URI_TOO_LONG + - 415 UNSUPPORTED_MEDIA_TYPE + - 416 REQUESTED_RANGE_NOT_SATISFIABLE + - 417 EXPECTATION_FAILED + - 418 I_AM_A_TEAPOT + - 419 INSUFFICIENT_SPACE_ON_RESOURCE + - 420 METHOD_FAILURE + - 421 DESTINATION_LOCKED + - 422 UNPROCESSABLE_ENTITY + - 423 LOCKED + - 424 FAILED_DEPENDENCY + - 425 TOO_EARLY + - 426 UPGRADE_REQUIRED + - 428 PRECONDITION_REQUIRED + - 429 TOO_MANY_REQUESTS + - 431 REQUEST_HEADER_FIELDS_TOO_LARGE + - 451 UNAVAILABLE_FOR_LEGAL_REASONS + - 500 INTERNAL_SERVER_ERROR + - 501 NOT_IMPLEMENTED + - 502 BAD_GATEWAY + - 503 SERVICE_UNAVAILABLE + - 504 GATEWAY_TIMEOUT + - 505 HTTP_VERSION_NOT_SUPPORTED + - 506 VARIANT_ALSO_NEGOTIATES + - 507 INSUFFICIENT_STORAGE + - 508 LOOP_DETECTED + - 509 BANDWIDTH_LIMIT_EXCEEDED + - 510 NOT_EXTENDED + - 511 NETWORK_AUTHENTICATION_REQUIRED "200": - description: CRS details. + description: Property does not exist. content: - application/json: - schema: - $ref: '#/components/schemas/Crs' - application/xml: + '*/*': schema: - $ref: '#/components/schemas/Crs' - /registries/vocabularies/keyword: - get: + type: string + enum: + - 100 CONTINUE + - 101 SWITCHING_PROTOCOLS + - 102 PROCESSING + - 103 CHECKPOINT + - 200 OK + - 201 CREATED + - 202 ACCEPTED + - 203 NON_AUTHORITATIVE_INFORMATION + - 204 NO_CONTENT + - 205 RESET_CONTENT + - 206 PARTIAL_CONTENT + - 207 MULTI_STATUS + - 208 ALREADY_REPORTED + - 226 IM_USED + - 300 MULTIPLE_CHOICES + - 301 MOVED_PERMANENTLY + - 302 FOUND + - 302 MOVED_TEMPORARILY + - 303 SEE_OTHER + - 304 NOT_MODIFIED + - 305 USE_PROXY + - 307 TEMPORARY_REDIRECT + - 308 PERMANENT_REDIRECT + - 400 BAD_REQUEST + - 401 UNAUTHORIZED + - 402 PAYMENT_REQUIRED + - 403 FORBIDDEN + - 404 NOT_FOUND + - 405 METHOD_NOT_ALLOWED + - 406 NOT_ACCEPTABLE + - 407 PROXY_AUTHENTICATION_REQUIRED + - 408 REQUEST_TIMEOUT + - 409 CONFLICT + - 410 GONE + - 411 LENGTH_REQUIRED + - 412 PRECONDITION_FAILED + - 413 PAYLOAD_TOO_LARGE + - 413 REQUEST_ENTITY_TOO_LARGE + - 414 URI_TOO_LONG + - 414 REQUEST_URI_TOO_LONG + - 415 UNSUPPORTED_MEDIA_TYPE + - 416 REQUESTED_RANGE_NOT_SATISFIABLE + - 417 EXPECTATION_FAILED + - 418 I_AM_A_TEAPOT + - 419 INSUFFICIENT_SPACE_ON_RESOURCE + - 420 METHOD_FAILURE + - 421 DESTINATION_LOCKED + - 422 UNPROCESSABLE_ENTITY + - 423 LOCKED + - 424 FAILED_DEPENDENCY + - 425 TOO_EARLY + - 426 UPGRADE_REQUIRED + - 428 PRECONDITION_REQUIRED + - 429 TOO_MANY_REQUESTS + - 431 REQUEST_HEADER_FIELDS_TOO_LARGE + - 451 UNAVAILABLE_FOR_LEGAL_REASONS + - 500 INTERNAL_SERVER_ERROR + - 501 NOT_IMPLEMENTED + - 502 BAD_GATEWAY + - 503 SERVICE_UNAVAILABLE + - 504 GATEWAY_TIMEOUT + - 505 HTTP_VERSION_NOT_SUPPORTED + - 506 VARIANT_ALSO_NEGOTIATES + - 507 INSUFFICIENT_STORAGE + - 508 LOOP_DETECTED + - 509 BANDWIDTH_LIMIT_EXCEEDED + - 510 NOT_EXTENDED + - 511 NETWORK_AUTHENTICATION_REQUIRED + /records/validate/inspire: + put: tags: - - registries - summary: Get keyword by id - description: Retrieve XML representation of keyword(s) from same thesaurususing - different transformations. 'to-iso19139-keyword' is the default and return - an ISO19139 snippet.'to-iso19139-keyword-as-xlink' return an XLinked element. - Custom transformation can be create on a per schema basis. - operationId: getKeywordById + - records + summary: Validate one or more records in INSPIRE validator + description: Update validation status for all records. + operationId: validateRecordsInspire parameters: - - name: id - in: query - description: Keyword identifier or list of keyword identifiers comma separated. - required: true - schema: - type: string - - name: thesaurus - in: query - description: Thesaurus to look info for the keyword(s). - required: true - schema: - type: string - - name: lang + - name: uuids in: query - description: Languages. + description: Record UUIDs. If null current selection is used. required: false schema: type: array items: type: string - - name: keywordOnly - in: query - description: Only print the keyword, no thesaurus information. - required: false - schema: - type: boolean - default: false - - name: transformation + - name: bucket in: query - description: XSL template to use (ISO19139 keyword by default, see convert.xsl). + description: Selection bucket name required: false schema: type: string - - name: langMap + - name: mode in: query - description: langMap, that converts the values in the 'lang' parameter to - how they will be actually represented in the record. {'fre':'fra'} or {'fre':'fr'}. Missing/empty - means to convert to iso 2 letter. + description: "Define the encoding of the record to use. By default, ISO19139\ + \ are used as is and ISO19115-3 are converted to ISO19139.If mode = csw,\ + \ a GetRecordById request is used.If mode = any portal id, then a GetRecordById\ + \ request is used on this portal CSW entry point which may define custom\ + \ CSW post processing. See https://github.com/geonetwork/core-geonetwork/pull/4493." required: false schema: type: string - - name: Accept - in: header - required: false - schema: - type: string - default: application/xml responses: default: description: default response content: application/json: {} - "200": - description: XML snippet with requested keywords. + "403": + description: Operation not allowed. Only Editors can access it. content: - application/xml: + application/json: schema: - type: object + type: string + "201": + description: Records validated. + content: application/json: schema: - type: object - /registries/vocabularies/{thesaurus}: + type: string + /standards/{schema}/codelists/{codelist}/details: get: tags: - - registries - summary: Download a thesaurus by name - description: Download the thesaurus in SKOS format. - operationId: getThesaurus + - standards + summary: Get codelist details + operationId: getSchemaCodelistsWithDetails parameters: - - name: thesaurus + - name: schema in: path - description: Thesaurus to download. + description: Schema identifier required: true schema: type: string - responses: - default: - description: default response - content: - application/json: {} - "404": - description: Resource not found. - "200": - description: Thesaurus in SKOS format. - delete: - tags: - - registries - summary: Delete a thesaurus by name - description: Delete a thesaurus. - operationId: deleteThesaurus - parameters: - - name: thesaurus + example: iso19139 + - name: codelist in: path - description: Thesaurus to delete. + description: Codelist element name or alias required: true schema: type: string - responses: - default: - description: default response - content: - application/json: {} - "404": - description: Resource not found. - "403": - description: Operation not allowed. Only UserAdmins can access it. - "200": - description: Thesaurus deleted. - /registries/vocabularies/search: - get: - tags: - - registries - summary: Search keywords - operationId: searchKeywords - parameters: - - name: q - in: query - description: Query - required: false - schema: - type: string - - name: lang + - name: parent in: query - description: Query in that language + description: Parent name with namespace which may indicate a more precise + label as defined in context attribute. required: false schema: type: string - default: eng - - name: rows - in: query - description: Number of rows - required: false - schema: - type: integer - format: int32 - default: 1000 - - name: start - in: query - description: Start from - required: false - schema: - type: integer - format: int32 - default: 0 - - name: pLang - in: query - description: Return keyword information in one or more languages - required: false - schema: - type: array - items: - type: string - - name: thesaurus - in: query - description: Thesaurus identifier - required: false - schema: - type: array - items: - type: string - - name: type + - name: displayIf in: query - description: Type of search + description: Display if condition as defined in the codelist.xml file. Allows + to select a more precise codelist when more than one is defined for same + name. required: false schema: type: string - enum: - - STARTS_WITH - - CONTAINS - - MATCH - default: CONTAINS - - name: uri + - name: xpath in: query - description: URI query + description: XPath of the element to target which may indicate a more precise + label as defined in context attribute. required: false schema: type: string - - name: sort + - name: isoType in: query - description: Sort by + description: "ISO type of the element to target which may indicate a more\ + \ precise label as defined in context attribute. (Same as context. TODO:\ + \ Deprecate ?)" required: false schema: type: string - default: DESC responses: default: description: default response @@ -6112,290 +9580,210 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/KeywordBean' - /registries/vocabularies: - put: + $ref: '#/components/schemas/Codelist' + application/xml: + schema: + $ref: '#/components/schemas/Codelist' + /i18n/db: + get: tags: - - registries - summary: Uploads a new thesaurus from URL or Registry - description: Uploads a new thesaurus. - operationId: uploadThesaurusFromUrl + - tools + summary: List translations for database description table + operationId: getTranslations parameters: - - name: url - in: query - description: If set, try to download from the Internet. - required: false - schema: - type: string - - name: registryUrl - in: query - description: If set, try to download from a registry. - required: false - schema: - type: string - - name: registryType - in: query - description: If using registryUrl, then define the type of registry. If not - set, default mode is re3gistry. - required: false - schema: - type: string - enum: - - re3gistry - - ldRegistry - - name: registryLanguage + - name: type in: query - description: Languages to download from a registry. required: false schema: type: array items: type: string - - name: type - in: query - description: Local or external (default). - required: false - schema: - type: string - default: external - - name: dir + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: object + additionalProperties: + type: string + /site/settings: + get: + tags: + - site + summary: Get settings + description: "Return public settings for anonymous users, internals are allowed\ + \ for authenticated." + operationId: getSettingsSet + parameters: + - name: set in: query - description: Type of thesaurus, usually one of the ISO thesaurus type codelist - value. Default is theme. + description: Setting set. A common set of settings to retrieve. required: false schema: - type: string - default: theme - - name: stylesheet + type: array + items: + type: string + enum: + - INSPIRE + - CSW + - HARVESTER + - USER_GROUP_ONLY + - AUTH + - READ_ONLY + - INDEX + - SYSTEMINFO + - STAGING_PROFILE + - TYPE + - name: key in: query - description: XSL to be use to convert the thesaurus before load. Default _none_. + description: Setting key required: false schema: - type: string - default: _none_ + type: array + items: + type: string responses: default: description: default response content: application/json: {} - "201": - description: Thesaurus uploaded in SKOS format. - content: - text/xml: - schema: - type: string - "403": - description: Operation not allowed. Only Reviewvers can access it. + "200": + description: Settings. content: - text/xml: + application/json: schema: - type: string + $ref: '#/components/schemas/SettingsListResponse' post: tags: - - registries - summary: Uploads a new thesaurus from a file - description: Uploads a new thesaurus. - operationId: uploadThesaurus + - site + summary: Save settings + operationId: saveSettings parameters: - - name: type + - name: allRequestParams in: query - description: Local or external (default). - required: false - schema: - type: string - default: external - - name: dir - in: query - description: Type of thesaurus, usually one of the ISO thesaurus type codelist - value. Default is theme. - required: false - schema: - type: string - default: theme - - name: stylesheet - in: query - description: XSL to be use to convert the thesaurus before load. Default _none_. - required: false + required: true schema: - type: string - default: _none_ + type: object + additionalProperties: + type: string + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. Only Administrators can access it. + "204": + description: Settings saved. + /users/owners: + get: + tags: + - users + summary: Get owners + description: Return users who actually owns one or more records. + operationId: getRecordOwners + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/OwnerResponse' + put: + tags: + - users + summary: Transfer privileges + operationId: saveOwners requestBody: - description: If set, do a file upload. content: application/json: schema: - type: object - properties: - file: - type: string - format: binary + $ref: '#/components/schemas/TransferRequest' + required: true responses: default: description: default response content: application/json: {} - "201": - description: Thesaurus uploaded in SKOS format. + "200": + description: OK content: - text/xml: + application/json: schema: type: string - "403": - description: Operation not allowed. Only Reviewvers can access it. + /mapservices: + get: + tags: + - mapservices + summary: Get mapservices + description: Return the list of mapservices. mapservices are used to identify + secured map services. + operationId: getMapservices + responses: + default: + description: default response content: - text/xml: + application/json: {} + "200": + description: OK + content: + application/json: schema: - type: string - /registries/vocabularies/import/csv: - post: + type: array + items: + $ref: '#/components/schemas/MapService' + /records/{metadataUuid}/group: + put: tags: - - registries - summary: Uploads a CSV file and convert it to SKOS format - description: CSV file MUST contains columns at least for concept id and label. - For multilingual thesaurus, consider using columns like label, label_fre, - label_ita with languages parameter set to [en, fr, it]. Default language value - is used if translations are empty. The thesaurus filename will be the filename - of the CSV file (with .rdf extension). It is recommended to set the thesaurus - title and namespace URL even if default values will be used based on the filename. - Thesaurus dates are set to the date of import. - operationId: importCsvAsThesaurus + - records + summary: Set record group + description: A record is related to one group. + operationId: setRecordGroup parameters: - - name: type - in: query - description: Local or external (default). - required: false - schema: - type: string - default: external - - name: dir - in: query - description: Type of thesaurus, usually one of the ISO thesaurus type codelist - value. Default is theme. - required: false - schema: - type: string - default: theme - - name: encoding - in: query - description: Encoding. Default is UTF-8. - required: false - schema: - type: string - default: UTF-8 - - name: thesaurusNs - in: query - description: Thesaurus namespace. Default is filename. - required: false - schema: - type: string - default: "" - - name: languages - in: query - description: Thesaurus languages - required: false - schema: - type: array - items: - type: string - default: en - - name: thesaurusTitle - in: query - description: Thesaurus title. Default is filename. - required: false - schema: - type: string - default: "" - - name: conceptIdColumn - in: query - description: Column name for concept id. Default is id. - required: false - schema: - type: string - default: id - - name: conceptLabelColumn - in: query - description: Column name for concept label. Default is label. - required: false - schema: - type: string - default: label - - name: conceptDescriptionColumn - in: query - description: Column name for concept description. Default is description. - required: false - schema: - type: string - default: "" - - name: conceptBroaderIdColumn - in: query - description: Column name for broader concept id. Default is broader. - required: false - schema: - type: string - default: broader - - name: conceptNarrowerIdColumn - in: query - description: Column name for narrower concept id. Default is narrower. - required: false - schema: - type: string - default: narrower - - name: conceptRelatedIdColumn - in: query - description: Column name for related concept id. Default is related. - required: false - schema: - type: string - default: related - - name: conceptLinkSeparator - in: query - description: Separator used when multiple broader/narrower/related ids are - in the same column. Default is '|'. - required: false + - name: metadataUuid + in: path + description: Record UUID. + required: true schema: type: string - default: \| - - name: importAsThesaurus - in: query - description: Import CSV file as thesaurus if true (detault) or return it in SKOS - format. - required: false - schema: - type: boolean - default: true requestBody: - description: If set, do a file upload. content: application/json: schema: - type: object - properties: - file: - type: string - format: binary + type: integer + description: Group identifier + format: int32 + required: true responses: default: description: default response content: application/json: {} - "201": - description: Thesaurus converted and imported in SKOS format. - "200": - description: Thesaurus converted and returned in response in SKOS format. + "204": + description: Record group updated. "403": - description: Operation not allowed. Only Reviewvers can access it. - /tags/{tagIdentifier}: + description: Operation not allowed. User needs to be able to edit the resource. + /users/{userIdentifier}: get: tags: - - tags - summary: Get a tag - operationId: getTag + - users + summary: Get user + operationId: getUser parameters: - - name: tagIdentifier + - name: userIdentifier in: path - description: Tag identifier + description: User identifier. required: true schema: type: integer @@ -6406,20 +9794,21 @@ paths: content: application/json: {} "200": - description: Tag details. + description: OK content: application/json: schema: - $ref: '#/components/schemas/MetadataCategory' + $ref: '#/components/schemas/User' put: tags: - - tags - summary: Update a tag - operationId: updateTag + - users + summary: Update a user + description: Updates a catalog user. + operationId: updateUser parameters: - - name: tagIdentifier + - name: userIdentifier in: path - description: Tag identifier + description: User identifier. required: true schema: type: integer @@ -6428,377 +9817,618 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/MetadataCategory' + $ref: '#/components/schemas/UserDto' required: true responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. Only UserAdmins can access it. + "200": + description: OK content: - '*/*': + application/json: schema: type: string - "204": - description: Tag updated. + delete: + tags: + - users + summary: Delete a user + description: Deletes a catalog user by identifier. + operationId: deleteUser + parameters: + - name: userIdentifier + in: path + description: User identifier. + required: true + schema: + type: integer + format: int32 + responses: + default: + description: default response content: - '*/*': + application/json: {} + "200": + description: OK + content: + application/json: schema: type: string - /tags: - get: + /records/backups: + put: tags: - - tags - summary: Get tags - operationId: getTags + - records + summary: Trigger MEF backup archive + description: The backup contains all metadata not harvested including templates. + operationId: trigger responses: default: description: default response content: application/json: {} "200": - description: List of tags. + description: Return succeed message. content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/MetadataCategory' - /mapservers: + type: string + /records/{metadataUuid}/processes/{process}: get: tags: - - mapservers - summary: Get mapservers - description: Mapservers are used by the catalog to publish record attachments - (eg. ZIP file with shape) or record associated resources (eg. database table, - file on the local network) in a remote mapserver like GeoServer or MapServer. - The catalog communicate with the mapserver using GeoServer REST API. - operationId: getMapservers + - records + summary: Preview process result + description: Process a metadata with an XSL transformation declared in the metadata + schema (See the process folder). Parameters sent to the service are forwarded + to XSL process. + operationId: processRecordPreview + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: process + in: path + description: Process identifier + required: true + schema: + type: string responses: default: description: default response content: application/json: {} + "200": + description: A preview of the processed record. + content: {} "403": - description: Operation not allowed. Only Editors can access it. + description: Operation not allowed. User needs to be able to edit the resource. + content: {} + post: + tags: + - records + summary: Apply a process + description: Process a metadata with an XSL transformation declared in the metadata + schema (See the process folder). Parameters sent to the service are forwarded + to XSL process. + operationId: processRecord + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: process + in: path + description: Process identifier + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + application/xml: + schema: + type: string + "204": + description: Record processed and saved. + content: + application/xml: + schema: + type: string + /ui: + get: + tags: + - ui + summary: Get UI configuration + operationId: getUiConfigurations + responses: + default: + description: default response + content: + application/json: {} + "200": + description: List of configuration. content: application/json: schema: type: array items: - $ref: '#/components/schemas/AnonymousMapserver' + $ref: '#/components/schemas/UiSetting' put: tags: - - mapservers - summary: Add a mapserver - description: Return the id of the newly created mapserver. - operationId: addMapserver + - ui + summary: Create a UI configuration + operationId: putUiConfiguration requestBody: - description: Mapserver details content: application/json: schema: - $ref: '#/components/schemas/MapServer' + $ref: '#/components/schemas/UiSetting' required: true responses: default: description: default response content: application/json: {} - "201": - description: Mapserver created. + "403": + description: Operation not allowed. Only UserAdmins can access it. content: - application/json: + text/plain: schema: - type: integer - format: int32 - "400": - description: Bad parameters. + type: string + "201": + description: UI configuration created. Return the new UI configuration identifier. content: - application/json: + text/plain: schema: - type: integer - format: int32 - "403": - description: Operation not allowed. Only Reviewvers can access it. + type: string + /standards/reload: + get: + tags: + - standards + summary: Reload standards + operationId: reloadSchema + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Standards reloaded. + /site/index/status: + get: + tags: + - site + summary: Index status + operationId: indexStatus + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK content: application/json: schema: - type: integer - format: int32 - /mapservers/{mapserverId}: + $ref: '#/components/schemas/Status' + /records/{metadataUuid}/associated: get: tags: - - mapservers - summary: Get a mapserver - operationId: getMapserver + - records + summary: Get record associated resources + description: "Retrieve related services, datasets, sources, ... to this records.
More\ + \ info" + operationId: getAssociatedResources_1 parameters: - - name: mapserverId + - name: metadataUuid in: path - description: Mapserver identifier + description: Record UUID. required: true schema: - type: string + type: string + - name: type + in: query + description: "Type of related resource. If none, all resources are returned." + required: false + schema: + type: array + items: + type: string + enum: + - children + - parent + - brothersAndSisters + - siblings + - associated + - services + - datasets + - fcats + - hasfeaturecats + - sources + - hassources + - related + - onlines + - thumbnails + default: [] + - name: approved + in: query + description: Use approved version or not + required: false + schema: + type: boolean + default: true + example: true + - name: start + in: query + description: Start offset for paging. Default 1. Only applies to related metadata + records (ie. not for thumbnails). + required: false + schema: + type: integer + format: int32 + default: 0 + - name: rows + in: query + description: Number of rows returned. Default 100. + required: false + schema: + type: integer + format: int32 + default: 100 responses: default: description: default response content: application/json: {} - "404": - description: Resource not found. + "200": + description: Return the associated resources. content: application/json: schema: - $ref: '#/components/schemas/AnonymousMapserver' + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AssociatedRecord' "403": - description: Operation not allowed. Only Editors can access it. + description: Operation not allowed. User needs to be able to view the resource. content: application/json: schema: - $ref: '#/components/schemas/AnonymousMapserver' - put: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/AssociatedRecord' + /records/{metadataUuid}/status/{statusId}.{userId}.{changeDate}/after: + get: tags: - - mapservers - summary: Update a mapserver - operationId: updateMapserver + - records + summary: Get saved content from the status record after changes + operationId: showStatusAfter parameters: - - name: mapserverId + - name: metadataUuid in: path - description: Mapserver identifier + description: Record UUID. + required: true + schema: + type: string + - name: statusId + in: path + description: Status identifier required: true schema: type: integer format: int32 - requestBody: - description: Mapserver details - content: - application/json: - schema: - $ref: '#/components/schemas/MapServer' - required: true + - name: userId + in: path + description: User identifier + required: true + schema: + type: integer + format: int32 + - name: changeDate + in: path + description: Change date + required: true + schema: + type: string responses: default: description: default response content: application/json: {} - "404": - description: Resource not found. - "204": - description: Mapserver updated. "403": - description: Operation not allowed. Only Reviewvers can access it. - /mapservers/{mapserverId}/records/{metadataUuid}: + description: Operation not allowed. User needs to be able to edit the resource. + content: + application/xml: + schema: + type: string + "200": + description: Version of the record after changes. + content: + application/xml: + schema: + type: string + /regions/geom.png: get: tags: - - mapservers - summary: 'Check metadata mapserver resource is published ' - operationId: getMapserverResource + - regions + summary: Get geometry as image + description: A rendering of the geometry as a png. + operationId: getGeomAsImage parameters: - - name: mapserverId - in: path - description: Mapserver identifier - required: true + - name: mapsrs + in: query + description: (optional) the background map projection. If not passed uses + the region/getmap/mapproj setting. If the setting is not set defaults to + EPSG:4326 + required: false schema: type: string - - name: metadataUuid - in: path - description: Record UUID. - required: true + - name: width + in: query + description: (optional) width of the image that is created. Only one of width + and height are permitted + required: false + schema: + type: integer + format: int32 + default: 300 + - name: height + in: query + description: (optional) height of the image that is created. Only one of width + and height are permitted + required: false + schema: + type: integer + format: int32 + - name: background + in: query + description: "(optional) URL for loading a background image for regions or\ + \ a key that references the namedBackgrounds (configured in config-spring-geonetwork.xml).\ + \ A WMS Getmap request is the typical example. The URL must be parameterized\ + \ with the following parameters: minx, maxx, miny, maxy, width, height" + required: false schema: type: string - - name: resource + default: settings + - name: geom in: query - description: Resource name (could be a file or a db connection) - required: true + description: (optional) a wkt or gml encoded geometry. + required: false schema: type: string - - name: metadataTitle + - name: geomtype in: query - description: Metadata title + description: (optional) defines if geom is wkt or gml. Allowed values are + wkt and gml. if not specified the it is assumed the geometry is wkt required: false schema: type: string - default: "" - - name: metadataAbstract + default: WKT + - name: geomsrs in: query - description: Metadata abstract required: false schema: type: string - default: "" + default: EPSG:4326 responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. Only Editors can access it. + "200": + description: OK content: - text/plain: + image/png: schema: - type: string - put: + type: array + items: + type: string + format: byte + /records/{metadataUuid}/extents/{geometryIndex}.png: + get: tags: - - mapservers - summary: Publish a metadata resource in a mapserver - operationId: publishMapserverResource + - records + summary: Get one record extent as image + description: | + A rendering of the geometry as a png. If no background is specified the image will be transparent. In getMap the envelope of the geometry is calculated then it is expanded by a factor. That factor is the size of the map. This allows the map to be slightly bigger than the geometry allowing some context to be shown. This parameter allows different factors to be chosen per scale level. + Proportion is the proportion of the world that the geometry covers (bounds of WGS84)/(bounds of geometry in WGS84) + + Named backgrounds allow the background parameter to be a simple key and the complete URL will be looked up from this list of named backgrounds + operationId: getOneRecordExtentAsImage parameters: - - name: mapserverId + - name: metadataUuid in: path - description: Mapserver identifier + description: Record UUID. required: true schema: type: string - - name: metadataUuid + - name: geometryIndex in: path - description: Record UUID. + description: Index of the geometry or bounding box to display. Starts at 1. required: true + schema: + type: integer + format: int32 + - name: mapsrs + in: query + description: (optional) the background map projection. If not passed uses + the region/getmap/mapproj setting. If the setting is not set defaults to + EPSG:4326 + required: false schema: type: string - - name: resource + - name: width in: query - description: Resource name (could be a file or a db connection) - required: true + description: (optional) width of the image that is created. Only one of width + and height are permitted + required: false + schema: + type: integer + format: int32 + default: 300 + - name: height + in: query + description: (optional) height of the image that is created. Only one of width + and height are permitted + required: false + schema: + type: integer + format: int32 + - name: background + in: query + description: "(optional) URL for loading a background image for regions or\ + \ a key that references the namedBackgrounds (configured in config-spring-geonetwork.xml).\ + \ A WMS GetMap request is the typical example. The URL must be parameterized\ + \ with the following parameters: minx, maxx, miny, maxy, width, height" + required: false schema: type: string - - name: metadataTitle + default: settings + - name: fillColor in: query - description: Metadata title + description: "(optional) Fill color with format RED,GREEN,BLUE,ALPHA" required: false schema: type: string - default: "" - - name: metadataAbstract + default: "0,0,0,50" + - name: strokeColor in: query - description: Metadata abstract + description: "(optional) Stroke color with format RED,GREEN,BLUE,ALPHA" required: false schema: type: string - default: "" + default: "0,0,0,255" responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. Only Editors can access it. + "200": + description: OK content: - text/plain: + image/png: schema: - type: string - delete: + type: array + items: + type: string + format: byte + /records/{metadataUuid}/alert: + post: tags: - - mapservers - summary: Remove a metadata mapserver resource - operationId: deleteMapserverResource + - userfeedback + summary: Send an email to catalogue administrator or record's contact + operationId: sendEmailToContact parameters: - - name: mapserverId + - name: metadataUuid in: path - description: Mapserver identifier + description: Metadata record UUID. required: true schema: type: string - - name: metadataUuid - in: path - description: Record UUID. + - name: recaptcha + in: query + description: Recaptcha validation key. + required: false + schema: + type: string + default: "" + - name: name + in: query + description: User name. required: true schema: type: string - - name: resource + - name: org in: query - description: Resource name (could be a file or a db connection) + description: User organisation. required: true schema: type: string - - name: metadataTitle + - name: email in: query - description: Metadata title + description: User email address. + required: true + schema: + type: string + - name: comments + in: query + description: A comment or question. + required: true + schema: + type: string + - name: phone + in: query + description: User phone number. required: false schema: type: string default: "" - - name: metadataAbstract + - name: subject in: query - description: Metadata abstract + description: Email subject. required: false schema: type: string - default: "" - responses: - default: - description: default response - content: - application/json: {} - "403": - description: Operation not allowed. Only Editors can access it. - content: - text/plain: - schema: - type: string - /sources: - get: - tags: - - sources - summary: Get portal list - description: List all subportal available. - operationId: getSources_1 - parameters: - - name: group + default: User feedback + - name: function in: query - description: Group owner of the source (only applies to subportal). + description: User function. required: false schema: - type: integer - format: int32 - responses: - default: - description: default response - content: - application/json: {} - "200": - description: List of portals. - /sources/{type}: - get: - tags: - - sources - summary: Get all sources by type - description: Sources are the local catalogue, subportal, external catalogue - (when importing MEF files) or harvesters. - operationId: getSourcesByType - parameters: + type: string + default: "-" - name: type - in: path - required: true + in: query + description: Comment type. + required: false schema: type: string - enum: - - portal - - subportal - - externalportal - - harvester + default: "-" + - name: category + in: query + description: Comment category. + required: false + schema: + type: string + default: "-" + - name: metadataEmail + in: query + description: List of record's contact to send this email (separated by comma). + required: false + schema: + type: string + default: "" responses: default: description: default response content: application/json: {} - "200": - description: OK + "201": + description: Created content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/Source' - /records/batchediting: + type: string + /records/ownership: put: tags: - records - summary: Edit a set of records by XPath expressions. This operations applies - the update-fixed-info.xsl transformation for the metadata schema and updates - the change date if the parameter updateDateStamp is set to true. - operationId: batchEdit + summary: Set group and owner for one or more records + operationId: setGroupAndOwner parameters: - name: uuids in: query @@ -6808,136 +10438,78 @@ paths: type: array items: type: string - example: iso19139 + - name: groupIdentifier + in: query + description: Group identifier + required: true + schema: + type: integer + format: int32 - name: bucket in: query description: Selection bucket name required: false schema: type: string - - name: updateDateStamp + - name: userIdentifier in: query - description: If true updates the DateStamp (or equivalent in standards different - to ISO 19139) field in the metadata with the current timestamp + description: User identifier + required: true + schema: + type: integer + format: int32 + - name: approved + in: query + description: Use approved version or not required: false schema: type: boolean default: false - requestBody: - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/BatchEditParameter' - required: true + example: true responses: default: description: default response content: application/json: {} - "201": - description: Return a report of what has been done. - content: - application/json: - schema: - $ref: '#/components/schemas/IProcessingReport' "403": description: Operation not allowed. User needs to be able to edit the resource. content: - application/json: + '*/*': schema: - $ref: '#/components/schemas/IProcessingReport' - /records/{metadataUuid}/related: + $ref: '#/components/schemas/MetadataProcessingReport' + "201": + description: Records group and owner updated + content: + '*/*': + schema: + $ref: '#/components/schemas/MetadataProcessingReport' + /tools/mail/test: get: tags: - - records - summary: Get record related resources - description: Retrieve related services, datasets, onlines, thumbnails, sources, - ... to this records.
More - info - operationId: getAssociatedResources - parameters: - - name: metadataUuid - in: path - description: Record UUID. - required: true - schema: - type: string - - name: type - in: query - description: Type of related resource. If none, all resources are returned. - required: false - schema: - type: array - items: - type: string - enum: - - children - - parent - - brothersAndSisters - - siblings - - associated - - services - - datasets - - fcats - - hasfeaturecats - - sources - - hassources - - related - - onlines - - thumbnails - default: "" - - name: start - in: query - description: Start offset for paging. Default 1. Only applies to related metadata - records (ie. not for thumbnails). - required: false - schema: - type: integer - format: int32 - default: 0 - - name: rows - in: query - description: Number of rows returned. Default 100. - required: false - schema: - type: integer - format: int32 - default: 100 + - tools + summary: Test mail configuration + description: Send an email to the catalog feedback email. + operationId: testMailConfiguration responses: default: description: default response content: application/json: {} - "200": - description: Return the associated resources. - content: - application/xml: - schema: - $ref: '#/components/schemas/RelatedResponse' - application/json: - schema: - $ref: '#/components/schemas/RelatedResponse' - "403": - description: Operation not allowed. User needs to be able to view the resource. + "201": + description: Created content: - application/xml: - schema: - $ref: '#/components/schemas/RelatedResponse' - application/json: + text/plain: schema: - $ref: '#/components/schemas/RelatedResponse' - /records/{metadataUuid}/featureCatalog: + type: string + /records/{metadataUuid}/permalink: get: tags: - records - summary: Returns a map to decode attributes in a dataset (from the associated - feature catalog) - description: Retrieve related services, datasets, onlines, thumbnails, sources, - ... to this records.
More - info - operationId: getFeatureCatalog + summary: Get metadata record permalink + description: "Permalink is by default the landing page formatter but can be\ + \ configured in the admin console > settings. If the record as a DOI and if\ + \ enabled in the settings, then it takes priority." + operationId: getRecordPermalink parameters: - name: metadataUuid in: path @@ -6950,428 +10522,385 @@ paths: description: default response content: application/json: {} - "200": - description: Return the associated resources. - content: - application/xml: - schema: - $ref: '#/components/schemas/FeatureResponse' - application/json: - schema: - $ref: '#/components/schemas/FeatureResponse' - "403": - description: Operation not allowed. User needs to be able to view the resource. + "404": + description: Resource not found. content: - application/xml: - schema: - $ref: '#/components/schemas/FeatureResponse' - application/json: + text/plain: schema: - $ref: '#/components/schemas/FeatureResponse' - /records/{metadataUuid}/formatters/xml: - get: - tags: - - records - summary: Get a metadata record as XML or JSON - operationId: getRecordAs - parameters: - - name: metadataUuid - in: path - description: Record UUID. - required: true - schema: - type: string - - name: addSchemaLocation - in: query - description: Add XSD schema location based on standard configuration (see - schema-ident.xml). - required: false - schema: - type: boolean - default: true - - name: increasePopularity - in: query - description: Increase record popularity - required: false - schema: - type: boolean - default: true - - name: withInfo - in: query - description: Add geonet:info details - required: false - schema: - type: boolean - default: false - - name: attachment - in: query - description: Download as a file - required: false - schema: - type: boolean - default: false - - name: approved - in: query - description: Download the approved version - required: false - schema: - type: boolean - default: true - - name: Accept - in: header - required: false - schema: - type: string - default: application/xml + type: string + "200": + description: Return the permalink URL. + content: + text/plain: + schema: + type: string + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + text/plain: + schema: + type: string + /atom/scan: + get: + tags: + - atom + summary: Scan records for ATOM feeds + description: Check in the settings which protocol identify ATOM feeds in your + catalogue.Only applies to ISO19139 records. + operationId: scan responses: default: description: default response content: application/json: {} - "200": - description: Return the record. + "201": + description: Scan completed. content: - application/xml: - schema: - type: object application/json: schema: type: object - "403": - description: Operation not allowed. User needs to be able to view the resource. + "204": + description: Not authenticated. content: - application/xml: - schema: - type: object application/json: schema: type: object - /records/{metadataUuid}/formatters/json: + /records/status/search: get: tags: - records - summary: Get a metadata record as XML or JSON - operationId: getRecordAs_1 + summary: Search status + operationId: getWorkflowStatusByType parameters: - - name: metadataUuid - in: path - description: Record UUID. - required: true - schema: - type: string - - name: addSchemaLocation + - name: type in: query - description: Add XSD schema location based on standard configuration (see - schema-ident.xml). + description: "One or more types to retrieve (ie. worflow, event, task). Default\ + \ is all." required: false schema: - type: boolean - default: true - - name: increasePopularity + type: array + items: + type: string + enum: + - workflow + - task + - event + - name: details in: query - description: Increase record popularity + description: All event details including XML changes. Responses are bigger. + Default is false required: false schema: type: boolean - default: true - - name: withInfo + - name: sortOrder in: query - description: Add geonet:info details + description: Sort Order (ie. DESC or ASC). Default is none. required: false schema: - type: boolean - default: false - - name: attachment + type: string + enum: + - ASC + - DESC + - name: author in: query - description: Download as a file + description: One or more event author. Default is all. required: false schema: - type: boolean - default: false - - name: approved + type: array + items: + type: integer + format: int32 + - name: owner in: query - description: Download the approved version + description: One or more event owners. Default is all. required: false schema: - type: boolean - default: true - - name: Accept - in: header + type: array + items: + type: integer + format: int32 + - name: id + in: query + description: One or more record identifier. Default is all. required: false schema: - type: string - default: application/xml - responses: - default: - description: default response - content: - application/json: {} - "200": - description: Return the record. - content: - application/xml: - schema: - type: object - application/json: - schema: - type: object - "403": - description: Operation not allowed. User needs to be able to view the resource. - content: - application/xml: - schema: - type: object - application/json: - schema: - type: object - /records/{metadataUuid}/formatters/zip: - get: - tags: - - records - summary: Get a metadata record as ZIP - description: Metadata Exchange Format (MEF) is returned. MEF is a ZIP file containing - the metadata as XML and some others files depending on the version requested. - See http://geonetwork-opensource.org/manuals/trunk/eng/users/annexes/mef-format.html. - operationId: getRecordAsZip - parameters: - - name: metadataUuid - in: path - description: Record UUID. - required: true - schema: - type: string - - name: format + type: array + items: + type: integer + format: int32 + - name: recordIdentifier in: query - description: MEF file format. + description: One or more metadata record identifier. Default is all. required: false schema: - type: string - enum: - - simple - - partial - - full - default: FULL - - name: withRelated + type: array + items: + type: integer + format: int32 + - name: uuid in: query - description: With related records (parent and service). + description: One or more metadata uuid. Default is all. required: false schema: - type: boolean - default: true - - name: withXLinksResolved + type: array + items: + type: string + - name: statusIds in: query - description: Resolve XLinks in the records. + description: One or more status id. Default is all. required: false schema: - type: boolean - default: true - - name: withXLinkAttribute + type: array + items: + type: string + - name: dateFrom in: query - description: Preserve XLink URLs in the records. + description: Start date required: false schema: - type: boolean - default: false - - name: addSchemaLocation + type: string + - name: dateTo in: query + description: End date required: false schema: - type: boolean - default: true - - name: approved + type: string + - name: from in: query - description: Download the approved version + description: From page required: false schema: - type: boolean - default: true - - name: Accept - in: header + type: integer + format: int32 + default: 0 + - name: size + in: query + description: Number of records to return required: false schema: - type: string - default: application/x-gn-mef-2-zip + type: integer + format: int32 + default: 100 responses: default: description: default response content: application/json: {} "200": - description: Return the record. - "403": - description: Operation not allowed. User needs to be able to view the resource. - /records/{metadataUuid}/processes: - get: + description: OK + content: {} + /records/batchediting: + put: tags: - records - summary: Get suggestions - description: Analyze the record an suggest processes to improve the quality - of the record.
More - info - operationId: getSuggestions + summary: Edit a set of records by XPath expressions. This operations applies + the update-fixed-info.xsl transformation for the metadata schema and updates + the change date if the parameter updateDateStamp is set to true. + operationId: batchEdit parameters: - - name: metadataUuid - in: path - description: Record UUID. - required: true + - name: uuids + in: query + description: Record UUIDs. If null current selection is used. + required: false + schema: + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name + required: false schema: type: string + - name: updateDateStamp + in: query + description: If true updates the DateStamp (or equivalent in standards different + to ISO 19139) field in the metadata with the current timestamp + required: false + schema: + type: boolean + default: false + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/BatchEditParameter' + required: true + responses: + default: + description: default response + content: + application/json: {} + "201": + description: Return a report of what has been done. + content: + application/json: + schema: + $ref: '#/components/schemas/IProcessingReport' + "403": + description: Operation not allowed. User needs to be able to edit the resource. + content: + application/json: + schema: + $ref: '#/components/schemas/IProcessingReport' + /formatters/cache: + delete: + tags: + - formatters + summary: Clear formatter cache + description: "Formatters are used to render records in various format (HTML,\ + \ PDF, ...). When a record is rendered a cache is populated for better performance.\ + \ By default the cache is an H2 database with files on the filesystems (See\ + \ /resources/htmlcache/formatter-cache folder)." + operationId: clearFormatterCache responses: default: description: default response content: application/json: {} "403": - description: Operation not allowed. User needs to be able to edit the resource. + description: Operation not allowed. Only Administrator can access it. + "204": + description: Cache cleared. + /usersearches: + get: + tags: + - usersearches + summary: Get user custom searches + operationId: getUserCustomSearches + responses: + default: + description: default response content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/SuggestionType' + application/json: {} "200": - description: Record suggestions. + description: OK content: application/json: schema: type: array items: - $ref: '#/components/schemas/SuggestionType' - /records/{metadataUuid}/processes/{process}: - get: + $ref: '#/components/schemas/UserSearchDto' + put: tags: - - records - summary: Preview process result - description: Process a metadata with an XSL transformation declared in the metadata - schema (See the process folder). Parameters sent to the service are forwarded - to XSL process. - operationId: processRecordPreview - parameters: - - name: metadataUuid - in: path - description: Record UUID. - required: true - schema: - type: string - - name: process - in: path - description: Process identifier - required: true - schema: - type: string + - usersearches + summary: Creates a user search + description: Creates a user search. + operationId: createUserCustomSearch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserSearchDto' + required: true responses: default: description: default response content: application/json: {} - "200": - description: A preview of the processed record. - content: - application/xml: - schema: - $ref: '#/components/schemas/Element' - "403": - description: Operation not allowed. User needs to be able to edit the resource. + "201": + description: User search created. content: - application/xml: + application/json: schema: - $ref: '#/components/schemas/Element' - post: + type: integer + format: int32 + /standards/{schema}/codelists/{codelist}: + get: tags: - - records - summary: Apply a process - description: Process a metadata with an XSL transformation declared in the metadata - schema (See the process folder). Parameters sent to the service are forwarded - to XSL process. - operationId: processRecord + - standards + summary: Get codelist translations + operationId: getSchemaTranslations parameters: - - name: metadataUuid + - name: schema in: path - description: Record UUID. + description: Schema identifier required: true schema: type: string - - name: process + example: iso19139 + - name: codelist in: path - description: Process identifier + description: Codelist element name or alias required: true schema: type: string + - name: parent + in: query + required: false + schema: + type: string + - name: displayIf + in: query + required: false + schema: + type: string + - name: xpath + in: query + required: false + schema: + type: string + - name: isoType + in: query + required: false + schema: + type: string responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. User needs to be able to edit the resource. - content: - application/xml: - schema: - type: string - "204": - description: Record processed and saved. + "200": + description: OK content: - application/xml: + application/json: schema: - type: string - /records/{metadataUuid}/validate/internal: + type: object + additionalProperties: + type: string + /site/logo: put: tags: - - records - summary: Validate a record - description: 'User MUST be able to edit the record to validate it. FIXME : id - MUST be the id of the current metadata record in session ?' - operationId: validateRecord + - site + summary: Set catalog logo + description: "Logos are stored in the data directory resources/images/harvesting\ + \ as PNG or GIF images. When a logo is assigned to the catalog, a new image\ + \ is created in images/logos/.png." + operationId: setLogo parameters: - - name: metadataUuid - in: path - description: Record UUID. + - name: file + in: query + description: Logo to use for the catalog required: true schema: type: string - - name: isvalid + - name: asFavicon in: query - description: Validation status. Should be provided only in case of SUBTEMPLATE - validation. If provided for another type, throw a BadParameter Exception + description: Create favicon too required: false schema: type: boolean + default: false responses: default: description: default response content: application/json: {} - "201": - description: Validation report. - content: - application/json: - schema: - $ref: '#/components/schemas/Reports' - application/xml: - schema: - $ref: '#/components/schemas/Reports' "403": - description: Operation not allowed. User needs to be able to edit the resource. - content: - application/json: - schema: - $ref: '#/components/schemas/Reports' - application/xml: - schema: - $ref: '#/components/schemas/Reports' - /records/{metadataUuid}/rate: - put: + description: Operation not allowed. Only UserAdmins can access it. + "204": + description: Logo set. + /records/{metadataUuid}/processes: + get: tags: - records - summary: Rate a record - description: User rating of metadata. If the metadata was harvested using the - 'GeoNetwork' protocol and the system setting localrating/enable is false (the - default), the user's rating is shared between GN nodes in this harvesting - network. If the metadata was not harvested or if localrating/enable is true - then 'local rating' is applied, counting only rating from users of this node.
When - a remote rating is applied, the local rating is not updated. It will be updated - on the next harvest run (FIXME ?). - operationId: rateRecord + summary: Get suggestions + description: Analyze the record an suggest processes to improve the quality + of the record.
More + info + operationId: getSuggestions parameters: - name: metadataUuid in: path @@ -7379,77 +10908,84 @@ paths: required: true schema: type: string - requestBody: - description: Rating - content: - application/json: - schema: - type: integer - format: int32 - required: true responses: default: description: default response content: application/json: {} - "201": - description: New rating value. + "403": + description: Operation not allowed. User needs to be able to edit the resource. content: - '*/*': + application/json: schema: - type: integer - format: int32 - "403": - description: Operation not allowed. User needs to be able to view the resource. + type: array + items: + $ref: '#/components/schemas/SuggestionType' + "200": + description: Record suggestions. content: - '*/*': + application/json: schema: - type: integer - format: int32 - /records/templates: - put: + type: array + items: + $ref: '#/components/schemas/SuggestionType' + /registries/crs: + get: tags: - - records - summary: Add templates - description: Add template records for one or more schemas. Templates are defined - for each standard in the template folder as XML files. Template may also contains - subtemplates. - operationId: addTemplates + - registries + summary: Search coordinate reference system (CRS) + description: "Based on GeoTools EPSG database. If phrase query, each words are\ + \ searched separately." + operationId: searchCrs parameters: - - name: schema + - name: q in: query - description: Schema identifiers - required: true + description: Search value + required: false schema: - type: array - items: - type: string - example: iso19139 + type: string + default: "" + - name: type + in: query + description: Type of CRS + required: false + schema: + type: string + enum: + - CoordinateReferenceSystem + - VerticalCRS + - GeographicCRS + - ProjectedCRS + - name: rows + in: query + description: "Number of results. Default is: 100" + required: false + schema: + type: integer + format: int32 + default: 100 responses: default: description: default response content: - application/json: {} - "201": - description: Return a report of what has been done. - content: - '*/*': - schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' - "403": - description: Operation not allowed. Only Administrators can access it. + application/json: {} + "200": + description: List of CRS. content: - '*/*': + application/json: schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' - /records/samples: + type: array + items: + $ref: '#/components/schemas/Crs' + /records/templates: put: tags: - records - summary: Add samples - description: Add sample records for one or more schemas. Samples are defined - for each standard in the samples folder as MEF files. - operationId: addSamples + summary: Add templates + description: Add template records for one or more schemas. Templates are defined + for each standard in the template folder as XML files. Template may also contains + subtemplates. + operationId: addTemplates parameters: - name: schema in: query @@ -7477,25 +11013,37 @@ paths: '*/*': schema: $ref: '#/components/schemas/SimpleMetadataProcessingReport' - /records/versions: - put: + /records/{metadataUuid}/status/{statusId}.{userId}.{changeDate}/restore: + post: tags: - records - summary: (Experimental) Enable version control for one or more records - operationId: enableVersionControlForRecords + summary: Restore saved content from a status record + operationId: restoreAtStatusSave parameters: - - name: uuids - in: query - description: Record UUIDs. If null current selection is used. - required: false + - name: metadataUuid + in: path + description: Record UUID. + required: true schema: - type: array - items: - type: string - - name: bucket - in: query - description: Selection bucket name - required: false + type: string + - name: statusId + in: path + description: Status identifier + required: true + schema: + type: integer + format: int32 + - name: userId + in: path + description: User identifier + required: true + schema: + type: integer + format: int32 + - name: changeDate + in: path + description: Change date + required: true schema: type: string responses: @@ -7504,17 +11052,15 @@ paths: content: application/json: {} "200": - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/MetadataProcessingReport' - /records/{metadataUuid}/versions: - put: + description: Record restored. + "403": + description: Operation not allowed. User needs to be able to edit the resource. + /records/{metadataUuid}/formatters/xml: + get: tags: - records - summary: (Experimental) Enable version control - operationId: enableVersionControl + summary: Get a metadata record as XML or JSON + operationId: getRecordAs parameters: - name: metadataUuid in: path @@ -7522,108 +11068,241 @@ paths: required: true schema: type: string + - name: addSchemaLocation + in: query + description: Add XSD schema location based on standard configuration (see + schema-ident.xml). + required: false + schema: + type: boolean + default: true + - name: increasePopularity + in: query + description: Increase record popularity + required: false + schema: + type: boolean + default: true + - name: withInfo + in: query + description: Add geonet:info details + required: false + schema: + type: boolean + default: false + - name: attachment + in: query + description: Download as a file + required: false + schema: + type: boolean + default: false + - name: approved + in: query + description: Download the approved version + required: false + schema: + type: boolean + default: true + - name: Accept + in: header + required: false + schema: + type: string + default: application/xml responses: default: description: default response content: application/json: {} "200": - description: OK + description: Return the record. content: - '*/*': + application/xml: schema: - type: string - /records/validate: - put: + type: object + application/json: + schema: + type: object + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + application/xml: + schema: + type: object + application/json: + schema: + type: object + /records/{metadataUuid}/formatters/json: + get: tags: - records - summary: Validate one or more records - description: Update validation status for all records. - operationId: validateRecords + summary: Get a metadata record as XML or JSON + operationId: getRecordAs_1 parameters: - - name: uuids + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: addSchemaLocation in: query - description: Record UUIDs. If null current selection is used. + description: Add XSD schema location based on standard configuration (see + schema-ident.xml). required: false schema: - type: array - items: - type: string - - name: approved + type: boolean + default: true + - name: increasePopularity in: query - description: Use approved version or not + description: Increase record popularity + required: false + schema: + type: boolean + default: true + - name: withInfo + in: query + description: Add geonet:info details required: false schema: type: boolean default: false - example: true - - name: bucket + - name: attachment in: query - description: Selection bucket name + description: Download as a file + required: false + schema: + type: boolean + default: false + - name: approved + in: query + description: Download the approved version + required: false + schema: + type: boolean + default: true + - name: Accept + in: header required: false schema: type: string + default: application/xml responses: default: description: default response content: application/json: {} + "200": + description: Return the record. + content: + application/xml: + schema: + type: object + application/json: + schema: + type: object "403": - description: Operation not allowed. Only Editors can access it. + description: Operation not allowed. User needs to be able to view the resource. content: + application/xml: + schema: + type: object application/json: schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' + type: object + /user/{username}: + patch: + tags: + - users + summary: Update user password + description: Get a valid changekey by email first and then update your password. + operationId: updatePassword + parameters: + - name: username + in: path + description: The user name + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordUpdateParameter' + required: true + responses: + default: + description: default response + content: + application/json: {} "201": - description: Records validated. + description: Created content: - application/json: + text/plain: schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' - delete: + type: string + /registries/entries/{uuid}: + get: tags: - - records - summary: Clear validation status of one or more records - operationId: cleanValidationStatus + - registries + summary: Get a directory entry + description: Directory entry (AKA subtemplates) are XML fragments that can be + inserted in metadata records using XLinks. XLinks can be remote or local. + operationId: getEntry parameters: - - name: uuids + - name: uuid + in: path + description: Directory entry UUID. + required: true + schema: + type: string + - name: process in: query - description: Record UUIDs. If null current selection is used. + description: Process required: false schema: type: array items: type: string - - name: bucket + - name: transformation in: query - description: Selection bucket name + description: Transformation + required: false + schema: + type: string + - name: lang + in: query + description: lang + required: false + schema: + type: array + items: + type: string + - name: schema + in: query + description: schema required: false schema: type: string + default: iso19139 responses: default: description: default response content: application/json: {} - "201": - description: Records validation status cleared. - content: - application/json: - schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' + "200": + description: Directory entry. + content: {} "403": - description: Operation not allowed. Only Editors can access it. - content: - application/json: - schema: - $ref: '#/components/schemas/SimpleMetadataProcessingReport' - /records/validate/inspire: - put: + description: Operation not allowed. User needs to be able to view the resource. + content: {} + /records/batchediting/preview: + post: tags: - records - summary: Validate one or more records in INSPIRE validator - description: Update validation status for all records. - operationId: validateRecordsInspire + summary: Preview edits made by XPath expressions. + operationId: previewBatchEdit parameters: - name: uuids in: query @@ -7639,84 +11318,68 @@ paths: required: false schema: type: string - - name: mode + - name: diffType in: query - description: Define the encoding of the record to use. By default, ISO19139 - are used as is and ISO19115-3 are converted to ISO19139.If mode = csw, a - GetRecordById request is used.If mode = any portal id, then a GetRecordById - request is used on this portal CSW entry point which may define custom CSW - post processing. See https://github.com/geonetwork/core-geonetwork/pull/4493. + description: "Return differences with diff, diffhtml or patch" required: false schema: type: string - responses: - default: - description: default response - content: - application/json: {} - "403": - description: Operation not allowed. Only Editors can access it. - content: - application/json: - schema: - type: string - "201": - description: Records validated. - content: - application/json: - schema: - type: string - /user/actions/register: - put: - tags: - - users - summary: Create user account - description: User is created with a registered user profile. username field - is ignored and the email is used as username. Password is sent by email. Catalog - administrator is also notified. - operationId: registerUser + enum: + - patch + - diff + - diffhtml requestBody: - description: User details content: application/json: schema: - $ref: '#/components/schemas/UserRegisterDto' + type: array + items: + $ref: '#/components/schemas/BatchEditParameter' required: true responses: default: description: default response content: application/json: {} - "201": - description: Created + "403": + description: Operation not allowed. User needs to be able to edit the resource. content: - text/plain: + application/xml: schema: - type: string - /i18n/db/translations/{key}: + type: object + "200": + description: Processed records. + content: + application/xml: + schema: + type: object + /records/{metadataUuid}/rate: put: tags: - - tools - summary: Add or update database translations. - operationId: addTranslations + - records + summary: Rate a record + description: "User rating of metadata. If the metadata was harvested using the\ + \ 'GeoNetwork' protocol and the system setting localrating/enable is false\ + \ (the default), the user's rating is shared between GN nodes in this harvesting\ + \ network. If the metadata was not harvested or if localrating/enable is true\ + \ then 'local rating' is applied, counting only rating from users of this\ + \ node.
When a remote rating is applied, the local rating is not updated.\ + \ It will be updated on the next harvest run (FIXME ?)." + operationId: rateRecord parameters: - - name: key + - name: metadataUuid in: path + description: Record UUID. required: true schema: type: string - - name: replace - in: query - required: false - schema: - type: boolean requestBody: content: application/json: schema: - type: object - additionalProperties: - type: string + type: integer + description: Rating + format: int32 required: true responses: default: @@ -7724,20 +11387,67 @@ paths: content: application/json: {} "201": - description: Created + description: New rating value. content: - application/json: + '*/*': schema: - type: string - delete: + type: integer + format: int32 + "403": + description: Operation not allowed. User needs to be able to view the resource. + content: + '*/*': + schema: + type: integer + format: int32 + /records/links/csv: + get: tags: - - tools - summary: Delete database translations. - operationId: deleteTranslations + - links + description: Get record links as CSV + operationId: getRecordLinksAsCsv parameters: - - name: key - in: path - required: true + - name: filter + in: query + description: "Filter, e.g. \"{url: 'png', lastState: 'ko', records: 'e421',\ + \ groupId: 12}\", lastState being 'ok'/'ko'/'unknown'" + required: false + schema: + $ref: '#/components/schemas/JSONObject' + - name: groupIdFilter + in: query + description: "Optional, filter links to records published in that group." + required: false + schema: + type: array + items: + type: integer + format: int32 + - name: groupOwnerIdFilter + in: query + description: "Optional, filter links to records created in that group." + required: false + schema: + type: array + items: + type: integer + format: int32 + - name: page + in: query + description: Results page you want to retrieve (0..N) + schema: + type: integer + format: int32 + - name: size + in: query + description: Number of records per page. + schema: + type: integer + format: int32 + - name: sort + in: query + description: "Sorting criteria in the format: property(,asc|desc). Default\ + \ sort order is ascending. " schema: type: string responses: @@ -7747,98 +11457,107 @@ paths: application/json: {} "200": description: OK - /i18n/db/translations: - get: - tags: - - tools - summary: List database translations (used to overrides client application translations). - operationId: getDbTranslations - responses: - default: - description: default response - content: - application/json: {} - "200": - description: OK - content: - application/json: - schema: - type: object - additionalProperties: - type: string - /i18n/packages: + /site/info: get: tags: - - tools - summary: Get list of translation packages. - operationId: getTranslationsPackage + - site + summary: Get site informations + operationId: getInformation responses: default: description: default response content: application/json: {} "200": - description: OK + description: Site information. content: application/json: schema: - type: object - additionalProperties: - type: array - items: - type: string - /i18n/packages/{pack}: + $ref: '#/components/schemas/SiteInformation' + /reports/metadatainternal: get: tags: - - tools - summary: Get a translation package. - operationId: getTranslationsPackage_1 + - records + summary: Get the metadata not published during a period. + operationId: getReportInternalMetadata parameters: - - name: pack - in: path + - name: dateFrom + in: query + description: From date of metadata change date + required: true + schema: + type: string + - name: dateTo + in: query + description: To date of metadata change date required: true schema: type: string + - name: groups + in: query + description: Metadata group(s) + required: false + schema: + type: array + items: + type: integer + format: int32 responses: default: description: default response content: application/json: {} "200": - description: OK - content: - application/json: - schema: - type: object - additionalProperties: - type: string - /i18n/cache: - delete: + description: Metadata not published during a period. + /atom/download/resource: + get: tags: - - tools - summary: Clean translation packages cache. - operationId: cleanTranslationsPackagesCache + - atom + summary: Get a data file related to dataset + description: "This service if a dataset has only 1 download format for a CRS\ + \ returns the file, otherwise returns a feed with downloads for the dataset." + operationId: downloadResource + parameters: + - name: spatial_dataset_identifier_code + in: query + description: spatial_dataset_identifier_code + required: false + schema: + type: string + default: "" + - name: spatial_dataset_identifier_namespace + in: query + description: spatial_dataset_identifier_namespace + required: false + schema: + type: string + default: "" + - name: crs + in: query + description: crs + required: false + schema: + type: string + default: "" responses: default: description: default response content: application/json: {} "200": - description: OK - /i18n/db: + description: Get a data file related to dataset + content: {} + "204": + description: Not authenticated. + content: {} + /isolanguages: get: tags: - - tools - summary: List translations for database description table - operationId: getTranslations - parameters: - - name: type - in: query - required: false - schema: - type: array - items: - type: string + - languages + summary: Get ISO languages + description: ISO languages provides a list of all languages (eg. used for autocompletion + in metadata editor). + operationId: getIsoLanguages responses: default: description: default response @@ -7849,345 +11568,389 @@ paths: content: application/json: schema: - type: object - additionalProperties: - type: string - /tools/migration/steps/{stepName}: + type: array + items: + $ref: '#/components/schemas/IsoLanguage' + /records/duplicate: put: tags: - - tools - summary: Call a migration step - operationId: callStep + - records + summary: Create a new record + description: "Create a record from a template or by copying an existing record.Return\ + \ the UUID of the newly created record. Existing links in the source record\ + \ are preserved, this means that the new record may contains link to the source\ + \ attachments. They need to be manually updated after creation." + operationId: create parameters: - - name: stepName - in: path - description: Class name to execute corresponding to a migration step. See - DatabaseMigrationTask. + - name: metadataType + in: query + description: The type of record. + required: false + schema: + type: string + enum: + - METADATA + - TEMPLATE + - SUB_TEMPLATE + - TEMPLATE_OF_SUB_TEMPLATE + default: METADATA + - name: sourceUuid + in: query + description: UUID of the source record to copy. required: true schema: type: string - example: org.fao.geonet.api.records.attachments.MetadataResourceDatabaseMigration + - name: targetUuid + in: query + description: Assign a custom UUID. If this UUID already exist an error is + returned. This is enabled only if metadata create / generate UUID settings + is activated. + required: false + schema: + type: string + - name: group + in: query + description: The group the record is attached to. + required: true + schema: + type: string + - name: allowEditGroupMembers + in: query + description: "Is editable by group members with editor profile? If not, only\ + \ the author and administrator can edit the record." + required: false + schema: + type: boolean + default: false + - name: category + in: query + description: Tags to assign to the record. + required: false + schema: + type: array + items: + type: string + - name: hasCategoryOfSource + in: query + description: Copy categories from source? + required: false + schema: + type: boolean + default: false + - name: isChildOfSource + in: query + description: Is child of the record to copy? + required: false + schema: + type: boolean + default: false + - name: hasAttachmentsOfSource + in: query + description: Copy attachments from source? + required: false + schema: + type: boolean + default: true responses: default: description: default response content: application/json: {} "201": - description: Created + description: Return the internal id of the newly created record. content: - text/plain: + application/json: schema: type: string - /operations: - get: - tags: - - operations - summary: Get operations - description: Return the list of operations. Operations are used to define authorization - per group. Extending the list of default operations (ie. view, dynamic, download, - editing, notify, featured) might be feasible but is experimental.
Featured - is not really used anymore (was used in past version for home page highlights). - operationId: getOperations - responses: - default: - description: default response - content: - application/json: {} - "200": - description: OK + "403": + description: Operation not allowed. Only Editors can access it. content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/Operation' - /ui: + type: string + /robots.txt: get: tags: - - ui - summary: Get UI configuration - operationId: getUiConfigurations + - site + summary: robots.txt + operationId: getRobotsText responses: default: description: default response content: application/json: {} "200": - description: List of configuration. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/UiSetting' - /ui/{uiIdentifier}: + description: robots.txt file for SEO. + /standards: get: tags: - - ui - summary: Get a UI configuration - operationId: getUiConfiguration - parameters: - - name: uiIdentifier - in: path - description: UI identifier - required: true - schema: - type: string + - standards + summary: Get standards + operationId: getStandardConfigurations responses: default: description: default response content: application/json: {} "200": - description: UI configuration. - content: - application/json: - schema: - $ref: '#/components/schemas/UiSetting' + description: List of standards. + content: {} + /records/{metadataUuid}/ownership: put: tags: - - ui - summary: Update a UI configuration - operationId: updateUiConfiguration + - records + summary: Set record group and owner + operationId: setRecordOwnership parameters: - - name: uiIdentifier + - name: metadataUuid in: path - description: UI configuration identifier + description: Record UUID. required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UiSetting' - required: true + - name: groupIdentifier + in: query + description: Group identifier + required: true + schema: + type: integer + format: int32 + - name: userIdentifier + in: query + description: User identifier + required: true + schema: + type: integer + format: int32 + - name: approved + in: query + description: Use approved version or not + required: false + schema: + type: boolean + default: true + example: true responses: default: description: default response content: application/json: {} "403": - description: Operation not allowed. Only UserAdmins can access it. + description: Operation not allowed. User needs to be able to edit the resource. content: '*/*': schema: - type: string - "204": - description: UI configuration updated. + $ref: '#/components/schemas/MetadataProcessingReport' + "201": + description: Record group and owner updated content: '*/*': schema: - type: string - /site/info: - get: - tags: - - site - summary: Get site informations - operationId: getInformation - responses: - default: - description: default response - content: - application/json: {} - "200": - description: Site information. - content: - application/json: - schema: - $ref: '#/components/schemas/SiteInformation' - /site/index/status: - get: + $ref: '#/components/schemas/MetadataProcessingReport' + /user/actions/forgot-password: + put: tags: - - site - summary: Index status - operationId: indexStatus + - users + summary: Send user password reminder by email + description: An email is sent to the requested user with a link to reset his + password. User MUST have an email to get the link. LDAP users will not be + able to retrieve their password using this service. + operationId: sendPasswordByEmail + parameters: + - name: username + in: query + description: The user name + required: true + schema: + type: string responses: default: description: default response content: application/json: {} - "200": - description: OK + "201": + description: Created content: - application/json: + text/plain: schema: - $ref: '#/components/schemas/Status' - /site/index/synchronized: + type: string + /me: get: tags: - - site - summary: Index synchronized with database - operationId: indexAndDbSynchronizationStatus + - me + summary: Get information about me + description: "If not authenticated, return status 204 (NO_CONTENT), else return\ + \ basic user information. This operation is usually used to know if current\ + \ user is authenticated or not.It returns also info about groups and profiles." + operationId: getMe responses: default: description: default response content: application/json: {} "200": - description: OK + description: Authenticated. Return user details. content: application/json: schema: - type: object - additionalProperties: - type: object - /site/info/transforms: - get: + $ref: '#/components/schemas/MeResponse' + "204": + description: Not authenticated. + content: + application/json: + schema: + $ref: '#/components/schemas/MeResponse' + /records/approve: + put: tags: - - site - summary: Get XSL tranformations available - description: XSL transformations may be applied while importing or harvesting - records. - operationId: getXslTransformations + - records + summary: Set the records status to approved + operationId: approve + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MetadataBatchApproveParameter' + required: true responses: default: description: default response content: application/json: {} "200": - description: XSLT available. + description: Metadata approved . content: - application/json: + '*/*': schema: - type: array - items: - type: string - /site/settings: + $ref: '#/components/schemas/MetadataProcessingReport' + "400": + description: Metadata workflow not enabled. + content: + '*/*': + schema: + $ref: '#/components/schemas/MetadataProcessingReport' + /records/index: get: tags: - - site - summary: Get settings - description: Return public settings for anonymous users, internals are allowed - for authenticated. - operationId: getSettingsSet + - records + summary: Index a set of records + description: Index a set of records provided either by a bucket or a list of + uuids + operationId: index_1 parameters: - - name: set + - name: uuids in: query - description: Setting set. A common set of settings to retrieve. + description: Record UUIDs. If null current selection is used. required: false schema: type: array items: type: string - enum: - - INSPIRE - - CSW - - HARVESTER - - USER_GROUP_ONLY - - AUTH - - READ_ONLY - - INDEX - - SYSTEMINFO - - STAGING_PROFILE - - TYPE - - name: key + - name: bucket in: query - description: Setting key + description: Selection bucket name required: false schema: - type: array - items: - type: string + type: string responses: default: description: default response content: application/json: {} - "200": - description: Settings. + "403": + description: Operation not allowed. Only Administrators can access it. content: application/json: schema: - $ref: '#/components/schemas/SettingsListResponse' - /site: - get: - tags: - - site - summary: Get site (or portal) description - operationId: getSiteOrPortalDescription - responses: - default: - description: default response - content: - application/json: {} + type: object + properties: + nullObject: + type: boolean + array: + type: boolean + empty: + type: boolean + additionalProperties: + type: object "200": - description: Site description. + description: Record indexed. content: application/json: schema: - $ref: '#/components/schemas/SettingsListResponse' - /site/settings/details: + type: object + properties: + nullObject: + type: boolean + array: + type: boolean + empty: + type: boolean + additionalProperties: + type: object + /atom/describe/resource: get: tags: - - site - summary: Get settings with details - description: Provides also setting properties. - operationId: getSettingsDetails + - atom + summary: Describe resource + operationId: describeResource parameters: - - name: set + - name: fileIdentifier in: query - description: Setting set. A common set of settings to retrieve. + description: fileIdentifier required: false schema: - type: array - items: - type: string - enum: - - INSPIRE - - CSW - - HARVESTER - - USER_GROUP_ONLY - - AUTH - - READ_ONLY - - INDEX - - SYSTEMINFO - - STAGING_PROFILE - - TYPE - - name: key + type: string + default: "" + - name: spatial_dataset_identifier_code in: query - description: Setting key + description: spatial_dataset_identifier_code required: false schema: - type: array - items: - type: string + type: string + default: "" + - name: spatial_dataset_identifier_namespace + in: query + description: spatial_dataset_identifier_namespace + required: false + schema: + type: string + default: "" responses: default: description: default response content: application/json: {} "200": - description: Settings with details. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Setting' - /site/indexing: + description: Feeds. + content: {} + "204": + description: Not authenticated. + content: {} + /regions/types: get: tags: - - site - summary: Is indexing? - operationId: isIndexing + - regions + summary: Get list of region types + operationId: getRegionTypes responses: default: description: default response content: application/json: {} "200": - description: OK + description: List of region types. content: application/json: schema: - type: boolean - /site/info/isCasEnabled: + type: array + items: + $ref: '#/components/schemas/Category' + /users: get: tags: - - site - summary: Is CAS enabled? - operationId: isCasEnabled + - users + summary: Get users + operationId: getUsers responses: default: description: default response @@ -8198,68 +11961,21 @@ paths: content: application/json: schema: - type: boolean - /site/info/build: - get: - tags: - - site - summary: Get build details - description: To know when and how this version of the application was built. - operationId: getSystemInfo - responses: - default: - description: default response - content: - application/json: {} - "200": - description: Build info. - content: - application/json: - schema: - $ref: '#/components/schemas/SystemInfo' - /site/index: + type: array + items: + $ref: '#/components/schemas/User' put: tags: - - site - summary: Index - operationId: index_1 - parameters: - - name: reset - in: query - description: Drop and recreate index - required: false - schema: - type: boolean - default: true - - name: asynchronous - in: query - description: Asynchronous mode (only on all records. ie. no selection bucket) - required: false - schema: - type: boolean - default: false - - name: havingXlinkOnly - in: query - description: Records having only XLinks - required: false - schema: - type: boolean - default: false - - name: indices - in: query - description: Index. By default only remove record index. - required: false - schema: - type: array - items: - type: string - default: records - - name: bucket - in: query - description: Selection bucket name - required: false - schema: - type: string + - users + summary: Creates a user + description: Creates a catalog user. + operationId: createUser + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserDto' + required: true responses: default: description: default response @@ -8271,12 +11987,15 @@ paths: application/json: schema: type: string - /site/info/readonly: + /languages: get: tags: - - site - summary: Is in read-only mode? - operationId: isReadOnly + - languages + summary: Get languages + description: "Languages for the application having translations in the database.\ + \ All tables with 'Desc' suffix contains translation for some domain objects\ + \ like groups, tags, ..." + operationId: getLanguages responses: default: description: default response @@ -8287,188 +12006,137 @@ paths: content: application/json: schema: - type: boolean - /reports/users: - get: + type: array + items: + $ref: '#/components/schemas/Language' + /records/{metadataUuid}/unpublish: + put: tags: - records - summary: Get the list of users "active" during a time period. - operationId: getActiveUsers + summary: Unsets privileges for ALL group to publish the metadata for all users. + operationId: unpublish_1 parameters: - - name: dateFrom - in: query - description: From date of users login date - required: true - schema: - type: string - - name: dateTo - in: query - description: To date of users login date + - name: metadataUuid + in: path + description: Record UUID. required: true schema: type: string - - name: groups - in: query - description: Group(s) for the users - required: false - schema: - type: array - items: - type: integer - format: int32 + requestBody: + content: + application/json: + schema: + type: string + description: Publication type responses: default: description: default response content: application/json: {} - "200": - description: List of users "active" during a time period. - /reports/datauploads: + "403": + description: Operation not allowed. User needs to be able to edit the resource. + "204": + description: Settings updated. + /records/csv: get: tags: - records - summary: Get uploaded files to metadata records during a period. - operationId: getReportDataUploads + summary: Get a set of metadata records as CSV + description: The CSV is a short summary of each records. + operationId: exportAsCsv parameters: - - name: dateFrom - in: query - description: From date of the metadata uploads - required: true - schema: - type: string - - name: dateTo - in: query - description: To date of the metadata uploads - required: true - schema: - type: string - - name: groups + - name: uuids in: query - description: Metadata group(s) + description: Record UUIDs. If null current selection is used. required: false schema: type: array items: - type: integer - format: int32 + type: string + - name: bucket + in: query + description: Selection bucket name + required: false + schema: + type: string responses: default: description: default response content: application/json: {} "200": - description: OK - /reports/metadatainternal: - get: + description: Return requested records as CSV. + "403": + description: Operation not allowed. User needs to be able to view the resource. + /records/{metadataUuid}/status/{statusId}.{userId}.{changeDate}/close: + put: tags: - records - summary: Get the metadata not published during a period. - operationId: getReportInternalMetadata + summary: Close a record task + operationId: closeTask parameters: - - name: dateFrom - in: query - description: From date of metadata change date + - name: metadataUuid + in: path + description: Record UUID. required: true schema: type: string - - name: dateTo - in: query - description: To date of metadata change date + - name: statusId + in: path + description: Status identifier required: true schema: - type: string - - name: groups - in: query - description: Metadata group(s) - required: false + type: integer + format: int32 + - name: userId + in: path + description: User identifier + required: true schema: - type: array - items: - type: integer - format: int32 - responses: - default: - description: default response - content: - application/json: {} - "200": - description: Metadata not published during a period. - /reports/metadataupdated: - get: - tags: - - records - summary: Get the updated metadata during a period. - operationId: getReportUpdatedMetadata - parameters: - - name: dateFrom - in: query - description: From date of metadata change date + type: integer + format: int32 + - name: changeDate + in: path + description: Change date required: true schema: type: string - - name: dateTo + - name: closeDate in: query - description: To date of metadata change date + description: Close date required: true schema: type: string - - name: groups - in: query - description: Metadata group(s) - required: false - schema: - type: array - items: - type: integer - format: int32 responses: default: description: default response content: application/json: {} - "200": - description: Updated metadata during a period. - /reports/datadownloads: + "404": + description: Status not found. + "403": + description: Operation not allowed. User needs to be able to edit the resource. + "204": + description: Task closed. + /sources/{type}: get: tags: - - records - summary: Get list of metadata file downloads - operationId: getReportDataDownloads + - sources + summary: Get all sources by type + description: "Sources are the local catalogue, subportal, external catalogue\ + \ (when importing MEF files) or harvesters." + operationId: getSourcesByType parameters: - - name: dateFrom - in: query - description: From date of the metadata downloads - required: true - schema: - type: string - - name: dateTo - in: query - description: To date of the metadata downloads + - name: type + in: path required: true schema: type: string - - name: groups - in: query - description: Metadata group(s) - required: false - schema: - type: array - items: - type: integer - format: int32 - responses: - default: - description: default response - content: - application/json: {} - "200": - description: List of metadata file downloads. - /userselections: - get: - tags: - - userselections - summary: Get list of user selection sets - operationId: getSelectionList + enum: + - portal + - subportal + - externalportal + - harvester responses: default: description: default response @@ -8481,58 +12149,37 @@ paths: schema: type: array items: - $ref: '#/components/schemas/Selection' - put: + $ref: '#/components/schemas/Source' + /records/sharing/options: + get: tags: - - userselections - summary: Add a user selection set - operationId: createPersistentSelectionType - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Selection' - required: true + - records + summary: Get publication options. + operationId: getPublicationOptions responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. Only UserAdmins can access it. - content: - application/json: - schema: - type: string - "201": - description: Selection created. - content: - application/json: - schema: - type: string - "400": - description: A selection with that id or name already exist. + "200": + description: OK content: - application/json: + '*/*': schema: - type: string - /userselections/{selectionIdentifier}/{userIdentifier}: + type: array + items: + $ref: '#/components/schemas/PublicationOption' + /users/{userIdentifier}/groups: get: tags: - - userselections - summary: Get record in a user selection set - operationId: getSelectionRecords + - users + summary: Retrieve user groups + description: Retrieve the user groups. + operationId: retrieveUserGroups parameters: - - name: selectionIdentifier - in: path - description: Selection identifier - required: true - schema: - type: integer - format: int32 - name: userIdentifier in: path - description: User identifier + description: User identifier. required: true schema: type: integer @@ -8549,176 +12196,301 @@ paths: schema: type: array items: - type: string - put: + $ref: '#/components/schemas/UserGroup' + /registries/vocabularies/keyword: + get: tags: - - userselections - summary: Add items to a user selection set - operationId: addToUserSelection + - registries + summary: Get keyword by id + description: Retrieve XML representation of keyword(s) from same thesaurususing + different transformations. 'to-iso19139-keyword' is the default and return + an ISO19139 snippet.'to-iso19139-keyword-as-xlink' return an XLinked element. + Custom transformation can be create on a per schema basis. + operationId: getKeywordById_1 parameters: - - name: selectionIdentifier - in: path - description: Selection identifier + - name: id + in: query + description: Keyword identifier or list of keyword identifiers comma separated. required: true schema: - type: integer - format: int32 - - name: userIdentifier - in: path - description: User identifier + type: string + - name: thesaurus + in: query + description: Thesaurus to look info for the keyword(s). required: true schema: - type: integer - format: int32 - - name: uuid + type: string + - name: lang in: query - description: One or more record UUIDs. + description: Languages. required: false schema: type: array items: type: string + - name: keywordOnly + in: query + description: "Only print the keyword, no thesaurus information." + required: false + schema: + type: boolean + default: false + - name: transformation + in: query + description: "XSL template to use (ISO19139 keyword by default, see convert.xsl)." + required: false + schema: + type: string + - name: langMap + in: query + description: "langMap, that converts the values in the 'lang' parameter to\ + \ how they will be actually represented in the record. {'fre':'fra'} or\ + \ {'fre':'fr'}. Missing/empty means to convert to iso 2 letter." + required: false + schema: + type: string + - name: Accept + in: header + required: false + schema: + type: string + default: application/xml responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. Only UserAdmins can access it. - content: - application/json: - schema: - type: string - "404": - description: Selection or user or at least one UUID not found. + "200": + description: XML snippet with requested keywords. content: - application/json: + application/xml: schema: - type: string - "201": - description: Records added to selection set. - content: + type: object application/json: schema: - type: string - delete: + type: object + post: tags: - - userselections - summary: Remove items to a user selection set - operationId: deleteFromUserSelection + - registries + summary: Get keyword by id + description: Retrieve XML representation of keyword(s) from same thesaurususing + different transformations. 'to-iso19139-keyword' is the default and return + an ISO19139 snippet.'to-iso19139-keyword-as-xlink' return an XLinked element. + Custom transformation can be create on a per schema basis. + operationId: getKeywordById parameters: - - name: selectionIdentifier - in: path - description: Selection identifier + - name: id + in: query + description: Keyword identifier or list of keyword identifiers comma separated. required: true schema: - type: integer - format: int32 - - name: userIdentifier - in: path - description: User identifier + type: string + - name: thesaurus + in: query + description: Thesaurus to look info for the keyword(s). required: true schema: - type: integer - format: int32 - - name: uuid + type: string + - name: lang in: query - description: One or more record UUIDs. If null, remove all. + description: Languages. required: false schema: type: array items: type: string + - name: keywordOnly + in: query + description: "Only print the keyword, no thesaurus information." + required: false + schema: + type: boolean + default: false + - name: transformation + in: query + description: "XSL template to use (ISO19139 keyword by default, see convert.xsl)." + required: false + schema: + type: string + - name: langMap + in: query + description: "langMap, that converts the values in the 'lang' parameter to\ + \ how they will be actually represented in the record. {'fre':'fra'} or\ + \ {'fre':'fr'}. Missing/empty means to convert to iso 2 letter." + required: false + schema: + type: string + - name: Accept + in: header + required: false + schema: + type: string + default: application/xml responses: default: description: default response content: application/json: {} - "403": - description: Operation not allowed. Only UserAdmins can access it. - content: - application/json: - schema: - type: string - "204": - description: Items removed from a set. + "200": + description: XML snippet with requested keywords. content: - application/json: + application/xml: schema: - type: string - "404": - description: Selection or user not found. - content: + type: object application/json: schema: - type: string - /userfeedback: - get: + type: object + /records/links/analyze: + post: tags: - - userfeedback - summary: 'Finds a list of user feedback records. ' - description: ' This list will include also the draft user feedback if the client - is logged as reviewer.' - operationId: getUserComments + - links + summary: Analyze records links + description: One of uuids or bucket parameter is required if not an Administrator. + Only records that you can edit will be validated. + operationId: analyzeRecordLinks parameters: - - name: metadataUuid + - name: uuids in: query - description: Metadata record UUID. + description: Record UUIDs. If null current selection is used. + required: false + schema: + type: array + items: + type: string + - name: bucket + in: query + description: Selection bucket name required: false schema: type: string - default: "" - - name: size + - name: removeFirst in: query - description: Maximum number of feedback to return. + description: Only allowed if Administrator. required: false schema: - type: integer - format: int32 - default: -1 + type: boolean + default: true + - name: analyze + in: query + required: false + schema: + type: boolean + default: false responses: default: description: default response content: application/json: {} - "200": - description: OK + "201": + description: Created content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/UserFeedbackDTO' - post: + $ref: '#/components/schemas/SimpleMetadataProcessingReport' + /records/{metadataUuid}/formatters/zip: + get: tags: - - userfeedback - summary: Creates a user feedback - description: Creates a user feedback in draft status if the user is not logged - in. - operationId: newUserFeedback - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserFeedbackDTO' - required: true + - records + summary: Get a metadata record as ZIP + description: Metadata Exchange Format (MEF) is returned. MEF is a ZIP file containing + the metadata as XML and some others files depending on the version requested. + See http://geonetwork-opensource.org/manuals/trunk/eng/users/annexes/mef-format.html. + operationId: getRecordAsZip + parameters: + - name: metadataUuid + in: path + description: Record UUID. + required: true + schema: + type: string + - name: format + in: query + description: MEF file format. + required: false + schema: + type: string + enum: + - simple + - partial + - full + default: full + - name: withRelated + in: query + description: With related records (parent and service). + required: false + schema: + type: boolean + default: true + - name: withXLinksResolved + in: query + description: Resolve XLinks in the records. + required: false + schema: + type: boolean + default: true + - name: withXLinkAttribute + in: query + description: Preserve XLink URLs in the records. + required: false + schema: + type: boolean + default: false + - name: addSchemaLocation + in: query + required: false + schema: + type: boolean + default: true + - name: approved + in: query + description: Download the approved version + required: false + schema: + type: boolean + default: true + - name: Accept + in: header + required: false + schema: + type: string + default: application/x-gn-mef-2-zip responses: default: description: default response content: application/json: {} - "201": - description: Created - content: - application/json: - schema: - type: string - /userfeedback/ratingcriteria: + "200": + description: Return the record. + "403": + description: Operation not allowed. User needs to be able to view the resource. + /reports/datauploads: get: tags: - - userfeedback - summary: Get list of rating criteria - operationId: getRatingCriteria + - records + summary: Get uploaded files to metadata records during a period. + operationId: getReportDataUploads + parameters: + - name: dateFrom + in: query + description: From date of the metadata uploads + required: true + schema: + type: string + - name: dateTo + in: query + description: To date of the metadata uploads + required: true + schema: + type: string + - name: groups + in: query + description: Metadata group(s) + required: false + schema: + type: array + items: + type: integer + format: int32 responses: default: description: default response @@ -8726,22 +12498,16 @@ paths: application/json: {} "200": description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/RatingCriteria' - /userfeedback/{uuid}: - get: + /records/{metadataUuid}/versions: + put: tags: - - userfeedback - summary: Finds a specific user feedback - operationId: getUserComment + - records + summary: (Experimental) Enable version control + operationId: enableVersionControl parameters: - - name: uuid + - name: metadataUuid in: path - description: User feedback UUID. + description: Record UUID. required: true schema: type: string @@ -8753,39 +12519,36 @@ paths: "200": description: OK content: - application/json: + '*/*': schema: - $ref: '#/components/schemas/UserFeedbackDTO' - delete: + type: string + /standards/{schema}/batchconfiguration: + get: tags: - - userfeedback - summary: Removes a user feedback - description: Removes a user feedback - operationId: deleteUserFeedback + - standards + summary: Get batch editor configuration for a standard + operationId: getConfiguration parameters: - - name: uuid + - name: schema in: path - description: User feedback UUID. + description: Schema identifier required: true schema: type: string + example: iso19139 responses: default: description: default response content: application/json: {} - "204": - description: User feedback removed. - content: - application/json: - schema: - type: string - "403": - description: Operation not allowed. Only Reviewvers can access it. + "200": + description: OK content: application/json: schema: - type: string + type: object + additionalProperties: + $ref: '#/components/schemas/BatchEditing' /records/{metadataUuid}/userfeedbackrating: get: tags: @@ -8810,29 +12573,46 @@ paths: application/json: schema: $ref: '#/components/schemas/RatingAverage' - /records/{metadataUuid}/userfeedback: + /standards/{schema}/descriptors/{element}/details: get: tags: - - userfeedback - summary: 'Finds a list of user feedback for a specific records. ' - description: ' This list will include also the draft user feedback if the client - is logged as reviewer.' - operationId: getUserCommentsOnARecord + - standards + summary: Get descriptor details + operationId: getElementDetails parameters: - - name: metadataUuid + - name: schema in: path - description: Metadata record UUID. + description: Schema identifier required: true schema: type: string - - name: size + example: iso19139 + - name: element + in: path + description: Descriptor name + required: true + schema: + type: string + - name: parent in: query - description: Maximum number of feedback to return. required: false schema: - type: integer - format: int32 - default: -1 + type: string + - name: displayIf + in: query + required: false + schema: + type: string + - name: xpath + in: query + required: false + schema: + type: string + - name: isoType + in: query + required: false + schema: + type: string responses: default: description: default response @@ -8840,510 +12620,690 @@ paths: application/json: {} "200": description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Element' + application/xml: + schema: + $ref: '#/components/schemas/Element' + /pages/config/sections: + get: + tags: + - pages + operationId: getPageSections + responses: + default: + description: default response + content: + application/json: {} + "200": + description: Page found content: application/json: schema: type: array items: - $ref: '#/components/schemas/UserFeedbackDTO' - /records/{metadataUuid}/alert: - post: + type: string + enum: + - TOP + - FOOTER + - MENU + - SUBMENU + - CUSTOM_MENU1 + - CUSTOM_MENU2 + - CUSTOM_MENU3 + /registries/vocabularies/search: + get: tags: - - userfeedback - summary: Send an email to catalogue administrator or record's contact - operationId: sendEmailToContact + - registries + summary: Search keywords + operationId: searchKeywords parameters: - - name: metadataUuid - in: path - description: Metadata record UUID. - required: true - schema: - type: string - - name: recaptcha + - name: q in: query - description: Recaptcha validation key. + description: Query required: false schema: type: string - default: "" - - name: name + - name: lang in: query - description: User name. - required: true + description: Query in that language + required: false schema: type: string - - name: org + default: eng + - name: rows in: query - description: User organisation. - required: true + description: Number of rows + required: false schema: - type: string - - name: email + type: integer + format: int32 + default: 1000 + - name: start in: query - description: User email address. - required: true + description: Start from + required: false schema: - type: string - - name: comments + type: integer + format: int32 + default: 0 + - name: pLang in: query - description: A comment or question. - required: true + description: Return keyword information in one or more languages + required: false schema: - type: string - - name: phone + type: array + items: + type: string + - name: thesaurus in: query - description: User phone number. + description: Thesaurus identifier required: false schema: - type: string - default: "" - - name: subject + type: array + items: + type: string + - name: type in: query - description: Email subject. + description: Type of search required: false schema: type: string - default: User feedback - - name: function + enum: + - STARTS_WITH + - CONTAINS + - MATCH + default: CONTAINS + - name: uri in: query - description: User function. + description: URI query required: false schema: type: string - default: '-' - - name: type + - name: sort in: query - description: Comment type. + description: Sort by required: false schema: type: string - default: '-' - - name: category + default: DESC + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK + content: + application/json: + schema: + type: object + application/xml: + schema: + type: object + /site/settings/details: + get: + tags: + - site + summary: Get settings with details + description: Provides also setting properties. + operationId: getSettingsDetails + parameters: + - name: set in: query - description: Comment category. + description: Setting set. A common set of settings to retrieve. required: false schema: - type: string - default: '-' - - name: metadataEmail + type: array + items: + type: string + enum: + - INSPIRE + - CSW + - HARVESTER + - USER_GROUP_ONLY + - AUTH + - READ_ONLY + - INDEX + - SYSTEMINFO + - STAGING_PROFILE + - TYPE + - name: key in: query - description: List of record's contact to send this email. + description: Setting key required: false schema: - type: string - default: "" + type: array + items: + type: string responses: default: description: default response content: application/json: {} - "201": - description: Created + "200": + description: Settings with details. content: application/json: schema: - type: string - /userfeedback/{uuid}/publish: + type: array + items: + $ref: '#/components/schemas/Setting' + /usersearches/featured: get: tags: - - userfeedback - summary: Publishes a feedback - description: For reviewers - operationId: publishFeedback + - usersearches + summary: Get featured user custom searches + operationId: getFeaturedUserCustomSearches parameters: - - name: uuid - in: path - description: User feedback UUID. - required: true + - name: type + in: query + description: Number of records to return + required: false schema: type: string + enum: + - HOME + - EDITOR_BOARD responses: default: description: default response content: application/json: {} - "404": - description: Resource not found. + "200": + description: OK content: application/json: schema: - type: string - "204": - description: User feedback published. + type: array + items: + $ref: '#/components/schemas/UserSearchDto' + /i18n/db/custom: + get: + tags: + - tools + summary: List custom user translations + operationId: getCustomTranslations + parameters: + - name: type + in: query + required: false + schema: + type: array + items: + type: string + responses: + default: + description: default response + content: + application/json: {} + "200": + description: OK content: application/json: schema: - type: string - "403": - description: Operation not allowed. Only Reviewvers can access it. + type: array + items: + $ref: '#/components/schemas/Translations' + /user/actions/register: + put: + tags: + - users + summary: Create user account + description: User is created with a registered user profile. username field + is ignored and the email is used as username. Password is sent by email. Catalog + administrator is also notified. + operationId: registerUser + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserRegisterDto' + required: true + responses: + default: + description: default response content: - application/json: + application/json: {} + "201": + description: Created + content: + text/plain: schema: type: string components: schemas: - Associated: + InfoReport: type: object properties: - item: - type: array - items: - $ref: '#/components/schemas/AssociatedSiblingMetadataItem' - AssociatedSiblingMetadataItem: - required: - - description - - mdType - - title + message: + type: string + uuid: + type: string + draft: + type: boolean + approved: + type: boolean + date: + type: string + Report: type: object properties: - id: + message: type: string - url: - $ref: '#/components/schemas/MultilingualValue' - type: + uuid: type: string - title: - $ref: '#/components/schemas/MultilingualValue' - description: - $ref: '#/components/schemas/Description' - mdType: + draft: + type: boolean + approved: + type: boolean + date: + type: string + SimpleMetadataProcessingReport: + type: object + properties: + errors: type: array items: - type: string - origin: + $ref: '#/components/schemas/Report' + infos: + type: array + items: + $ref: '#/components/schemas/InfoReport' + uuid: + type: string + xml: + attribute: true + totalRecords: + type: integer + format: int32 + writeOnly: true + metadata: + uniqueItems: true + type: array + items: + type: integer + format: int32 + metadataErrors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/Report' + xml: + name: errors + metadataInfos: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/InfoReport' + xml: + name: infos + numberOfRecordNotFound: + type: integer + format: int32 + numberOfRecordsNotEditable: + type: integer + format: int32 + numberOfNullRecords: + type: integer + format: int32 + numberOfRecordsProcessed: + type: integer + format: int32 + numberOfRecordsUnchanged: + type: integer + format: int32 + numberOfRecordsWithErrors: + type: integer + format: int32 + numberOfRecords: + type: integer + format: int32 + xml: + attribute: true + startIsoDateTime: + type: string + xml: + attribute: true + endIsoDateTime: + type: string + xml: + attribute: true + ellapsedTimeInSeconds: + type: integer + format: int64 + xml: + attribute: true + totalTimeInSeconds: + type: integer + format: int64 + xml: + attribute: true + running: + type: boolean + type: type: string - agg_isTemporalStatOf: - type: array - items: - type: string - agg_largerWorkCitation: - type: array - items: - type: string - agg_isDescriptionOf: - type: array - items: - type: string - AttributeTable: - type: object - properties: - element: - type: array - items: - $ref: '#/components/schemas/Element' - Children: + xml: + attribute: true + xml: + name: report + GroupPrivilege: type: object properties: - item: + operations: + type: object + additionalProperties: + type: boolean + group: + type: integer + format: int32 + userProfiles: type: array items: - $ref: '#/components/schemas/RelatedMetadataItem' - Dataset: - type: object - properties: - item: + type: string + enum: + - Administrator + - UserAdmin + - Reviewer + - Editor + - RegisteredUser + - Guest + - Monitor + userGroup: + type: boolean + reserved: + type: boolean + userProfile: type: array + writeOnly: true items: - $ref: '#/components/schemas/RelatedMetadataItem' - Description: + type: string + enum: + - Administrator + - UserAdmin + - Reviewer + - Editor + - RegisteredUser + - Guest + - Monitor + SharingResponse: type: object properties: - value: + privileges: type: array items: - $ref: '#/components/schemas/LocalizedString' - Element: + $ref: '#/components/schemas/GroupPrivilege' + owner: + type: string + groupOwner: + type: string + UserFeedbackDTO: type: object properties: - name: + uuid: type: string - definition: + comment: type: string - code: + rating: + type: object + additionalProperties: + type: integer + format: int32 + ratingAVG: + type: integer + format: int32 + metadataUUID: type: string - link: + metadataTitle: type: string - type: + authorUserId: + type: integer + format: int32 + authorName: type: string - values: - type: array - items: - $ref: '#/components/schemas/Values' - FCRelatedMetadataItem: - required: - - description - - featureType - - mdType - - title - type: object - properties: - id: + authorEmail: type: string - url: - $ref: '#/components/schemas/MultilingualValue' - type: + authorOrganization: type: string - title: - $ref: '#/components/schemas/MultilingualValue' - description: - $ref: '#/components/schemas/Description' - mdType: - type: array - items: - type: string - origin: + approverName: type: string - featureType: - $ref: '#/components/schemas/FeatureType' - Fcat: - type: object - properties: - item: - type: array - items: - $ref: '#/components/schemas/FCRelatedMetadataItem' - FeatureType: - type: object - properties: - attributeTable: - $ref: '#/components/schemas/AttributeTable' - Hasfeaturecats: - type: object - properties: - item: - type: array - items: - $ref: '#/components/schemas/RelatedMetadataItem' - Hassource: - type: object - properties: - item: + optionPrivacy: + type: boolean + published: + type: boolean + parentUuid: + type: string + captcha: + type: string + date: + type: string + showApproveButton: + type: boolean + keywords: type: array items: - $ref: '#/components/schemas/RelatedMetadataItem' - LocalizedString: + type: string + StatusValue: type: object properties: - value: + type: type: string - lang: + enum: + - workflow + - task + - event + notificationLevel: type: string - xml: - attribute: true - href: + enum: + - statusUserOwner + - catalogueAdministrator + - catalogueProfileAdministrator + - catalogueProfileUserAdmin + - catalogueProfileReviewer + - catalogueProfileEditor + - catalogueProfileRegisteredUser + - catalogueProfileGuest + - recordProfileReviewer + - recordUserAuthor + - recordGroupEmail + displayOrder: + type: integer + format: int32 + reserved_JpaWorkaround: type: string - xml: - attribute: true - MultilingualValue: + writeOnly: true + reserved: + type: boolean + id: + type: integer + format: int32 + name: + type: string + label: + type: object + additionalProperties: + type: string + Setting: type: object properties: + name: + type: string + storedValue: + type: string value: - type: array - items: - $ref: '#/components/schemas/LocalizedString' - Online: - type: object - properties: - item: - type: array - items: - $ref: '#/components/schemas/RelatedLinkItem' - Parent: - type: object - properties: - item: - type: array - items: - $ref: '#/components/schemas/RelatedMetadataItem' - Related: + type: string + dataType: + type: string + enum: + - STRING + - INT + - BOOLEAN + - JSON + position: + type: integer + format: int32 + internal: + type: boolean + encrypted: + type: boolean + editable: + type: boolean + encrypted_JpaWorkaround: + type: string + writeOnly: true + internal_JpaWorkaround: + type: string + writeOnly: true + editable_JpaWorkaround: + type: string + writeOnly: true + SettingsListResponse: type: object properties: - item: + settings: type: array items: - $ref: '#/components/schemas/RelatedMetadataItem' - RelatedLinkItem: - required: - - description - - title + $ref: '#/components/schemas/Setting' + MapServer: type: object properties: - id: - type: string - url: - $ref: '#/components/schemas/MultilingualValue' - type: - type: string - title: - $ref: '#/components/schemas/MultilingualValue' - protocol: + configurl: type: string - description: - $ref: '#/components/schemas/Description' - function: + wmsurl: type: string - applicationProfile: + wfsurl: type: string - RelatedMetadataItem: - required: - - description - - mdType - - title - type: object - properties: - id: + wcsurl: type: string - url: - $ref: '#/components/schemas/MultilingualValue' - type: + stylerurl: type: string - title: - $ref: '#/components/schemas/MultilingualValue' - description: - $ref: '#/components/schemas/Description' - mdType: - type: array - items: - type: string - origin: + namespacePrefix: type: string - RelatedResponse: - type: object - properties: - children: - $ref: '#/components/schemas/Children' - parent: - $ref: '#/components/schemas/Parent' - siblings: - $ref: '#/components/schemas/Siblings' - associated: - $ref: '#/components/schemas/Associated' - services: - $ref: '#/components/schemas/Service' - datasets: - $ref: '#/components/schemas/Dataset' - fcats: - $ref: '#/components/schemas/Fcat' - hasfeaturecats: - $ref: '#/components/schemas/Hasfeaturecats' - sources: - $ref: '#/components/schemas/Source' - hassources: - $ref: '#/components/schemas/Hassource' - related: - $ref: '#/components/schemas/Related' - onlines: - $ref: '#/components/schemas/Online' - thumbnails: - $ref: '#/components/schemas/Thumbnail' - xml: - name: related - RelatedSiblingMetadataItem: - required: - - associationType - - description - - initiativeType - - mdType - - title - type: object - properties: - id: + pushStyleInWorkspace_JpaWorkaround: type: string - url: - $ref: '#/components/schemas/MultilingualValue' - type: + writeOnly: true + pushStyleInWorkspace: + $ref: '#/components/schemas/MapServer' + namespace: type: string - title: - $ref: '#/components/schemas/MultilingualValue' description: - $ref: '#/components/schemas/Description' - mdType: - type: array - items: - type: string - origin: type: string - associationType: + username: type: string - initiativeType: + password: type: string - RelatedThumbnailItem: - required: - - title - type: object - properties: id: + type: integer + format: int32 + name: type: string - url: - $ref: '#/components/schemas/MultilingualValue' - type: - type: string - title: - $ref: '#/components/schemas/MultilingualValue' - Service: - type: object - properties: - item: - type: array - items: - $ref: '#/components/schemas/RelatedMetadataItem' - Siblings: + description: Mapserver details + MetadataBatchSubmitParameter: type: object properties: - item: + uuids: type: array items: - $ref: '#/components/schemas/RelatedSiblingMetadataItem' - Source: + type: string + bucket: + type: string + message: + type: string + MetadataProcessingReport: type: object properties: - item: + errors: type: array items: - $ref: '#/components/schemas/RelatedMetadataItem' - Thumbnail: - type: object - properties: - item: + $ref: '#/components/schemas/Report' + infos: type: array items: - $ref: '#/components/schemas/RelatedThumbnailItem' - Values: - type: object - properties: - label: - type: string - code: - type: string - definition: - type: string - InfoReport: - type: object - properties: - message: - type: string + $ref: '#/components/schemas/InfoReport' uuid: type: string - draft: - type: boolean - approved: - type: boolean - date: - type: string - Report: - type: object - properties: - message: + xml: + attribute: true + totalRecords: + type: integer + format: int32 + writeOnly: true + metadata: + uniqueItems: true + type: array + items: + type: integer + format: int32 + metadataErrors: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/Report' + xml: + name: errors + metadataInfos: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/InfoReport' + xml: + name: infos + numberOfRecordNotFound: + type: integer + format: int32 + numberOfRecordsNotEditable: + type: integer + format: int32 + numberOfNullRecords: + type: integer + format: int32 + numberOfRecordsProcessed: + type: integer + format: int32 + numberOfRecordsUnchanged: + type: integer + format: int32 + numberOfRecordsWithErrors: + type: integer + format: int32 + numberOfRecords: + type: integer + format: int32 + xml: + attribute: true + startIsoDateTime: type: string - uuid: + xml: + attribute: true + endIsoDateTime: type: string - draft: - type: boolean - approved: + xml: + attribute: true + ellapsedTimeInSeconds: + type: integer + format: int64 + xml: + attribute: true + totalTimeInSeconds: + type: integer + format: int64 + xml: + attribute: true + running: type: boolean - date: + type: type: string - SimpleMetadataProcessingReport: + xml: + attribute: true + xml: + name: report + XsltMetadataProcessingReport: type: object properties: errors: @@ -9384,28 +13344,37 @@ components: $ref: '#/components/schemas/InfoReport' xml: name: infos - numberOfRecordNotFound: + processId: + type: string + xml: + name: process + attribute: true + noProcessFoundCount: type: integer format: int32 - numberOfRecordsNotEditable: + numberOfRecordNotFound: type: integer format: int32 - numberOfRecords: + numberOfRecordsNotEditable: type: integer format: int32 - xml: - attribute: true numberOfNullRecords: type: integer format: int32 numberOfRecordsProcessed: type: integer format: int32 + numberOfRecordsUnchanged: + type: integer + format: int32 numberOfRecordsWithErrors: type: integer format: int32 - running: - type: boolean + numberOfRecords: + type: integer + format: int32 + xml: + attribute: true startIsoDateTime: type: string xml: @@ -9424,80 +13393,325 @@ components: format: int64 xml: attribute: true + running: + type: boolean type: type: string xml: attribute: true xml: name: report - ExtentDto: + MetadataResource: type: object properties: - href: + metadataId: + type: integer + format: int32 + metadataUuid: type: string - type: + approved: + type: boolean + visibility: type: string - xpath: + enum: + - public + - private + metadataResourceExternalManagementProperties: + $ref: '#/components/schemas/MetadataResourceExternalManagementProperties' + lastModification: type: string - description: + format: date-time + version: + type: string + url: + type: string + filename: + type: string + id: type: string - ExternalResourceManagementProperties: + size: + type: integer + format: int64 + xml: + name: resource + MetadataResourceExternalManagementProperties: type: object properties: + id: + type: string url: type: string - windowParameters: + validationStatus: type: string - modal: - type: boolean - MetadataResource: + enum: + - UNKNOWN + - VALID + - INCOMPLETE + xml: + name: metadataResourceExternalManagementProperties + LogFileResponse: + type: object + properties: + file: + type: string + xml: + attribute: true + name: + type: string + xml: + attribute: true + Crs: type: object properties: + code: + type: string + authority: + type: string version: type: string - filename: + codeSpace: + type: string + description: + type: string + CategoryResponse: + type: object + properties: + label: + type: object + additionalProperties: + type: string + ListRegionsResponse: + type: object + properties: + region: + type: array + items: + $ref: '#/components/schemas/RegionResponse' + categories: + type: object + additionalProperties: + $ref: '#/components/schemas/CategoryResponse' + regions: + type: array + items: + $ref: '#/components/schemas/RegionResponse' + count: + type: integer + format: int32 + xml: + attribute: true + xml: + name: response + RegionResponse: + type: object + properties: + north: + type: number + format: double + east: + type: number + format: double + south: + type: number + format: double + west: + type: number + format: double + label: + type: object + additionalProperties: + type: string + hasGeom: + type: boolean + xml: + attribute: true + categoryId: + type: string + xml: + attribute: true + id: + type: string + xml: + attribute: true + MetadataIdentifierTemplate: + type: object + properties: + template: + type: string + systemProvided: + type: boolean + systemDefault: + type: boolean + writeOnly: true + systemProvided_JPAWorkaround: + type: string + writeOnly: true + id: + type: integer + format: int32 + name: + type: string + description: Identifier template details + JSONObject: + type: object + properties: + empty: + type: boolean + ISODate: + type: object + properties: + internalDateTime: + type: string + format: date-time + dateAndTime: + type: string + dateAsString: + type: string + timeInSeconds: + type: integer + format: int64 + dateOnly: + type: boolean + dateYearOnly: + type: boolean + dateYearMonthOnly: + type: boolean + timeAsString: + type: string + seconds: + type: integer + format: int32 + days: + type: integer + format: int32 + years: + type: integer + format: int32 + months: + type: integer + format: int32 + hours: + type: integer + format: int32 + minutes: + type: integer + format: int32 + dateAndTimeUtc: + type: string + Link: + type: object + properties: + records: + uniqueItems: true + type: array + items: + $ref: '#/components/schemas/MetadataLink' + linkStatus: + uniqueItems: true + type: array + items: + $ref: '#/components/schemas/LinkStatus' + lastState: + type: integer + format: int32 + lastCheck: + $ref: '#/components/schemas/ISODate' + linkType: type: string + enum: + - HTTP + - METADATA url: type: string - metadataUuid: + protocol: + type: string + id: + type: integer + format: int32 + LinkStatus: + type: object + properties: + id: + type: integer + format: int32 + checkDate: + $ref: '#/components/schemas/ISODate' + statusValue: + type: string + statusInfo: + type: string + batchKey: type: string + failing: + type: boolean + MetadataLink: + type: object + properties: metadataId: type: integer format: int32 - approved: + metadataUuid: + type: string + PageLink: + type: object + properties: + totalPages: + type: integer + format: int32 + totalElements: + type: integer + format: int64 + numberOfElements: + type: integer + format: int32 + pageable: + $ref: '#/components/schemas/Pageable' + number: + type: integer + format: int32 + sort: + $ref: '#/components/schemas/Sort' + first: + type: boolean + last: type: boolean - visibility: - type: string - enum: - - public - - private - externalResourceManagementProperties: - $ref: '#/components/schemas/ExternalResourceManagementProperties' - lastModification: - type: string - format: date-time - id: - type: string size: type: integer - format: int64 - xml: - name: resource - IsoLanguage: + format: int32 + content: + type: array + items: + $ref: '#/components/schemas/Link' + empty: + type: boolean + Pageable: type: object properties: - id: + paged: + type: boolean + unpaged: + type: boolean + pageNumber: type: integer format: int32 - code: - type: string - shortCode: - type: string - label: - type: object - additionalProperties: - type: string - XsltMetadataProcessingReport: + pageSize: + type: integer + format: int32 + sort: + $ref: '#/components/schemas/Sort' + offset: + type: integer + format: int64 + Sort: + type: object + properties: + sorted: + type: boolean + unsorted: + type: boolean + empty: + type: boolean + MetadataReplacementProcessingReport: type: object properties: errors: @@ -9543,6 +13757,18 @@ components: xml: name: process attribute: true + metadataChanges: + type: object + additionalProperties: + $ref: '#/components/schemas/ReplaceReport' + xml: + name: changes + numberOfRecordsChanged: + type: integer + format: int32 + numberOfRecordsNotChanged: + type: integer + format: int32 noProcessFoundCount: type: integer format: int32 @@ -9552,22 +13778,23 @@ components: numberOfRecordsNotEditable: type: integer format: int32 - numberOfRecords: - type: integer - format: int32 - xml: - attribute: true numberOfNullRecords: type: integer format: int32 numberOfRecordsProcessed: type: integer format: int32 + numberOfRecordsUnchanged: + type: integer + format: int32 numberOfRecordsWithErrors: type: integer format: int32 - running: - type: boolean + numberOfRecords: + type: integer + format: int32 + xml: + attribute: true startIsoDateTime: type: string xml: @@ -9586,53 +13813,60 @@ components: format: int64 xml: attribute: true + running: + type: boolean type: type: string xml: attribute: true xml: name: report - OwnerResponse: + ReplaceEntryChange: type: object properties: - id: - type: integer - format: int32 - name: + originalVal: type: string - records: - type: integer - format: int64 - UserGroupsResponse: + changedVal: + type: string + fieldId: + type: string + ReplaceReport: type: object properties: - userId: - type: integer - format: int32 - userName: + message: type: string - groupId: - type: integer - format: int32 - groupName: + uuid: type: string - userProfile: + draft: + type: boolean + approved: + type: boolean + date: type: string - TransferRequest: + elementChanges: + type: array + items: + $ref: '#/components/schemas/ReplaceEntryChange' + GroupOperations: type: object properties: - sourceUser: - type: integer - format: int32 - sourceGroup: - type: integer - format: int32 - targetUser: - type: integer - format: int32 - targetGroup: + operations: + type: object + additionalProperties: + type: boolean + group: type: integer format: int32 + SharingParameter: + type: object + properties: + privileges: + type: array + items: + $ref: '#/components/schemas/GroupOperations' + clear: + type: boolean + description: Privileges UserSearchDto: type: object properties: @@ -9661,6 +13895,73 @@ components: items: type: integer format: int32 + description: User search details + PageProperties: + type: object + properties: + language: + type: string + pageId: + type: string + sections: + type: array + items: + type: string + enum: + - TOP + - FOOTER + - MENU + - SUBMENU + - CUSTOM_MENU1 + - CUSTOM_MENU2 + - CUSTOM_MENU3 + status: + type: string + enum: + - PUBLIC + - PUBLIC_ONLY + - PRIVATE + - HIDDEN + link: + type: string + content: + type: string + label: + type: string + format: + type: string + enum: + - LINK + - HTML + - HTMLPAGE + - TEXT + MetadataCategory: + type: object + properties: + id: + type: integer + format: int32 + name: + type: string + label: + type: object + additionalProperties: + type: string + UserGroupsResponse: + type: object + properties: + userId: + type: integer + format: int32 + userName: + type: string + groupId: + type: integer + format: int32 + groupName: + type: string + userProfile: + type: string PaginatedUserSearchResponse: type: object properties: @@ -9671,95 +13972,116 @@ components: type: array items: $ref: '#/components/schemas/UserSearchDto' - MetadataIdentifierTemplate: + ProxyConfiguration: type: object properties: - id: + enabled: + type: boolean + host: + type: string + port: + type: string + username: + type: string + password: + type: string + ignoreHostList: + type: string + proxyConfiguredInSystemProperties: + type: boolean + Group: + type: object + properties: + logo: + type: string + website: + type: string + defaultCategory: + $ref: '#/components/schemas/MetadataCategory' + allowedCategories: + type: array + items: + $ref: '#/components/schemas/MetadataCategory' + enableAllowedCategories: + type: boolean + reserved: + type: boolean + email: + type: string + referrer: type: integer format: int32 - template: - type: string - systemProvided_JPAWorkaround: + description: type: string - writeOnly: true - systemProvided: - type: boolean - systemDefault: - type: boolean - writeOnly: true + id: + type: integer + format: int32 name: type: string - Category: + label: + type: object + additionalProperties: + type: string + description: Group details + Selection: type: object properties: id: + type: integer + format: int32 + name: type: string - xml: - attribute: true - label: - type: string - xml: - attribute: true - CategoryResponse: - type: object - properties: + watchable: + type: boolean label: type: object additionalProperties: type: string - ListRegionsResponse: + Translations: type: object properties: - region: - type: array - items: - $ref: '#/components/schemas/RegionResponse' - categories: - type: object - additionalProperties: - $ref: '#/components/schemas/CategoryResponse' - regions: - type: array - items: - $ref: '#/components/schemas/RegionResponse' - count: + fieldName: + type: string + id: type: integer format: int32 - xml: - attribute: true - xml: - name: response - RegionResponse: + langId: + type: string + value: + type: string + AnonymousMapserver: type: object properties: - north: - type: number - format: double - east: - type: number - format: double - south: - type: number - format: double - west: - type: number - format: double - label: - type: object - additionalProperties: - type: string - hasGeom: - type: boolean - xml: - attribute: true - categoryId: + username: + type: string + password: + type: string + configurl: + type: string + wmsurl: + type: string + wfsurl: + type: string + wcsurl: + type: string + stylerurl: + type: string + namespacePrefix: + type: string + pushStyleInWorkspace_JpaWorkaround: + type: string + writeOnly: true + pushStyleInWorkspace: + $ref: '#/components/schemas/MapServer' + namespace: + type: string + description: type: string - xml: - attribute: true id: + type: integer + format: int32 + name: type: string - xml: - attribute: true BatchEditing: required: - section @@ -9817,851 +14139,343 @@ components: type: string xml: attribute: true - MetadataSchema: - type: object - properties: - name: - type: string - titles: - type: object - additionalProperties: - type: string - descriptions: - type: object - additionalProperties: - type: string - standardUrl: - type: string - targetNamespace: - type: string - namespaces: - type: object - additionalProperties: - type: string - readwriteUUID: - type: boolean - schematronRules: - type: array - items: - type: string - version: - type: string - appMinorVersionSupported: - type: string - appMajorVersionSupported: - type: string - canEdit: - type: boolean - writeOnly: true - rootAppInfoElements: - type: array - writeOnly: true - items: - $ref: '#/components/schemas/Element' - dependsOn: - type: string - operationFilters: - type: object - additionalProperties: - $ref: '#/components/schemas/PairStringElement' - writeOnly: true - PairStringElement: - type: object - Codelist: + Associated: type: object properties: - entry: + item: type: array items: - $ref: '#/components/schemas/Entry' - name: - type: string - xml: - attribute: true - alias: - type: string - xml: - attribute: true - xml: - name: codelist - Entry: + $ref: '#/components/schemas/AssociatedSiblingMetadataItem' + AssociatedSiblingMetadataItem: required: - - code - description - - label - type: object - properties: - code: - type: string - label: - type: string - description: - type: string - hideInEditMode: - type: string - xml: - attribute: true - xml: - name: entry - JSONObject: - type: object - ISODate: - type: object - properties: - internalDateTime: - type: string - format: date-time - hours: - type: integer - format: int32 - minutes: - type: integer - format: int32 - seconds: - type: integer - format: int32 - years: - type: integer - format: int32 - months: - type: integer - format: int32 - days: - type: integer - format: int32 - dateAndTime: - type: string - dateAsString: - type: string - timeInSeconds: - type: integer - format: int64 - dateOnly: - type: boolean - dateYearOnly: - type: boolean - dateYearMonthOnly: - type: boolean - timeAsString: - type: string - Link: - type: object - properties: - records: - uniqueItems: true - type: array - items: - $ref: '#/components/schemas/MetadataLink' - linkStatus: - uniqueItems: true - type: array - items: - $ref: '#/components/schemas/LinkStatus' - lastState: - type: integer - format: int32 - lastCheck: - $ref: '#/components/schemas/ISODate' - protocol: - type: string - url: - type: string - id: - type: integer - format: int32 - linkType: - type: string - enum: - - HTTP - - METADATA - LinkStatus: + - mdType + - title type: object properties: id: - type: integer - format: int32 - checkDate: - $ref: '#/components/schemas/ISODate' - statusValue: - type: string - statusInfo: type: string - batchKey: + url: + $ref: '#/components/schemas/MultilingualValue' + type: type: string - failing: - type: boolean - MetadataLink: - type: object - properties: - metadataId: - type: integer - format: int32 - metadataUuid: + title: + $ref: '#/components/schemas/MultilingualValue' + description: + $ref: '#/components/schemas/Description' + mdType: + type: array + items: + type: string + origin: type: string - PageLink: + agg_isTemporalStatOf: + type: array + items: + type: string + agg_largerWorkCitation: + type: array + items: + type: string + agg_isDescriptionOf: + type: array + items: + type: string + AttributeTable: type: object properties: - totalPages: - type: integer - format: int32 - totalElements: - type: integer - format: int64 - sort: - $ref: '#/components/schemas/Sort' - last: - type: boolean - numberOfElements: - type: integer - format: int32 - first: - type: boolean - pageable: - $ref: '#/components/schemas/Pageable' - size: - type: integer - format: int32 - content: + element: type: array items: - $ref: '#/components/schemas/Link' - number: - type: integer - format: int32 - empty: - type: boolean - Pageable: + $ref: '#/components/schemas/Element' + Children: type: object properties: - sort: - $ref: '#/components/schemas/Sort' - paged: - type: boolean - unpaged: - type: boolean - pageNumber: - type: integer - format: int32 - pageSize: - type: integer - format: int32 - offset: - type: integer - format: int64 - Sort: + item: + type: array + items: + $ref: '#/components/schemas/RelatedMetadataItem' + Dataset: type: object properties: - sorted: - type: boolean - unsorted: - type: boolean - empty: - type: boolean - PageJSONWrapper: + item: + type: array + items: + $ref: '#/components/schemas/RelatedMetadataItem' + Description: type: object properties: - format: - type: string - enum: - - LINK - - HTML - - TEXT - - MARKDOWN - - WIKI - status: - type: string - enum: - - PUBLIC - - PUBLIC_ONLY - - PRIVATE - - HIDDEN - link: - type: string - sections: + value: type: array items: - type: string - enum: - - ALL - - TOP - - FOOTER - - MENU - - SUBMENU - - CUSTOM_MENU1 - - CUSTOM_MENU2 - - CUSTOM_MENU3 - - DRAFT - linkText: - type: string - language: - type: string - Address: + $ref: '#/components/schemas/LocalizedString' + Element: type: object properties: - state: - type: string - address: + name: type: string - id: - type: integer - format: int32 - city: + definition: type: string - zip: + code: type: string - country: + link: type: string - GrantedAuthority: - type: object - properties: - authority: + type: type: string - MetadataStatus: + values: + type: array + items: + $ref: '#/components/schemas/Values' + FCRelatedMetadataItem: + required: + - description + - featureType + - mdType + - title type: object properties: id: - type: integer - format: int32 - metadataId: - type: integer - format: int32 - userId: - type: integer - format: int32 - changeMessage: type: string - statusValue: - $ref: '#/components/schemas/StatusValue' - previousState: - type: string - currentState: - type: string - uuid: + url: + $ref: '#/components/schemas/MultilingualValue' + type: type: string - titles: + title: + $ref: '#/components/schemas/MultilingualValue' + description: + $ref: '#/components/schemas/Description' + mdType: + type: array + items: + type: string + origin: type: string - deprecated: true - owner: - type: integer - format: int32 - changeDate: - $ref: '#/components/schemas/ISODate' - dueDate: - $ref: '#/components/schemas/ISODate' - closeDate: - $ref: '#/components/schemas/ISODate' - asXml: - $ref: '#/components/schemas/Element' - relatedMetadataStatusId: - type: integer - format: int32 - MetadataWorkflowStatusResponse: + featureType: + $ref: '#/components/schemas/FeatureType' + Fcat: type: object properties: - currentStatus: - $ref: '#/components/schemas/MetadataStatus' - reviewers: - type: array - items: - $ref: '#/components/schemas/User' - hasEditPermission: - type: boolean - status: + item: type: array items: - $ref: '#/components/schemas/StatusValue' - StatusValue: + $ref: '#/components/schemas/FCRelatedMetadataItem' + FeatureType: type: object properties: - type: - type: string - enum: - - workflow - - task - - event - notificationLevel: - type: string - enum: - - statusUserOwner - - catalogueAdministrator - - catalogueProfileAdministrator - - catalogueProfileUserAdmin - - catalogueProfileReviewer - - catalogueProfileEditor - - catalogueProfileRegisteredUser - - catalogueProfileGuest - - recordProfileReviewer - - recordUserAuthor - displayOrder: - type: integer - format: int32 - id: - type: integer - format: int32 - reserved: - type: boolean - reserved_JpaWorkaround: - type: string - writeOnly: true - name: - type: string - label: - type: object - additionalProperties: - type: string - User: + attributeTable: + $ref: '#/components/schemas/AttributeTable' + Hasfeaturecats: + type: object + properties: + item: + type: array + items: + $ref: '#/components/schemas/RelatedMetadataItem' + Hassource: type: object properties: - profile: - type: string - enum: - - Administrator - - UserAdmin - - Reviewer - - Editor - - RegisteredUser - - Guest - - Monitor - surname: + item: + type: array + items: + $ref: '#/components/schemas/RelatedMetadataItem' + LocalizedString: + type: object + properties: + value: type: string - enabled: - type: boolean - username: + lang: type: string - id: - type: integer - format: int32 - email: + xml: + attribute: true + href: type: string - emailAddresses: - uniqueItems: true + xml: + attribute: true + MultilingualValue: + type: object + properties: + value: type: array items: - type: string - addresses: - uniqueItems: true + $ref: '#/components/schemas/LocalizedString' + Online: + type: object + properties: + item: type: array items: - $ref: '#/components/schemas/Address' - primaryAddress: - $ref: '#/components/schemas/Address' - organisation: - type: string - kind: - type: string - security: - $ref: '#/components/schemas/UserSecurity' - lastLoginDate: - type: string - authorities: + $ref: '#/components/schemas/RelatedLinkItem' + Parent: + type: object + properties: + item: type: array items: - $ref: '#/components/schemas/GrantedAuthority' - accountNonExpired: - type: boolean - accountNonLocked: - type: boolean - credentialsNonExpired: - type: boolean - name: - type: string - UserSecurity: + $ref: '#/components/schemas/RelatedMetadataItem' + Related: type: object properties: - authType: - type: string - nodeId: - type: string - securityNotificationsString: - $ref: '#/components/schemas/UserSecurity' - securityNotifications: - uniqueItems: true + item: type: array items: - type: string - enum: - - UPDATE_HASH_REQUIRED - - UNKNOWN - MetadataStatusResponse: + $ref: '#/components/schemas/RelatedMetadataItem' + RelatedLinkItem: + required: + - description + - title type: object properties: id: - type: integer - format: int32 - metadataId: - type: integer - format: int32 - userId: - type: integer - format: int32 - changeMessage: - type: string - statusValue: - $ref: '#/components/schemas/StatusValue' - previousState: - type: string - currentState: - type: string - uuid: - type: string - titles: type: string - deprecated: true - authorName: - type: string - authorEmail: - type: string - authorProfile: - type: string - ownerName: - type: string - ownerEmail: - type: string - ownerProfile: + url: + $ref: '#/components/schemas/MultilingualValue' + type: type: string title: + $ref: '#/components/schemas/MultilingualValue' + protocol: type: string - currentStatus: + description: + $ref: '#/components/schemas/Description' + function: type: string - previousStatus: + mimeType: type: string - currentStateEmpty: - type: boolean - previousStateEmpty: - type: boolean - statusId: - type: integer - format: int32 - owner: - type: integer - format: int32 - changeDate: - $ref: '#/components/schemas/ISODate' - dueDate: - $ref: '#/components/schemas/ISODate' - closeDate: - $ref: '#/components/schemas/ISODate' - asXml: - $ref: '#/components/schemas/Element' - relatedMetadataStatusId: - type: integer - format: int32 - MetadataProcessingReport: + applicationProfile: + type: string + RelatedMetadataItem: + required: + - description + - mdType + - title type: object properties: - errors: - type: array - items: - $ref: '#/components/schemas/Report' - infos: - type: array - items: - $ref: '#/components/schemas/InfoReport' - uuid: + id: type: string - xml: - attribute: true - totalRecords: - type: integer - format: int32 - writeOnly: true - metadata: - uniqueItems: true + url: + $ref: '#/components/schemas/MultilingualValue' + type: + type: string + title: + $ref: '#/components/schemas/MultilingualValue' + description: + $ref: '#/components/schemas/Description' + mdType: type: array items: - type: integer - format: int32 - metadataErrors: - type: object - additionalProperties: - type: array - items: - $ref: '#/components/schemas/Report' - xml: - name: errors - metadataInfos: - type: object - additionalProperties: - type: array - items: - $ref: '#/components/schemas/InfoReport' - xml: - name: infos - numberOfRecordNotFound: - type: integer - format: int32 - numberOfRecordsNotEditable: - type: integer - format: int32 - numberOfRecords: - type: integer - format: int32 - xml: - attribute: true - numberOfNullRecords: - type: integer - format: int32 - numberOfRecordsProcessed: - type: integer - format: int32 - numberOfRecordsWithErrors: - type: integer - format: int32 - running: - type: boolean - startIsoDateTime: - type: string - xml: - attribute: true - endIsoDateTime: - type: string - xml: - attribute: true - ellapsedTimeInSeconds: - type: integer - format: int64 - xml: - attribute: true - totalTimeInSeconds: - type: integer - format: int64 - xml: - attribute: true - type: + type: string + origin: type: string - xml: - attribute: true + RelatedResponse: + type: object + properties: + children: + $ref: '#/components/schemas/Children' + parent: + $ref: '#/components/schemas/Parent' + siblings: + $ref: '#/components/schemas/Siblings' + associated: + $ref: '#/components/schemas/Associated' + services: + $ref: '#/components/schemas/Service' + datasets: + $ref: '#/components/schemas/Dataset' + fcats: + $ref: '#/components/schemas/Fcat' + hasfeaturecats: + $ref: '#/components/schemas/Hasfeaturecats' + sources: + $ref: '#/components/schemas/Source' + hassources: + $ref: '#/components/schemas/Hassource' + related: + $ref: '#/components/schemas/Related' + onlines: + $ref: '#/components/schemas/Online' + thumbnails: + $ref: '#/components/schemas/Thumbnail' xml: - name: report - MetadataCategory: + name: related + RelatedSiblingMetadataItem: + required: + - associationType + - description + - initiativeType + - mdType + - title type: object properties: id: - type: integer - format: int32 - name: type: string - label: - type: object - additionalProperties: + url: + $ref: '#/components/schemas/MultilingualValue' + type: + type: string + title: + $ref: '#/components/schemas/MultilingualValue' + description: + $ref: '#/components/schemas/Description' + mdType: + type: array + items: type: string - SavedQuery: + origin: + type: string + associationType: + type: string + initiativeType: + type: string + RelatedThumbnailItem: + required: + - title type: object properties: id: type: string - xpath: - type: string - label: - type: string - cleanValues: + url: + $ref: '#/components/schemas/MultilingualValue' + type: type: string - parameters: - type: array - items: - type: string - GroupPrivilege: + title: + $ref: '#/components/schemas/MultilingualValue' + Service: type: object properties: - operations: - type: object - additionalProperties: - type: boolean - group: - type: integer - format: int32 - userProfiles: - type: array - items: - type: string - enum: - - Administrator - - UserAdmin - - Reviewer - - Editor - - RegisteredUser - - Guest - - Monitor - userGroup: - type: boolean - reserved: - type: boolean - userProfile: + item: type: array - writeOnly: true items: - type: string - enum: - - Administrator - - UserAdmin - - Reviewer - - Editor - - RegisteredUser - - Guest - - Monitor - SharingResponse: + $ref: '#/components/schemas/RelatedMetadataItem' + Siblings: type: object properties: - privileges: + item: type: array items: - $ref: '#/components/schemas/GroupPrivilege' - owner: - type: string - groupOwner: - type: string - GroupOperations: - type: object - properties: - operations: - type: object - additionalProperties: - type: boolean - group: - type: integer - format: int32 - SharingParameter: + $ref: '#/components/schemas/RelatedSiblingMetadataItem' + Source: type: object properties: - privileges: + item: type: array items: - $ref: '#/components/schemas/GroupOperations' - clear: - type: boolean - MetadataReplacementProcessingReport: + $ref: '#/components/schemas/RelatedMetadataItem' + Thumbnail: type: object properties: - errors: - type: array - items: - $ref: '#/components/schemas/Report' - infos: - type: array - items: - $ref: '#/components/schemas/InfoReport' - uuid: - type: string - xml: - attribute: true - totalRecords: - type: integer - format: int32 - writeOnly: true - metadata: - uniqueItems: true + item: type: array items: - type: integer - format: int32 - metadataErrors: - type: object - additionalProperties: - type: array - items: - $ref: '#/components/schemas/Report' - xml: - name: errors - metadataInfos: - type: object - additionalProperties: - type: array - items: - $ref: '#/components/schemas/InfoReport' - xml: - name: infos - processId: - type: string - xml: - name: process - attribute: true - metadataChanges: - type: object - additionalProperties: - $ref: '#/components/schemas/ReplaceReport' - xml: - name: changes - numberOfRecordsChanged: - type: integer - format: int32 - numberOfRecordsNotChanged: - type: integer - format: int32 - noProcessFoundCount: - type: integer - format: int32 - numberOfRecordNotFound: - type: integer - format: int32 - numberOfRecordsNotEditable: - type: integer - format: int32 - numberOfRecords: - type: integer - format: int32 - xml: - attribute: true - numberOfNullRecords: - type: integer - format: int32 - numberOfRecordsProcessed: - type: integer - format: int32 - numberOfRecordsWithErrors: - type: integer - format: int32 - running: - type: boolean - startIsoDateTime: - type: string - xml: - attribute: true - endIsoDateTime: - type: string - xml: - attribute: true - ellapsedTimeInSeconds: - type: integer - format: int64 - xml: - attribute: true - totalTimeInSeconds: - type: integer - format: int64 - xml: - attribute: true - type: - type: string - xml: - attribute: true - xml: - name: report - ReplaceEntryChange: - type: object - properties: - originalVal: - type: string - changedVal: - type: string - fieldId: - type: string - ReplaceReport: + $ref: '#/components/schemas/RelatedThumbnailItem' + Values: type: object properties: - message: - type: string - uuid: + label: type: string - draft: - type: boolean - approved: - type: boolean - date: + code: + type: string + definition: type: string - elementChanges: - type: array - items: - $ref: '#/components/schemas/ReplaceEntryChange' ProcessingReport: type: object properties: @@ -10677,8 +14491,6 @@ components: type: string xml: attribute: true - running: - type: boolean startIsoDateTime: type: string xml: @@ -10697,299 +14509,454 @@ components: format: int64 xml: attribute: true + running: + type: boolean type: type: string xml: attribute: true xml: name: report - MeResponse: + FeatureResponse: + type: object + properties: + decodeMap: + type: object + additionalProperties: + type: array + items: + type: string + xml: + name: related + FormatterData: type: object properties: + schema: + type: string id: type: string - profile: + xml: + name: formatter + FormatterDataResponse: + type: object + properties: + formatters: + type: array + xml: + name: formatter + items: + $ref: '#/components/schemas/FormatterData' + xml: + name: formatters + SystemInfo: + type: object + properties: + stagingProfile: type: string - username: + buildDate: type: string - name: + version: type: string - surname: + subVersion: type: string - email: + buildOsInfo: type: string - hash: + buildJavaVersion: type: string - organisation: + buildJavaVendor: type: string - admin: + scmUrl: + type: string + scmRevision: + type: string + devMode: type: boolean - groupsWithRegisteredUser: - type: array - items: - type: integer - format: int32 - groupsWithEditor: - type: array - items: - type: integer - format: int32 - groupsWithReviewer: - type: array - items: - type: integer - format: int32 - groupsWithUserAdmin: - type: array - items: - type: integer - format: int32 - PasswordUpdateParameter: + PasswordResetDto: type: object properties: + passwordOld: + type: string password: type: string - changeKey: + password2: type: string - UserDto: + Address: type: object properties: + country: + type: string + state: + type: string + address: + type: string id: + type: integer + format: int32 + city: type: string - profile: + zip: type: string - username: + GrantedAuthority: + type: object + properties: + authority: type: string - name: + User: + type: object + properties: + security: + $ref: '#/components/schemas/UserSecurity' + email: + type: string + profile: type: string + enum: + - Administrator + - UserAdmin + - Reviewer + - Editor + - RegisteredUser + - Guest + - Monitor surname: type: string emailAddresses: + uniqueItems: true type: array items: type: string - organisation: - type: string addresses: + uniqueItems: true type: array items: $ref: '#/components/schemas/Address' + primaryAddress: + $ref: '#/components/schemas/Address' + organisation: + type: string kind: type: string - password: + lastLoginDate: type: string - groupsRegisteredUser: - type: array - items: - type: string - groupsEditor: - type: array - items: - type: string - groupsReviewer: - type: array - items: - type: string - groupsUserAdmin: + authorities: type: array items: - type: string + $ref: '#/components/schemas/GrantedAuthority' + accountNonExpired: + type: boolean + accountNonLocked: + type: boolean + credentialsNonExpired: + type: boolean enabled: type: boolean - email: - $ref: '#/components/schemas/UserDto' - Group: + username: + type: string + id: + type: integer + format: int32 + name: + type: string + UserSecurity: type: object properties: - logo: - type: string - website: + nodeId: type: string - defaultCategory: - $ref: '#/components/schemas/MetadataCategory' - allowedCategories: + securityNotifications: + uniqueItems: true type: array items: - $ref: '#/components/schemas/MetadataCategory' - enableAllowedCategories: - type: boolean + type: string + enum: + - UPDATE_HASH_REQUIRED + - UNKNOWN + securityNotificationsString: + $ref: '#/components/schemas/UserSecurity' + authType: + type: string + ExtentDto: + type: object + properties: + href: + type: string + type: + type: string + xpath: + type: string description: type: string + Language: + type: object + properties: + inspire_JPAWorkaround: + type: string + writeOnly: true + inspire: + type: boolean id: - type: integer - format: int32 - email: type: string - referrer: + name: + type: string + Reports: + type: object + properties: + report: + type: array + items: + $ref: '#/components/schemas/Report' + xml: + name: reports + RatingCriteria: + type: object + properties: + internal: + type: boolean + id: type: integer format: int32 - reserved: - type: boolean name: type: string label: type: object additionalProperties: type: string - UserGroup: + SavedQuery: type: object properties: - profile: - type: string - enum: - - Administrator - - UserAdmin - - Reviewer - - Editor - - RegisteredUser - - Guest - - Monitor - group: - $ref: '#/components/schemas/Group' id: - $ref: '#/components/schemas/UserGroupId' - user: - $ref: '#/components/schemas/User' - UserGroupId: - type: object - properties: - profile: type: string - enum: - - Administrator - - UserAdmin - - Reviewer - - Editor - - RegisteredUser - - Guest - - Monitor - groupId: - type: integer - format: int32 - userId: - type: integer - format: int32 - LogFileResponse: + xpath: + type: string + label: + type: string + cleanValues: + type: string + parameters: + type: array + items: + type: string + UiSetting: type: object properties: - file: + id: type: string - xml: - attribute: true - name: + configuration: type: string - xml: - attribute: true - Crs: + Operation: type: object properties: - code: - type: string - authority: + reserved: + type: boolean + reservedOperation: type: string - version: + enum: + - view + - download + - editing + - notify + - dynamic + - featured + id: + type: integer + format: int32 + name: type: string - codeSpace: + label: + type: object + additionalProperties: + type: string + ThesaurusInfo: + type: object + properties: + filename: type: string description: type: string - KeywordBean: - type: object - properties: - values: + multilingualTitles: type: object additionalProperties: type: string - definitions: + multilingualDescriptions: type: object additionalProperties: type: string - coordEast: - type: string - coordWest: - type: string - coordSouth: + title: type: string - coordNorth: + defaultNamespace: type: string - thesaurusKey: + dname: type: string - thesaurusInfo: - $ref: '#/components/schemas/KeywordBean' - namespaceCode: - $ref: '#/components/schemas/KeywordBean' - definition: + type: type: string - uri: + description: Thesaurus information + Codelist: + type: object + properties: + entry: + type: array + items: + $ref: '#/components/schemas/Entry' + name: type: string - value: + xml: + attribute: true + alias: type: string - MapServer: + xml: + attribute: true + xml: + name: codelist + Entry: + required: + - code + - description + - label type: object properties: - namespace: + code: type: string - description: + label: type: string - password: + description: type: string - username: + hideInEditMode: type: string + xml: + attribute: true + xml: + name: entry + OwnerResponse: + type: object + properties: id: type: integer format: int32 - namespacePrefix: + name: type: string - configurl: + records: + type: integer + format: int64 + MapService: + type: object + properties: + url: type: string - wmsurl: + urlType: type: string - wfsurl: + useProxy: + type: boolean + authType: type: string - wcsurl: + Status: + type: object + properties: + id: type: string - stylerurl: + state: type: string - pushStyleInWorkspace_JpaWorkaround: + enum: + - RED + - UNINITIALIZED + - YELLOW + - GREEN + - DISABLED + date: type: string - writeOnly: true - pushStyleInWorkspace: - $ref: '#/components/schemas/MapServer' - name: + format: date-time + message: type: string - AnonymousMapserver: + MetadataStatusParameter: type: object properties: - password: - type: string - username: - type: string - namespace: - type: string - description: + type: type: string - id: + enum: + - workflow + - task + - event + status: type: integer format: int32 - namespacePrefix: - type: string - configurl: - type: string - wmsurl: + changeMessage: type: string - wfsurl: + dueDate: type: string - wcsurl: + closeDate: type: string - stylerurl: + owner: + type: integer + format: int32 + description: Metadata status + AssociatedRecord: + type: object + properties: + origin: type: string - pushStyleInWorkspace_JpaWorkaround: + properties: + type: object + additionalProperties: + type: string + _source: + $ref: '#/components/schemas/JsonNode' + _id: type: string - writeOnly: true - pushStyleInWorkspace: - $ref: '#/components/schemas/MapServer' - name: + JsonNode: + type: object + properties: + nodeType: type: string + enum: + - ARRAY + - BINARY + - BOOLEAN + - MISSING + - "NULL" + - NUMBER + - OBJECT + - POJO + - STRING + bigDecimal: + type: boolean + bigInteger: + type: boolean + textual: + type: boolean + boolean: + type: boolean + binary: + type: boolean + valueNode: + type: boolean + containerNode: + type: boolean + missingNode: + type: boolean + object: + type: boolean + pojo: + type: boolean + number: + type: boolean + integralNumber: + type: boolean + floatingPointNumber: + type: boolean + short: + type: boolean + int: + type: boolean + long: + type: boolean + float: + type: boolean + double: + type: boolean + array: + type: boolean + empty: + type: boolean + "null": + type: boolean BatchEditParameter: required: - value @@ -11007,8 +14974,6 @@ components: IProcessingReport: type: object properties: - running: - type: boolean uuid: type: string startIsoDateTime: @@ -11021,19 +14986,10 @@ components: totalTimeInSeconds: type: integer format: int64 + running: + type: boolean type: type: string - FeatureResponse: - type: object - properties: - decodeMap: - type: object - additionalProperties: - type: array - items: - type: string - xml: - name: related SuggestionType: required: - name @@ -11062,64 +15018,29 @@ components: type: string xml: attribute: true - Reports: - type: object - properties: - report: - type: array - items: - $ref: '#/components/schemas/Report' - xml: - name: reports - UserRegisterDto: + PasswordUpdateParameter: type: object properties: - profile: - type: string - username: - type: string - email: - type: string - name: - type: string - surname: - type: string - organisation: + password: type: string - address: - $ref: '#/components/schemas/Address' - captcha: + changeKey: type: string - Operation: + description: The new password and a valid change key + TransferRequest: type: object properties: - id: + sourceUser: + type: integer + format: int32 + sourceGroup: + type: integer + format: int32 + targetUser: + type: integer + format: int32 + targetGroup: type: integer format: int32 - reserved: - type: boolean - reservedOperation: - type: string - enum: - - view - - download - - editing - - notify - - dynamic - - featured - name: - type: string - label: - type: object - additionalProperties: - type: string - UiSetting: - type: object - properties: - id: - type: string - configuration: - type: string SiteInformation: type: object properties: @@ -11143,150 +15064,205 @@ components: type: object additionalProperties: type: string - Status: + IsoLanguage: type: object properties: id: + type: integer + format: int32 + code: type: string - state: - type: string - enum: - - RED - - UNINITIALIZED - - YELLOW - - GREEN - - DISABLED - date: - type: string - format: date-time - message: + shortCode: type: string - Setting: + label: + type: object + additionalProperties: + type: string + MeResponse: type: object properties: + id: + type: string + profile: + type: string + username: + type: string name: type: string - value: + surname: type: string - dataType: + email: type: string - enum: - - STRING - - INT - - BOOLEAN - - JSON - position: - type: integer - format: int32 - internal: - type: boolean - internal_JpaWorkaround: + hash: type: string - writeOnly: true - SettingsListResponse: - type: object - properties: - settings: + organisation: + type: string + admin: + type: boolean + groupsWithRegisteredUser: type: array items: - $ref: '#/components/schemas/Setting' - SystemInfo: + type: integer + format: int32 + groupsWithEditor: + type: array + items: + type: integer + format: int32 + groupsWithReviewer: + type: array + items: + type: integer + format: int32 + groupsWithUserAdmin: + type: array + items: + type: integer + format: int32 + MetadataBatchApproveParameter: type: object properties: - stagingProfile: - type: string - buildDate: - type: string - version: - type: string - subVersion: - type: string - buildOsInfo: - type: string - buildJavaVersion: - type: string - buildJavaVendor: - type: string - scmUrl: + uuids: + type: array + items: + type: string + bucket: type: string - scmRevision: + message: type: string - devMode: + directApproval: type: boolean - Selection: + Category: type: object properties: id: - type: integer - format: int32 - name: type: string - watchable: - type: boolean + xml: + attribute: true label: - type: object - additionalProperties: - type: string - UserFeedbackDTO: + type: string + xml: + attribute: true + UserDto: type: object properties: - uuid: + id: type: string - comment: + profile: type: string - rating: - type: object - additionalProperties: - type: integer - format: int32 - ratingAVG: - type: integer - format: int32 - metadataUUID: + username: type: string - metadataTitle: + name: type: string - authorUserId: - type: integer - format: int32 - authorName: + surname: type: string - authorEmail: + emailAddresses: + type: array + items: + type: string + organisation: type: string - authorOrganization: + addresses: + type: array + items: + $ref: '#/components/schemas/Address' + kind: type: string - approverName: + password: type: string - optionPrivacy: - type: boolean - published: + groupsRegisteredUser: + type: array + items: + type: string + groupsEditor: + type: array + items: + type: string + groupsReviewer: + type: array + items: + type: string + groupsUserAdmin: + type: array + items: + type: string + enabled: type: boolean - parentUuid: - type: string - captcha: + email: + $ref: '#/components/schemas/UserDto' + PublicationOption: + type: object + properties: + name: type: string - date: + publicationGroup: type: string - showApproveButton: - type: boolean - keywords: + enum: + - all + - intranet + - guest + publicationOperations: type: array items: type: string - RatingCriteria: + enum: + - view + - download + - editing + - notify + - dynamic + - featured + additionalPublications: + type: object + additionalProperties: + type: array + items: + type: string + enum: + - view + - download + - editing + - notify + - dynamic + - featured + UserGroup: type: object properties: + user: + $ref: '#/components/schemas/User' + profile: + type: string + enum: + - Administrator + - UserAdmin + - Reviewer + - Editor + - RegisteredUser + - Guest + - Monitor + group: + $ref: '#/components/schemas/Group' id: + $ref: '#/components/schemas/UserGroupId' + UserGroupId: + type: object + properties: + groupId: type: integer format: int32 - internal: - type: boolean - name: + userId: + type: integer + format: int32 + profile: type: string - label: - type: object - additionalProperties: - type: string + enum: + - Administrator + - UserAdmin + - Reviewer + - Editor + - RegisteredUser + - Guest + - Monitor RatingAverage: type: object properties: @@ -11302,4 +15278,24 @@ components: type: integer format: int32 lastComment: - type: string \ No newline at end of file + type: string + UserRegisterDto: + type: object + properties: + profile: + type: string + username: + type: string + email: + type: string + name: + type: string + surname: + type: string + organisation: + type: string + address: + $ref: '#/components/schemas/Address' + captcha: + type: string + description: User details