Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple owner of a board #524

Merged
merged 67 commits into from
Nov 23, 2021
Merged

Multiple owner of a board #524

merged 67 commits into from
Nov 23, 2021

Conversation

magnusrand
Copy link
Contributor

@magnusrand magnusrand commented Nov 8, 2021

Mulighet for flere eiere av en tavle

Denne PRen legger til funksjonalitet som lar en bruker dele sin låste tavle med andre brukere av entur-tavla. Dette håndteres gjennom den nye delingsfanen under innstillinger. Her har brukeren oversikt over hvem som har redigeringstilgang på gitte tavle, samt muligheten til å legge til brukere eller frata rettigheter fra brukere. (Obs: det finnes ikke noe hierarki her, så alle som er eier i en tavle har mulighet til å legge til eller fjerne hvem de vil.) Under mine tavler er det også en ny fane ved navn «Delt med meg». Her får man opp tavleforespørsler fra andre brukere og kan svare ved å legge dem til eller fjerne dem.

Features:

  • Kan legge til forespørsel for nye brukere som eier av låst tavle
  • Kan fjerne forespørsel som ikke er besvart
  • Kan fjerne brukere som eier av en tavle man selv er eier av
  • Kan godta tavleforespørsler fra andre og legge den til i sine tavler-oversikten
  • Kan forlate en tavle man er lagt til i
  • Kan endre navnet på en tavle inne på delingspanelet
  • Kan kopiere lenken til en tavle inne på delingspanelet
  • Alt dette oppdateres live

Endringer

  • Der det før stod «Del tavle» står det nå «Kopier lenke» for å ikke skape forvirring
  • Modals er restrukturert inn i en felles mappe under «componenets» i stedet for å være spredd litt rundt om kring

Kjente problemer

  • Hvis en bruker setter en ny URL til en tavle vil alle nye bli lagt til i den og få opp kun den nye i mine tavler, men dette oppdateres ikke live. Dvs. hvis noen setter en ny url på en tavle som brukes vil ikke de andre automatisk redirectes til den nye. Tavlen de er på vil da slettes i løpet av 24 timer. Dette kan være forvirrende, men jeg kommer ikke på en god måte å unngå det på uten å endre helt på hvordan custom URL fungerer

Demo

demo.delte.tavler.mov

@magnusrand magnusrand marked this pull request as ready for review November 19, 2021 12:01
@magnusrand
Copy link
Contributor Author

Da er endelig versjon 2 – the sikkerhets version – av delte tavler tilgjengelig!!!

Endringer gjort:

  • En invite lagres nå som et dokument i en subcollection kalt invites
  • En invite lagres med epost, ikke uid. Dette gjør at man ikke trenger å slå opp brukerdata bassert på epost.
  • Kun owners kan legge til invites. Dette håndheves både hos klienten og i firestore.rules.
  • Kun brukeren det gjelder kan se sine egene invites på tvers av alle tavler. Håndheves på samme måte som over.
  • Functions og firebaseAdmin brukes nå i kun to tilfeller: For å se andre owners av en tavle sine e-postadresser trengs firebase admin. Her sjekkes det at forespørselen kommer fra en eier. Det andre tilfelle er når en invite skal godtas. Da trengs firebaseAdmin for å gi riktige rettigheter for å skrive til tavlen man skal bli medlem i. Her sjekkes også at man faktisk har en invite til tavlen man prøver å bli med i. Dette sjekkes i function-en.

Den generelle strukturen er ganske endret nå fra hva den var, så se gjerne litt ekstra over om at ting er riktig. Funksjonalitet skal være helt lik som før, og er testet relativt grundig av meg.

src/types.ts Outdated Show resolved Hide resolved
@draperunner
Copy link
Contributor

Ser ut som at det er ein del merge conflicts.

@magnusrand
Copy link
Contributor Author

Hø, det var rart, merget jo inn med master. Får bare gjøre det igjen

@magnusrand
Copy link
Contributor Author

Nu er det klart her!

firestore.rules Outdated Show resolved Hide resolved
functions/src/index.ts Outdated Show resolved Hide resolved
functions/src/index.ts Outdated Show resolved Hide resolved
functions/src/index.ts Outdated Show resolved Hide resolved
functions/src/index.ts Outdated Show resolved Hide resolved
functions/src/index.ts Outdated Show resolved Hide resolved
@magnusrand
Copy link
Contributor Author

Da merger jeg monsteret! Får teste dette litt ekstra grundig i staging

@magnusrand magnusrand merged commit cc63de3 into master Nov 23, 2021
@magnusrand magnusrand deleted the add-more-owners branch November 23, 2021 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants