login time
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "LoginActivityStatus" AS ENUM ('SUCCESS', 'FAILURE');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "LoginFailureReason" AS ENUM ('MISSING_CREDENTIALS', 'INVALID_CREDENTIALS', 'WRONG_PASSWORD', 'ACCOUNT_LOCKED', 'NOT_ACTIVATED', 'NOT_ALLOWED', 'UNKNOWN');
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "User" ADD COLUMN "lastLoginAt" TIMESTAMP(3);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "LoginActivity" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userId" TEXT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"activity" TEXT NOT NULL,
|
||||
"status" "LoginActivityStatus" NOT NULL DEFAULT 'SUCCESS',
|
||||
"failureReason" "LoginFailureReason",
|
||||
|
||||
CONSTRAINT "LoginActivity_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "LoginActivity_userId_createdAt_idx" ON "LoginActivity"("userId", "createdAt");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "LoginActivity_createdAt_idx" ON "LoginActivity"("createdAt");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "LoginActivity_activity_idx" ON "LoginActivity"("activity");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "LoginActivity" ADD CONSTRAINT "LoginActivity_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
Reference in New Issue
Block a user