WangDL 292e7e5638
Some checks failed
Deploy API Server / build-and-deploy (push) Failing after 33s
feat: M2-01 — User & Account deepening, membership + deletion + devices
- UserDevice + AccountDeletionRequest Prisma models
- CAPI: membership query, deletion request/cancel, device list/remove
- AAPI: membership assign, deletion approve/reject, device view

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 11:18:56 +08:00

32 lines
1.3 KiB
SQL

CREATE TABLE IF NOT EXISTS `UserDevice` (
`id` VARCHAR(191) NOT NULL,
`userId` VARCHAR(191) NOT NULL,
`deviceId` VARCHAR(255) NOT NULL,
`deviceName` VARCHAR(100) NULL,
`osVersion` VARCHAR(50) NULL,
`pushToken` VARCHAR(500) NULL,
`lastSeenAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
UNIQUE INDEX `UserDevice_userId_deviceId_key`(`userId`, `deviceId`),
INDEX `UserDevice_userId_idx`(`userId`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS `AccountDeletionRequest` (
`id` VARCHAR(191) NOT NULL,
`userId` VARCHAR(191) NOT NULL,
`status` VARCHAR(16) NOT NULL DEFAULT 'pending',
`requestedAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`coolingEndsAt` DATETIME(3) NOT NULL,
`reviewedBy` VARCHAR(100) NULL,
`reviewedAt` DATETIME(3) NULL,
`completedAt` DATETIME(3) NULL,
`cancelledAt` DATETIME(3) NULL,
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
INDEX `AccountDeletionRequest_userId_idx`(`userId`),
INDEX `AccountDeletionRequest_status_idx`(`status`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;