Files
OverCooked-Installer/s-migrations/000054_api_keys.up.sql
T

14 lines
589 B
SQL

CREATE TABLE api_keys (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
user_id uuid NOT NULL REFERENCES users(id) ON DELETE CASCADE,
name text NOT NULL CHECK (length(btrim(name)) BETWEEN 1 AND 128),
prefix text NOT NULL UNIQUE CHECK (prefix ~ '^oc_[a-z0-9]{8}$'),
key_hash bytea NOT NULL UNIQUE,
expires_at timestamptz,
enabled boolean NOT NULL DEFAULT true,
created_at timestamptz NOT NULL DEFAULT now(),
last_used_at timestamptz
);
CREATE INDEX api_keys_user_idx ON api_keys(user_id,created_at DESC);
CREATE INDEX api_keys_active_idx ON api_keys(prefix) WHERE enabled;