You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
696 B
21 lines
696 B
# frozen_string_literal: true |
|
# == Schema Information |
|
# |
|
# Table name: one_time_keys |
|
# |
|
# id :bigint(8) not null, primary key |
|
# device_id :bigint(8) |
|
# key_id :string default(""), not null |
|
# key :text default(""), not null |
|
# signature :text default(""), not null |
|
# created_at :datetime not null |
|
# updated_at :datetime not null |
|
# |
|
|
|
class OneTimeKey < ApplicationRecord |
|
belongs_to :device |
|
|
|
validates :key_id, :key, :signature, presence: true |
|
validates :key, ed25519_key: true |
|
validates :signature, ed25519_signature: { message: :key, verify_key: ->(one_time_key) { one_time_key.device.fingerprint_key } } |
|
end
|
|
|