18 lines
848 B
SQL
18 lines
848 B
SQL
CREATE TABLE IF NOT EXISTS agent_setup_codes (
|
|
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
agent_id uuid NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
|
|
code_hash text NOT NULL UNIQUE,
|
|
code_suffix text,
|
|
status text NOT NULL DEFAULT 'active' CHECK (status IN ('active', 'used', 'expired', 'revoked')),
|
|
token_name text NOT NULL DEFAULT 'Local Codex token',
|
|
created_by_user_id text,
|
|
expires_at timestamptz NOT NULL,
|
|
used_at timestamptz,
|
|
used_token_id uuid REFERENCES agent_tokens(id) ON DELETE SET NULL,
|
|
created_at timestamptz NOT NULL DEFAULT now()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS agent_setup_codes_agent_id_idx ON agent_setup_codes(agent_id);
|
|
CREATE INDEX IF NOT EXISTS agent_setup_codes_status_idx ON agent_setup_codes(status);
|
|
CREATE INDEX IF NOT EXISTS agent_setup_codes_expires_at_idx ON agent_setup_codes(expires_at);
|