diff --git a/src/app/data-catalogue/components/dataset-detail/dataset-element-table/dataset-element-table.component.html b/src/app/data-catalogue/components/dataset-detail/dataset-element-table/dataset-element-table.component.html index d08ed082f..1e0d91dff 100644 --- a/src/app/data-catalogue/components/dataset-detail/dataset-element-table/dataset-element-table.component.html +++ b/src/app/data-catalogue/components/dataset-detail/dataset-element-table/dataset-element-table.component.html @@ -8,10 +8,10 @@ @for (attribute of attributes; track attribute.name) { - {{ attribute.name }} - - {{ attribute.type }} - {{ attribute.unit }} + {{ attribute.name ?? '-' }} + + {{ attribute.type ?? '-' }} + {{ attribute.unit ?? '-' }} } diff --git a/src/app/data-catalogue/utils/data-extraction.utils.spec.ts b/src/app/data-catalogue/utils/data-extraction.utils.spec.ts index 7ac104400..b0dc99737 100644 --- a/src/app/data-catalogue/utils/data-extraction.utils.spec.ts +++ b/src/app/data-catalogue/utils/data-extraction.utils.spec.ts @@ -19,7 +19,7 @@ describe('DataExtractionUtils', () => { zipCode: 2222, poBox: null, section: null, - url: 'https://www.example.com', + url: {href: 'https://www.example.com'}, }; const result = DataExtractionUtils.extractContactElements(mockContact); @@ -36,7 +36,7 @@ describe('DataExtractionUtils', () => { {title: 'Tel', value: mockContact.phone, type: 'text'}, {title: 'Tel direkt', value: mockContact.phoneDirect, type: 'text'}, {title: 'E-Mail', value: mockContact.email, type: 'url'}, - {title: 'www', value: {href: mockContact.url}, type: 'url'}, + {title: 'www', value: mockContact.url, type: 'url'}, ]; expect(result).toEqual(expected); }); diff --git a/src/app/data-catalogue/utils/data-extraction.utils.ts b/src/app/data-catalogue/utils/data-extraction.utils.ts index bec6699fc..d38f3751b 100644 --- a/src/app/data-catalogue/utils/data-extraction.utils.ts +++ b/src/app/data-catalogue/utils/data-extraction.utils.ts @@ -12,7 +12,7 @@ export class DataExtractionUtils { {title: 'Tel', value: contact.phone, type: 'text'}, {title: 'Tel direkt', value: contact.phoneDirect, type: 'text'}, {title: 'E-Mail', value: contact.email, type: 'url'}, - {title: 'www', value: {href: contact.url}, type: 'url'}, + {title: 'www', value: contact.url, type: 'url'}, ]; } } diff --git a/src/app/shared/interfaces/gb3-metadata.interface.ts b/src/app/shared/interfaces/gb3-metadata.interface.ts index a12e36a2c..bc2aa08cd 100644 --- a/src/app/shared/interfaces/gb3-metadata.interface.ts +++ b/src/app/shared/interfaces/gb3-metadata.interface.ts @@ -15,8 +15,8 @@ export interface DepartmentalContact { village: string; phone: string; phoneDirect: string; - email: LinkObject; - url: string; + email: LinkObject | null; + url: LinkObject | null; } interface BaseMetadataInterface { diff --git a/src/app/shared/interfaces/layer-attributes.interface.ts b/src/app/shared/interfaces/layer-attributes.interface.ts index e6b7c9f5b..fcaba26af 100644 --- a/src/app/shared/interfaces/layer-attributes.interface.ts +++ b/src/app/shared/interfaces/layer-attributes.interface.ts @@ -1,6 +1,6 @@ export interface LayerAttributes { - name: string; - description: string; - type: string; + name: string | null; + description: string | null; + type: string | null; unit: string | null; } diff --git a/src/app/shared/models/gb3-api-generated.interfaces.ts b/src/app/shared/models/gb3-api-generated.interfaces.ts index dd28dcf97..3cc7c6bdc 100644 --- a/src/app/shared/models/gb3-api-generated.interfaces.ts +++ b/src/app/shared/models/gb3-api-generated.interfaces.ts @@ -168,6 +168,15 @@ export interface MetadataDatasets { datasets: Dataset[]; } +export interface MetadataGeoshopProducts { + geoshop_products?: { + /** Geoshop product ID */ + giszhnr: number; + /** Link auf Geodatashop bei NOGD-Daten */ + url_shop: string | null; + }[]; +} + export interface MetadataMap { map: Map; } @@ -421,6 +430,11 @@ export interface PrintNew { }; } +export interface PrintReport { + /** Link to report file */ + report_url: string; +} + export interface ProductsList { /** Timestamp of product list in ISO8601 format */ timestamp: string; @@ -656,9 +670,9 @@ export interface Contact { /** Telephon direkt */ telephon_direkt: string; /** E-Mail */ - email: LinkObject; + email: LinkObject | null; /** URL */ - weburl: LinkObject; + weburl: LinkObject | null; } export interface Dataset { @@ -751,13 +765,13 @@ export interface Dataset { datenbezugart: string; attribute: { /** Attributname */ - name: string; + name: string | null; /** Attributtyp */ - typ: string; + typ: string | null; /** Einheit des Attributwerts */ einheit: string | null; /** Beschreibung des Attributs */ - beschreibung: string; + beschreibung: string | null; }[]; }[]; services: { @@ -968,6 +982,10 @@ export interface Map { name: string; /** Beschreibung der Karte */ beschreibung: string; + /** Link to the internet version of the current map */ + gbkarten_internet_url: LinkObject | null; + /** Link to the intranet version of the current map (only available whether this api is called from intranet) */ + gbkarten_intranet_url: LinkObject | null; /** Link auf GB2-Karte */ gb2_url: LinkObject | null; /** Links auf weiterführende Verweise */ @@ -1121,6 +1139,21 @@ export interface Service { }[]; } +export interface VectorInputGeneral { + /** GeoJSON file containing FeatureCollection or Feature, or KML file */ + file: File; +} + +export interface VectorInputGeojson { + /** GeoJSON file containing FeatureCollection or Feature */ + file: File; +} + +export interface VectorInputKml { + /** KML file */ + file: File; +} + /** Vector layer */ export interface VectorLayer { /** Vector layer type */ @@ -1207,27 +1240,12 @@ export interface VectorLayerWithoutStyles { export type CantonListData = Canton; -export interface ImportGeojsonCreatePayload { - /** GeoJSON file containing FeatureCollection or Feature */ - file: File; -} - export type ImportGeojsonCreateData = VectorLayer; export type ExportGeojsonCreateData = GenericGeojsonFeatureCollection; -export interface ImportCreatePayload { - /** GeoJSON file containing FeatureCollection or Feature, or KML file */ - file: File; -} - export type ImportCreateData = VectorLayer; -export interface ImportKmlCreatePayload { - /** KML file */ - file: File; -} - export type ImportKmlCreateData = VectorLayer; export type ExportKmlCreateData = any; @@ -1242,14 +1260,7 @@ export type MetadataDatasetsListData = MetadataDatasets; export type MetadataDatasetsDetailData = MetadataDataset; -export interface MetadataGeoshopProductsListData { - geoshop_products: { - /** Geoshop product ID */ - giszhnr: number; - /** Link auf Geodatashop bei NOGD-Daten */ - url_shop: string | null; - }[]; -} +export type MetadataGeoshopProductsListData = MetadataGeoshopProducts; export type MetadataMapsListData = MetadataMaps; @@ -1277,20 +1288,11 @@ export type UserFavoritesDetailData = PersonalFavorite; export type UserFavoritesDeleteData = any; -export interface PrintCreateData { - /** Link to report file */ - report_url: string; -} +export type PrintCreateData = PrintReport; -export interface PrintFeatureInfoCreateData { - /** Link to report file */ - report_url: string; -} +export type PrintFeatureInfoCreateData = PrintReport; -export interface PrintLegendCreateData { - /** Link to report file */ - report_url: string; -} +export type PrintLegendCreateData = PrintReport; export type PrintDetailData = any; diff --git a/src/app/shared/services/apis/gb3/gb3-metadata.service.spec.ts b/src/app/shared/services/apis/gb3/gb3-metadata.service.spec.ts index 0fa7a4163..4ed0a98b2 100644 --- a/src/app/shared/services/apis/gb3/gb3-metadata.service.spec.ts +++ b/src/app/shared/services/apis/gb3/gb3-metadata.service.spec.ts @@ -79,6 +79,8 @@ const mockMapDetailResponse = { topic: 'test-topic', verweise: [], gb2_url: null, + gbkarten_internet_url: null, + gbkarten_intranet_url: null, }, } as MetadataMapsDetailData; @@ -153,7 +155,7 @@ const mockDatasetDetailResponse = { } as MetadataDatasetsDetailData; const expectedMockDepartmentalContact: DepartmentalContact = { - url: mockContact.weburl.href, + url: mockContact.weburl, email: mockContact.email, phoneDirect: mockContact.telephon_direkt, phone: mockContact.telephon, diff --git a/src/app/shared/services/apis/gb3/gb3-metadata.service.ts b/src/app/shared/services/apis/gb3/gb3-metadata.service.ts index 297b78a33..48ffb7bd2 100644 --- a/src/app/shared/services/apis/gb3/gb3-metadata.service.ts +++ b/src/app/shared/services/apis/gb3/gb3-metadata.service.ts @@ -297,7 +297,7 @@ export class Gb3MetadataService extends Gb3ApiService { department: contact.amt, division: contact.fachstelle, section: contact.sektion, - url: contact.weburl.href, + url: contact.weburl, street: contact.strassenname, poBox: contact.postfach, email: contact.email,