Gå til innhold

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

npx tsx scripts/importOpportunities.ts

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)