This repository has been archived on 2026-08-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
beenvoice-web/drizzle/0009_api_keys.sql
T
2026-06-04 21:33:32 -04:00

28 lines
1.2 KiB
SQL

CREATE TABLE IF NOT EXISTS "beenvoice_api_key" (
"id" varchar(255) PRIMARY KEY NOT NULL,
"name" varchar(100) NOT NULL,
"keyHash" varchar(64) NOT NULL,
"keyPrefix" varchar(16) NOT NULL,
"userId" varchar(255) NOT NULL,
"lastUsedAt" timestamp,
"expiresAt" timestamp,
"revokedAt" timestamp,
"createdAt" timestamp DEFAULT now() NOT NULL,
"updatedAt" timestamp DEFAULT now() NOT NULL,
CONSTRAINT "beenvoice_api_key_keyHash_unique" UNIQUE("keyHash")
);
--> statement-breakpoint
DO $$ BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_constraint WHERE conname = 'beenvoice_api_key_userId_beenvoice_user_id_fk'
) THEN
ALTER TABLE "beenvoice_api_key" ADD CONSTRAINT "beenvoice_api_key_userId_beenvoice_user_id_fk" FOREIGN KEY ("userId") REFERENCES "public"."beenvoice_user"("id") ON DELETE cascade ON UPDATE no action;
END IF;
END $$;
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS "api_key_hash_idx" ON "beenvoice_api_key" USING btree ("keyHash");
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS "api_key_user_id_idx" ON "beenvoice_api_key" USING btree ("userId");
--> statement-breakpoint
CREATE INDEX IF NOT EXISTS "api_key_revoked_at_idx" ON "beenvoice_api_key" USING btree ("revokedAt");