dracidoupe / graveyard

Open Source reimplementation of https://www.dracidoupe.cz/
https://nove.dracidoupe.cz/
MIT License
6 stars 4 forks source link

Defined undefined behaviors for the future Tavern Access handling #260

Open Almad opened 3 years ago

Almad commented 3 years ago

Old model using TavernAccess allows for decoupled model of access definition and access resolution. This makes it possible to define conflicting/nonsensical privileges, like:

Those don't make sense for access resolution point of view, but may make sense for user, i.e. accidentally making table public or private should not necessarily clear all fields for access allowed/denied fields before user changes their mind.

In the current/new model, this option is not well defined.

Decide what to do about it.

Options:

  1. Use TableAccess as "user input definition", but resolve it on save into TableVisitor and always use that as normative access definition
  2. Redefine sprava/pristup to be able to do both bitwise operations as well as independently store conflicting values
  3. Remove the feature: if conflicting privileges are entered, refuse to save until immediately resolved by the user
  4. ...something else