Skip to content

Commit 3fec22b

Browse files
Feature/iot 1610 oddk feedback (#288)
* Change name of data directory key * More feedback to oddk
1 parent e72b501 commit 3fec22b

File tree

3 files changed

+58
-5
lines changed

3 files changed

+58
-5
lines changed

src/entities/dto/open-data-dk-dcat.dto.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ export class Dataset {
3838
spatial: string;
3939
theme: string[];
4040
documentation: string;
41-
frequency: string | undefined;
42-
dataDirectory: boolean;
41+
update_frequency: string | undefined;
42+
data_directory: boolean;
4343
}
4444

4545
export class DCATRootObject {
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import { MigrationInterface, QueryRunner } from "typeorm";
2+
3+
export class ThemeMigrator1766044800140 implements MigrationInterface {
4+
public async up(queryRunner: QueryRunner): Promise<void> {
5+
const datatargets = await queryRunner.query(`SELECT * FROM "open_data_dk_dataset" where "keywords" is not null`);
6+
datatargets.forEach(async (dataTarget: any) => {
7+
dataTarget.keywords = dataTarget.keywords.map((k: string) => themes.get(k));
8+
9+
await queryRunner.query(`UPDATE "open_data_dk_dataset" SET "keywords" = $1 WHERE "id" = $2`, [
10+
dataTarget.keywords,
11+
dataTarget.id,
12+
]);
13+
});
14+
}
15+
16+
public async down(queryRunner: QueryRunner): Promise<void> {
17+
const datatargets = await queryRunner.query(`SELECT * FROM "open_data_dk_dataset" where "keywords" is not null`);
18+
datatargets.forEach(async (dataTarget: any) => {
19+
dataTarget.keywords = dataTarget.keywords.map((k: string) => getByValue(themes, k));
20+
21+
await queryRunner.query(`UPDATE "open_data_dk_dataset" SET "keywords" = $1 WHERE "id" = $2`, [
22+
dataTarget.keywords,
23+
dataTarget.id,
24+
]);
25+
});
26+
}
27+
}
28+
29+
const themes = new Map([
30+
["Befolkning og samfund", "SOCI"],
31+
["Energi", "ENER"],
32+
["Internationale spørgsmål", "INTR"],
33+
["Landbrug, fiskeri, skovbrug og fødevarer", "AGRI"],
34+
["Midlertidige data", "OP_DATPRO"],
35+
["Miljø", "ENVI"],
36+
["Regeringen og den offentlige sektor", "GOVE"],
37+
["Regioner og byer", "REGI"],
38+
["Retfærdighed, retssystem og offentlig sikkerhed", "JUST"],
39+
["Sundhed", "HEAL"],
40+
["Transport", "TRAN"],
41+
["Uddannelse, kultur og sport", "EDUC"],
42+
["Videnskab og teknologi", "TECH"],
43+
["Økonomi og finanser", "ECON"],
44+
]);
45+
46+
function getByValue(map: Map<string, string>, searchValue: string) {
47+
for (let [key, value] of map.entries()) {
48+
if (value === searchValue) return key;
49+
}
50+
}

src/services/data-management/open-data-dk-sharing.service.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,12 @@ export class OpenDataDkSharingService {
157157
ds.contactPoint["@type"] = "vcard:Contact";
158158
ds.contactPoint.fn = dataset.authorName;
159159
ds.contactPoint.hasEmail = `mailto:${dataset.authorEmail}`;
160-
ds.documentation = dataset.documentationUrl;
161-
ds.frequency = dataset.updateFrequency;
162-
ds.dataDirectory = dataset.dataDirectory;
160+
ds.documentation =
161+
!dataset.documentationUrl || dataset.documentationUrl?.startsWith("https://")
162+
? dataset.documentationUrl
163+
: `https://${dataset.documentationUrl}`;
164+
ds.update_frequency = dataset.updateFrequency;
165+
ds.data_directory = dataset.dataDirectory;
163166

164167
ds.distribution = [this.mapDistribution(organization, dataset)];
165168

0 commit comments

Comments
 (0)