More Featurecreep. Or call it a plan. Whatever you want.

This commit is contained in:
kolaente 2018-06-14 14:58:00 +02:00
parent 6141956847
commit 6398134eef
No known key found for this signature in database
GPG key ID: F40E70337AB24C9B

View file

@ -49,6 +49,77 @@ Ab v0.3 können wir mit clients anfangen.
* [ ] Listenpunkte hinzufügen * [ ] Listenpunkte hinzufügen
* [ ] Listenpunkte bearbeiten * [ ] Listenpunkte bearbeiten
Neues Konzept: _Namespaces_
Ein Namespace kann Listen haben, es gibt mindestens einen Besiter pro Namespace. Wenn ein neuer Nutzer angelegt wird,
wird automatisch einer für den Nutzer erstellt.
Es gibt Lese- und Schreibrechte pro Namespace und Nutzer.
Namespace:
* ID
* Name
* OwnerID
* Timestamps
Teams:
* ID
* Name
* Description
* Rights (Selbsthochzählende Konstanten als json-array abspeichern)
* CreatedByUser
* Timestamps
TeamMembers:
* ID
* TeamID
* MemberID
* Timestamps
TeamNamespaces:
* ID
* TeamID
* NamespaceID
* Timestamps
TeamLists:
* ID
* TeamID
* ListID
* Timestamps
(+Check ob das Team schon Zugriff auf den Namespace hat und dafür sorgen dass das sich nicht überschneidet)
Bsp: wenn ein Namespace-Team Schreibrechte hat, soll es nicht möglich sein dieses Team mit Schreibrechten
zur Liste hinzuzufügen. Wenn das Team im Namespace aber nur Leserechte Hat soll es möglich sein dieses Team
als Schreibend zur Liste hinzuzufügen.
Oder noch Besser: Man kann globale Rechte pro Namespace vergeben, die man dann wieder feinjustieren kann pro Liste.
Es soll aber nicht mgl. sein, ein Team zu einer Liste hinzuzufügen was nicht im Namespace ist.
Es muss also möglich sein, Teams zum Namespace hinzuzufügen die keinerlei Rechte haben (damit man
denen dann wieder pro Liste welche geben kann)
Rechte:
Erstmal nur 3: Lesen, Schreiben, Admin. Admins dürfen auch Namen ändern, Teams verwalten, neue Listen anlegen, etc.
Owner haben immer Adminrechte.
Teams sind global, d.h. Ein Team kann mehrere Namespaces verwalten.
#### Neues Todo
* [ ] Teams
* [ ] Erstellen
* [ ] Ansehen
* [ ] Bearbeiten
* [ ] Löschen
* [ ] Namespaces
* [ ] Erstellen
* [ ] Ansehen
* [ ] Bearbeiten
* [ ] Löschen
* [ ] Teams hinzufügen
* [ ] Listen
* [ ] Listen zu einem Namespace hinzufügen
#### v0.2 #### v0.2
* [ ] Listen teilbar * [ ] Listen teilbar
@ -57,6 +128,8 @@ Ab v0.3 können wir mit clients anfangen.
* [ ] Offen * [ ] Offen
* [ ] Passwortgeschützt * [ ] Passwortgeschützt
Wenn man Listen mit nem Nutzer teilt, wird ein Team für diesen Nutzer erstellt, falls er nicht bereits in einem ist.
#### v0.3 #### v0.3
* [ ] Rechtemanagement (Und damit Unterscheidung zwischen Ownern und Mitgleidern) * [ ] Rechtemanagement (Und damit Unterscheidung zwischen Ownern und Mitgleidern)
@ -76,10 +149,9 @@ Ab v0.3 können wir mit clients anfangen.
* [ ] CI aufsetzen * [ ] CI aufsetzen
* [ ] Tests schreiben * [ ] Tests schreiben
* [ ] Ne Instanz mit den docs aufsetzen
* [ ] Namen finden * [ ] Namen finden
* [ ] Alle Packages umziehen * [ ] Alle Packages umziehen
* [ ] Swagger UI aufsetzen * [x] Swagger UI aufsetzen
* [ ] mgl. zum Emailmaskieren haben (in den Nutzereinstellungen, wenn man seine Email nicht an alle Welt rausposaunen will) * [ ] mgl. zum Emailmaskieren haben (in den Nutzereinstellungen, wenn man seine Email nicht an alle Welt rausposaunen will)
* [ ] Mgl. zum Accountlöschen haben (so richtig krass mit emailverifiezierung und dass alle Privaten Listen gelöscht werden und man alle geteilten entweder wem übertragen muss oder auf provat stellen) * [ ] Mgl. zum Accountlöschen haben (so richtig krass mit emailverifiezierung und dass alle Privaten Listen gelöscht werden und man alle geteilten entweder wem übertragen muss oder auf provat stellen)