vk_help_requests.cjs
947 Bytes
const tableName = 'vk_help_requests'
function buildTable(t) {
t.string('id', 64).primary()
t.string('task_id', 64).notNullable()
t.string('agent_id', 64).notNullable()
t.string('owner_user_id', 64).notNullable()
t.text('question').notNullable()
t.string('status', 16).notNullable()
t.text('answer').nullable()
t.datetime('answered_at', { precision: 3 }).nullable()
t.datetime('created_at', { precision: 3 }).notNullable()
t.index(['owner_user_id', 'status', 'created_at'], 'idx_vk_help_requests_inbox')
t.index(['task_id'], 'idx_vk_help_requests_task')
t.index(['agent_id', 'status'], 'idx_vk_help_requests_agent')
t.check("status in ('open','answered')", [], 'ck_vk_help_requests_status')
t.check("(status = 'open' and answer is null and answered_at is null) or (status = 'answered' and answer is not null and answered_at is not null)", [], 'ck_vk_help_requests_answer')
}
module.exports = { tableName, buildTable }