# 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