@datagouv/components-next 1.0.2-dev.157 → 1.0.2-dev.159
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Datafair.client-Bblv8Xec.js → Datafair.client-CTp0KeR2.js} +1 -1
- package/dist/{ImagePreview.client-B9p_XZrx.js → ImagePreview.client-CpOf0A1Y.js} +1 -1
- package/dist/{JsonPreview.client-DzVXqgqm.js → JsonPreview.client-DL3IBzvJ.js} +2 -2
- package/dist/{MapContainer.client-JFOchs0n.js → MapContainer.client-DwyIXqCs.js} +2 -2
- package/dist/{PdfPreview.client-De6XYp-a.js → PdfPreview.client-BoR_Mszg.js} +2 -2
- package/dist/{Pmtiles.client-CiLdMaAj.js → Pmtiles.client-BpMMDkeP.js} +1 -1
- package/dist/{PreviewWrapper.vue_vue_type_script_setup_true_lang-keE4Kr1e.js → PreviewWrapper.vue_vue_type_script_setup_true_lang-Dnz4oSUe.js} +7 -10
- package/dist/{XmlPreview.client-CdxaPXOa.js → XmlPreview.client-C3Y-2Eij.js} +3 -3
- package/dist/components-next.css +1 -1
- package/dist/components-next.js +178 -175
- package/dist/{index-BIk8VKNQ.js → index-B8gyXZY_.js} +1 -1
- package/dist/{leaflet-src-B_fapURG.js → leaflet-src-BDNw7m8K.js} +1 -1
- package/dist/{main-B0TVT1sb.js → main-SY-oNn1W.js} +12080 -11701
- package/dist/{vue3-xml-viewer.common-Bx0jB4Yr.js → vue3-xml-viewer.common-CBGfdux9.js} +1 -1
- package/package.json +3 -3
- package/src/components/DataserviceCard.vue +6 -0
- package/src/components/DataserviceQuality.vue +82 -0
- package/src/components/DataserviceQualityInline.vue +31 -0
- package/src/components/DataserviceQualityTooltipContent.vue +79 -0
- package/src/components/DatasetQuality.vue +11 -11
- package/src/components/DatasetQualityInline.vue +2 -2
- package/src/components/DatasetQualityTooltipContent.vue +1 -1
- package/src/main.ts +10 -4
- package/src/types/dataservices.ts +15 -0
- /package/src/components/{DatasetQualityItem.vue → QualityItem.vue} +0 -0
- /package/src/components/{DatasetQualityItemWarning.vue → QualityItemWarning.vue} +0 -0
- /package/src/components/{DatasetQualityScore.vue → QualityScore.vue} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datagouv/components-next",
|
|
3
|
-
"version": "1.0.2-dev.
|
|
3
|
+
"version": "1.0.2-dev.159",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"src"
|
|
24
24
|
],
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@floating-ui/vue": "^
|
|
26
|
+
"@floating-ui/vue": "^2.0.1",
|
|
27
27
|
"@headlessui/vue": "^1.7.23",
|
|
28
28
|
"@remixicon/vue": "^4.9.0",
|
|
29
29
|
"@types/hast": "^3.0.4",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"typescript": "^5.9.3",
|
|
84
84
|
"vite": "^7.3.3",
|
|
85
85
|
"vite-plugin-vue-devtools": "^8.1.2",
|
|
86
|
-
"vue": "^3.5.
|
|
86
|
+
"vue": "^3.5.40",
|
|
87
87
|
"vue-router": "^5.0.7",
|
|
88
88
|
"vue-tsc": "^3.3.2"
|
|
89
89
|
},
|
|
@@ -99,6 +99,11 @@
|
|
|
99
99
|
</p>
|
|
100
100
|
</div>
|
|
101
101
|
</div>
|
|
102
|
+
<DataserviceQualityInline
|
|
103
|
+
v-if="dataservice.quality"
|
|
104
|
+
:quality="dataservice.quality"
|
|
105
|
+
/>
|
|
106
|
+
|
|
102
107
|
<ObjectCardShortDescription
|
|
103
108
|
v-if="showDescription"
|
|
104
109
|
:text="dataservice.description"
|
|
@@ -126,6 +131,7 @@ import ObjectCardBadge from './ObjectCardBadge.vue'
|
|
|
126
131
|
import ObjectCardHeader from './ObjectCardHeader.vue'
|
|
127
132
|
import ObjectCardOwner from './ObjectCardOwner.vue'
|
|
128
133
|
import ObjectCardShortDescription from './ObjectCardShortDescription.vue'
|
|
134
|
+
import DataserviceQualityInline from './DataserviceQualityInline.vue'
|
|
129
135
|
|
|
130
136
|
type Props = {
|
|
131
137
|
dataservice: Dataservice
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<Toggletip
|
|
3
|
+
:styled-button="false"
|
|
4
|
+
button-class="flex items-center gap-1 rounded-sm p-1.5 -m-1.5 border-transparent -outline-offset-2 hover:bg-gray-some transition-colors w-full text-left"
|
|
5
|
+
:button-props="{ title: t('Qualité des métadonnées') }"
|
|
6
|
+
>
|
|
7
|
+
<QualityScore
|
|
8
|
+
:score="quality.score"
|
|
9
|
+
class="w-full"
|
|
10
|
+
/>
|
|
11
|
+
<RiInformationLine
|
|
12
|
+
class="size-5 shrink-0"
|
|
13
|
+
aria-hidden="true"
|
|
14
|
+
/>
|
|
15
|
+
<template #toggletip>
|
|
16
|
+
<DataserviceQualityTooltipContent :quality />
|
|
17
|
+
</template>
|
|
18
|
+
</Toggletip>
|
|
19
|
+
<template v-if="!hideWarnings">
|
|
20
|
+
<ul class="list-none pl-0">
|
|
21
|
+
<QualityItemWarning
|
|
22
|
+
:quality-item="quality.has_description"
|
|
23
|
+
:message="t('Description non renseignée')"
|
|
24
|
+
/>
|
|
25
|
+
<QualityItemWarning
|
|
26
|
+
:quality-item="quality.has_machine_documentation"
|
|
27
|
+
:message="t('Documentation machine (OpenAPI) manquante')"
|
|
28
|
+
/>
|
|
29
|
+
<QualityItemWarning
|
|
30
|
+
:quality-item="quality.has_technical_documentation"
|
|
31
|
+
:message="t('Documentation technique manquante')"
|
|
32
|
+
/>
|
|
33
|
+
<QualityItemWarning
|
|
34
|
+
:quality-item="quality.has_business_documentation"
|
|
35
|
+
:message="t('Documentation métier manquante')"
|
|
36
|
+
/>
|
|
37
|
+
<QualityItemWarning
|
|
38
|
+
:quality-item="quality.license"
|
|
39
|
+
:message="t('Licence non renseignée')"
|
|
40
|
+
/>
|
|
41
|
+
<QualityItemWarning
|
|
42
|
+
:quality-item="quality.has_contact_point"
|
|
43
|
+
:message="t('Point de contact non renseigné')"
|
|
44
|
+
/>
|
|
45
|
+
<QualityItemWarning
|
|
46
|
+
:quality-item="quality.has_base_api_url"
|
|
47
|
+
:message="t(`URL de base de l'API non renseignée`)"
|
|
48
|
+
/>
|
|
49
|
+
<QualityItemWarning
|
|
50
|
+
:quality-item="quality.availability_documented"
|
|
51
|
+
:message="t('Disponibilité non documentée')"
|
|
52
|
+
/>
|
|
53
|
+
<QualityItemWarning
|
|
54
|
+
:quality-item="quality.rate_limiting_documented"
|
|
55
|
+
:message="t(`Limite d'appels non documentée`)"
|
|
56
|
+
/>
|
|
57
|
+
<QualityItemWarning
|
|
58
|
+
:quality-item="quality.access_conditions_clear"
|
|
59
|
+
:message="t(`Conditions d'accès non précisées`)"
|
|
60
|
+
/>
|
|
61
|
+
</ul>
|
|
62
|
+
</template>
|
|
63
|
+
</template>
|
|
64
|
+
|
|
65
|
+
<script setup lang="ts">
|
|
66
|
+
import { RiInformationLine } from '@remixicon/vue'
|
|
67
|
+
import type { DataserviceQuality } from '../types/dataservices'
|
|
68
|
+
import QualityScore from './QualityScore.vue'
|
|
69
|
+
import QualityItemWarning from './QualityItemWarning.vue'
|
|
70
|
+
import DataserviceQualityTooltipContent from './DataserviceQualityTooltipContent.vue'
|
|
71
|
+
import Toggletip from './Toggletip.vue'
|
|
72
|
+
import { useTranslation } from '../composables/useTranslation'
|
|
73
|
+
|
|
74
|
+
withDefaults(defineProps<{
|
|
75
|
+
quality: DataserviceQuality
|
|
76
|
+
hideWarnings?: boolean
|
|
77
|
+
}>(), {
|
|
78
|
+
hideWarnings: false,
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
const { t } = useTranslation()
|
|
82
|
+
</script>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="m-0 text-sm text-gray-medium">
|
|
3
|
+
<Toggletip
|
|
4
|
+
:styled-button="false"
|
|
5
|
+
button-class="border-transparent -outline-offset-2 inline-flex items-center justify-center hover:bg-gray-lower transition-colors"
|
|
6
|
+
:button-props="{ class: 'relative z-2 gap-1 rounded-sm px-1 -mx-1 group/quality', title: t('Qualité des métadonnées') }"
|
|
7
|
+
>
|
|
8
|
+
<RiInformationLine class="size-3.5 shrink-0" />
|
|
9
|
+
<span class="text-gray-medium text-sm group-hover/quality:underline">{{ t('Métadonnées :') }}</span>
|
|
10
|
+
<QualityScore :score="quality.score" />
|
|
11
|
+
<template #toggletip>
|
|
12
|
+
<DataserviceQualityTooltipContent :quality />
|
|
13
|
+
</template>
|
|
14
|
+
</Toggletip>
|
|
15
|
+
</div>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script setup lang="ts">
|
|
19
|
+
import { RiInformationLine } from '@remixicon/vue'
|
|
20
|
+
import type { DataserviceQuality } from '../types/dataservices'
|
|
21
|
+
import QualityScore from './QualityScore.vue'
|
|
22
|
+
import DataserviceQualityTooltipContent from './DataserviceQualityTooltipContent.vue'
|
|
23
|
+
import Toggletip from './Toggletip.vue'
|
|
24
|
+
import { useTranslation } from '../composables/useTranslation'
|
|
25
|
+
|
|
26
|
+
defineProps<{
|
|
27
|
+
quality: DataserviceQuality
|
|
28
|
+
}>()
|
|
29
|
+
|
|
30
|
+
const { t } = useTranslation()
|
|
31
|
+
</script>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<p class="text-sm text-gray-plain font-bold mb-0">
|
|
3
|
+
{{ t("Qualité des métadonnées :") }}
|
|
4
|
+
</p>
|
|
5
|
+
<ul class="list-none pl-0 space-y-2">
|
|
6
|
+
<QualityItem
|
|
7
|
+
:passed="quality.has_description"
|
|
8
|
+
:message-passed="t('Description renseignée')"
|
|
9
|
+
:message-failed="t('Description non renseignée')"
|
|
10
|
+
class="pb-0"
|
|
11
|
+
/>
|
|
12
|
+
<QualityItem
|
|
13
|
+
:passed="quality.has_machine_documentation"
|
|
14
|
+
:message-passed="t('Documentation machine (OpenAPI) disponible')"
|
|
15
|
+
:message-failed="t('Documentation machine (OpenAPI) manquante')"
|
|
16
|
+
class="pb-0"
|
|
17
|
+
/>
|
|
18
|
+
<QualityItem
|
|
19
|
+
:passed="quality.has_technical_documentation"
|
|
20
|
+
:message-passed="t('Documentation technique renseignée')"
|
|
21
|
+
:message-failed="t('Documentation technique manquante')"
|
|
22
|
+
class="pb-0"
|
|
23
|
+
/>
|
|
24
|
+
<QualityItem
|
|
25
|
+
:passed="quality.has_business_documentation"
|
|
26
|
+
:message-passed="t('Documentation métier renseignée')"
|
|
27
|
+
:message-failed="t('Documentation métier manquante')"
|
|
28
|
+
class="pb-0"
|
|
29
|
+
/>
|
|
30
|
+
<QualityItem
|
|
31
|
+
:passed="quality.license"
|
|
32
|
+
:message-passed="t('Licence renseignée')"
|
|
33
|
+
:message-failed="t('Licence non renseignée')"
|
|
34
|
+
class="pb-0"
|
|
35
|
+
/>
|
|
36
|
+
<QualityItem
|
|
37
|
+
:passed="quality.has_contact_point"
|
|
38
|
+
:message-passed="t('Point de contact renseigné')"
|
|
39
|
+
:message-failed="t('Point de contact non renseigné')"
|
|
40
|
+
class="pb-0"
|
|
41
|
+
/>
|
|
42
|
+
<QualityItem
|
|
43
|
+
:passed="quality.has_base_api_url"
|
|
44
|
+
:message-passed="t(`URL de base de l'API renseignée`)"
|
|
45
|
+
:message-failed="t(`URL de base de l'API non renseignée`)"
|
|
46
|
+
class="pb-0"
|
|
47
|
+
/>
|
|
48
|
+
<QualityItem
|
|
49
|
+
:passed="quality.availability_documented"
|
|
50
|
+
:message-passed="t('Disponibilité documentée')"
|
|
51
|
+
:message-failed="t('Disponibilité non documentée')"
|
|
52
|
+
class="pb-0"
|
|
53
|
+
/>
|
|
54
|
+
<QualityItem
|
|
55
|
+
:passed="quality.rate_limiting_documented"
|
|
56
|
+
:message-passed="t(`Limite d'appels documentée`)"
|
|
57
|
+
:message-failed="t(`Limite d'appels non documentée`)"
|
|
58
|
+
class="pb-0"
|
|
59
|
+
/>
|
|
60
|
+
<QualityItem
|
|
61
|
+
:passed="quality.access_conditions_clear"
|
|
62
|
+
:message-passed="t(`Conditions d'accès claires`)"
|
|
63
|
+
:message-failed="t(`Conditions d'accès non précisées`)"
|
|
64
|
+
class="pb-0"
|
|
65
|
+
/>
|
|
66
|
+
</ul>
|
|
67
|
+
</template>
|
|
68
|
+
|
|
69
|
+
<script setup lang="ts">
|
|
70
|
+
import type { DataserviceQuality } from '../types/dataservices'
|
|
71
|
+
import { useTranslation } from '../composables/useTranslation'
|
|
72
|
+
import QualityItem from './QualityItem.vue'
|
|
73
|
+
|
|
74
|
+
defineProps<{
|
|
75
|
+
quality: DataserviceQuality
|
|
76
|
+
}>()
|
|
77
|
+
|
|
78
|
+
const { t } = useTranslation()
|
|
79
|
+
</script>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
{{ t('Qualité des métadonnées:') }}
|
|
14
14
|
</span>
|
|
15
15
|
</span>
|
|
16
|
-
<
|
|
16
|
+
<QualityScore
|
|
17
17
|
:score="quality.score"
|
|
18
18
|
class="w-full"
|
|
19
19
|
/>
|
|
@@ -23,35 +23,35 @@
|
|
|
23
23
|
</Toggletip>
|
|
24
24
|
<template v-if="!hideWarnings">
|
|
25
25
|
<ul class="list-none pl-0">
|
|
26
|
-
<
|
|
26
|
+
<QualityItemWarning
|
|
27
27
|
:quality-item="quality.dataset_description_quality"
|
|
28
28
|
:message="t('Description des données non renseignée')"
|
|
29
29
|
/>
|
|
30
|
-
<
|
|
30
|
+
<QualityItemWarning
|
|
31
31
|
:quality-item="quality.resources_documentation"
|
|
32
32
|
:message="t('Documentation des fichiers manquante')"
|
|
33
33
|
/>
|
|
34
|
-
<
|
|
34
|
+
<QualityItemWarning
|
|
35
35
|
:quality-item="quality.license"
|
|
36
36
|
:message="t('Licence non renseignée')"
|
|
37
37
|
/>
|
|
38
|
-
<
|
|
38
|
+
<QualityItemWarning
|
|
39
39
|
:quality-item="quality.update_frequency && quality.update_fulfilled_in_time"
|
|
40
40
|
:message="quality.update_frequency ? t('Fréquence de mise à jour non respectée') : t('Fréquence de mise à jour non renseignée')"
|
|
41
41
|
/>
|
|
42
|
-
<
|
|
42
|
+
<QualityItemWarning
|
|
43
43
|
:quality-item="quality.has_open_format"
|
|
44
44
|
:message="t('Formats de fichiers non standards')"
|
|
45
45
|
/>
|
|
46
|
-
<
|
|
46
|
+
<QualityItemWarning
|
|
47
47
|
:quality-item="quality.temporal_coverage"
|
|
48
48
|
:message="t('Couverture temporelle non renseignée')"
|
|
49
49
|
/>
|
|
50
|
-
<
|
|
50
|
+
<QualityItemWarning
|
|
51
51
|
:quality-item="quality.spatial"
|
|
52
52
|
:message="t('Couverture spatiale non renseignée')"
|
|
53
53
|
/>
|
|
54
|
-
<
|
|
54
|
+
<QualityItemWarning
|
|
55
55
|
:quality-item="quality.all_resources_available"
|
|
56
56
|
:message="t('Certains fichiers ne sont pas disponibles')"
|
|
57
57
|
/>
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
<script setup lang="ts">
|
|
63
63
|
import { RiInformationLine } from '@remixicon/vue'
|
|
64
64
|
import type { Quality } from '../types/datasets'
|
|
65
|
-
import
|
|
66
|
-
import
|
|
65
|
+
import QualityItemWarning from './QualityItemWarning.vue'
|
|
66
|
+
import QualityScore from './QualityScore.vue'
|
|
67
67
|
import Toggletip from './Toggletip.vue'
|
|
68
68
|
import DatasetQualityTooltipContent from './DatasetQualityTooltipContent.vue'
|
|
69
69
|
import { useTranslation } from '../composables/useTranslation'
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
>
|
|
8
8
|
<RiInformationLine class="size-3.5 shrink-0" />
|
|
9
9
|
<span class="text-gray-medium text-sm group-hover/quality:underline">{{ t('Métadonnées :') }}</span>
|
|
10
|
-
<
|
|
10
|
+
<QualityScore :score="quality.score" />
|
|
11
11
|
<template #toggletip>
|
|
12
12
|
<DatasetQualityTooltipContent :quality />
|
|
13
13
|
</template>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<script setup lang="ts">
|
|
19
19
|
import { RiInformationLine } from '@remixicon/vue'
|
|
20
20
|
import type { Quality } from '../types/datasets'
|
|
21
|
-
import
|
|
21
|
+
import QualityScore from './QualityScore.vue'
|
|
22
22
|
import DatasetQualityTooltipContent from './DatasetQualityTooltipContent.vue'
|
|
23
23
|
import Toggletip from './Toggletip.vue'
|
|
24
24
|
import { useTranslation } from '../composables/useTranslation'
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
import type { Quality } from '../types/datasets'
|
|
69
69
|
import { useComponentsConfig } from '../config'
|
|
70
70
|
import { useTranslation } from '../composables/useTranslation'
|
|
71
|
-
import DatasetQualityItem from './
|
|
71
|
+
import DatasetQualityItem from './QualityItem.vue'
|
|
72
72
|
|
|
73
73
|
defineProps<{
|
|
74
74
|
quality: Quality
|
package/src/main.ts
CHANGED
|
@@ -40,6 +40,9 @@ import BannerAction from './components/BannerAction.vue'
|
|
|
40
40
|
import BrandedButton from './components/BrandedButton.vue'
|
|
41
41
|
import CopyButton from './components/CopyButton.vue'
|
|
42
42
|
import DataserviceCard from './components/DataserviceCard.vue'
|
|
43
|
+
import DataserviceQuality from './components/DataserviceQuality.vue'
|
|
44
|
+
import DataserviceQualityInline from './components/DataserviceQualityInline.vue'
|
|
45
|
+
import DataserviceQualityTooltipContent from './components/DataserviceQualityTooltipContent.vue'
|
|
43
46
|
import DatasetCard from './components/DatasetCard.vue'
|
|
44
47
|
import DataStructure from './components/ResourceAccordion/DataStructure.vue'
|
|
45
48
|
import Downloads from './components/ResourceAccordion/Downloads.vue'
|
|
@@ -54,8 +57,8 @@ import LicenseBadge from './components/LicenseBadge.vue'
|
|
|
54
57
|
import Tag from './components/Tag.vue'
|
|
55
58
|
import DatasetQuality from './components/DatasetQuality.vue'
|
|
56
59
|
import DatasetQualityInline from './components/DatasetQualityInline.vue'
|
|
57
|
-
import
|
|
58
|
-
import
|
|
60
|
+
import QualityItem from './components/QualityItem.vue'
|
|
61
|
+
import QualityScore from './components/QualityScore.vue'
|
|
59
62
|
import ProgressBar from './components/ProgressBar.vue'
|
|
60
63
|
import DatasetQualityTooltipContent from './components/DatasetQualityTooltipContent.vue'
|
|
61
64
|
import ExtraAccordion from './components/ExtraAccordion.vue'
|
|
@@ -335,6 +338,9 @@ export {
|
|
|
335
338
|
BrandedButton,
|
|
336
339
|
CopyButton,
|
|
337
340
|
DataserviceCard,
|
|
341
|
+
DataserviceQuality,
|
|
342
|
+
DataserviceQualityInline,
|
|
343
|
+
DataserviceQualityTooltipContent,
|
|
338
344
|
DatasetCard,
|
|
339
345
|
DataStructure,
|
|
340
346
|
Downloads,
|
|
@@ -349,8 +355,8 @@ export {
|
|
|
349
355
|
DiscussionMessageCard,
|
|
350
356
|
DatasetQuality,
|
|
351
357
|
DatasetQualityInline,
|
|
352
|
-
|
|
353
|
-
|
|
358
|
+
QualityItem,
|
|
359
|
+
QualityScore,
|
|
354
360
|
DatasetQualityTooltipContent,
|
|
355
361
|
DateRangeDetails,
|
|
356
362
|
ExtraAccordion,
|
|
@@ -31,6 +31,20 @@ export type BaseDataservice = Owned & WithAccessType & {
|
|
|
31
31
|
|
|
32
32
|
export type NewDataservice = Omit<BaseDataservice, keyof OwnedWithId> & OwnedWithId
|
|
33
33
|
|
|
34
|
+
export type DataserviceQuality = {
|
|
35
|
+
has_description: boolean
|
|
36
|
+
has_machine_documentation: boolean
|
|
37
|
+
has_technical_documentation: boolean
|
|
38
|
+
has_business_documentation: boolean
|
|
39
|
+
license: boolean
|
|
40
|
+
has_contact_point: boolean
|
|
41
|
+
has_base_api_url: boolean
|
|
42
|
+
availability_documented: boolean
|
|
43
|
+
rate_limiting_documented: boolean
|
|
44
|
+
access_conditions_clear: boolean
|
|
45
|
+
score: number
|
|
46
|
+
}
|
|
47
|
+
|
|
34
48
|
export type Dataservice = Owned & WithAccessType & {
|
|
35
49
|
acronym: string
|
|
36
50
|
archived_at: string | null
|
|
@@ -72,4 +86,5 @@ export type Dataservice = Owned & WithAccessType & {
|
|
|
72
86
|
slug: string
|
|
73
87
|
tags: Array<string>
|
|
74
88
|
title: string
|
|
89
|
+
quality?: DataserviceQuality
|
|
75
90
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|