Move validations out of the models

Draft

TL;DR

Most of the validations should not be in models but in services/form objects instead.

Benefits

  • We reduce the query counts in our test suite => we reduce our test suite duration
  • We reduce our coupling between business logic and database layer logic (currently everything is in the model)

Cons

This is not "the Rails way", but I believe GitLab is now big-enough to decide of its own way! 🤘