diff --git a/package-lock.json b/package-lock.json index 9ab936e7..79d86f66 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "17.16.0", "license": "MIT", "dependencies": { - "@map-colonies/raster-shared": "^1.1.1", + "@map-colonies/raster-shared": "^1.9.2", "@types/geojson": "^7946.0.7", "change-case-all": "^2.1.0", "reflect-metadata": "^0.1.13", @@ -1402,13 +1402,12 @@ "dev": true }, "node_modules/@map-colonies/raster-shared": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@map-colonies/raster-shared/-/raster-shared-1.1.1.tgz", - "integrity": "sha512-6YtQxsT5tqgV1gNQtaRciRb1Ye9yRyu3AP40DRyFpnSfgWAYMlt+Li+GV3bBkflu2hFCp46MkERMO0B8Vj9ajw==", - "license": "ISC", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@map-colonies/raster-shared/-/raster-shared-1.9.2.tgz", + "integrity": "sha512-vzaKqkIkAHCLa/gsvGeNr3J528uqaKmwDJP35Mn1/IVBA8YvpMOXsiM48ZXGlEUVBHP3W9sqy02CAQvSKAylkQ==", "dependencies": { "@map-colonies/mc-priority-queue": "^8.2.1", - "@map-colonies/types": "^1.3.5", + "@map-colonies/types": "^1.4.0", "geojson": "^0.5.0", "standard-version": "^9.5.0", "zod": "^3.24.1" @@ -15061,12 +15060,12 @@ "dev": true }, "@map-colonies/raster-shared": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@map-colonies/raster-shared/-/raster-shared-1.1.1.tgz", - "integrity": "sha512-6YtQxsT5tqgV1gNQtaRciRb1Ye9yRyu3AP40DRyFpnSfgWAYMlt+Li+GV3bBkflu2hFCp46MkERMO0B8Vj9ajw==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@map-colonies/raster-shared/-/raster-shared-1.9.2.tgz", + "integrity": "sha512-vzaKqkIkAHCLa/gsvGeNr3J528uqaKmwDJP35Mn1/IVBA8YvpMOXsiM48ZXGlEUVBHP3W9sqy02CAQvSKAylkQ==", "requires": { "@map-colonies/mc-priority-queue": "^8.2.1", - "@map-colonies/types": "^1.3.5", + "@map-colonies/types": "^1.4.0", "geojson": "^0.5.0", "standard-version": "^9.5.0", "zod": "^3.24.1" diff --git a/package.json b/package.json index d635280e..bc7d3f81 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.1.1", + "@map-colonies/raster-shared": "^1.9.2", "@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 7e9a889d..718a0581 100644 --- a/src/models/layerMetadata/layerRASTERMetadata.ts +++ b/src/models/layerMetadata/layerRASTERMetadata.ts @@ -1163,15 +1163,13 @@ export class LayerMetadata implements RasterLayerMetadata { this.tileMimeFormat = DUMMY_VALUE_TILE_MIME_FORMAT; this.tileOutputFormat = DUMMY_VALUE_TILE_OUTPUT_FORMAT; this.type = RecordType.RECORD_RASTER; - this.classification = DUMMY_VALUE_STRING; this.productName = DUMMY_VALUE_STRING; this.description = DUMMY_VALUE_STRING; this.srsName = DUMMY_VALUE_STRING; this.producerName = DUMMY_VALUE_STRING; - this.sensors = [DUMMY_VALUE_STRING]; - this.region = [DUMMY_VALUE_STRING]; this.productId = DUMMY_VALUE_STRING; this.productType = ProductType.ORTHOPHOTO; + this.footprint = {} as GeoJSON; } public static getPyCSWMapping(prop: string): IPYCSWMapping | undefined { diff --git a/src/models/layerMetadata/pycswLayerCatalogRecord.ts b/src/models/layerMetadata/pycswLayerCatalogRecord.ts index 1b3c6b54..914f1e5a 100644 --- a/src/models/layerMetadata/pycswLayerCatalogRecord.ts +++ b/src/models/layerMetadata/pycswLayerCatalogRecord.ts @@ -9,7 +9,7 @@ import { FieldCategory, fieldConfig, getFieldConfig, IPropFieldConfigInfo } from import { getFieldConfigClassInfo } from '../common/decorators/fieldConfig/classFieldConfig.decorator'; import { NewRasterLayerMetadata, UpdateRasterLayerMetadata } from '../raster/ingestion'; import { Link } from './link'; -import { catalogDB, getCatalogDBMapping } from './decorators/property/catalogDB.decorator'; +import { catalogDB, getCatalogDBMapping, ORMColumnType } from './decorators/property/catalogDB.decorator'; import { getTsTypesMapping, TsTypes, tsTypes } from './decorators/property/tsTypes.decorator'; import { IPropPYCSWMapping, LayerMetadata } from './layerRASTERMetadata'; import { getCatalogDBEntityMapping, catalogDBEntity, ICatalogDBEntityMapping } from './decorators/class/catalogDBEntity.decorator'; @@ -27,6 +27,8 @@ export class PycswLayerCatalogRecord extends LayerMetadata implements IPycswCore column: { name: 'typename', type: 'text', + nullable: false, + default: 'mc_MCRasterRecord', }, }) @tsTypes({ @@ -40,6 +42,8 @@ export class PycswLayerCatalogRecord extends LayerMetadata implements IPycswCore column: { name: 'schema', type: 'text', + nullable: false, + default: 'mc_raster', }, }) @tsTypes({ @@ -52,6 +56,8 @@ export class PycswLayerCatalogRecord extends LayerMetadata implements IPycswCore column: { name: 'mdsource', type: 'text', + nullable: false, + default: '', }, }) @tsTypes({ @@ -65,6 +71,8 @@ export class PycswLayerCatalogRecord extends LayerMetadata implements IPycswCore column: { name: 'xml', type: 'text', + nullable: false, + default: '', }, }) @tsTypes({ @@ -78,6 +86,7 @@ export class PycswLayerCatalogRecord extends LayerMetadata implements IPycswCore column: { name: 'anytext', type: 'text', + nullable: false, }, }) @tsTypes({ @@ -96,8 +105,10 @@ export class PycswLayerCatalogRecord extends LayerMetadata implements IPycswCore @catalogDB({ column: { name: 'insert_date', - type: 'timestamp without time zone', - default: 'CURRENT_TIMESTAMP', + type: 'timestamp with time zone', + nullable: false, + insert: false, + columnType: ORMColumnType.CREATE_DATE_COLUMN, }, }) @tsTypes({ @@ -118,7 +129,7 @@ export class PycswLayerCatalogRecord extends LayerMetadata implements IPycswCore column: { name: 'wkt_geometry', type: 'text', - nullable: true, + nullable: false, }, }) @tsTypes({ @@ -134,7 +145,7 @@ export class PycswLayerCatalogRecord extends LayerMetadata implements IPycswCore type: 'geometry', spatialFeatureType: 'Geometry', srid: 4326, - nullable: true, + nullable: false, }, }) @tsTypes({ @@ -154,6 +165,7 @@ export class PycswLayerCatalogRecord extends LayerMetadata implements IPycswCore column: { name: 'keywords', type: 'text', + nullable: true, }, }) @tsTypes({