191_passkey_credentials.sql 833 B

12345678910111213141516171819202122
  1. CREATE TABLE IF NOT EXISTS passkey_user_handles (
  2. user_id BIGINT PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE,
  3. user_handle BYTEA NOT NULL UNIQUE,
  4. created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
  5. );
  6. CREATE TABLE IF NOT EXISTS passkey_credentials (
  7. id BIGSERIAL PRIMARY KEY,
  8. user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
  9. credential_id BYTEA NOT NULL UNIQUE,
  10. name VARCHAR(100) NOT NULL DEFAULT 'Passkey',
  11. credential_data JSONB NOT NULL,
  12. last_used_at TIMESTAMPTZ NULL,
  13. created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
  14. updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
  15. );
  16. CREATE INDEX IF NOT EXISTS passkey_credentials_user_id_idx
  17. ON passkey_credentials (user_id);
  18. CREATE INDEX IF NOT EXISTS passkey_credentials_last_used_at_idx
  19. ON passkey_credentials (last_used_at);