Initial project snapshot
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
ALTER TABLE devices
|
||||
ADD COLUMN IF NOT EXISTS device_label TEXT,
|
||||
ADD COLUMN IF NOT EXISTS trust_status TEXT NOT NULL DEFAULT 'pending',
|
||||
ADD COLUMN IF NOT EXISTS revoked_at TIMESTAMPTZ,
|
||||
ADD COLUMN IF NOT EXISTS revoked_reason TEXT,
|
||||
ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW();
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_devices_user_fingerprint
|
||||
ON devices(user_id, device_fingerprint);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS auth_sessions (
|
||||
id UUID PRIMARY KEY,
|
||||
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
device_id UUID NOT NULL REFERENCES devices(id) ON DELETE RESTRICT,
|
||||
refresh_token_hash TEXT NOT NULL,
|
||||
refresh_expires_at TIMESTAMPTZ NOT NULL,
|
||||
last_seen_at TIMESTAMPTZ,
|
||||
last_rotated_at TIMESTAMPTZ,
|
||||
revoked_at TIMESTAMPTZ,
|
||||
revoked_reason TEXT,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_auth_sessions_user_id
|
||||
ON auth_sessions(user_id);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_auth_sessions_device_id
|
||||
ON auth_sessions(device_id);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_auth_sessions_revoked_at
|
||||
ON auth_sessions(revoked_at);
|
||||
Reference in New Issue
Block a user