diff options
Diffstat (limited to 'app/models/serverless/domain_cluster.rb')
-rw-r--r-- | app/models/serverless/domain_cluster.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/app/models/serverless/domain_cluster.rb b/app/models/serverless/domain_cluster.rb index a8365649dd1..44463a56327 100644 --- a/app/models/serverless/domain_cluster.rb +++ b/app/models/serverless/domain_cluster.rb @@ -4,11 +4,16 @@ module Serverless class DomainCluster < ApplicationRecord self.table_name = 'serverless_domain_cluster' + HEX_REGEXP = %r{\A\h+\z}.freeze + belongs_to :pages_domain belongs_to :knative, class_name: 'Clusters::Applications::Knative', foreign_key: 'clusters_applications_knative_id' belongs_to :creator, class_name: 'User', optional: true - validates :pages_domain, :knative, :uuid, presence: true - validates :uuid, uniqueness: true, length: { is: 14 } + validates :pages_domain, :knative, presence: true + validates :uuid, presence: true, uniqueness: true, length: { is: Gitlab::Serverless::Domain::UUID_LENGTH }, + format: { with: HEX_REGEXP, message: 'only allows hex characters' } + + default_value_for(:uuid, allows_nil: false) { Gitlab::Serverless::Domain.generate_uuid } end end |