summaryrefslogtreecommitdiff
path: root/lib/gitlab/static_site_editor/config/file_config/entry/global.rb
blob: c295ccf1d110ad7012c3cf2d76c0f7736ca78df6 (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
34
35
36
37
38
39
# frozen_string_literal: true

module Gitlab
  module StaticSiteEditor
    module Config
      class FileConfig
        module Entry
          ##
          # This class represents a global entry - root Entry for entire
          # GitLab StaticSiteEditor Configuration file.
          #
          class Global < ::Gitlab::Config::Entry::Node
            include ::Gitlab::Config::Entry::Configurable
            include ::Gitlab::Config::Entry::Attributable

            ALLOWED_KEYS = %i[
              image_upload_path
              mounts
              static_site_generator
            ].freeze

            attributes ALLOWED_KEYS

            validations do
              validates :config, allowed_keys: ALLOWED_KEYS
            end

            entry :image_upload_path, Entry::ImageUploadPath,
                  description: 'Configuration of the Static Site Editor image upload path.'
            entry :mounts, Entry::Mounts,
                  description: 'Configuration of the Static Site Editor mounts.'
            entry :static_site_generator, Entry::StaticSiteGenerator,
                  description: 'Configuration of the Static Site Editor static site generator.'
          end
        end
      end
    end
  end
end