Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit d581c0f

Browse filesBrowse files
committed
Merge branch 'main' into lyesdjaouipro/dis-14-dispatch-dashboard-design
2 parents 3b76b46 + 9037ad2 commit d581c0f
Copy full SHA for d581c0f

49 files changed

+6,376-33Lines changed: 6376 additions & 33 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎backend/Dockerfile‎

Copy file name to clipboardExpand all lines: backend/Dockerfile
+2Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ COPY package.json bun.lock ./
44
RUN bun install --frozen-lockfile
55

66
FROM deps AS dev
7+
ENV NODE_ENV=development
78
COPY . .
89
EXPOSE 3000
910
CMD ["bun", "run", "start:dev"]
@@ -13,6 +14,7 @@ COPY . .
1314
RUN bun run build
1415

1516
FROM node:22-alpine AS prod
17+
ENV NODE_ENV=production
1618
WORKDIR /app
1719
COPY --from=build /app/dist ./dist
1820
COPY --from=build /app/node_modules ./node_modules
Collapse file

‎backend/bun.lock‎

Copy file name to clipboardExpand all lines: backend/bun.lock
+24Lines changed: 24 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Collapse file
+98Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
CREATE TABLE "invitation" (
2+
"id" text PRIMARY KEY NOT NULL,
3+
"organization_id" text NOT NULL,
4+
"email" text NOT NULL,
5+
"role" text,
6+
"status" text DEFAULT 'pending' NOT NULL,
7+
"expires_at" timestamp NOT NULL,
8+
"created_at" timestamp DEFAULT now() NOT NULL,
9+
"inviter_id" text NOT NULL
10+
);
11+
--> statement-breakpoint
12+
CREATE TABLE "member" (
13+
"id" text PRIMARY KEY NOT NULL,
14+
"organization_id" text NOT NULL,
15+
"user_id" text NOT NULL,
16+
"role" text DEFAULT 'member' NOT NULL,
17+
"created_at" timestamp NOT NULL
18+
);
19+
--> statement-breakpoint
20+
CREATE TABLE "organization" (
21+
"id" text PRIMARY KEY NOT NULL,
22+
"name" text NOT NULL,
23+
"slug" text NOT NULL,
24+
"logo" text,
25+
"created_at" timestamp NOT NULL,
26+
"metadata" text,
27+
CONSTRAINT "organization_slug_unique" UNIQUE("slug")
28+
);
29+
--> statement-breakpoint
30+
CREATE TABLE "members" (
31+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
32+
"organization_id" text NOT NULL,
33+
"email" text NOT NULL,
34+
"full_name" text NOT NULL,
35+
"is_active" boolean DEFAULT true NOT NULL,
36+
"user_id" text,
37+
"created_at" timestamp DEFAULT now() NOT NULL,
38+
"updated_at" timestamp DEFAULT now() NOT NULL
39+
);
40+
--> statement-breakpoint
41+
CREATE TABLE "roles" (
42+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
43+
"name" text NOT NULL,
44+
"description" text,
45+
"created_at" timestamp DEFAULT now() NOT NULL,
46+
"updated_at" timestamp DEFAULT now() NOT NULL,
47+
CONSTRAINT "roles_name_unique" UNIQUE("name")
48+
);
49+
--> statement-breakpoint
50+
CREATE TABLE "team_members" (
51+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
52+
"team_id" uuid NOT NULL,
53+
"member_id" uuid NOT NULL,
54+
"role_id" uuid NOT NULL,
55+
"joined_at" timestamp DEFAULT now() NOT NULL,
56+
"created_at" timestamp DEFAULT now() NOT NULL,
57+
"updated_at" timestamp DEFAULT now() NOT NULL
58+
);
59+
--> statement-breakpoint
60+
CREATE TABLE "teams" (
61+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
62+
"organization_id" text NOT NULL,
63+
"name" text NOT NULL,
64+
"description" text,
65+
"is_active" boolean DEFAULT true NOT NULL,
66+
"created_at" timestamp DEFAULT now() NOT NULL,
67+
"updated_at" timestamp DEFAULT now() NOT NULL
68+
);
69+
--> statement-breakpoint
70+
ALTER TABLE "account" ALTER COLUMN "created_at" SET DEFAULT now();--> statement-breakpoint
71+
ALTER TABLE "session" ALTER COLUMN "created_at" SET DEFAULT now();--> statement-breakpoint
72+
ALTER TABLE "user" ALTER COLUMN "created_at" SET DEFAULT now();--> statement-breakpoint
73+
ALTER TABLE "user" ALTER COLUMN "updated_at" SET DEFAULT now();--> statement-breakpoint
74+
ALTER TABLE "verification" ALTER COLUMN "created_at" SET DEFAULT now();--> statement-breakpoint
75+
ALTER TABLE "verification" ALTER COLUMN "updated_at" SET DEFAULT now();--> statement-breakpoint
76+
ALTER TABLE "session" ADD COLUMN "active_organization_id" text;--> statement-breakpoint
77+
ALTER TABLE "invitation" ADD CONSTRAINT "invitation_organization_id_organization_id_fk" FOREIGN KEY ("organization_id") REFERENCES "public"."organization"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
78+
ALTER TABLE "invitation" ADD CONSTRAINT "invitation_inviter_id_user_id_fk" FOREIGN KEY ("inviter_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
79+
ALTER TABLE "member" ADD CONSTRAINT "member_organization_id_organization_id_fk" FOREIGN KEY ("organization_id") REFERENCES "public"."organization"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
80+
ALTER TABLE "member" ADD CONSTRAINT "member_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
81+
ALTER TABLE "members" ADD CONSTRAINT "members_organization_id_organization_id_fk" FOREIGN KEY ("organization_id") REFERENCES "public"."organization"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
82+
ALTER TABLE "members" ADD CONSTRAINT "members_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
83+
ALTER TABLE "team_members" ADD CONSTRAINT "team_members_team_id_teams_id_fk" FOREIGN KEY ("team_id") REFERENCES "public"."teams"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
84+
ALTER TABLE "team_members" ADD CONSTRAINT "team_members_member_id_members_id_fk" FOREIGN KEY ("member_id") REFERENCES "public"."members"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
85+
ALTER TABLE "team_members" ADD CONSTRAINT "team_members_role_id_roles_id_fk" FOREIGN KEY ("role_id") REFERENCES "public"."roles"("id") ON DELETE restrict ON UPDATE no action;--> statement-breakpoint
86+
ALTER TABLE "teams" ADD CONSTRAINT "teams_organization_id_organization_id_fk" FOREIGN KEY ("organization_id") REFERENCES "public"."organization"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
87+
CREATE INDEX "invitation_organizationId_idx" ON "invitation" USING btree ("organization_id");--> statement-breakpoint
88+
CREATE INDEX "invitation_email_idx" ON "invitation" USING btree ("email");--> statement-breakpoint
89+
CREATE INDEX "member_organizationId_idx" ON "member" USING btree ("organization_id");--> statement-breakpoint
90+
CREATE INDEX "member_userId_idx" ON "member" USING btree ("user_id");--> statement-breakpoint
91+
CREATE UNIQUE INDEX "organization_slug_uidx" ON "organization" USING btree ("slug");--> statement-breakpoint
92+
CREATE UNIQUE INDEX "members_org_email_uidx" ON "members" USING btree ("organization_id","email");--> statement-breakpoint
93+
CREATE INDEX "members_organization_id_idx" ON "members" USING btree ("organization_id");--> statement-breakpoint
94+
CREATE UNIQUE INDEX "roles_name_uidx" ON "roles" USING btree ("name");--> statement-breakpoint
95+
CREATE UNIQUE INDEX "team_members_team_member_uidx" ON "team_members" USING btree ("team_id","member_id");--> statement-breakpoint
96+
CREATE INDEX "team_members_team_id_idx" ON "team_members" USING btree ("team_id");--> statement-breakpoint
97+
CREATE INDEX "team_members_member_id_idx" ON "team_members" USING btree ("member_id");--> statement-breakpoint
98+
CREATE INDEX "teams_organization_id_idx" ON "teams" USING btree ("organization_id");
Collapse file
+10Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
-- Roles become organization-scoped. Existing global rows have no owning org,
2+
-- so we drop them; the org-creation hook re-seeds defaults per-org.
3+
TRUNCATE "team_members" CASCADE;--> statement-breakpoint
4+
TRUNCATE "roles" CASCADE;--> statement-breakpoint
5+
ALTER TABLE "roles" DROP CONSTRAINT "roles_name_unique";--> statement-breakpoint
6+
DROP INDEX "roles_name_uidx";--> statement-breakpoint
7+
ALTER TABLE "roles" ADD COLUMN "organization_id" text NOT NULL;--> statement-breakpoint
8+
ALTER TABLE "roles" ADD CONSTRAINT "roles_organization_id_organization_id_fk" FOREIGN KEY ("organization_id") REFERENCES "public"."organization"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
9+
CREATE UNIQUE INDEX "roles_org_name_uidx" ON "roles" USING btree ("organization_id","name");--> statement-breakpoint
10+
CREATE INDEX "roles_organization_id_idx" ON "roles" USING btree ("organization_id");
Collapse file
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE "roles" ADD COLUMN "is_default" boolean DEFAULT false NOT NULL;

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.