feat: update workspace invite schema

This commit is contained in:
Henry
2025-09-23 22:51:33 +01:00
parent 7d9746be20
commit dd1bd9b7cc
3 changed files with 77 additions and 3 deletions

View File

@@ -1,11 +1,16 @@
CREATE TYPE "public"."invite_link_status" AS ENUM('active', 'inactive');--> statement-breakpoint
CREATE TABLE IF NOT EXISTS "workspace_invite_links" (
"id" bigserial PRIMARY KEY NOT NULL,
"publicId" varchar(12) NOT NULL,
"workspaceId" bigint NOT NULL,
"code" varchar(12) NOT NULL,
"status" "invite_link_status" DEFAULT 'active' NOT NULL,
"expiresAt" timestamp,
"createdAt" timestamp DEFAULT now() NOT NULL,
"createdBy" uuid,
"updatedAt" timestamp,
"updatedBy" uuid,
CONSTRAINT "workspace_invite_links_publicId_unique" UNIQUE("publicId"),
CONSTRAINT "workspace_invite_links_code_unique" UNIQUE("code")
);
--> statement-breakpoint
@@ -15,3 +20,15 @@ DO $$ BEGIN
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "workspace_invite_links" ADD CONSTRAINT "workspace_invite_links_createdBy_user_id_fk" FOREIGN KEY ("createdBy") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "workspace_invite_links" ADD CONSTRAINT "workspace_invite_links_updatedBy_user_id_fk" FOREIGN KEY ("updatedBy") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;

View File

@@ -1,5 +1,5 @@
{
"id": "1191cdae-d6ae-4120-959f-533391f11bdd",
"id": "50c69532-017e-43df-8969-7c811cbc1fda",
"prevId": "114f5db6-01fd-41b6-8125-e23f84424560",
"version": "7",
"dialect": "postgresql",
@@ -2534,6 +2534,12 @@
"primaryKey": true,
"notNull": true
},
"publicId": {
"name": "publicId",
"type": "varchar(12)",
"primaryKey": false,
"notNull": true
},
"workspaceId": {
"name": "workspaceId",
"type": "bigint",
@@ -2566,6 +2572,24 @@
"primaryKey": false,
"notNull": true,
"default": "now()"
},
"createdBy": {
"name": "createdBy",
"type": "uuid",
"primaryKey": false,
"notNull": false
},
"updatedAt": {
"name": "updatedAt",
"type": "timestamp",
"primaryKey": false,
"notNull": false
},
"updatedBy": {
"name": "updatedBy",
"type": "uuid",
"primaryKey": false,
"notNull": false
}
},
"indexes": {},
@@ -2582,10 +2606,43 @@
],
"onDelete": "cascade",
"onUpdate": "no action"
},
"workspace_invite_links_createdBy_user_id_fk": {
"name": "workspace_invite_links_createdBy_user_id_fk",
"tableFrom": "workspace_invite_links",
"tableTo": "user",
"columnsFrom": [
"createdBy"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"workspace_invite_links_updatedBy_user_id_fk": {
"name": "workspace_invite_links_updatedBy_user_id_fk",
"tableFrom": "workspace_invite_links",
"tableTo": "user",
"columnsFrom": [
"updatedBy"
],
"columnsTo": [
"id"
],
"onDelete": "set null",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {
"workspace_invite_links_publicId_unique": {
"name": "workspace_invite_links_publicId_unique",
"nullsNotDistinct": false,
"columns": [
"publicId"
]
},
"workspace_invite_links_code_unique": {
"name": "workspace_invite_links_code_unique",
"nullsNotDistinct": false,

View File

@@ -110,8 +110,8 @@
{
"idx": 15,
"version": "7",
"when": 1758637890146,
"tag": "20250923143130_AddWorkspaceInviteLinks",
"when": 1758662398166,
"tag": "20250923211958_AddWorkspaceInviteLinks",
"breakpoints": true
}
]