add support for token-level env limits

Upon creation of a new token, it is now possible to specify a limit on how many non-deleted environments the token can have at any given moment.

Token with no limits can still be created. When no details on the limits are supplied, a suitable default is assigned to the token (currently 15 environments)

Also piggybacked a couple of refactors:

  • Split the Token model into backend and rest, as we previously did with Environment
  • Turn the cross-cutting validator into a proper injectable dependency

Bug: T417304

Merge request reports

Loading