feat(email/oauth): implement OAuth2 support for Gmail provider (#212)

This commit is contained in:
Yiming Qi
2026-03-10 00:37:43 +09:00
committed by GitHub
parent f8bfd7c107
commit a5c364911e
18 changed files with 1339 additions and 4 deletions
@@ -0,0 +1 @@
DROP TABLE IF EXISTS email_oauth_tokens;
@@ -0,0 +1,17 @@
-- 0028_email_oauth_tokens
-- Store OAuth2 tokens for Gmail email providers.
CREATE TABLE IF NOT EXISTS email_oauth_tokens (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email_provider_id UUID NOT NULL UNIQUE REFERENCES email_providers(id) ON DELETE CASCADE,
email_address TEXT NOT NULL DEFAULT '',
access_token TEXT NOT NULL DEFAULT '',
refresh_token TEXT NOT NULL DEFAULT '',
expires_at TIMESTAMPTZ,
scope TEXT NOT NULL DEFAULT '',
state TEXT NOT NULL DEFAULT '',
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE INDEX IF NOT EXISTS idx_email_oauth_tokens_state ON email_oauth_tokens(state) WHERE state != '';