LiquidFeedback/Clearingstelle/Softwarekonzept

Aus Piratenwiki Mirror
Zur Navigation springen Zur Suche springen

Clearingstelle des LiquidFeedback-Betriebes der Piratenpartei Deutschland

Softwarekonzept

Das git repository für die Clearingstelle findet sich hier: http://github.com/alios/clearingstelle

software-infrastruktur

Benutzer und Rollen

Die Clearingstelle hat Benutzer. Benutzer authentifizieren sich mit einem Passwort. Die Authentifizierung findet über HTTP-Auth statt.

Ein Benutzer kann keine oder mehrere Rollen inne haben. Folgene Rollen sind definiert:

  • Admin: Benutzerverwaltung
  • Manager: Erstellung und verwaltung von KeySets
  • InviteSite: Kann sich die InviteKeys eines KeySets abholen
  • RefSite: Kann sich RefKeys eines KeySets abholen

KeySets

Ein Keyset ist definiert als eine Menge von (RefKey, InviteKey) Tupeln. Bei der Erstellung eines KeySets durch einen Manager wird die Anzahl der Schlüsselpaare, sowie eine InviteSite und eine RefSite für dieses KeySet definiert.

Keys

InviteKeys haben das Format: xxxxx-xxxxx-xxxxx-xxxxx

RefKeys haben das Format: xxxx-xxxx-xxxx-xxxx-xxxx

API

HTTP Mode URL Benötigte Rolle Beschreibung
GET / Formular zur Eingabe eines RefKeys
POST / RefKey zu Invite Key. Parameter: RefKey
GET /invitesite/getkeys/<KEYSET> InviteSite Liste aller InviteKeys in <KEYSET> (newline separiert)
GET /refsite/getkeys<KEYSET> RefSite Liste aller RefKeys in <KEYSET> (newline separiert)
GET /manager/createkeyset Manager Formular zum erstellen eines Keysets
POST /manager/createkeyset Manager Rrstellen eines neues Keysets (TODO: Parameter)
GET /admin/adduser Admin Formular zum Erstellen eines neuen Benutzers
POST /admin/adduser Admin Erstellen eines neuen Benutzers (TODO: Parameter)