lockout
This commit is contained in:
@@ -9,9 +9,43 @@ export const model: { [key: string]: string } = {
|
||||
display_name TEXT,
|
||||
provider TEXT,
|
||||
image TEXT,
|
||||
registered_at TEXT NOT NULL DEFAULT (datetime('now'))
|
||||
registered_at TEXT NOT NULL DEFAULT (datetime('now')),
|
||||
failed_attempts INTEGER DEFAULT 0,
|
||||
locked_until TEXT
|
||||
);
|
||||
`,
|
||||
Session: `
|
||||
CREATE TABLE Session
|
||||
(
|
||||
id TEXT PRIMARY KEY,
|
||||
user_id TEXT NOT NULL,
|
||||
token_family TEXT NOT NULL,
|
||||
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
||||
expires_at TEXT NOT NULL,
|
||||
last_used TEXT NOT NULL DEFAULT (datetime('now')),
|
||||
ip_address TEXT,
|
||||
user_agent TEXT,
|
||||
revoked INTEGER DEFAULT 0,
|
||||
FOREIGN KEY (user_id) REFERENCES User(id) ON DELETE CASCADE
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_session_user_id ON Session (user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_session_expires_at ON Session (expires_at);
|
||||
`,
|
||||
PasswordResetToken: `
|
||||
CREATE TABLE PasswordResetToken
|
||||
(
|
||||
id TEXT PRIMARY KEY,
|
||||
token TEXT NOT NULL UNIQUE,
|
||||
user_id TEXT NOT NULL,
|
||||
expires_at TEXT NOT NULL,
|
||||
used_at TEXT,
|
||||
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
||||
FOREIGN KEY (user_id) REFERENCES User(id) ON DELETE CASCADE
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_password_reset_token ON PasswordResetToken (token);
|
||||
CREATE INDEX IF NOT EXISTS idx_password_reset_user_id ON PasswordResetToken (user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_password_reset_expires_at ON PasswordResetToken (expires_at);
|
||||
`,
|
||||
Post: `
|
||||
CREATE TABLE Post
|
||||
(
|
||||
|
||||
@@ -13,6 +13,29 @@ export interface User {
|
||||
db_destroy_date?: string | null;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
failed_attempts?: number;
|
||||
locked_until?: string | null;
|
||||
}
|
||||
|
||||
export interface Session {
|
||||
id: string;
|
||||
user_id: string;
|
||||
token_family: string;
|
||||
created_at: string;
|
||||
expires_at: string;
|
||||
last_used: string;
|
||||
ip_address?: string | null;
|
||||
user_agent?: string | null;
|
||||
revoked: number;
|
||||
}
|
||||
|
||||
export interface PasswordResetToken {
|
||||
id: string;
|
||||
token: string;
|
||||
user_id: string;
|
||||
expires_at: string;
|
||||
used_at?: string | null;
|
||||
created_at: string;
|
||||
}
|
||||
|
||||
export interface Post {
|
||||
|
||||
Reference in New Issue
Block a user