LiquidFeedback/Clearingstelle/Softwarekonzept
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) |