Håndtering av støtteordninger¶
Dette dokumentet beskriver hvordan systemet håndterer støtteordninger.
📁 Filstruktur¶
div-info-stotteordninger/ # Gamle .txt filer (brukes til import)
opportunities-json/ # Nye JSON-filer (fremtidig format)
├── Grasrotandelen.json
├── Spillemidler til utstyr.json
└── _all-opportunities.json # Alle ordninger samlet
🔄 Arbeidsflyt¶
1. Ny støtteordning¶
Opprett fil: opportunities-json/Ny-ordning.json
{
"id": 20,
"opportunityName": "Navn på ordningen",
"foundation": "Hvem som tilbyr den",
"description": "Kort beskrivelse av hva ordningen dekker",
"deadline": "YYYY-MM-DD eller 'Hele året' eller 'Løpende'",
"url": "https://link-til-søknad.no",
"category": "Idrett",
"amount": null,
"status": "Ny"
}
Kategorier:
- Barn og ungdom
- Inkludering
- Anlegg og utstyr
- Økonomi og skatt
- Energi
- Fundraising
- Idrett
2. Oppdater eksisterende ordning¶
Rediger JSON-filen direkte.
3. Markér som utgått¶
Endre status til "Utgått" eller slett filen.
4. Importer til database¶
Dette skriptet:
1. Leser alle .txt filer fra div-info-stotteordninger/
2. Konverterer dem til JSON-format
3. Lagrer som individuelle JSON-filer i opportunities-json/
4. Importerer til Firestore Global Database
🔐 Autentisering¶
Skriptet bruker Firebase Admin SDK med Application Default Credentials.
Sett opp lokalt:
# Logg inn med gcloud
gcloud auth application-default login
# Sett prosjekt
gcloud config set project soknadsportalen
📊 Database-struktur¶
Firestore:
opportunities/ (collection)
├── 1/ (document)
│ ├── id: 1
│ ├── opportunityName: "Grasrotandelen"
│ ├── foundation: "Norsk Tipping"
│ ├── description: "..."
│ ├── deadline: "Hele året"
│ ├── url: "https://..."
│ ├── category: "Fundraising"
│ ├── amount: null
│ └── status: "Ny"
├── 2/ ...
└── ...
🚀 Fremtidig bruk¶
For å legge til ny ordning:
1. Opprett opportunities-json/Ordning-navn.json
2. Fyll inn alle feltene
3. Kjør npx tsx scripts/importOpportunities.ts
4. Verifiser i Admin-visningen på https://soknadsportalen.web.app/
For å oppdatere: 1. Rediger JSON-filen 2. Kjør import-skriptet på nytt 3. Eksisterende ordning blir oppdatert (samme ID)