Welcome to mirror list, hosted at ThFree Co, Russian Federation.

namespace_callout.rb « users « models « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 4e655a96b5751b430ac18e069f308ef1057906b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# frozen_string_literal: true

module Users
  class NamespaceCallout < ApplicationRecord
    include Users::Calloutable

    self.table_name = 'user_namespace_callouts'

    belongs_to :namespace

    enum feature_name: {
      invite_members_banner: 1,
      approaching_seat_count_threshold: 2, # EE-only
      storage_enforcement_banner_first_enforcement_threshold: 3, # EE-only
      storage_enforcement_banner_second_enforcement_threshold: 4, # EE-only
      storage_enforcement_banner_third_enforcement_threshold: 5, # EE-only
      storage_enforcement_banner_fourth_enforcement_threshold: 6, # EE-only
      preview_user_over_limit_free_plan_alert: 7, # EE-only
      user_reached_limit_free_plan_alert: 8, # EE-only
      web_hook_disabled: 9
    }

    validates :namespace, presence: true
    validates :feature_name,
              presence: true,
              uniqueness: { scope: [:user_id, :namespace_id] },
              inclusion: { in: NamespaceCallout.feature_names.keys }

    def source_feature_name
      "#{feature_name}_#{namespace_id}"
    end
  end
end