Work
Software dev.
Stap 1 - Codebase verkennen
AI vragen codebase samen te vatten in ARCHITECTURE.md
Dit doc lezen en zelf over codebase kijken
Stap 2 - Taak 1 implementeren
Wat?
Member rol toevoegen in Roles.ex
"Rechten" van member rol toevoegen
Mag wel:
bekijken van de Events pagina, alsook alle detail pagina’s daaraan gekoppeld.
als user kan je wel je 'eigen' user editeren via het settings menu rechtsboven in de interface, dat is de '/profile' link.
Mag niet:
Alle andere pagina’s (Stats, Accounts, Users) zijn off limits, zowel in de interface als de routes zelf.
Stap 3.1 - Taak 2 implementeren
Wat?
Admin & superuser moeten kunnen rollen aanpassen
Functie maken om 1 role_user te krijgen van roles array van user
Deze role_user meegeven aan frontend
Nieuw select field in form maken in Edit user scherm & Create user Scherm
Het select field maken
Conditional: actieve user en aangepaste user mogen niet dezelfde user zijn
Select field aanpassen naar checkboxes
Update user & update user_roles
Aanpassingen maken om meerdere rollen per user te ondersteunen
Lijst van rollen in users scherm fixen (adminmembersuperuser → admin, member, superuser)
Toegang tot admin & superuser routes fixen (momenteel: member? → blocked ook al is user ook superuser of admin)
Navlinks
Routes
Aandachtspunt: laat je toe dat een gebruiker zichzelf ‘downgrade’?
Belangrijke vragen:
Opties:
1.
Lijkt mij de meest logische, simpelste en veiligste keuze, maar kan afhangen van requirements van app. Ik heb deze keuze geïmplementeerd in mijn assignment
2.
Dit vermijd de edge cases en problemen die je kan hebben bij optie 3 terwijl je wel de functionaliteit erin houdt, maar ik zou nog steeds voor optie 1 kiezen.
3.
Lijkt mij de minst logische keuze, dit zal veel edge cases creëren waar je moet aan denken als developer terwijl mij dit een niet zeer nuttige functionaliteit lijkt.
Stap 3.2 - Test schrijven voor edit user functionaliteit
Wat te testen
Admin kan rollen van andere users aanpassen
Superuser kan rollen van andere users aanpassen
Admin kan eigen rollen niet aanpassen
Superuser kan eigen rollen niet aanpassen