From 9507f39459316719088722510a6ae11b79a4b442 Mon Sep 17 00:00:00 2001 From: Alexis Reigel Date: Wed, 6 Sep 2017 15:46:57 +0200 Subject: [PATCH] add runners_token column to namespaces --- app/models/group.rb | 4 ++++ ...0170906133745_add_runners_token_to_groups.rb | 17 +++++++++++++++++ db/schema.rb | 2 ++ 3 files changed, 23 insertions(+) create mode 100644 db/migrate/20170906133745_add_runners_token_to_groups.rb diff --git a/app/models/group.rb b/app/models/group.rb index 8ff781059cc..ec27f757f46 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -9,6 +9,7 @@ class Group < Namespace include SelectForProjectAuthorization include LoadedInGroupList include GroupDescendant + include TokenAuthenticatable has_many :group_members, -> { where(requested_at: nil) }, dependent: :destroy, as: :source # rubocop:disable Cop/ActiveRecordDependent alias_method :members, :group_members @@ -43,6 +44,9 @@ class Group < Namespace validates :two_factor_grace_period, presence: true, numericality: { greater_than_or_equal_to: 0 } + add_authentication_token_field :runners_token + before_save :ensure_runners_token + after_create :post_create_hook after_destroy :post_destroy_hook after_save :update_two_factor_requirement diff --git a/db/migrate/20170906133745_add_runners_token_to_groups.rb b/db/migrate/20170906133745_add_runners_token_to_groups.rb new file mode 100644 index 00000000000..54d0fddd5e3 --- /dev/null +++ b/db/migrate/20170906133745_add_runners_token_to_groups.rb @@ -0,0 +1,17 @@ +class AddRunnersTokenToGroups < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_column :namespaces, :runners_token, :string + + add_concurrent_index :namespaces, :runners_token, unique: true + end + + def down + remove_column :namespaces, :runners_token + end +end diff --git a/db/schema.rb b/db/schema.rb index 9f3b27b8b6a..b2c37a65ccf 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -1270,6 +1270,7 @@ ActiveRecord::Schema.define(version: 20180418053107) do t.boolean "require_two_factor_authentication", default: false, null: false t.integer "two_factor_grace_period", default: 48, null: false t.integer "cached_markdown_version" + t.string "runners_token" end add_index "namespaces", ["created_at"], name: "index_namespaces_on_created_at", using: :btree @@ -1280,6 +1281,7 @@ ActiveRecord::Schema.define(version: 20180418053107) do add_index "namespaces", ["path"], name: "index_namespaces_on_path", using: :btree add_index "namespaces", ["path"], name: "index_namespaces_on_path_trigram", using: :gin, opclasses: {"path"=>"gin_trgm_ops"} add_index "namespaces", ["require_two_factor_authentication"], name: "index_namespaces_on_require_two_factor_authentication", using: :btree + add_index "namespaces", ["runners_token"], name: "index_namespaces_on_runners_token", unique: true, using: :btree add_index "namespaces", ["type"], name: "index_namespaces_on_type", using: :btree create_table "notes", force: :cascade do |t| -- GitLab