Move group level protected branch logic into EE
While debugging a separate issue I noticed that all of the associations and validations for group level protected branches is contained in the CE model. This is incorrect, the docs state that this is a premium and ultimate feature. We need to move all of the logic over to EE https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/models/protected_branch.rb#L10-12 https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/models/protected_branch.rb#L20 https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/models/protected_branch.rb#L92-94 https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/models/protected_branch.rb#L100-102 https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/models/protected_branch.rb#L106-114 https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/services/protected_branches/base_service.rb#L5-10 https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/services/protected_branches/create_service.rb#L24 https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/services/protected_branches/base_service.rb#L20 https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/services/protected_branches/cache_service.rb#L54-60 https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/services/protected_branches/cache_service.rb#L78-80 https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/services/protected_branches/cache_service.rb#L84-87 https://gitlab.com/gitlab-org/gitlab/-/blob/c1149c1498aa9623428d8e88a04d6d204e9e133c/app/models/protected_branch/cache_key.rb#L28-37
issue