https://github.com/digitalegesellschaft/datenauskunftsbegehren-data
Daten für https://www.digitale-gesellschaft.ch/auskunftsbegehren
https://github.com/digitalegesellschaft/datenauskunftsbegehren-data
Last synced: 2 months ago
JSON representation
Daten für https://www.digitale-gesellschaft.ch/auskunftsbegehren
- Host: GitHub
- URL: https://github.com/digitalegesellschaft/datenauskunftsbegehren-data
- Owner: DigitaleGesellschaft
- Created: 2021-05-02T19:32:59.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-12-10T11:10:59.000Z (over 1 year ago)
- Last Synced: 2025-03-24T02:12:20.839Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 129 KB
- Stars: 5
- Watchers: 7
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Datenauskunftsbegehren Data
[](https://github.com/DigitaleGesellschaft/Datenauskunftsbegehren-Data/actions/workflows/deployStaging.yml)
In diesem Repository werden die Daten für den Onlinegenerator für Datenauskunftsbegehren verwaltet.
## Daten editieren
4 Datenstrukturen sind vorhanden:
- Organisationen (`/data/orgs`) [JSONSchema](https://raw.githubusercontent.com/DigitaleGesellschaft/Datenauskunftsbegehren-Data/refs/heads/export_jsonschema/exports/OrgSchema.json) - [Daten-Dok](https://json-schema.app/view/%23?url=https%3A%2F%2Fraw.githubusercontent.com%2FDigitaleGesellschaft%2FDatenauskunftsbegehren-Data%2Frefs%2Fheads%2Fexport_jsonschema%2Fexports%2FOrgSchema.json)
- Arten von Dienstleistungen/Firmen (`/data/types`) [JSONSchema](https://raw.githubusercontent.com/DigitaleGesellschaft/Datenauskunftsbegehren-Data/refs/heads/export_jsonschema/exports/TypeSchema.json) - [Daten-Dok](https://json-schema.app/view/%23?url=https%3A%2F%2Fraw.githubusercontent.com%2FDigitaleGesellschaft%2FDatenauskunftsbegehren-Data%2Frefs%2Fheads%2Fexport_jsonschema%2Fexports%2FTypeSchema.json)
- Ereignisse (`/data/events`) [JSONSchema](https://raw.githubusercontent.com/DigitaleGesellschaft/Datenauskunftsbegehren-Data/refs/heads/export_jsonschema/exports/EventSchema.json) - [Daten-Dok](https://json-schema.app/view/%23?url=https%3A%2F%2Fraw.githubusercontent.com%2FDigitaleGesellschaft%2FDatenauskunftsbegehren-Data%2Frefs%2Fheads%2Fexport_jsonschema%2Fexports%2FEventSchema.json)
- Begehren, insbes. Nachfassen (`/data/desires`) [JSONSchema](https://raw.githubusercontent.com/DigitaleGesellschaft/Datenauskunftsbegehren-Data/refs/heads/export_jsonschema/exports/DesireSchema.json) - [Daten-Dok](https://json-schema.app/view/%23?url=https%3A%2F%2Fraw.githubusercontent.com%2FDigitaleGesellschaft%2FDatenauskunftsbegehren-Data%2Frefs%2Fheads%2Fexport_jsonschema%2Fexports%2FDesireSchema.json)
Pro Organisation/Art/Ereignis wird ein `.yml` file angelegt. Der Filename ist nicht relevant.
### Variablen
Variablen werden in der Form `{type:name:label}` in den Texten definiert. Hierbei gilt es folgendes zu beachten:
- `name` soll über den gesamten Datensatz eindeutig sein wenn das gleiche gemeint ist (z.B. `mobileNumber`)
- `type` ist optional und kann/sollte einer der folgenden Werte sein: `string`, `number`, `tel`, `email`, `date`
- `label` kann auch Leerzeichen enthalten und wird der Userin angezeigt
### History
Organisationen können einen `history` Eintrag (ein `array`) halten. Einzig der type `removed` ist im Moment unterstützt. Beispiel:
```
history:
- action: removed
date: '2021-06-05T00:00:00.000Z'
reason: 'Die Firma XY....'
```
## JSON generieren
```bash
nvm use
npm install
npm run compile
```
Du findest die Datei data.json im Wurzelverzeichnis.
## Angaben (regelmässig) auf Aktualität prüfen
1. Ermittlung aller Datensätze mit Referenz auf
- ein bestimmtes Datum einer Datenschutzerklärung
- eine zitierte Web-Adresse mit Reglementen
- eine konkrete Web-Adresse der Datenschutzerklärung
2. Schrittfolge zur Ermittlung einer Liste
1. Suche alle Datendateien mit Endung "yml" und gebe diese Liste durch "\0" getrennt aus.
2. Suche in jeder Datei der durch obige Liste gegebenen Dateinamen nach
- der Zeichenfolge " privacyStatement:"
- der Zeichenfolge " address: *http" (" *" ==> mindestens ein Leerzeichen)
- der Zeichenfolge " privacyStatementDate:"
3. Reduziere die Ausgabe auf den Dateinamen der jeweiligen Fundstelle
4. Sortiere die Dateinamen und entferne doppelte
5. Schreibe die Liste in die Datei datensaetze_zu_pruefen.txt
```bash
find data -type f -name "*yml" -print0 | \
xargs -0 grep -e " privacyStatement:" \
-e " address: *http" \
-e " privacyStatementDate:" | \
sed -e 's#:.*$##' | \
sort -u > datensaetze_zu_pruefen.txt
```
## Lint
Lint test files with:
npm run lint
## Tests
Ganze Testsuite:
npm run test
Einzelner, parametrisierter Test ausführen (`-t `):
npx vitest run tests/validate.test.js -t "org"
npx vitest run tests/validate.test.js -t "type"
npx vitest run tests/validate.test.js -t "event"
npx vitest run tests/validate.test.js -t "desire"
**Info**: vitest mit `--bail 1` führt dennoch alle Sub-Tests in einem paremetrisierten Testcase aus.
Daher bezieht sich bail wohl auf die Test-Function selbst.