tengen-io / web-client

tengen.io — Frontend open source Go server
10 stars 5 forks source link

Game permissions — admins, players, spectators, demo #32

Open ianwessen opened 5 years ago

ianwessen commented 5 years ago

We don't have much of a need for admins, but we definitely want to ensure that a game is only mutable by its current players. Everyone who is not a player is therefore a spectator.

Additionally, we should have some permission setting where a user can play stones without the game mechanics being active (for instance, no captures). This "demo" setting is meant to be used for discussion, analysis, and teachers on this platform.

camirmas commented 5 years ago

Permissions for altering the game are enforced on the server side, so we can defer to the server and handle the error accordingly. However, there's currently no such thing as a "private" game, so in practice anyone can spectate if they know the game id.

As for the "demo" setting, this should be more easily done now on the server thanks to some refactors by @eaceaser. Might be worth a bit of discussion on what exactly "demo mode" entails in its simplest form.

ianwessen commented 5 years ago

Permissions for altering the game are enforced on the server side, so we can defer to the server and handle the error accordingly. However, there's currently no such thing as a "private" game, so in practice anyone can spectate if they know the game id.

Yes, sadly the frontend doesn't have any UI that reflects this.

eaceaser commented 5 years ago

see https://github.com/tengen-io/server/tree/gql_next for how this might look