swaf/src/auth/migrations/CreateMagicLinksTable.ts

23 lines
783 B
TypeScript

import Migration from "../../db/Migration";
import {query} from "../../db/MysqlConnectionManager";
export default class CreateMagicLinksTable extends Migration {
async install(): Promise<void> {
await query('CREATE TABLE magic_links(' +
'id INT NOT NULL AUTO_INCREMENT,' +
'session_id CHAR(32) UNIQUE NOT NULL,' +
'email VARCHAR(254) NOT NULL,' +
'token CHAR(96) NOT NULL,' +
'action_type VARCHAR(64) NOT NULL,' +
'original_url VARCHAR(1745) NOT NULL,' +
'generated_at DATETIME NOT NULL,' +
'authorized BOOLEAN NOT NULL,' +
'PRIMARY KEY(id)' +
')');
}
async rollback(): Promise<void> {
await query('DROP TABLE magic_links');
}
}