Skip to content
Emil Tullstedt edited this page Jul 17, 2014 · 7 revisions

Metoder för aktiviteter, kategorier och bilagor

  • /activity

  • GET Lista aktiviteter

  • POST Skapa aktivitet

  • /activity/search/{encoded-search-terms}

  • GET Sök bland aktiviteter

  • /activity/{id}

  • GET Visa aktivitet

  • PUT Uppdatera aktivitet

  • DELETE Radera aktivitet

  • /activity/{id}/comment

  • GET Hämta kommentarer för aktivitet

  • POST Lägg till kommentar för aktivitet

  • /activity/{id}/comment/{id}

  • GET Hämta kommentar

  • PUT Uppdatera kommentar

  • DELETE Radera kommentar

  • /activity/{id}/attachment

  • GET Hämta lista med information om aktivitens bilagor (tillåtna filtyper enl. bilagor avsnittet nedan)

  • PUT Modifiera lista med bilagor associerade till aktiviteten

  • POST Ladda upp ny bilaga till aktivitet

  • /attachment/{id}

  • GET Hämta bilageinformation

  • DELETE Ta bort bilaga

  • /activity-revision-numbers

  • GET Hämta lista med id-nummer och revionsnummer för alla aktiviteter och kommentarer. Den här funktionen används av cachande klienten (såsom Android-appen) för att ta reda på vilken information i klientens databas som behöver uppdateras. Resultatet är alltså bara två namngivna “listor med tupler”: { activities: [ activity_id: revision_number, ...], comments: [comment_id: revision_number,...]}.

  • /category

  • GET Visa kategorier (inte nödvändigtvis de aktiviteter som finns i kategorin)

  • POST Skapa kategori

  • /category/{name} or /category/{id}

  • GET Visa kategori (inte nödvändigtvis de aktiviteter som finns i kategorin)

  • PUT Uppdatera kategori

  • DELETE Radera kategori

Egenskaper för aktivitet

  • 1..* Namn (en lek kan ha flera namn)
  • 0..1 Material
  • 0..1 Beskrivning
  • 1..* Författare (person)
  • 1..1 Åldersnivå (angivet som lägsta resp. högsta ålder)
  • 0..1 Varför/Bakgrund/Förord
  • 0..1 Säkerhetsföreskrifter
  • 0..1 Tips
  • 1..1 Antal deltagare (lägsta resp. högsta antal)
  • 0..1 Tidsåtgång
  • 1..1 Status (publicerad, väntar på godkännande, spam, raderad…)
  • 1..1 Utvald (ja/nej)
  • 0..* Kategorier (lek, andakt, diskussion, målspår, scoutmetod etc.)
  • 0..* Bilagor
  • 0..* Länkar (URL till originaltext, referenser etc.)
  • 0..* Kommentarer
  • 0..* Betyg

Egenskaper för kategori

  • 1..1 Namn
  • 1..1 Typ av kategori

Egenskaper för bilaga

  • 1..1 URI: Sökväg där bilaga kan hämtas.
  • 0..1 Width
  • 0..1 Height
  • 0..1 ThumbURI: Sökväg till ikon eller nedskalad version av bilagan.
  • 0..1 ThumbWidth
  • 0..1 ThumbHeight
  • 1..1 FileSize
  • 1..1 MimeType
  • 0..1 Color: En färg som är framträdande i bilden. Kan användas för att färglägga en "place holder" medan bilden laddas.

Metoder för användare, rättigheter och inloggning

  • /user

  • GET Sök användare (nödvändigt?)

  • POST Skapa användare

  • /user/{id}

  • GET Visa användare (nödvändigt?)

  • PUT Uppdatera användare (nödvändigt?)

  • DELETE Ta bort användare

Om server är "stateful" så kan man sköta inloggning genom att skapa och raders "login session resources":

  • /login-session
  • POST Logga in
  • /logon-session/{session-id}
  • DELETE Logga ut

Metoder för systeminställningar och dylikt

  • /system-status
  • GET Information om systemet, exempelvis information om alternativa DNS-adresser.

För att användare ska kunna rapportera in buggar och önskemål så behöver dessa rapporter kunna sparas i databasen. Sådana rapporter kallas för "system issues":

  • /system-issue
  • GET Visa öppna ärenden
  • POST Skapa ärende av typen buggrapport ("bug") eller önskemål ("feature request").
  • /system-issue/{id}
  • GET Visa ärende
  • PUT Uppdatera ärende
  • DELETE Radera ärende

Egenskaper för systeminställningar

  • 1..0 API-version
  • 0..* Alternativa serveradresser (varje alternativ anger DNS-adress och ett datumintervall när adressen kan användas)
  • 0..* Meddelanden till samtliga användare (meddelandetext, rubrik och datumintervall när meddelandet får visas)
  • 0..* Tillåtna klientversioner (information när olika klienter slutar fungera)