vk_agent_claims.cjs 749 Bytes
const tableName = 'vk_agent_claims'

function buildTable(t) {
  t.string('id', 64).primary()
  t.string('agent_id', 64).notNullable()
  t.string('claim_token_hash', 64).notNullable()
  t.string('verification_code', 16).notNullable()
  t.datetime('expires_at', { precision: 3 }).notNullable()
  t.string('claimed_by_user_id', 64).nullable()
  t.datetime('claimed_at', { precision: 3 }).nullable()
  t.datetime('created_at', { precision: 3 }).notNullable()
  t.unique(['claim_token_hash'], { indexName: 'uq_vk_agent_claims_token' })
  t.unique(['agent_id'], { indexName: 'uq_vk_agent_claims_agent' })
  t.check('(claimed_by_user_id is null) = (claimed_at is null)', [], 'ck_vk_agent_claims_claimed_pair')
}

module.exports = { tableName, buildTable }