diff --git a/package-lock.json b/package-lock.json index 4e424a7f..69cb931a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "17.17.2", "license": "MIT", "dependencies": { - "@map-colonies/raster-shared": "^1.9.2", + "@map-colonies/raster-shared": "^1.10.0", "@types/geojson": "^7946.0.7", "change-case-all": "^2.1.0", "reflect-metadata": "^0.1.13", @@ -1418,9 +1418,9 @@ "dev": true }, "node_modules/@map-colonies/raster-shared": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@map-colonies/raster-shared/-/raster-shared-1.9.2.tgz", - "integrity": "sha512-vzaKqkIkAHCLa/gsvGeNr3J528uqaKmwDJP35Mn1/IVBA8YvpMOXsiM48ZXGlEUVBHP3W9sqy02CAQvSKAylkQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@map-colonies/raster-shared/-/raster-shared-1.10.0.tgz", + "integrity": "sha512-kkqpxy86u61L21EJMUKEOKhqmTdqAZTJhlvQiVjqjyDjhG3XZB+fxDls7rDOKi4caOwLl/J5Cc2SCyG2iNlBNA==", "dependencies": { "@map-colonies/mc-priority-queue": "^8.2.1", "@map-colonies/types": "^1.4.0", @@ -15058,9 +15058,9 @@ "dev": true }, "@map-colonies/raster-shared": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@map-colonies/raster-shared/-/raster-shared-1.9.2.tgz", - "integrity": "sha512-vzaKqkIkAHCLa/gsvGeNr3J528uqaKmwDJP35Mn1/IVBA8YvpMOXsiM48ZXGlEUVBHP3W9sqy02CAQvSKAylkQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@map-colonies/raster-shared/-/raster-shared-1.10.0.tgz", + "integrity": "sha512-kkqpxy86u61L21EJMUKEOKhqmTdqAZTJhlvQiVjqjyDjhG3XZB+fxDls7rDOKi4caOwLl/J5Cc2SCyG2iNlBNA==", "requires": { "@map-colonies/mc-priority-queue": "^8.2.1", "@map-colonies/types": "^1.4.0", diff --git a/package.json b/package.json index eeffa42e..6e0bf4b2 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "test:integration": "jest --config=./tests/configurations/integration/jest.config.js" }, "dependencies": { - "@map-colonies/raster-shared": "^1.9.2", + "@map-colonies/raster-shared": "^1.10.0", "@types/geojson": "^7946.0.7", "change-case-all": "^2.1.0", "reflect-metadata": "^0.1.13", diff --git a/src/models/layerMetadata/layerRASTERMetadata.ts b/src/models/layerMetadata/layerRASTERMetadata.ts index 718a0581..38a9a990 100644 --- a/src/models/layerMetadata/layerRASTERMetadata.ts +++ b/src/models/layerMetadata/layerRASTERMetadata.ts @@ -1,7 +1,7 @@ import { keys } from 'ts-transformer-keys'; import { NewRasterLayerMetadata, UpdateRasterLayerMetadata, RasterLayerMetadata, Transparency, TileOutputFormat } from '@map-colonies/raster-shared'; import { GeoJSON } from 'geojson'; -import { TilesMimeFormat, RecordType, ProductType } from '@map-colonies/types'; +import { TilesMimeFormat, RecordType, ProductType, RecordStatus } from '@map-colonies/types'; import { IPropCatalogDBMapping } from '../common/interfaces/propCatalogDBMapping.interface'; import { graphql } from '../common/decorators/graphQL/graphql.decorator'; import { @@ -1128,6 +1128,36 @@ export class LayerMetadata implements RasterLayerMetadata { //#endregion public tileOutputFormat!: TileOutputFormat; + //#region Raster: productStatus + @pycsw({ + profile: 'mc_raster', + xmlElement: 'mc:productStatus', + queryableField: 'mc:productStatus', + pycswField: 'pycsw:productStatus', + }) + @catalogDB({ + column: { + name: 'product_status', + type: 'text', + default: RecordStatus.UNPUBLISHED, + nullable: false, + }, + }) + @tsTypes({ + mappingType: TsTypes.RECORD_STATUS, + }) + @graphql({ + nullable: true, + }) + @fieldConfig({ + category: FieldCategory.MAIN, + default: RecordStatus.UNPUBLISHED, + isLifecycleEnvolved: true, + }) + //#endregion + public productStatus?: RecordStatus | undefined = RecordStatus.UNPUBLISHED; + //#endregion + //#endregion public constructor() { @@ -1170,6 +1200,7 @@ export class LayerMetadata implements RasterLayerMetadata { this.productId = DUMMY_VALUE_STRING; this.productType = ProductType.ORTHOPHOTO; this.footprint = {} as GeoJSON; + this.productStatus = RecordStatus.UNPUBLISHED; } public static getPyCSWMapping(prop: string): IPYCSWMapping | undefined {