stremio/apps/master-api/prisma/migrations/20260901000000_google_play_access/migration.sql
Jos Vooges | STH 0eb0c5d367 Add admin Google Play Closed Testing access via Cloud Identity Groups.
Admins can enable or revoke store access per viewer; membership syncs to a configurable Google Group without changing app auth.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 03:04:34 +02:00

39 lines
1.3 KiB
SQL

-- Google Play Closed Testing group membership tracking on viewer users.
CREATE TYPE "GooglePlaySyncStatus" AS ENUM (
'NOT_ENABLED',
'PENDING_ADD',
'ACTIVE',
'PENDING_REMOVE',
'REMOVED',
'ERROR'
);
ALTER TABLE "viewer_users"
ADD COLUMN "google_play_email" TEXT,
ADD COLUMN "google_play_access" BOOLEAN NOT NULL DEFAULT false,
ADD COLUMN "google_play_membership_id" TEXT,
ADD COLUMN "google_play_sync_status" "GooglePlaySyncStatus" NOT NULL DEFAULT 'NOT_ENABLED',
ADD COLUMN "google_play_last_synced_at" TIMESTAMP(3),
ADD COLUMN "google_play_sync_error" TEXT;
CREATE TABLE "google_play_access_audit_logs" (
"id" TEXT NOT NULL,
"admin_user_id" TEXT,
"admin_email" TEXT,
"viewer_user_id" TEXT NOT NULL,
"target_email" TEXT NOT NULL,
"action" TEXT NOT NULL,
"result" TEXT NOT NULL,
"membership_id" TEXT,
"error_message" TEXT,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "google_play_access_audit_logs_pkey" PRIMARY KEY ("id")
);
CREATE INDEX "google_play_access_audit_logs_viewer_user_id_created_at_idx"
ON "google_play_access_audit_logs"("viewer_user_id", "created_at");
ALTER TABLE "google_play_access_audit_logs"
ADD CONSTRAINT "google_play_access_audit_logs_viewer_user_id_fkey"
FOREIGN KEY ("viewer_user_id") REFERENCES "viewer_users"("id") ON DELETE CASCADE ON UPDATE CASCADE;