summaryrefslogtreecommitdiff
path: root/app/models/issuable_severity.rb
blob: cd7e5fafb60c3ba8729fc67e27fe0f8011a8a88d (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

class IssuableSeverity < ApplicationRecord
  DEFAULT = 'unknown'
  SEVERITY_LABELS = {
    unknown: 'Unknown',
    low: 'Low - S4',
    medium: 'Medium - S3',
    high: 'High - S2',
    critical: 'Critical - S1'
  }.freeze

  SEVERITY_QUICK_ACTION_PARAMS = {
    unknown: %w(Unknown 0),
    low: %w(Low S4 4),
    medium: %w(Medium S3 3),
    high: %w(High S2 2),
    critical: %w(Critical S1 1)
  }.freeze

  belongs_to :issue

  validates :issue, presence: true, uniqueness: true
  validates :severity, presence: true

  enum severity: {
    unknown: 0,
    low: 1,
    medium: 2,
    high: 3,
    critical: 4
  }
end