use ShaAttribute for gpg table columns

This commit is contained in:
Alexis Reigel 2017-07-20 15:44:15 +02:00
parent 8c8a9e6d3f
commit 8e0c33ed13
8 changed files with 25 additions and 10 deletions

View file

@ -1,6 +1,11 @@
class GpgKey < ActiveRecord::Base class GpgKey < ActiveRecord::Base
KEY_PREFIX = '-----BEGIN PGP PUBLIC KEY BLOCK-----'.freeze KEY_PREFIX = '-----BEGIN PGP PUBLIC KEY BLOCK-----'.freeze
include ShaAttribute
sha_attribute :primary_keyid
sha_attribute :fingerprint
belongs_to :user belongs_to :user
has_many :gpg_signatures, dependent: :nullify has_many :gpg_signatures, dependent: :nullify

View file

@ -1,4 +1,9 @@
class GpgSignature < ActiveRecord::Base class GpgSignature < ActiveRecord::Base
include ShaAttribute
sha_attribute :commit_sha
sha_attribute :gpg_key_primary_keyid
belongs_to :project belongs_to :project
belongs_to :gpg_key belongs_to :gpg_key

View file

@ -6,7 +6,7 @@
= render partial: 'email_with_badge', locals: { email: email, verified: verified } = render partial: 'email_with_badge', locals: { email: email, verified: verified }
.description .description
%code= key.fingerprint %code= key.fingerprint.upcase
.pull-right .pull-right
%span.key-created-at %span.key-created-at
created #{time_ago_with_tooltip(key.created_at)} created #{time_ago_with_tooltip(key.created_at)}

View file

@ -9,7 +9,7 @@
= content = content
GPG Key ID: GPG Key ID:
%span.monospace= signature.gpg_key_primary_keyid %span.monospace= signature.gpg_key_primary_keyid.upcase
= link_to('Learn more about signing commits', help_page_path('workflow/gpg_signed_commits/index.md'), class: 'gpg-popover-help-link') = link_to('Learn more about signing commits', help_page_path('workflow/gpg_signed_commits/index.md'), class: 'gpg-popover-help-link')

View file

@ -7,8 +7,8 @@ class CreateGpgKeys < ActiveRecord::Migration
t.references :user, index: true, foreign_key: true t.references :user, index: true, foreign_key: true
t.string :fingerprint t.binary :primary_keyid, limit: Gitlab::Database.mysql? ? 20 : nil
t.string :primary_keyid t.binary :fingerprint, limit: Gitlab::Database.mysql? ? 20 : nil
t.text :key t.text :key

View file

@ -10,8 +10,9 @@ class CreateGpgSignatures < ActiveRecord::Migration
t.boolean :valid_signature t.boolean :valid_signature
t.string :commit_sha t.binary :commit_sha, limit: Gitlab::Database.mysql? ? 20 : nil
t.string :gpg_key_primary_keyid t.binary :gpg_key_primary_keyid, limit: Gitlab::Database.mysql? ? 20 : nil
t.string :gpg_key_user_name t.string :gpg_key_user_name
t.string :gpg_key_user_email t.string :gpg_key_user_email

View file

@ -8,5 +8,9 @@ class LimitsToMysql < ActiveRecord::Migration
change_column :snippets, :content, :text, limit: 2147483647 change_column :snippets, :content, :text, limit: 2147483647
change_column :notes, :st_diff, :text, limit: 2147483647 change_column :notes, :st_diff, :text, limit: 2147483647
change_column :events, :data, :text, limit: 2147483647 change_column :events, :data, :text, limit: 2147483647
change_column :gpg_keys, :primary_keyid, :binary, limit: 20
change_column :gpg_keys, :fingerprint, :binary, limit: 20
change_column :gpg_signatures, :commit_sha, :binary, limit: 20
change_column :gpg_signatures, :gpg_key_primary_keyid, :binary, limit: 20
end end
end end

View file

@ -544,8 +544,8 @@ ActiveRecord::Schema.define(version: 20170725145659) do
t.datetime "created_at", null: false t.datetime "created_at", null: false
t.datetime "updated_at", null: false t.datetime "updated_at", null: false
t.integer "user_id" t.integer "user_id"
t.string "fingerprint" t.binary "primary_keyid"
t.string "primary_keyid" t.binary "fingerprint"
t.text "key" t.text "key"
end end
@ -558,8 +558,8 @@ ActiveRecord::Schema.define(version: 20170725145659) do
t.integer "project_id" t.integer "project_id"
t.integer "gpg_key_id" t.integer "gpg_key_id"
t.boolean "valid_signature" t.boolean "valid_signature"
t.string "commit_sha" t.binary "commit_sha"
t.string "gpg_key_primary_keyid" t.binary "gpg_key_primary_keyid"
t.string "gpg_key_user_name" t.string "gpg_key_user_name"
t.string "gpg_key_user_email" t.string "gpg_key_user_email"
end end