Page MenuHomePhabricator

Add rate limits and rights for each part of the system
Closed, ResolvedPublic

Event Timeline

Let's use this as the Epic for all the stuff here.

Initial starter-for-ten idea of which rights we'll have, discussed with @DVrandecic

* Logged-out users can:
    * Run an associated Impl via the API / Transclusion / Direct
    * Edit labels/etc.

* Logged-in users can:
    * Create Function definitions
    * Create Testers
    * Create implementations
    * (?Auto-)Associate Testers iff they pass all associated implementations
    * Trigger a test run again. (?)
    * Run directly an unassociated Impl. that they've created
        (Maybe very strict limits on running it manually?)

* Reviewers/Coders can:
    * Run any Impl. directly, whether or not it's unassociated
    * Associate Imps even if they don't pass any of the Testers
    * Associate Testers even if they don't pass on one or more Imps
    * De-associate Imps and Testers
    * Edit existing Impls and Testers ((?auto-)associated)
        Maybe a checkbox to not auto-associate.

* No-one can:
    * Run an unassoc. Impl. via the API or Transclude

+ Logged-in users can edit unassociated implementations and testers?

Suggestions to add:

  • Logged-in users can:
    • associate an Implementation that passes all tests and when there is no implementation yet (debated) to allow the full "create a function flow" to logged in users
    • edit unassociated implementations and testers

Needs to be done, but should be pretty simple.
Create a list of all rights ( T282914 )
Need to implement them
Rate limits covered by other tasks
James's estimated effort: 3 days (if whoever picks this up thinks that will take considerably longer, please check whether we agree on the task)