History

Resolve merge conflicts in drizzle migrations

Yash Kumar committed 2 months ago

Commit caca3c12 parents 6ed5746 1e6ab0f15 files · +9284 −23Browse files

Unified · Split

15 files
  1. apps/dokploy/components/dashboard/application/domains/handle-domain.tsx +12 −7
  2. apps/dokploy/components/dashboard/billing/trial-banner.tsx +34 −0
  3. apps/dokploy/components/dashboard/onboarding/steps/plan-step.tsx +3 −3
  4. apps/dokploy/components/dashboard/settings/billing/show-billing.tsx +3 −3
  5. apps/dokploy/components/layouts/side.tsx +2 −0
  6. apps/dokploy/components/proprietary/sso/register-oidc-dialog.tsx +7 −3
  7. apps/dokploy/drizzle/0194_acoustic_prima.sql +1 −0
  8. apps/dokploy/drizzle/0195_classy_whirlwind.sql +0 −0
  9. apps/dokploy/drizzle/meta/0194_snapshot.json +9 −2
  10. apps/dokploy/drizzle/meta/0195_snapshot.json +9163 −0
  11. apps/dokploy/drizzle/meta/_journal.json +9 −2
  12. apps/dokploy/package.json +1 −1
  13. packages/server/auth-schema2.ts +32 −0
  14. packages/server/src/db/schema/sso.ts +2 −1
  15. packages/server/src/lib/auth-cli.ts +6 −1
apps/dokploy/components/dashboard/application/domains/handle-domain.tsx+12−7
@@ -156,7 +156,7 @@ export const AddDomain = ({ id, type, domainId = "", children }: Props) => { · 155 unmodified lines
156 domainId,156 domainId,
157 },157 },
158 {158 {
159 enabled: !!domainId,159 enabled: isOpen && !!domainId,
160 },160 },
161 );161 );
162 162
@@ -167,7 +167,7 @@ export const AddDomain = ({ id, type, domainId = "", children }: Props) => { · 4 unmodified lines
167 applicationId: id,167 applicationId: id,
168 },168 },
169 {169 {
170 enabled: !!id,170 enabled: isOpen && !!id,
171 },171 },
172 )172 )
173 : api.compose.one.useQuery(173 : api.compose.one.useQuery(
@@ -175,7 +175,7 @@ export const AddDomain = ({ id, type, domainId = "", children }: Props) => { · 1 unmodified line
175 composeId: id,175 composeId: id,
176 },176 },
177 {177 {
178 enabled: !!id,178 enabled: isOpen && !!id,
179 },179 },
180 );180 );
181 181
@@ -187,9 +187,14 @@ export const AddDomain = ({ id, type, domainId = "", children }: Props) => { · 5 unmodified lines
187 api.domain.generateDomain.useMutation();187 api.domain.generateDomain.useMutation();
188 188
189 const { data: canGenerateTraefikMeDomains } =189 const { data: canGenerateTraefikMeDomains } =
190 api.domain.canGenerateTraefikMeDomains.useQuery({190 api.domain.canGenerateTraefikMeDomains.useQuery(
191 serverId: application?.serverId || "",191 {
192 });192 serverId: application?.serverId || "",
193 },
194 {
195 enabled: isOpen,
196 },
197 );
193 198
194 const {199 const {
195 data: services,200 data: services,
@@ -204,7 +209,7 @@ export const AddDomain = ({ id, type, domainId = "", children }: Props) => { · 8 unmodified lines
204 {209 {
205 retry: false,210 retry: false,
206 refetchOnWindowFocus: false,211 refetchOnWindowFocus: false,
207 enabled: type === "compose" && !!id,212 enabled: isOpen && type === "compose" && !!id,
208 },213 },
209 );214 );
210 215
apps/dokploy/components/dashboard/billing/trial-banner.tsx+34−0
@@ -0,0 +1,34 @@
1import { Rocket } from "lucide-react";
2import { useRouter } from "next/router";
3import { Button } from "@/components/ui/button";
4import { api } from "@/utils/api";
5
6export const TrialBanner = () => {
7 const router = useRouter();
8 const { data: billingStatus } = api.stripe.getBillingStatus.useQuery();
9
10 if (!billingStatus?.isOnTrial) {
11 return null;
12 }
13
14 const daysRemaining = billingStatus.trialDaysRemaining ?? 0;
15
16 return (
17 <div className="sticky top-0 z-20 mx-4 mt-4 flex flex-wrap items-center justify-center gap-x-3 gap-y-2 rounded-lg border border-primary/20 bg-primary/10 px-4 py-2 text-sm">
18 <span className="flex items-center gap-2">
19 <Rocket className="h-4 w-4 text-primary shrink-0" />
20 {daysRemaining > 0
21 ? `You have ${daysRemaining} day${daysRemaining === 1 ? "" : "s"} left in your free trial.`
22 : "Your free trial ends today."}
23 </span>
24 <Button
25 size="sm"
26 variant="default"
27 className="h-7"
28 onClick={() => router.push("/dashboard/settings/billing")}
29 >
30 Upgrade now
31 </Button>
32 </div>
33 );
34};
apps/dokploy/components/dashboard/onboarding/steps/plan-step.tsx+3−3
@@ -97,7 +97,7 @@ export const PlanStep = ({ onNext }: Props) => { · 96 unmodified lines
97 </p>97 </p>
98 <ul className="flex flex-col gap-1.5 mt-4">98 <ul className="flex flex-col gap-1.5 mt-4">
99 {[99 {[
100 "1 server included",100 "Setup 1 server",
101 "Unlimited apps & databases",101 "Unlimited apps & databases",
102 "Community support",102 "Community support",
103 ].map((f) => (103 ].map((f) => (
@@ -140,7 +140,7 @@ export const PlanStep = ({ onNext }: Props) => { · 36 unmodified lines
140 </p>140 </p>
141 <ul className="flex flex-col gap-1.5 mt-4">141 <ul className="flex flex-col gap-1.5 mt-4">
142 {[142 {[
143 "1 server included",143 "Setup 1 server",
144 "Unlimited apps & databases",144 "Unlimited apps & databases",
145 "2 environments",145 "2 environments",
146 "Community support",146 "Community support",
@@ -183,7 +183,7 @@ export const PlanStep = ({ onNext }: Props) => { · 36 unmodified lines
183 </p>183 </p>
184 <ul className="flex flex-col gap-1.5 mt-4">184 <ul className="flex flex-col gap-1.5 mt-4">
185 {[185 {[
186 `${STARTUP_SERVERS_INCLUDED} servers included`,186 `Setup up to ${STARTUP_SERVERS_INCLUDED} servers`,
187 "Unlimited users & environments",187 "Unlimited users & environments",
188 "Basic RBAC + 2FA",188 "Basic RBAC + 2FA",
189 "Email & chat support",189 "Email & chat support",
apps/dokploy/components/dashboard/settings/billing/show-billing.tsx+3−3
@@ -333,7 +333,7 @@ export const ShowBilling = () => { · 332 unmodified lines
333 </span>333 </span>
334 <ul className="flex flex-col gap-1 mt-1">334 <ul className="flex flex-col gap-1 mt-1">
335 {[335 {[
336 "1 server included",336 "Setup 1 server",
337 "Unlimited apps & databases",337 "Unlimited apps & databases",
338 "Community support",338 "Community support",
339 ].map((feature) => (339 ].map((feature) => (
@@ -917,7 +917,7 @@ export const ShowBilling = () => { · 577 unmodified lines
917 "Unlimited Deployments",917 "Unlimited Deployments",
918 "Unlimited Databases",918 "Unlimited Databases",
919 "Unlimited Applications",919 "Unlimited Applications",
920 "1 Server Included",920 "Setup 1 Server",
921 "1 Organization",921 "1 Organization",
922 "1 User",922 "1 User",
923 "2 Environments",923 "2 Environments",
@@ -1049,7 +1049,7 @@ export const ShowBilling = () => { · 125 unmodified lines
1049 All the features of Hobby, plus…1049 All the features of Hobby, plus…
1050 </li>1050 </li>
1051 {[1051 {[
1052 "3 Servers Included",1052 "Setup up to 3 Servers",
1053 "3 Organizations",1053 "3 Organizations",
1054 "Unlimited Users",1054 "Unlimited Users",
1055 "Unlimited Environments",1055 "Unlimited Environments",
apps/dokploy/components/layouts/side.tsx+2−0
@@ -101,6 +101,7 @@ import { authClient } from "@/lib/auth-client"; · 100 unmodified lines
101import { cn } from "@/lib/utils";101import { cn } from "@/lib/utils";
102import type { AppRouter } from "@/server/api/root";102import type { AppRouter } from "@/server/api/root";
103import { api } from "@/utils/api";103import { api } from "@/utils/api";
104import { TrialBanner } from "../dashboard/billing/trial-banner";
104import { AddOrganization } from "../dashboard/organization/handle-organization";105import { AddOrganization } from "../dashboard/organization/handle-organization";
105import { DialogAction } from "../shared/dialog-action";106import { DialogAction } from "../shared/dialog-action";
106import { Logo } from "../shared/logo";107import { Logo } from "../shared/logo";
@@ -1229,6 +1230,7 @@ export default function Page({ children }: Props) { · 1122 unmodified lines
1229 <SidebarRail />1230 <SidebarRail />
1230 </Sidebar>1231 </Sidebar>
1231 <SidebarInset>1232 <SidebarInset>
1233 {isCloud === true && <TrialBanner />}
1232 {!includesProjects && (1234 {!includesProjects && (
1233 <header className="flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12">1235 <header className="flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12">
1234 <div className="flex items-center justify-between w-full px-4">1236 <div className="flex items-center justify-between w-full px-4">
apps/dokploy/components/proprietary/sso/register-oidc-dialog.tsx+7−3
@@ -83,6 +83,11 @@ const azureMapping: ClaimMapping = { · 82 unmodified lines
83 image: "",83 image: "",
84};84};
85 85
86// id: "sub",
87// email: "preferred_username",
88// emailVerified: "email_verified",
89// name: "name",
90
86const genericMapping: ClaimMapping = {91const genericMapping: ClaimMapping = {
87 id: "sub",92 id: "sub",
88 email: "email",93 email: "email",
@@ -228,10 +233,9 @@ export function RegisterOidcDialog({ · 139 unmodified lines
228 mapping: {233 mapping: {
229 id: oidc?.mapping?.id ?? baseMapping.id,234 id: oidc?.mapping?.id ?? baseMapping.id,
230 email: oidc?.mapping?.email ?? baseMapping.email,235 email: oidc?.mapping?.email ?? baseMapping.email,
231 emailVerified:236 emailVerified: oidc?.mapping?.emailVerified ?? "",
232 oidc?.mapping?.emailVerified ?? baseMapping.emailVerified,
233 name: oidc?.mapping?.name ?? baseMapping.name,237 name: oidc?.mapping?.name ?? baseMapping.name,
234 image: oidc?.mapping?.image ?? baseMapping.image,238 image: oidc?.mapping?.image ?? "",
235 },239 },
236 });240 });
237 }, [data, open, form]);241 }, [data, open, form]);
apps/dokploy/drizzle/0194_acoustic_prima.sql+1−0
@@ -0,0 +1 @@
1ALTER TABLE "sso_provider" ADD COLUMN "domain_verified" boolean DEFAULT true NOT NULL;
apps/dokploy/drizzle/0195_classy_whirlwind.sqlrenamed from apps/dokploy/drizzle/0194_freezing_skin.sql+0−0

File renamed without changes.

apps/dokploy/drizzle/meta/0194_snapshot.json+9−2
@@ -1,5 +1,5 @@
1{1{
2 "id": "146ed901-5901-42e6-ae26-516d5909ddc6",2 "id": "72de05be-6787-4fd9-8146-68e5902357a7",
3 "prevId": "68c11a1a-d7e0-475f-868f-f3a098d942a7",3 "prevId": "68c11a1a-d7e0-475f-868f-f3a098d942a7",
4 "version": "7",4 "version": "7",
5 "dialect": "postgresql",5 "dialect": "postgresql",
@@ -7983,6 +7983,13 @@ · 7977 unmodified lines
7983 "primaryKey": false,7983 "primaryKey": false,
7984 "notNull": true7984 "notNull": true
7985 },7985 },
7986 "domain_verified": {
7987 "name": "domain_verified",
7988 "type": "boolean",
7989 "primaryKey": false,
7990 "notNull": true,
7991 "default": true
7992 },
7986 "created_at": {7993 "created_at": {
7987 "name": "created_at",7994 "name": "created_at",
7988 "type": "timestamp",7995 "type": "timestamp",
@@ -8803,7 +8810,7 @@ · 814 unmodified lines
8803 "type": "jsonb",8810 "type": "jsonb",
8804 "primaryKey": false,8811 "primaryKey": false,
8805 "notNull": false,8812 "notNull": false,
8806 "default": "'{\"appName\":null,\"appDescription\":null,\"logoUrl\":null,\"faviconUrl\":null,\"customCss\":null,\"loginLogoUrl\":null,\"supportUrl\":null,\"docsUrl\":null,\"errorPageTitle\":null,\"errorPageDescription\":null,\"footerText\":null,\"ogImageUrl\":null}'::jsonb"8813 "default": "'{\"appName\":null,\"appDescription\":null,\"logoUrl\":null,\"faviconUrl\":null,\"customCss\":null,\"loginLogoUrl\":null,\"supportUrl\":null,\"docsUrl\":null,\"errorPageTitle\":null,\"errorPageDescription\":null,\"metaTitle\":null,\"footerText\":null}'::jsonb"
8807 },8814 },
8808 "remoteServersOnly": {8815 "remoteServersOnly": {
8809 "name": "remoteServersOnly",8816 "name": "remoteServersOnly",
apps/dokploy/drizzle/meta/0195_snapshot.json+9163−0
@@ -0,0 +1,9163 @@
1{
2 "id": "719d3b27-c42a-41e4-8b5d-b76b7d8de983",
3 "prevId": "72de05be-6787-4fd9-8146-68e5902357a7",
4 "version": "7",
5 "dialect": "postgresql",
6 "tables": {
7 "public.account": {
8 "name": "account",
9 "schema": "",
10 "columns": {
11 "id": {
12 "name": "id",
13 "type": "text",
14 "primaryKey": true,
15 "notNull": true
16 },
17 "account_id": {
18 "name": "account_id",
19 "type": "text",
20 "primaryKey": false,
21 "notNull": true
22 },
23 "provider_id": {
24 "name": "provider_id",
25 "type": "text",
26 "primaryKey": false,
27 "notNull": true
28 },
29 "user_id": {
30 "name": "user_id",
31 "type": "text",
32 "primaryKey": false,
33 "notNull": true
34 },
35 "access_token": {
36 "name": "access_token",
37 "type": "text",
38 "primaryKey": false,
39 "notNull": false
40 },
41 "refresh_token": {
42 "name": "refresh_token",
43 "type": "text",
44 "primaryKey": false,
45 "notNull": false
46 },
47 "id_token": {
48 "name": "id_token",
49 "type": "text",
50 "primaryKey": false,
51 "notNull": false
52 },
53 "access_token_expires_at": {
54 "name": "access_token_expires_at",
55 "type": "timestamp",
56 "primaryKey": false,
57 "notNull": false
58 },
59 "refresh_token_expires_at": {
60 "name": "refresh_token_expires_at",
61 "type": "timestamp",
62 "primaryKey": false,
63 "notNull": false
64 },
65 "scope": {
66 "name": "scope",
67 "type": "text",
68 "primaryKey": false,
69 "notNull": false
70 },
71 "password": {
72 "name": "password",
73 "type": "text",
74 "primaryKey": false,
75 "notNull": false
76 },
77 "is2FAEnabled": {
78 "name": "is2FAEnabled",
79 "type": "boolean",
80 "primaryKey": false,
81 "notNull": true,
82 "default": false
83 },
84 "created_at": {
85 "name": "created_at",
86 "type": "timestamp",
87 "primaryKey": false,
88 "notNull": true
89 },
90 "updated_at": {
91 "name": "updated_at",
92 "type": "timestamp",
93 "primaryKey": false,
94 "notNull": true
95 },
96 "resetPasswordToken": {
97 "name": "resetPasswordToken",
98 "type": "text",
99 "primaryKey": false,
100 "notNull": false
101 },
102 "resetPasswordExpiresAt": {
103 "name": "resetPasswordExpiresAt",
104 "type": "text",
105 "primaryKey": false,
106 "notNull": false
107 },
108 "confirmationToken": {
109 "name": "confirmationToken",
110 "type": "text",
111 "primaryKey": false,
112 "notNull": false
113 },
114 "confirmationExpiresAt": {
115 "name": "confirmationExpiresAt",
116 "type": "text",
117 "primaryKey": false,
118 "notNull": false
119 }
120 },
121 "indexes": {},
122 "foreignKeys": {
123 "account_user_id_user_id_fk": {
124 "name": "account_user_id_user_id_fk",
125 "tableFrom": "account",
126 "tableTo": "user",
127 "columnsFrom": [
128 "user_id"
129 ],
130 "columnsTo": [
131 "id"
132 ],
133 "onDelete": "cascade",
134 "onUpdate": "no action"
135 }
136 },
137 "compositePrimaryKeys": {},
138 "uniqueConstraints": {},
139 "policies": {},
140 "checkConstraints": {},
141 "isRLSEnabled": false
142 },
143 "public.apikey": {
144 "name": "apikey",
145 "schema": "",
146 "columns": {
147 "id": {
148 "name": "id",
149 "type": "text",
150 "primaryKey": true,
151 "notNull": true
152 },
153 "name": {
154 "name": "name",
155 "type": "text",
156 "primaryKey": false,
157 "notNull": false
158 },
159 "start": {
160 "name": "start",
161 "type": "text",
162 "primaryKey": false,
163 "notNull": false
164 },
165 "prefix": {
166 "name": "prefix",
167 "type": "text",
168 "primaryKey": false,
169 "notNull": false
170 },
171 "key": {
172 "name": "key",
173 "type": "text",
174 "primaryKey": false,
175 "notNull": true
176 },
177 "config_id": {
178 "name": "config_id",
179 "type": "text",
180 "primaryKey": false,
181 "notNull": true,
182 "default": "'default'"
183 },
184 "reference_id": {
185 "name": "reference_id",
186 "type": "text",
187 "primaryKey": false,
188 "notNull": true
189 },
190 "refill_interval": {
191 "name": "refill_interval",
192 "type": "integer",
193 "primaryKey": false,
194 "notNull": false
195 },
196 "refill_amount": {
197 "name": "refill_amount",
198 "type": "integer",
199 "primaryKey": false,
200 "notNull": false
201 },
202 "last_refill_at": {
203 "name": "last_refill_at",
204 "type": "timestamp",
205 "primaryKey": false,
206 "notNull": false
207 },
208 "enabled": {
209 "name": "enabled",
210 "type": "boolean",
211 "primaryKey": false,
212 "notNull": false
213 },
214 "rate_limit_enabled": {
215 "name": "rate_limit_enabled",
216 "type": "boolean",
217 "primaryKey": false,
218 "notNull": false
219 },
220 "rate_limit_time_window": {
221 "name": "rate_limit_time_window",
222 "type": "integer",
223 "primaryKey": false,
224 "notNull": false
225 },
226 "rate_limit_max": {
227 "name": "rate_limit_max",
228 "type": "integer",
229 "primaryKey": false,
230 "notNull": false
231 },
232 "request_count": {
233 "name": "request_count",
234 "type": "integer",
235 "primaryKey": false,
236 "notNull": false
237 },
238 "remaining": {
239 "name": "remaining",
240 "type": "integer",
241 "primaryKey": false,
242 "notNull": false
243 },
244 "last_request": {
245 "name": "last_request",
246 "type": "timestamp",
247 "primaryKey": false,
248 "notNull": false
249 },
250 "expires_at": {
251 "name": "expires_at",
252 "type": "timestamp",
253 "primaryKey": false,
254 "notNull": false
255 },
256 "created_at": {
257 "name": "created_at",
258 "type": "timestamp",
259 "primaryKey": false,
260 "notNull": true
261 },
262 "updated_at": {
263 "name": "updated_at",
264 "type": "timestamp",
265 "primaryKey": false,
266 "notNull": true
267 },
268 "permissions": {
269 "name": "permissions",
270 "type": "text",
271 "primaryKey": false,
272 "notNull": false
273 },
274 "metadata": {
275 "name": "metadata",
276 "type": "text",
277 "primaryKey": false,
278 "notNull": false
279 }
280 },
281 "indexes": {},
282 "foreignKeys": {
283 "apikey_reference_id_user_id_fk": {
284 "name": "apikey_reference_id_user_id_fk",
285 "tableFrom": "apikey",
286 "tableTo": "user",
287 "columnsFrom": [
288 "reference_id"
289 ],
290 "columnsTo": [
291 "id"
292 ],
293 "onDelete": "cascade",
294 "onUpdate": "no action"
295 }
296 },
297 "compositePrimaryKeys": {},
298 "uniqueConstraints": {},
299 "policies": {},
300 "checkConstraints": {},
301 "isRLSEnabled": false
302 },
303 "public.invitation": {
304 "name": "invitation",
305 "schema": "",
306 "columns": {
307 "id": {
308 "name": "id",
309 "type": "text",
310 "primaryKey": true,
311 "notNull": true
312 },
313 "organization_id": {
314 "name": "organization_id",
315 "type": "text",
316 "primaryKey": false,
317 "notNull": true
318 },
319 "email": {
320 "name": "email",
321 "type": "text",
322 "primaryKey": false,
323 "notNull": true
324 },
325 "role": {
326 "name": "role",
327 "type": "text",
328 "primaryKey": false,
329 "notNull": false
330 },
331 "status": {
332 "name": "status",
333 "type": "text",
334 "primaryKey": false,
335 "notNull": true
336 },
337 "expires_at": {
338 "name": "expires_at",
339 "type": "timestamp",
340 "primaryKey": false,
341 "notNull": true
342 },
343 "inviter_id": {
344 "name": "inviter_id",
345 "type": "text",
346 "primaryKey": false,
347 "notNull": true
348 },
349 "team_id": {
350 "name": "team_id",
351 "type": "text",
352 "primaryKey": false,
353 "notNull": false
354 },
355 "created_at": {
356 "name": "created_at",
357 "type": "timestamp",
358 "primaryKey": false,
359 "notNull": true,
360 "default": "now()"
361 }
362 },
363 "indexes": {},
364 "foreignKeys": {
365 "invitation_organization_id_organization_id_fk": {
366 "name": "invitation_organization_id_organization_id_fk",
367 "tableFrom": "invitation",
368 "tableTo": "organization",
369 "columnsFrom": [
370 "organization_id"
371 ],
372 "columnsTo": [
373 "id"
374 ],
375 "onDelete": "cascade",
376 "onUpdate": "no action"
377 },
378 "invitation_inviter_id_user_id_fk": {
379 "name": "invitation_inviter_id_user_id_fk",
380 "tableFrom": "invitation",
381 "tableTo": "user",
382 "columnsFrom": [
383 "inviter_id"
384 ],
385 "columnsTo": [
386 "id"
387 ],
388 "onDelete": "cascade",
389 "onUpdate": "no action"
390 }
391 },
392 "compositePrimaryKeys": {},
393 "uniqueConstraints": {},
394 "policies": {},
395 "checkConstraints": {},
396 "isRLSEnabled": false
397 },
398 "public.member": {
399 "name": "member",
400 "schema": "",
401 "columns": {
402 "id": {
403 "name": "id",
404 "type": "text",
405 "primaryKey": true,
406 "notNull": true
407 },
408 "organization_id": {
409 "name": "organization_id",
410 "type": "text",
411 "primaryKey": false,
412 "notNull": true
413 },
414 "user_id": {
415 "name": "user_id",
416 "type": "text",
417 "primaryKey": false,
418 "notNull": true
419 },
420 "role": {
421 "name": "role",
422 "type": "text",
423 "primaryKey": false,
424 "notNull": true
425 },
426 "created_at": {
427 "name": "created_at",
428 "type": "timestamp",
429 "primaryKey": false,
430 "notNull": true
431 },
432 "team_id": {
433 "name": "team_id",
434 "type": "text",
435 "primaryKey": false,
436 "notNull": false
437 },
438 "is_default": {
439 "name": "is_default",
440 "type": "boolean",
441 "primaryKey": false,
442 "notNull": true,
443 "default": false
444 },
445 "canCreateProjects": {
446 "name": "canCreateProjects",
447 "type": "boolean",
448 "primaryKey": false,
449 "notNull": true,
450 "default": false
451 },
452 "canAccessToSSHKeys": {
453 "name": "canAccessToSSHKeys",
454 "type": "boolean",
455 "primaryKey": false,
456 "notNull": true,
457 "default": false
458 },
459 "canCreateServices": {
460 "name": "canCreateServices",
461 "type": "boolean",
462 "primaryKey": false,
463 "notNull": true,
464 "default": false
465 },
466 "canDeleteProjects": {
467 "name": "canDeleteProjects",
468 "type": "boolean",
469 "primaryKey": false,
470 "notNull": true,
471 "default": false
472 },
473 "canDeleteServices": {
474 "name": "canDeleteServices",
475 "type": "boolean",
476 "primaryKey": false,
477 "notNull": true,
478 "default": false
479 },
480 "canAccessToDocker": {
481 "name": "canAccessToDocker",
482 "type": "boolean",
483 "primaryKey": false,
484 "notNull": true,
485 "default": false
486 },
487 "canAccessToAPI": {
488 "name": "canAccessToAPI",
489 "type": "boolean",
490 "primaryKey": false,
491 "notNull": true,
492 "default": false
493 },
494 "canAccessToGitProviders": {
495 "name": "canAccessToGitProviders",
496 "type": "boolean",
497 "primaryKey": false,
498 "notNull": true,
499 "default": false
500 },
501 "canAccessToTraefikFiles": {
502 "name": "canAccessToTraefikFiles",
503 "type": "boolean",
504 "primaryKey": false,
505 "notNull": true,
506 "default": false
507 },
508 "canDeleteEnvironments": {
509 "name": "canDeleteEnvironments",
510 "type": "boolean",
511 "primaryKey": false,
512 "notNull": true,
513 "default": false
514 },
515 "canCreateEnvironments": {
516 "name": "canCreateEnvironments",
517 "type": "boolean",
518 "primaryKey": false,
519 "notNull": true,
520 "default": false
521 },
522 "accesedProjects": {
523 "name": "accesedProjects",
524 "type": "text[]",
525 "primaryKey": false,
526 "notNull": true,
527 "default": "ARRAY[]::text[]"
528 },
529 "accessedEnvironments": {
530 "name": "accessedEnvironments",
531 "type": "text[]",
532 "primaryKey": false,
533 "notNull": true,
534 "default": "ARRAY[]::text[]"
535 },
536 "accesedServices": {
537 "name": "accesedServices",
538 "type": "text[]",
539 "primaryKey": false,
540 "notNull": true,
541 "default": "ARRAY[]::text[]"
542 },
543 "accessedGitProviders": {
544 "name": "accessedGitProviders",
545 "type": "text[]",
546 "primaryKey": false,
547 "notNull": true,
548 "default": "ARRAY[]::text[]"
549 },
550 "accessedServers": {
551 "name": "accessedServers",
552 "type": "text[]",
553 "primaryKey": false,
554 "notNull": true,
555 "default": "ARRAY[]::text[]"
556 }
557 },
558 "indexes": {},
559 "foreignKeys": {
560 "member_organization_id_organization_id_fk": {
561 "name": "member_organization_id_organization_id_fk",
562 "tableFrom": "member",
563 "tableTo": "organization",
564 "columnsFrom": [
565 "organization_id"
566 ],
567 "columnsTo": [
568 "id"
569 ],
570 "onDelete": "cascade",
571 "onUpdate": "no action"
572 },
573 "member_user_id_user_id_fk": {
574 "name": "member_user_id_user_id_fk",
575 "tableFrom": "member",
576 "tableTo": "user",
577 "columnsFrom": [
578 "user_id"
579 ],
580 "columnsTo": [
581 "id"
582 ],
583 "onDelete": "cascade",
584 "onUpdate": "no action"
585 }
586 },
587 "compositePrimaryKeys": {},
588 "uniqueConstraints": {},
589 "policies": {},
590 "checkConstraints": {},
591 "isRLSEnabled": false
592 },
593 "public.organization": {
594 "name": "organization",
595 "schema": "",
596 "columns": {
597 "id": {
598 "name": "id",
599 "type": "text",
600 "primaryKey": true,
601 "notNull": true
602 },
603 "name": {
604 "name": "name",
605 "type": "text",
606 "primaryKey": false,
607 "notNull": true
608 },
609 "slug": {
610 "name": "slug",
611 "type": "text",
612 "primaryKey": false,
613 "notNull": false
614 },
615 "logo": {
616 "name": "logo",
617 "type": "text",
618 "primaryKey": false,
619 "notNull": false
620 },
621 "created_at": {
622 "name": "created_at",
623 "type": "timestamp",
624 "primaryKey": false,
625 "notNull": true
626 },
627 "metadata": {
628 "name": "metadata",
629 "type": "text",
630 "primaryKey": false,
631 "notNull": false
632 },
633 "default_role": {
634 "name": "default_role",
635 "type": "text",
636 "primaryKey": false,
637 "notNull": false
638 },
639 "owner_id": {
640 "name": "owner_id",
641 "type": "text",
642 "primaryKey": false,
643 "notNull": true
644 }
645 },
646 "indexes": {},
647 "foreignKeys": {
648 "organization_owner_id_user_id_fk": {
649 "name": "organization_owner_id_user_id_fk",
650 "tableFrom": "organization",
651 "tableTo": "user",
652 "columnsFrom": [
653 "owner_id"
654 ],
655 "columnsTo": [
656 "id"
657 ],
658 "onDelete": "cascade",
659 "onUpdate": "no action"
660 }
661 },
662 "compositePrimaryKeys": {},
663 "uniqueConstraints": {
664 "organization_slug_unique": {
665 "name": "organization_slug_unique",
666 "nullsNotDistinct": false,
667 "columns": [
668 "slug"
669 ]
670 }
671 },
672 "policies": {},
673 "checkConstraints": {},
674 "isRLSEnabled": false
675 },
676 "public.organization_role": {
677 "name": "organization_role",
678 "schema": "",
679 "columns": {
680 "id": {
681 "name": "id",
682 "type": "text",
683 "primaryKey": true,
684 "notNull": true
685 },
686 "organization_id": {
687 "name": "organization_id",
688 "type": "text",
689 "primaryKey": false,
690 "notNull": true
691 },
692 "role": {
693 "name": "role",
694 "type": "text",
695 "primaryKey": false,
696 "notNull": true
697 },
698 "permission": {
699 "name": "permission",
700 "type": "text",
701 "primaryKey": false,
702 "notNull": true
703 },
704 "created_at": {
705 "name": "created_at",
706 "type": "timestamp",
707 "primaryKey": false,
708 "notNull": true,
709 "default": "now()"
710 },
711 "updated_at": {
712 "name": "updated_at",
713 "type": "timestamp",
714 "primaryKey": false,
715 "notNull": false
716 }
717 },
718 "indexes": {
719 "organizationRole_organizationId_idx": {
720 "name": "organizationRole_organizationId_idx",
721 "columns": [
722 {
723 "expression": "organization_id",
724 "isExpression": false,
725 "asc": true,
726 "nulls": "last"
727 }
728 ],
729 "isUnique": false,
730 "concurrently": false,
731 "method": "btree",
732 "with": {}
733 },
734 "organizationRole_role_idx": {
735 "name": "organizationRole_role_idx",
736 "columns": [
737 {
738 "expression": "role",
739 "isExpression": false,
740 "asc": true,
741 "nulls": "last"
742 }
743 ],
744 "isUnique": false,
745 "concurrently": false,
746 "method": "btree",
747 "with": {}
748 }
749 },
750 "foreignKeys": {
751 "organization_role_organization_id_organization_id_fk": {
752 "name": "organization_role_organization_id_organization_id_fk",
753 "tableFrom": "organization_role",
754 "tableTo": "organization",
755 "columnsFrom": [
756 "organization_id"
757 ],
758 "columnsTo": [
759 "id"
760 ],
761 "onDelete": "cascade",
762 "onUpdate": "no action"
763 }
764 },
765 "compositePrimaryKeys": {},
766 "uniqueConstraints": {},
767 "policies": {},
768 "checkConstraints": {},
769 "isRLSEnabled": false
770 },
771 "public.passkey": {
772 "name": "passkey",
773 "schema": "",
774 "columns": {
775 "id": {
776 "name": "id",
777 "type": "text",
778 "primaryKey": true,
779 "notNull": true
780 },
781 "name": {
782 "name": "name",
783 "type": "text",
784 "primaryKey": false,
785 "notNull": false
786 },
787 "public_key": {
788 "name": "public_key",
789 "type": "text",
790 "primaryKey": false,
791 "notNull": true
792 },
793 "user_id": {
794 "name": "user_id",
795 "type": "text",
796 "primaryKey": false,
797 "notNull": true
798 },
799 "credential_id": {
800 "name": "credential_id",
801 "type": "text",
802 "primaryKey": false,
803 "notNull": true
804 },
805 "counter": {
806 "name": "counter",
807 "type": "integer",
808 "primaryKey": false,
809 "notNull": true
810 },
811 "device_type": {
812 "name": "device_type",
813 "type": "text",
814 "primaryKey": false,
815 "notNull": true
816 },
817 "backed_up": {
818 "name": "backed_up",
819 "type": "boolean",
820 "primaryKey": false,
821 "notNull": true
822 },
823 "transports": {
824 "name": "transports",
825 "type": "text",
826 "primaryKey": false,
827 "notNull": false
828 },
829 "created_at": {
830 "name": "created_at",
831 "type": "timestamp",
832 "primaryKey": false,
833 "notNull": false
834 },
835 "aaguid": {
836 "name": "aaguid",
837 "type": "text",
838 "primaryKey": false,
839 "notNull": false
840 }
841 },
842 "indexes": {
843 "passkey_userId_idx": {
844 "name": "passkey_userId_idx",
845 "columns": [
846 {
847 "expression": "user_id",
848 "isExpression": false,
849 "asc": true,
850 "nulls": "last"
851 }
852 ],
853 "isUnique": false,
854 "concurrently": false,
855 "method": "btree",
856 "with": {}
857 },
858 "passkey_credentialID_idx": {
859 "name": "passkey_credentialID_idx",
860 "columns": [
861 {
862 "expression": "credential_id",
863 "isExpression": false,
864 "asc": true,
865 "nulls": "last"
866 }
867 ],
868 "isUnique": false,
869 "concurrently": false,
870 "method": "btree",
871 "with": {}
872 }
873 },
874 "foreignKeys": {
875 "passkey_user_id_user_id_fk": {
876 "name": "passkey_user_id_user_id_fk",
877 "tableFrom": "passkey",
878 "tableTo": "user",
879 "columnsFrom": [
880 "user_id"
881 ],
882 "columnsTo": [
883 "id"
884 ],
885 "onDelete": "cascade",
886 "onUpdate": "no action"
887 }
888 },
889 "compositePrimaryKeys": {},
890 "uniqueConstraints": {},
891 "policies": {},
892 "checkConstraints": {},
893 "isRLSEnabled": false
894 },
895 "public.two_factor": {
896 "name": "two_factor",
897 "schema": "",
898 "columns": {
899 "id": {
900 "name": "id",
901 "type": "text",
902 "primaryKey": true,
903 "notNull": true
904 },
905 "secret": {
906 "name": "secret",
907 "type": "text",
908 "primaryKey": false,
909 "notNull": true
910 },
911 "backup_codes": {
912 "name": "backup_codes",
913 "type": "text",
914 "primaryKey": false,
915 "notNull": true
916 },
917 "user_id": {
918 "name": "user_id",
919 "type": "text",
920 "primaryKey": false,
921 "notNull": true
922 },
923 "verified": {
924 "name": "verified",
925 "type": "boolean",
926 "primaryKey": false,
927 "notNull": true,
928 "default": true
929 },
930 "failed_verification_count": {
931 "name": "failed_verification_count",
932 "type": "integer",
933 "primaryKey": false,
934 "notNull": true,
935 "default": 0
936 },
937 "locked_until": {
938 "name": "locked_until",
939 "type": "timestamp",
940 "primaryKey": false,
941 "notNull": false
942 }
943 },
944 "indexes": {},
945 "foreignKeys": {
946 "two_factor_user_id_user_id_fk": {
947 "name": "two_factor_user_id_user_id_fk",
948 "tableFrom": "two_factor",
949 "tableTo": "user",
950 "columnsFrom": [
951 "user_id"
952 ],
953 "columnsTo": [
954 "id"
955 ],
956 "onDelete": "cascade",
957 "onUpdate": "no action"
958 }
959 },
960 "compositePrimaryKeys": {},
961 "uniqueConstraints": {},
962 "policies": {},
963 "checkConstraints": {},
964 "isRLSEnabled": false
965 },
966 "public.verification": {
967 "name": "verification",
968 "schema": "",
969 "columns": {
970 "id": {
971 "name": "id",
972 "type": "text",
973 "primaryKey": true,
974 "notNull": true
975 },
976 "identifier": {
977 "name": "identifier",
978 "type": "text",
979 "primaryKey": false,
980 "notNull": true
981 },
982 "value": {
983 "name": "value",
984 "type": "text",
985 "primaryKey": false,
986 "notNull": true
987 },
988 "expires_at": {
989 "name": "expires_at",
990 "type": "timestamp",
991 "primaryKey": false,
992 "notNull": true
993 },
994 "created_at": {
995 "name": "created_at",
996 "type": "timestamp",
997 "primaryKey": false,
998 "notNull": false
999 },
1000 "updated_at": {
1001 "name": "updated_at",
1002 "type": "timestamp",
1003 "primaryKey": false,
1004 "notNull": false
1005 }
1006 },
1007 "indexes": {},
1008 "foreignKeys": {},
1009 "compositePrimaryKeys": {},
1010 "uniqueConstraints": {},
1011 "policies": {},
1012 "checkConstraints": {},
1013 "isRLSEnabled": false
1014 },
1015 "public.ai": {
1016 "name": "ai",
1017 "schema": "",
1018 "columns": {
1019 "aiId": {
1020 "name": "aiId",
1021 "type": "text",
1022 "primaryKey": true,
1023 "notNull": true
1024 },
1025 "name": {
1026 "name": "name",
1027 "type": "text",
1028 "primaryKey": false,
1029 "notNull": true
1030 },
1031 "apiUrl": {
1032 "name": "apiUrl",
1033 "type": "text",
1034 "primaryKey": false,
1035 "notNull": true
1036 },
1037 "apiKey": {
1038 "name": "apiKey",
1039 "type": "text",
1040 "primaryKey": false,
1041 "notNull": true
1042 },
1043 "model": {
1044 "name": "model",
1045 "type": "text",
1046 "primaryKey": false,
1047 "notNull": true
1048 },
1049 "isEnabled": {
1050 "name": "isEnabled",
1051 "type": "boolean",
1052 "primaryKey": false,
1053 "notNull": true,
1054 "default": true
1055 },
1056 "organizationId": {
1057 "name": "organizationId",
1058 "type": "text",
1059 "primaryKey": false,
1060 "notNull": true
1061 },
1062 "createdAt": {
1063 "name": "createdAt",
1064 "type": "text",
1065 "primaryKey": false,
1066 "notNull": true
1067 }
1068 },
1069 "indexes": {},
1070 "foreignKeys": {
1071 "ai_organizationId_organization_id_fk": {
1072 "name": "ai_organizationId_organization_id_fk",
1073 "tableFrom": "ai",
1074 "tableTo": "organization",
1075 "columnsFrom": [
1076 "organizationId"
1077 ],
1078 "columnsTo": [
1079 "id"
1080 ],
1081 "onDelete": "cascade",
1082 "onUpdate": "no action"
1083 }
1084 },
1085 "compositePrimaryKeys": {},
1086 "uniqueConstraints": {},
1087 "policies": {},
1088 "checkConstraints": {},
1089 "isRLSEnabled": false
1090 },
1091 "public.application": {
1092 "name": "application",
1093 "schema": "",
1094 "columns": {
1095 "applicationId": {
1096 "name": "applicationId",
1097 "type": "text",
1098 "primaryKey": true,
1099 "notNull": true
1100 },
1101 "name": {
1102 "name": "name",
1103 "type": "text",
1104 "primaryKey": false,
1105 "notNull": true
1106 },
1107 "appName": {
1108 "name": "appName",
1109 "type": "text",
1110 "primaryKey": false,
1111 "notNull": true
1112 },
1113 "description": {
1114 "name": "description",
1115 "type": "text",
1116 "primaryKey": false,
1117 "notNull": false
1118 },
1119 "env": {
1120 "name": "env",
1121 "type": "text",
1122 "primaryKey": false,
1123 "notNull": false
1124 },
1125 "previewEnv": {
1126 "name": "previewEnv",
1127 "type": "text",
1128 "primaryKey": false,
1129 "notNull": false
1130 },
1131 "watchPaths": {
1132 "name": "watchPaths",
1133 "type": "text[]",
1134 "primaryKey": false,
1135 "notNull": false
1136 },
1137 "previewBuildArgs": {
1138 "name": "previewBuildArgs",
1139 "type": "text",
1140 "primaryKey": false,
1141 "notNull": false
1142 },
1143 "previewBuildSecrets": {
1144 "name": "previewBuildSecrets",
1145 "type": "text",
1146 "primaryKey": false,
1147 "notNull": false
1148 },
1149 "previewLabels": {
1150 "name": "previewLabels",
1151 "type": "text[]",
1152 "primaryKey": false,
1153 "notNull": false
1154 },
1155 "previewWildcard": {
1156 "name": "previewWildcard",
1157 "type": "text",
1158 "primaryKey": false,
1159 "notNull": false
1160 },
1161 "previewPort": {
1162 "name": "previewPort",
1163 "type": "integer",
1164 "primaryKey": false,
1165 "notNull": false,
1166 "default": 3000
1167 },
1168 "previewHttps": {
1169 "name": "previewHttps",
1170 "type": "boolean",
1171 "primaryKey": false,
1172 "notNull": true,
1173 "default": false
1174 },
1175 "previewPath": {
1176 "name": "previewPath",
1177 "type": "text",
1178 "primaryKey": false,
1179 "notNull": false,
1180 "default": "'/'"
1181 },
1182 "certificateType": {
1183 "name": "certificateType",
1184 "type": "certificateType",
1185 "typeSchema": "public",
1186 "primaryKey": false,
1187 "notNull": true,
1188 "default": "'none'"
1189 },
1190 "previewCustomCertResolver": {
1191 "name": "previewCustomCertResolver",
1192 "type": "text",
1193 "primaryKey": false,
1194 "notNull": false
1195 },
1196 "previewLimit": {
1197 "name": "previewLimit",
1198 "type": "integer",
1199 "primaryKey": false,
1200 "notNull": false,
1201 "default": 3
1202 },
1203 "isPreviewDeploymentsActive": {
1204 "name": "isPreviewDeploymentsActive",
1205 "type": "boolean",
1206 "primaryKey": false,
1207 "notNull": false,
1208 "default": false
1209 },
1210 "previewRequireCollaboratorPermissions": {
1211 "name": "previewRequireCollaboratorPermissions",
1212 "type": "boolean",
1213 "primaryKey": false,
1214 "notNull": false,
1215 "default": true
1216 },
1217 "rollbackActive": {
1218 "name": "rollbackActive",
1219 "type": "boolean",
1220 "primaryKey": false,
1221 "notNull": false,
1222 "default": false
1223 },
1224 "buildArgs": {
1225 "name": "buildArgs",
1226 "type": "text",
1227 "primaryKey": false,
1228 "notNull": false
1229 },
1230 "buildSecrets": {
1231 "name": "buildSecrets",
1232 "type": "text",
1233 "primaryKey": false,
1234 "notNull": false
1235 },
1236 "memoryReservation": {
1237 "name": "memoryReservation",
1238 "type": "text",
1239 "primaryKey": false,
1240 "notNull": false
1241 },
1242 "memoryLimit": {
1243 "name": "memoryLimit",
1244 "type": "text",
1245 "primaryKey": false,
1246 "notNull": false
1247 },
1248 "cpuReservation": {
1249 "name": "cpuReservation",
1250 "type": "text",
1251 "primaryKey": false,
1252 "notNull": false
1253 },
1254 "cpuLimit": {
1255 "name": "cpuLimit",
1256 "type": "text",
1257 "primaryKey": false,
1258 "notNull": false
1259 },
1260 "title": {
1261 "name": "title",
1262 "type": "text",
1263 "primaryKey": false,
1264 "notNull": false
1265 },
1266 "enabled": {
1267 "name": "enabled",
1268 "type": "boolean",
1269 "primaryKey": false,
1270 "notNull": false
1271 },
1272 "subtitle": {
1273 "name": "subtitle",
1274 "type": "text",
1275 "primaryKey": false,
1276 "notNull": false
1277 },
1278 "command": {
1279 "name": "command",
1280 "type": "text",
1281 "primaryKey": false,
1282 "notNull": false
1283 },
1284 "args": {
1285 "name": "args",
1286 "type": "text[]",
1287 "primaryKey": false,
1288 "notNull": false
1289 },
1290 "icon": {
1291 "name": "icon",
1292 "type": "text",
1293 "primaryKey": false,
1294 "notNull": false
1295 },
1296 "refreshToken": {
1297 "name": "refreshToken",
1298 "type": "text",
1299 "primaryKey": false,
1300 "notNull": false
1301 },
1302 "sourceType": {
1303 "name": "sourceType",
1304 "type": "sourceType",
1305 "typeSchema": "public",
1306 "primaryKey": false,
1307 "notNull": true,
1308 "default": "'github'"
1309 },
1310 "cleanCache": {
1311 "name": "cleanCache",
1312 "type": "boolean",
1313 "primaryKey": false,
1314 "notNull": false,
1315 "default": false
1316 },
1317 "repository": {
1318 "name": "repository",
1319 "type": "text",
1320 "primaryKey": false,
1321 "notNull": false
1322 },
1323 "owner": {
1324 "name": "owner",
1325 "type": "text",
1326 "primaryKey": false,
1327 "notNull": false
1328 },
1329 "branch": {
1330 "name": "branch",
1331 "type": "text",
1332 "primaryKey": false,
1333 "notNull": false
1334 },
1335 "buildPath": {
1336 "name": "buildPath",
1337 "type": "text",
1338 "primaryKey": false,
1339 "notNull": false,
1340 "default": "'/'"
1341 },
1342 "triggerType": {
1343 "name": "triggerType",
1344 "type": "triggerType",
1345 "typeSchema": "public",
1346 "primaryKey": false,
1347 "notNull": false,
1348 "default": "'push'"
1349 },
1350 "autoDeploy": {
1351 "name": "autoDeploy",
1352 "type": "boolean",
1353 "primaryKey": false,
1354 "notNull": false
1355 },
1356 "gitlabProjectId": {
1357 "name": "gitlabProjectId",
1358 "type": "integer",
1359 "primaryKey": false,
1360 "notNull": false
1361 },
1362 "gitlabRepository": {
1363 "name": "gitlabRepository",
1364 "type": "text",
1365 "primaryKey": false,
1366 "notNull": false
1367 },
1368 "gitlabOwner": {
1369 "name": "gitlabOwner",
1370 "type": "text",
1371 "primaryKey": false,
1372 "notNull": false
1373 },
1374 "gitlabBranch": {
1375 "name": "gitlabBranch",
1376 "type": "text",
1377 "primaryKey": false,
1378 "notNull": false
1379 },
1380 "gitlabBuildPath": {
1381 "name": "gitlabBuildPath",
1382 "type": "text",
1383 "primaryKey": false,
1384 "notNull": false,
1385 "default": "'/'"
1386 },
1387 "gitlabPathNamespace": {
1388 "name": "gitlabPathNamespace",
1389 "type": "text",
1390 "primaryKey": false,
1391 "notNull": false
1392 },
1393 "giteaRepository": {
1394 "name": "giteaRepository",
1395 "type": "text",
1396 "primaryKey": false,
1397 "notNull": false
1398 },
1399 "giteaOwner": {
1400 "name": "giteaOwner",
1401 "type": "text",
1402 "primaryKey": false,
1403 "notNull": false
1404 },
1405 "giteaBranch": {
1406 "name": "giteaBranch",
1407 "type": "text",
1408 "primaryKey": false,
1409 "notNull": false
1410 },
1411 "giteaBuildPath": {
1412 "name": "giteaBuildPath",
1413 "type": "text",
1414 "primaryKey": false,
1415 "notNull": false,
1416 "default": "'/'"
1417 },
1418 "bitbucketRepository": {
1419 "name": "bitbucketRepository",
1420 "type": "text",
1421 "primaryKey": false,
1422 "notNull": false
1423 },
1424 "bitbucketRepositorySlug": {
1425 "name": "bitbucketRepositorySlug",
1426 "type": "text",
1427 "primaryKey": false,
1428 "notNull": false
1429 },
1430 "bitbucketOwner": {
1431 "name": "bitbucketOwner",
1432 "type": "text",
1433 "primaryKey": false,
1434 "notNull": false
1435 },
1436 "bitbucketBranch": {
1437 "name": "bitbucketBranch",
1438 "type": "text",
1439 "primaryKey": false,
1440 "notNull": false
1441 },
1442 "bitbucketBuildPath": {
1443 "name": "bitbucketBuildPath",
1444 "type": "text",
1445 "primaryKey": false,
1446 "notNull": false,
1447 "default": "'/'"
1448 },
1449 "username": {
1450 "name": "username",
1451 "type": "text",
1452 "primaryKey": false,
1453 "notNull": false
1454 },
1455 "password": {
1456 "name": "password",
1457 "type": "text",
1458 "primaryKey": false,
1459 "notNull": false
1460 },
1461 "dockerImage": {
1462 "name": "dockerImage",
1463 "type": "text",
1464 "primaryKey": false,
1465 "notNull": false
1466 },
1467 "registryUrl": {
1468 "name": "registryUrl",
1469 "type": "text",
1470 "primaryKey": false,
1471 "notNull": false
1472 },
1473 "customGitUrl": {
1474 "name": "customGitUrl",
1475 "type": "text",
1476 "primaryKey": false,
1477 "notNull": false
1478 },
1479 "customGitBranch": {
1480 "name": "customGitBranch",
1481 "type": "text",
1482 "primaryKey": false,
1483 "notNull": false
1484 },
1485 "customGitBuildPath": {
1486 "name": "customGitBuildPath",
1487 "type": "text",
1488 "primaryKey": false,
1489 "notNull": false
1490 },
1491 "customGitSSHKeyId": {
1492 "name": "customGitSSHKeyId",
1493 "type": "text",
1494 "primaryKey": false,
1495 "notNull": false
1496 },
1497 "enableSubmodules": {
1498 "name": "enableSubmodules",
1499 "type": "boolean",
1500 "primaryKey": false,
1501 "notNull": true,
1502 "default": false
1503 },
1504 "dockerfile": {
1505 "name": "dockerfile",
1506 "type": "text",
1507 "primaryKey": false,
1508 "notNull": false,
1509 "default": "'Dockerfile'"
1510 },
1511 "dockerContextPath": {
1512 "name": "dockerContextPath",
1513 "type": "text",
1514 "primaryKey": false,
1515 "notNull": false
1516 },
1517 "dockerBuildStage": {
1518 "name": "dockerBuildStage",
1519 "type": "text",
1520 "primaryKey": false,
1521 "notNull": false
1522 },
1523 "dropBuildPath": {
1524 "name": "dropBuildPath",
1525 "type": "text",
1526 "primaryKey": false,
1527 "notNull": false
1528 },
1529 "healthCheckSwarm": {
1530 "name": "healthCheckSwarm",
1531 "type": "json",
1532 "primaryKey": false,
1533 "notNull": false
1534 },
1535 "restartPolicySwarm": {
1536 "name": "restartPolicySwarm",
1537 "type": "json",
1538 "primaryKey": false,
1539 "notNull": false
1540 },
1541 "placementSwarm": {
1542 "name": "placementSwarm",
1543 "type": "json",
1544 "primaryKey": false,
1545 "notNull": false
1546 },
1547 "updateConfigSwarm": {
1548 "name": "updateConfigSwarm",
1549 "type": "json",
1550 "primaryKey": false,
1551 "notNull": false
1552 },
1553 "rollbackConfigSwarm": {
1554 "name": "rollbackConfigSwarm",
1555 "type": "json",
1556 "primaryKey": false,
1557 "notNull": false
1558 },
1559 "modeSwarm": {
1560 "name": "modeSwarm",
1561 "type": "json",
1562 "primaryKey": false,
1563 "notNull": false
1564 },
1565 "labelsSwarm": {
1566 "name": "labelsSwarm",
1567 "type": "json",
1568 "primaryKey": false,
1569 "notNull": false
1570 },
1571 "networkSwarm": {
1572 "name": "networkSwarm",
1573 "type": "json",
1574 "primaryKey": false,
1575 "notNull": false
1576 },
1577 "stopGracePeriodSwarm": {
1578 "name": "stopGracePeriodSwarm",
1579 "type": "bigint",
1580 "primaryKey": false,
1581 "notNull": false
1582 },
1583 "endpointSpecSwarm": {
1584 "name": "endpointSpecSwarm",
1585 "type": "json",
1586 "primaryKey": false,
1587 "notNull": false
1588 },
1589 "ulimitsSwarm": {
1590 "name": "ulimitsSwarm",
1591 "type": "json",
1592 "primaryKey": false,
1593 "notNull": false
1594 },
1595 "replicas": {
1596 "name": "replicas",
1597 "type": "integer",
1598 "primaryKey": false,
1599 "notNull": true,
1600 "default": 1
1601 },
1602 "applicationStatus": {
1603 "name": "applicationStatus",
1604 "type": "applicationStatus",
1605 "typeSchema": "public",
1606 "primaryKey": false,
1607 "notNull": true,
1608 "default": "'idle'"
1609 },
1610 "buildType": {
1611 "name": "buildType",
1612 "type": "buildType",
1613 "typeSchema": "public",
1614 "primaryKey": false,
1615 "notNull": true,
1616 "default": "'nixpacks'"
1617 },
1618 "railpackVersion": {
1619 "name": "railpackVersion",
1620 "type": "text",
1621 "primaryKey": false,
1622 "notNull": false,
1623 "default": "'0.15.4'"
1624 },
1625 "herokuVersion": {
1626 "name": "herokuVersion",
1627 "type": "text",
1628 "primaryKey": false,
1629 "notNull": false,
1630 "default": "'24'"
1631 },
1632 "publishDirectory": {
1633 "name": "publishDirectory",
1634 "type": "text",
1635 "primaryKey": false,
1636 "notNull": false
1637 },
1638 "isStaticSpa": {
1639 "name": "isStaticSpa",
1640 "type": "boolean",
1641 "primaryKey": false,
1642 "notNull": false
1643 },
1644 "createEnvFile": {
1645 "name": "createEnvFile",
1646 "type": "boolean",
1647 "primaryKey": false,
1648 "notNull": true,
1649 "default": true
1650 },
1651 "createdAt": {
1652 "name": "createdAt",
1653 "type": "text",
1654 "primaryKey": false,
1655 "notNull": true
1656 },
1657 "registryId": {
1658 "name": "registryId",
1659 "type": "text",
1660 "primaryKey": false,
1661 "notNull": false
1662 },
1663 "rollbackRegistryId": {
1664 "name": "rollbackRegistryId",
1665 "type": "text",
1666 "primaryKey": false,
1667 "notNull": false
1668 },
1669 "environmentId": {
1670 "name": "environmentId",
1671 "type": "text",
1672 "primaryKey": false,
1673 "notNull": true
1674 },
1675 "githubId": {
1676 "name": "githubId",
1677 "type": "text",
1678 "primaryKey": false,
1679 "notNull": false
1680 },
1681 "gitlabId": {
1682 "name": "gitlabId",
1683 "type": "text",
1684 "primaryKey": false,
1685 "notNull": false
1686 },
1687 "giteaId": {
1688 "name": "giteaId",
1689 "type": "text",
1690 "primaryKey": false,
1691 "notNull": false
1692 },
1693 "bitbucketId": {
1694 "name": "bitbucketId",
1695 "type": "text",
1696 "primaryKey": false,
1697 "notNull": false
1698 },
1699 "serverId": {
1700 "name": "serverId",
1701 "type": "text",
1702 "primaryKey": false,
1703 "notNull": false
1704 },
1705 "buildServerId": {
1706 "name": "buildServerId",
1707 "type": "text",
1708 "primaryKey": false,
1709 "notNull": false
1710 },
1711 "buildRegistryId": {
1712 "name": "buildRegistryId",
1713 "type": "text",
1714 "primaryKey": false,
1715 "notNull": false
1716 },
1717 "networkIds": {
1718 "name": "networkIds",
1719 "type": "text[]",
1720 "primaryKey": false,
1721 "notNull": false,
1722 "default": "'{}'"
1723 },
1724 "detachDokployNetwork": {
1725 "name": "detachDokployNetwork",
1726 "type": "boolean",
1727 "primaryKey": false,
1728 "notNull": true,
1729 "default": false
1730 }
1731 },
1732 "indexes": {},
1733 "foreignKeys": {
1734 "application_customGitSSHKeyId_ssh-key_sshKeyId_fk": {
1735 "name": "application_customGitSSHKeyId_ssh-key_sshKeyId_fk",
1736 "tableFrom": "application",
1737 "tableTo": "ssh-key",
1738 "columnsFrom": [
1739 "customGitSSHKeyId"
1740 ],
1741 "columnsTo": [
1742 "sshKeyId"
1743 ],
1744 "onDelete": "set null",
1745 "onUpdate": "no action"
1746 },
1747 "application_registryId_registry_registryId_fk": {
1748 "name": "application_registryId_registry_registryId_fk",
1749 "tableFrom": "application",
1750 "tableTo": "registry",
1751 "columnsFrom": [
1752 "registryId"
1753 ],
1754 "columnsTo": [
1755 "registryId"
1756 ],
1757 "onDelete": "set null",
1758 "onUpdate": "no action"
1759 },
1760 "application_rollbackRegistryId_registry_registryId_fk": {
1761 "name": "application_rollbackRegistryId_registry_registryId_fk",
1762 "tableFrom": "application",
1763 "tableTo": "registry",
1764 "columnsFrom": [
1765 "rollbackRegistryId"
1766 ],
1767 "columnsTo": [
1768 "registryId"
1769 ],
1770 "onDelete": "set null",
1771 "onUpdate": "no action"
1772 },
1773 "application_environmentId_environment_environmentId_fk": {
1774 "name": "application_environmentId_environment_environmentId_fk",
1775 "tableFrom": "application",
1776 "tableTo": "environment",
1777 "columnsFrom": [
1778 "environmentId"
1779 ],
1780 "columnsTo": [
1781 "environmentId"
1782 ],
1783 "onDelete": "cascade",
1784 "onUpdate": "no action"
1785 },
1786 "application_githubId_github_githubId_fk": {
1787 "name": "application_githubId_github_githubId_fk",
1788 "tableFrom": "application",
1789 "tableTo": "github",
1790 "columnsFrom": [
1791 "githubId"
1792 ],
1793 "columnsTo": [
1794 "githubId"
1795 ],
1796 "onDelete": "set null",
1797 "onUpdate": "no action"
1798 },
1799 "application_gitlabId_gitlab_gitlabId_fk": {
1800 "name": "application_gitlabId_gitlab_gitlabId_fk",
1801 "tableFrom": "application",
1802 "tableTo": "gitlab",
1803 "columnsFrom": [
1804 "gitlabId"
1805 ],
1806 "columnsTo": [
1807 "gitlabId"
1808 ],
1809 "onDelete": "set null",
1810 "onUpdate": "no action"
1811 },
1812 "application_giteaId_gitea_giteaId_fk": {
1813 "name": "application_giteaId_gitea_giteaId_fk",
1814 "tableFrom": "application",
1815 "tableTo": "gitea",
1816 "columnsFrom": [
1817 "giteaId"
1818 ],
1819 "columnsTo": [
1820 "giteaId"
1821 ],
1822 "onDelete": "set null",
1823 "onUpdate": "no action"
1824 },
1825 "application_bitbucketId_bitbucket_bitbucketId_fk": {
1826 "name": "application_bitbucketId_bitbucket_bitbucketId_fk",
1827 "tableFrom": "application",
1828 "tableTo": "bitbucket",
1829 "columnsFrom": [
1830 "bitbucketId"
1831 ],
1832 "columnsTo": [
1833 "bitbucketId"
1834 ],
1835 "onDelete": "set null",
1836 "onUpdate": "no action"
1837 },
1838 "application_serverId_server_serverId_fk": {
1839 "name": "application_serverId_server_serverId_fk",
1840 "tableFrom": "application",
1841 "tableTo": "server",
1842 "columnsFrom": [
1843 "serverId"
1844 ],
1845 "columnsTo": [
1846 "serverId"
1847 ],
1848 "onDelete": "cascade",
1849 "onUpdate": "no action"
1850 },
1851 "application_buildServerId_server_serverId_fk": {
1852 "name": "application_buildServerId_server_serverId_fk",
1853 "tableFrom": "application",
1854 "tableTo": "server",
1855 "columnsFrom": [
1856 "buildServerId"
1857 ],
1858 "columnsTo": [
1859 "serverId"
1860 ],
1861 "onDelete": "set null",
1862 "onUpdate": "no action"
1863 },
1864 "application_buildRegistryId_registry_registryId_fk": {
1865 "name": "application_buildRegistryId_registry_registryId_fk",
1866 "tableFrom": "application",
1867 "tableTo": "registry",
1868 "columnsFrom": [
1869 "buildRegistryId"
1870 ],
1871 "columnsTo": [
1872 "registryId"
1873 ],
1874 "onDelete": "set null",
1875 "onUpdate": "no action"
1876 }
1877 },
1878 "compositePrimaryKeys": {},
1879 "uniqueConstraints": {
1880 "application_appName_unique": {
1881 "name": "application_appName_unique",
1882 "nullsNotDistinct": false,
1883 "columns": [
1884 "appName"
1885 ]
1886 }
1887 },
1888 "policies": {},
1889 "checkConstraints": {},
1890 "isRLSEnabled": false
1891 },
1892 "public.audit_log": {
1893 "name": "audit_log",
1894 "schema": "",
1895 "columns": {
1896 "id": {
1897 "name": "id",
1898 "type": "text",
1899 "primaryKey": true,
1900 "notNull": true
1901 },
1902 "organization_id": {
1903 "name": "organization_id",
1904 "type": "text",
1905 "primaryKey": false,
1906 "notNull": false
1907 },
1908 "user_id": {
1909 "name": "user_id",
1910 "type": "text",
1911 "primaryKey": false,
1912 "notNull": false
1913 },
1914 "user_email": {
1915 "name": "user_email",
1916 "type": "text",
1917 "primaryKey": false,
1918 "notNull": true
1919 },
1920 "user_role": {
1921 "name": "user_role",
1922 "type": "text",
1923 "primaryKey": false,
1924 "notNull": true
1925 },
1926 "action": {
1927 "name": "action",
1928 "type": "text",
1929 "primaryKey": false,
1930 "notNull": true
1931 },
1932 "resource_type": {
1933 "name": "resource_type",
1934 "type": "text",
1935 "primaryKey": false,
1936 "notNull": true
1937 },
1938 "resource_id": {
1939 "name": "resource_id",
1940 "type": "text",
1941 "primaryKey": false,
1942 "notNull": false
1943 },
1944 "resource_name": {
1945 "name": "resource_name",
1946 "type": "text",
1947 "primaryKey": false,
1948 "notNull": false
1949 },
1950 "metadata": {
1951 "name": "metadata",
1952 "type": "text",
1953 "primaryKey": false,
1954 "notNull": false
1955 },
1956 "created_at": {
1957 "name": "created_at",
1958 "type": "timestamp",
1959 "primaryKey": false,
1960 "notNull": true,
1961 "default": "now()"
1962 }
1963 },
1964 "indexes": {
1965 "auditLog_organizationId_idx": {
1966 "name": "auditLog_organizationId_idx",
1967 "columns": [
1968 {
1969 "expression": "organization_id",
1970 "isExpression": false,
1971 "asc": true,
1972 "nulls": "last"
1973 }
1974 ],
1975 "isUnique": false,
1976 "concurrently": false,
1977 "method": "btree",
1978 "with": {}
1979 },
1980 "auditLog_userId_idx": {
1981 "name": "auditLog_userId_idx",
1982 "columns": [
1983 {
1984 "expression": "user_id",
1985 "isExpression": false,
1986 "asc": true,
1987 "nulls": "last"
1988 }
1989 ],
1990 "isUnique": false,
1991 "concurrently": false,
1992 "method": "btree",
1993 "with": {}
1994 },
1995 "auditLog_createdAt_idx": {
1996 "name": "auditLog_createdAt_idx",
1997 "columns": [
1998 {
1999 "expression": "created_at",
2000 "isExpression": false,
2001 "asc": true,
2002 "nulls": "last"
2003 }
2004 ],
2005 "isUnique": false,
2006 "concurrently": false,
2007 "method": "btree",
2008 "with": {}
2009 }
2010 },
2011 "foreignKeys": {
2012 "audit_log_organization_id_organization_id_fk": {
2013 "name": "audit_log_organization_id_organization_id_fk",
2014 "tableFrom": "audit_log",
2015 "tableTo": "organization",
2016 "columnsFrom": [
2017 "organization_id"
2018 ],
2019 "columnsTo": [
2020 "id"
2021 ],
2022 "onDelete": "set null",
2023 "onUpdate": "no action"
2024 },
2025 "audit_log_user_id_user_id_fk": {
2026 "name": "audit_log_user_id_user_id_fk",
2027 "tableFrom": "audit_log",
2028 "tableTo": "user",
2029 "columnsFrom": [
2030 "user_id"
2031 ],
2032 "columnsTo": [
2033 "id"
2034 ],
2035 "onDelete": "set null",
2036 "onUpdate": "no action"
2037 }
2038 },
2039 "compositePrimaryKeys": {},
2040 "uniqueConstraints": {},
2041 "policies": {},
2042 "checkConstraints": {},
2043 "isRLSEnabled": false
2044 },
2045 "public.backup": {
2046 "name": "backup",
2047 "schema": "",
2048 "columns": {
2049 "backupId": {
2050 "name": "backupId",
2051 "type": "text",
2052 "primaryKey": true,
2053 "notNull": true
2054 },
2055 "appName": {
2056 "name": "appName",
2057 "type": "text",
2058 "primaryKey": false,
2059 "notNull": true
2060 },
2061 "schedule": {
2062 "name": "schedule",
2063 "type": "text",
2064 "primaryKey": false,
2065 "notNull": true
2066 },
2067 "enabled": {
2068 "name": "enabled",
2069 "type": "boolean",
2070 "primaryKey": false,
2071 "notNull": false
2072 },
2073 "database": {
2074 "name": "database",
2075 "type": "text",
2076 "primaryKey": false,
2077 "notNull": true
2078 },
2079 "prefix": {
2080 "name": "prefix",
2081 "type": "text",
2082 "primaryKey": false,
2083 "notNull": true
2084 },
2085 "serviceName": {
2086 "name": "serviceName",
2087 "type": "text",
2088 "primaryKey": false,
2089 "notNull": false
2090 },
2091 "destinationId": {
2092 "name": "destinationId",
2093 "type": "text",
2094 "primaryKey": false,
2095 "notNull": true
2096 },
2097 "keepLatestCount": {
2098 "name": "keepLatestCount",
2099 "type": "integer",
2100 "primaryKey": false,
2101 "notNull": false
2102 },
2103 "includeEncryptionKey": {
2104 "name": "includeEncryptionKey",
2105 "type": "boolean",
2106 "primaryKey": false,
2107 "notNull": true,
2108 "default": true
2109 },
2110 "backupType": {
2111 "name": "backupType",
2112 "type": "backupType",
2113 "typeSchema": "public",
2114 "primaryKey": false,
2115 "notNull": true,
2116 "default": "'database'"
2117 },
2118 "databaseType": {
2119 "name": "databaseType",
2120 "type": "databaseType",
2121 "typeSchema": "public",
2122 "primaryKey": false,
2123 "notNull": true
2124 },
2125 "composeId": {
2126 "name": "composeId",
2127 "type": "text",
2128 "primaryKey": false,
2129 "notNull": false
2130 },
2131 "postgresId": {
2132 "name": "postgresId",
2133 "type": "text",
2134 "primaryKey": false,
2135 "notNull": false
2136 },
2137 "mariadbId": {
2138 "name": "mariadbId",
2139 "type": "text",
2140 "primaryKey": false,
2141 "notNull": false
2142 },
2143 "mysqlId": {
2144 "name": "mysqlId",
2145 "type": "text",
2146 "primaryKey": false,
2147 "notNull": false
2148 },
2149 "mongoId": {
2150 "name": "mongoId",
2151 "type": "text",
2152 "primaryKey": false,
2153 "notNull": false
2154 },
2155 "libsqlId": {
2156 "name": "libsqlId",
2157 "type": "text",
2158 "primaryKey": false,
2159 "notNull": false
2160 },
2161 "userId": {
2162 "name": "userId",
2163 "type": "text",
2164 "primaryKey": false,
2165 "notNull": false
2166 },
2167 "metadata": {
2168 "name": "metadata",
2169 "type": "jsonb",
2170 "primaryKey": false,
2171 "notNull": false
2172 }
2173 },
2174 "indexes": {},
2175 "foreignKeys": {
2176 "backup_destinationId_destination_destinationId_fk": {
2177 "name": "backup_destinationId_destination_destinationId_fk",
2178 "tableFrom": "backup",
2179 "tableTo": "destination",
2180 "columnsFrom": [
2181 "destinationId"
2182 ],
2183 "columnsTo": [
2184 "destinationId"
2185 ],
2186 "onDelete": "cascade",
2187 "onUpdate": "no action"
2188 },
2189 "backup_composeId_compose_composeId_fk": {
2190 "name": "backup_composeId_compose_composeId_fk",
2191 "tableFrom": "backup",
2192 "tableTo": "compose",
2193 "columnsFrom": [
2194 "composeId"
2195 ],
2196 "columnsTo": [
2197 "composeId"
2198 ],
2199 "onDelete": "cascade",
2200 "onUpdate": "no action"
2201 },
2202 "backup_postgresId_postgres_postgresId_fk": {
2203 "name": "backup_postgresId_postgres_postgresId_fk",
2204 "tableFrom": "backup",
2205 "tableTo": "postgres",
2206 "columnsFrom": [
2207 "postgresId"
2208 ],
2209 "columnsTo": [
2210 "postgresId"
2211 ],
2212 "onDelete": "cascade",
2213 "onUpdate": "no action"
2214 },
2215 "backup_mariadbId_mariadb_mariadbId_fk": {
2216 "name": "backup_mariadbId_mariadb_mariadbId_fk",
2217 "tableFrom": "backup",
2218 "tableTo": "mariadb",
2219 "columnsFrom": [
2220 "mariadbId"
2221 ],
2222 "columnsTo": [
2223 "mariadbId"
2224 ],
2225 "onDelete": "cascade",
2226 "onUpdate": "no action"
2227 },
2228 "backup_mysqlId_mysql_mysqlId_fk": {
2229 "name": "backup_mysqlId_mysql_mysqlId_fk",
2230 "tableFrom": "backup",
2231 "tableTo": "mysql",
2232 "columnsFrom": [
2233 "mysqlId"
2234 ],
2235 "columnsTo": [
2236 "mysqlId"
2237 ],
2238 "onDelete": "cascade",
2239 "onUpdate": "no action"
2240 },
2241 "backup_mongoId_mongo_mongoId_fk": {
2242 "name": "backup_mongoId_mongo_mongoId_fk",
2243 "tableFrom": "backup",
2244 "tableTo": "mongo",
2245 "columnsFrom": [
2246 "mongoId"
2247 ],
2248 "columnsTo": [
2249 "mongoId"
2250 ],
2251 "onDelete": "cascade",
2252 "onUpdate": "no action"
2253 },
2254 "backup_libsqlId_libsql_libsqlId_fk": {
2255 "name": "backup_libsqlId_libsql_libsqlId_fk",
2256 "tableFrom": "backup",
2257 "tableTo": "libsql",
2258 "columnsFrom": [
2259 "libsqlId"
2260 ],
2261 "columnsTo": [
2262 "libsqlId"
2263 ],
2264 "onDelete": "cascade",
2265 "onUpdate": "no action"
2266 },
2267 "backup_userId_user_id_fk": {
2268 "name": "backup_userId_user_id_fk",
2269 "tableFrom": "backup",
2270 "tableTo": "user",
2271 "columnsFrom": [
2272 "userId"
2273 ],
2274 "columnsTo": [
2275 "id"
2276 ],
2277 "onDelete": "no action",
2278 "onUpdate": "no action"
2279 }
2280 },
2281 "compositePrimaryKeys": {},
2282 "uniqueConstraints": {
2283 "backup_appName_unique": {
2284 "name": "backup_appName_unique",
2285 "nullsNotDistinct": false,
2286 "columns": [
2287 "appName"
2288 ]
2289 }
2290 },
2291 "policies": {},
2292 "checkConstraints": {},
2293 "isRLSEnabled": false
2294 },
2295 "public.bitbucket": {
2296 "name": "bitbucket",
2297 "schema": "",
2298 "columns": {
2299 "bitbucketId": {
2300 "name": "bitbucketId",
2301 "type": "text",
2302 "primaryKey": true,
2303 "notNull": true
2304 },
2305 "bitbucketUsername": {
2306 "name": "bitbucketUsername",
2307 "type": "text",
2308 "primaryKey": false,
2309 "notNull": false
2310 },
2311 "bitbucketEmail": {
2312 "name": "bitbucketEmail",
2313 "type": "text",
2314 "primaryKey": false,
2315 "notNull": false
2316 },
2317 "appPassword": {
2318 "name": "appPassword",
2319 "type": "text",
2320 "primaryKey": false,
2321 "notNull": false
2322 },
2323 "apiToken": {
2324 "name": "apiToken",
2325 "type": "text",
2326 "primaryKey": false,
2327 "notNull": false
2328 },
2329 "bitbucketWorkspaceName": {
2330 "name": "bitbucketWorkspaceName",
2331 "type": "text",
2332 "primaryKey": false,
2333 "notNull": false
2334 },
2335 "gitProviderId": {
2336 "name": "gitProviderId",
2337 "type": "text",
2338 "primaryKey": false,
2339 "notNull": true
2340 }
2341 },
2342 "indexes": {},
2343 "foreignKeys": {
2344 "bitbucket_gitProviderId_git_provider_gitProviderId_fk": {
2345 "name": "bitbucket_gitProviderId_git_provider_gitProviderId_fk",
2346 "tableFrom": "bitbucket",
2347 "tableTo": "git_provider",
2348 "columnsFrom": [
2349 "gitProviderId"
2350 ],
2351 "columnsTo": [
2352 "gitProviderId"
2353 ],
2354 "onDelete": "cascade",
2355 "onUpdate": "no action"
2356 }
2357 },
2358 "compositePrimaryKeys": {},
2359 "uniqueConstraints": {},
2360 "policies": {},
2361 "checkConstraints": {},
2362 "isRLSEnabled": false
2363 },
2364 "public.certificate": {
2365 "name": "certificate",
2366 "schema": "",
2367 "columns": {
2368 "certificateId": {
2369 "name": "certificateId",
2370 "type": "text",
2371 "primaryKey": true,
2372 "notNull": true
2373 },
2374 "name": {
2375 "name": "name",
2376 "type": "text",
2377 "primaryKey": false,
2378 "notNull": true
2379 },
2380 "certificateData": {
2381 "name": "certificateData",
2382 "type": "text",
2383 "primaryKey": false,
2384 "notNull": true
2385 },
2386 "privateKey": {
2387 "name": "privateKey",
2388 "type": "text",
2389 "primaryKey": false,
2390 "notNull": true
2391 },
2392 "certificatePath": {
2393 "name": "certificatePath",
2394 "type": "text",
2395 "primaryKey": false,
2396 "notNull": true
2397 },
2398 "autoRenew": {
2399 "name": "autoRenew",
2400 "type": "boolean",
2401 "primaryKey": false,
2402 "notNull": false
2403 },
2404 "organizationId": {
2405 "name": "organizationId",
2406 "type": "text",
2407 "primaryKey": false,
2408 "notNull": true
2409 },
2410 "serverId": {
2411 "name": "serverId",
2412 "type": "text",
2413 "primaryKey": false,
2414 "notNull": false
2415 }
2416 },
2417 "indexes": {},
2418 "foreignKeys": {
2419 "certificate_organizationId_organization_id_fk": {
2420 "name": "certificate_organizationId_organization_id_fk",
2421 "tableFrom": "certificate",
2422 "tableTo": "organization",
2423 "columnsFrom": [
2424 "organizationId"
2425 ],
2426 "columnsTo": [
2427 "id"
2428 ],
2429 "onDelete": "cascade",
2430 "onUpdate": "no action"
2431 },
2432 "certificate_serverId_server_serverId_fk": {
2433 "name": "certificate_serverId_server_serverId_fk",
2434 "tableFrom": "certificate",
2435 "tableTo": "server",
2436 "columnsFrom": [
2437 "serverId"
2438 ],
2439 "columnsTo": [
2440 "serverId"
2441 ],
2442 "onDelete": "cascade",
2443 "onUpdate": "no action"
2444 }
2445 },
2446 "compositePrimaryKeys": {},
2447 "uniqueConstraints": {
2448 "certificate_certificatePath_unique": {
2449 "name": "certificate_certificatePath_unique",
2450 "nullsNotDistinct": false,
2451 "columns": [
2452 "certificatePath"
2453 ]
2454 }
2455 },
2456 "policies": {},
2457 "checkConstraints": {},
2458 "isRLSEnabled": false
2459 },
2460 "public.compose": {
2461 "name": "compose",
2462 "schema": "",
2463 "columns": {
2464 "composeId": {
2465 "name": "composeId",
2466 "type": "text",
2467 "primaryKey": true,
2468 "notNull": true
2469 },
2470 "name": {
2471 "name": "name",
2472 "type": "text",
2473 "primaryKey": false,
2474 "notNull": true
2475 },
2476 "appName": {
2477 "name": "appName",
2478 "type": "text",
2479 "primaryKey": false,
2480 "notNull": true
2481 },
2482 "description": {
2483 "name": "description",
2484 "type": "text",
2485 "primaryKey": false,
2486 "notNull": false
2487 },
2488 "env": {
2489 "name": "env",
2490 "type": "text",
2491 "primaryKey": false,
2492 "notNull": false
2493 },
2494 "composeFile": {
2495 "name": "composeFile",
2496 "type": "text",
2497 "primaryKey": false,
2498 "notNull": true,
2499 "default": "''"
2500 },
2501 "refreshToken": {
2502 "name": "refreshToken",
2503 "type": "text",
2504 "primaryKey": false,
2505 "notNull": false
2506 },
2507 "sourceType": {
2508 "name": "sourceType",
2509 "type": "sourceTypeCompose",
2510 "typeSchema": "public",
2511 "primaryKey": false,
2512 "notNull": true,
2513 "default": "'github'"
2514 },
2515 "composeType": {
2516 "name": "composeType",
2517 "type": "composeType",
2518 "typeSchema": "public",
2519 "primaryKey": false,
2520 "notNull": true,
2521 "default": "'docker-compose'"
2522 },
2523 "repository": {
2524 "name": "repository",
2525 "type": "text",
2526 "primaryKey": false,
2527 "notNull": false
2528 },
2529 "owner": {
2530 "name": "owner",
2531 "type": "text",
2532 "primaryKey": false,
2533 "notNull": false
2534 },
2535 "branch": {
2536 "name": "branch",
2537 "type": "text",
2538 "primaryKey": false,
2539 "notNull": false
2540 },
2541 "autoDeploy": {
2542 "name": "autoDeploy",
2543 "type": "boolean",
2544 "primaryKey": false,
2545 "notNull": false
2546 },
2547 "gitlabProjectId": {
2548 "name": "gitlabProjectId",
2549 "type": "integer",
2550 "primaryKey": false,
2551 "notNull": false
2552 },
2553 "gitlabRepository": {
2554 "name": "gitlabRepository",
2555 "type": "text",
2556 "primaryKey": false,
2557 "notNull": false
2558 },
2559 "gitlabOwner": {
2560 "name": "gitlabOwner",
2561 "type": "text",
2562 "primaryKey": false,
2563 "notNull": false
2564 },
2565 "gitlabBranch": {
2566 "name": "gitlabBranch",
2567 "type": "text",
2568 "primaryKey": false,
2569 "notNull": false
2570 },
2571 "gitlabPathNamespace": {
2572 "name": "gitlabPathNamespace",
2573 "type": "text",
2574 "primaryKey": false,
2575 "notNull": false
2576 },
2577 "bitbucketRepository": {
2578 "name": "bitbucketRepository",
2579 "type": "text",
2580 "primaryKey": false,
2581 "notNull": false
2582 },
2583 "bitbucketRepositorySlug": {
2584 "name": "bitbucketRepositorySlug",
2585 "type": "text",
2586 "primaryKey": false,
2587 "notNull": false
2588 },
2589 "bitbucketOwner": {
2590 "name": "bitbucketOwner",
2591 "type": "text",
2592 "primaryKey": false,
2593 "notNull": false
2594 },
2595 "bitbucketBranch": {
2596 "name": "bitbucketBranch",
2597 "type": "text",
2598 "primaryKey": false,
2599 "notNull": false
2600 },
2601 "giteaRepository": {
2602 "name": "giteaRepository",
2603 "type": "text",
2604 "primaryKey": false,
2605 "notNull": false
2606 },
2607 "giteaOwner": {
2608 "name": "giteaOwner",
2609 "type": "text",
2610 "primaryKey": false,
2611 "notNull": false
2612 },
2613 "giteaBranch": {
2614 "name": "giteaBranch",
2615 "type": "text",
2616 "primaryKey": false,
2617 "notNull": false
2618 },
2619 "customGitUrl": {
2620 "name": "customGitUrl",
2621 "type": "text",
2622 "primaryKey": false,
2623 "notNull": false
2624 },
2625 "customGitBranch": {
2626 "name": "customGitBranch",
2627 "type": "text",
2628 "primaryKey": false,
2629 "notNull": false
2630 },
2631 "customGitSSHKeyId": {
2632 "name": "customGitSSHKeyId",
2633 "type": "text",
2634 "primaryKey": false,
2635 "notNull": false
2636 },
2637 "command": {
2638 "name": "command",
2639 "type": "text",
2640 "primaryKey": false,
2641 "notNull": true,
2642 "default": "''"
2643 },
2644 "createEnvFile": {
2645 "name": "createEnvFile",
2646 "type": "boolean",
2647 "primaryKey": false,
2648 "notNull": true,
2649 "default": true
2650 },
2651 "enableSubmodules": {
2652 "name": "enableSubmodules",
2653 "type": "boolean",
2654 "primaryKey": false,
2655 "notNull": true,
2656 "default": false
2657 },
2658 "composePath": {
2659 "name": "composePath",
2660 "type": "text",
2661 "primaryKey": false,
2662 "notNull": true,
2663 "default": "'./docker-compose.yml'"
2664 },
2665 "suffix": {
2666 "name": "suffix",
2667 "type": "text",
2668 "primaryKey": false,
2669 "notNull": true,
2670 "default": "''"
2671 },
2672 "randomize": {
2673 "name": "randomize",
2674 "type": "boolean",
2675 "primaryKey": false,
2676 "notNull": true,
2677 "default": false
2678 },
2679 "isolatedDeployment": {
2680 "name": "isolatedDeployment",
2681 "type": "boolean",
2682 "primaryKey": false,
2683 "notNull": true,
2684 "default": false
2685 },
2686 "isolatedDeploymentsVolume": {
2687 "name": "isolatedDeploymentsVolume",
2688 "type": "boolean",
2689 "primaryKey": false,
2690 "notNull": true,
2691 "default": false
2692 },
2693 "triggerType": {
2694 "name": "triggerType",
2695 "type": "triggerType",
2696 "typeSchema": "public",
2697 "primaryKey": false,
2698 "notNull": false,
2699 "default": "'push'"
2700 },
2701 "composeStatus": {
2702 "name": "composeStatus",
2703 "type": "applicationStatus",
2704 "typeSchema": "public",
2705 "primaryKey": false,
2706 "notNull": true,
2707 "default": "'idle'"
2708 },
2709 "icon": {
2710 "name": "icon",
2711 "type": "text",
2712 "primaryKey": false,
2713 "notNull": false
2714 },
2715 "environmentId": {
2716 "name": "environmentId",
2717 "type": "text",
2718 "primaryKey": false,
2719 "notNull": true
2720 },
2721 "createdAt": {
2722 "name": "createdAt",
2723 "type": "text",
2724 "primaryKey": false,
2725 "notNull": true
2726 },
2727 "watchPaths": {
2728 "name": "watchPaths",
2729 "type": "text[]",
2730 "primaryKey": false,
2731 "notNull": false
2732 },
2733 "githubId": {
2734 "name": "githubId",
2735 "type": "text",
2736 "primaryKey": false,
2737 "notNull": false
2738 },
2739 "gitlabId": {
2740 "name": "gitlabId",
2741 "type": "text",
2742 "primaryKey": false,
2743 "notNull": false
2744 },
2745 "bitbucketId": {
2746 "name": "bitbucketId",
2747 "type": "text",
2748 "primaryKey": false,
2749 "notNull": false
2750 },
2751 "giteaId": {
2752 "name": "giteaId",
2753 "type": "text",
2754 "primaryKey": false,
2755 "notNull": false
2756 },
2757 "serverId": {
2758 "name": "serverId",
2759 "type": "text",
2760 "primaryKey": false,
2761 "notNull": false
2762 },
2763 "serviceNetworks": {
2764 "name": "serviceNetworks",
2765 "type": "jsonb",
2766 "primaryKey": false,
2767 "notNull": false,
2768 "default": "'[]'::jsonb"
2769 }
2770 },
2771 "indexes": {},
2772 "foreignKeys": {
2773 "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk": {
2774 "name": "compose_customGitSSHKeyId_ssh-key_sshKeyId_fk",
2775 "tableFrom": "compose",
2776 "tableTo": "ssh-key",
2777 "columnsFrom": [
2778 "customGitSSHKeyId"
2779 ],
2780 "columnsTo": [
2781 "sshKeyId"
2782 ],
2783 "onDelete": "set null",
2784 "onUpdate": "no action"
2785 },
2786 "compose_environmentId_environment_environmentId_fk": {
2787 "name": "compose_environmentId_environment_environmentId_fk",
2788 "tableFrom": "compose",
2789 "tableTo": "environment",
2790 "columnsFrom": [
2791 "environmentId"
2792 ],
2793 "columnsTo": [
2794 "environmentId"
2795 ],
2796 "onDelete": "cascade",
2797 "onUpdate": "no action"
2798 },
2799 "compose_githubId_github_githubId_fk": {
2800 "name": "compose_githubId_github_githubId_fk",
2801 "tableFrom": "compose",
2802 "tableTo": "github",
2803 "columnsFrom": [
2804 "githubId"
2805 ],
2806 "columnsTo": [
2807 "githubId"
2808 ],
2809 "onDelete": "set null",
2810 "onUpdate": "no action"
2811 },
2812 "compose_gitlabId_gitlab_gitlabId_fk": {
2813 "name": "compose_gitlabId_gitlab_gitlabId_fk",
2814 "tableFrom": "compose",
2815 "tableTo": "gitlab",
2816 "columnsFrom": [
2817 "gitlabId"
2818 ],
2819 "columnsTo": [
2820 "gitlabId"
2821 ],
2822 "onDelete": "set null",
2823 "onUpdate": "no action"
2824 },
2825 "compose_bitbucketId_bitbucket_bitbucketId_fk": {
2826 "name": "compose_bitbucketId_bitbucket_bitbucketId_fk",
2827 "tableFrom": "compose",
2828 "tableTo": "bitbucket",
2829 "columnsFrom": [
2830 "bitbucketId"
2831 ],
2832 "columnsTo": [
2833 "bitbucketId"
2834 ],
2835 "onDelete": "set null",
2836 "onUpdate": "no action"
2837 },
2838 "compose_giteaId_gitea_giteaId_fk": {
2839 "name": "compose_giteaId_gitea_giteaId_fk",
2840 "tableFrom": "compose",
2841 "tableTo": "gitea",
2842 "columnsFrom": [
2843 "giteaId"
2844 ],
2845 "columnsTo": [
2846 "giteaId"
2847 ],
2848 "onDelete": "set null",
2849 "onUpdate": "no action"
2850 },
2851 "compose_serverId_server_serverId_fk": {
2852 "name": "compose_serverId_server_serverId_fk",
2853 "tableFrom": "compose",
2854 "tableTo": "server",
2855 "columnsFrom": [
2856 "serverId"
2857 ],
2858 "columnsTo": [
2859 "serverId"
2860 ],
2861 "onDelete": "cascade",
2862 "onUpdate": "no action"
2863 }
2864 },
2865 "compositePrimaryKeys": {},
2866 "uniqueConstraints": {},
2867 "policies": {},
2868 "checkConstraints": {},
2869 "isRLSEnabled": false
2870 },
2871 "public.deployment": {
2872 "name": "deployment",
2873 "schema": "",
2874 "columns": {
2875 "deploymentId": {
2876 "name": "deploymentId",
2877 "type": "text",
2878 "primaryKey": true,
2879 "notNull": true
2880 },
2881 "title": {
2882 "name": "title",
2883 "type": "text",
2884 "primaryKey": false,
2885 "notNull": true
2886 },
2887 "description": {
2888 "name": "description",
2889 "type": "text",
2890 "primaryKey": false,
2891 "notNull": false
2892 },
2893 "status": {
2894 "name": "status",
2895 "type": "deploymentStatus",
2896 "typeSchema": "public",
2897 "primaryKey": false,
2898 "notNull": false,
2899 "default": "'running'"
2900 },
2901 "logPath": {
2902 "name": "logPath",
2903 "type": "text",
2904 "primaryKey": false,
2905 "notNull": true
2906 },
2907 "pid": {
2908 "name": "pid",
2909 "type": "text",
2910 "primaryKey": false,
2911 "notNull": false
2912 },
2913 "applicationId": {
2914 "name": "applicationId",
2915 "type": "text",
2916 "primaryKey": false,
2917 "notNull": false
2918 },
2919 "composeId": {
2920 "name": "composeId",
2921 "type": "text",
2922 "primaryKey": false,
2923 "notNull": false
2924 },
2925 "serverId": {
2926 "name": "serverId",
2927 "type": "text",
2928 "primaryKey": false,
2929 "notNull": false
2930 },
2931 "isPreviewDeployment": {
2932 "name": "isPreviewDeployment",
2933 "type": "boolean",
2934 "primaryKey": false,
2935 "notNull": false,
2936 "default": false
2937 },
2938 "previewDeploymentId": {
2939 "name": "previewDeploymentId",
2940 "type": "text",
2941 "primaryKey": false,
2942 "notNull": false
2943 },
2944 "createdAt": {
2945 "name": "createdAt",
2946 "type": "text",
2947 "primaryKey": false,
2948 "notNull": true
2949 },
2950 "startedAt": {
2951 "name": "startedAt",
2952 "type": "text",
2953 "primaryKey": false,
2954 "notNull": false
2955 },
2956 "finishedAt": {
2957 "name": "finishedAt",
2958 "type": "text",
2959 "primaryKey": false,
2960 "notNull": false
2961 },
2962 "errorMessage": {
2963 "name": "errorMessage",
2964 "type": "text",
2965 "primaryKey": false,
2966 "notNull": false
2967 },
2968 "scheduleId": {
2969 "name": "scheduleId",
2970 "type": "text",
2971 "primaryKey": false,
2972 "notNull": false
2973 },
2974 "backupId": {
2975 "name": "backupId",
2976 "type": "text",
2977 "primaryKey": false,
2978 "notNull": false
2979 },
2980 "rollbackId": {
2981 "name": "rollbackId",
2982 "type": "text",
2983 "primaryKey": false,
2984 "notNull": false
2985 },
2986 "volumeBackupId": {
2987 "name": "volumeBackupId",
2988 "type": "text",
2989 "primaryKey": false,
2990 "notNull": false
2991 },
2992 "buildServerId": {
2993 "name": "buildServerId",
2994 "type": "text",
2995 "primaryKey": false,
2996 "notNull": false
2997 }
2998 },
2999 "indexes": {},
3000 "foreignKeys": {
3001 "deployment_applicationId_application_applicationId_fk": {
3002 "name": "deployment_applicationId_application_applicationId_fk",
3003 "tableFrom": "deployment",
3004 "tableTo": "application",
3005 "columnsFrom": [
3006 "applicationId"
3007 ],
3008 "columnsTo": [
3009 "applicationId"
3010 ],
3011 "onDelete": "cascade",
3012 "onUpdate": "no action"
3013 },
3014 "deployment_composeId_compose_composeId_fk": {
3015 "name": "deployment_composeId_compose_composeId_fk",
3016 "tableFrom": "deployment",
3017 "tableTo": "compose",
3018 "columnsFrom": [
3019 "composeId"
3020 ],
3021 "columnsTo": [
3022 "composeId"
3023 ],
3024 "onDelete": "cascade",
3025 "onUpdate": "no action"
3026 },
3027 "deployment_serverId_server_serverId_fk": {
3028 "name": "deployment_serverId_server_serverId_fk",
3029 "tableFrom": "deployment",
3030 "tableTo": "server",
3031 "columnsFrom": [
3032 "serverId"
3033 ],
3034 "columnsTo": [
3035 "serverId"
3036 ],
3037 "onDelete": "cascade",
3038 "onUpdate": "no action"
3039 },
3040 "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk": {
3041 "name": "deployment_previewDeploymentId_preview_deployments_previewDeploymentId_fk",
3042 "tableFrom": "deployment",
3043 "tableTo": "preview_deployments",
3044 "columnsFrom": [
3045 "previewDeploymentId"
3046 ],
3047 "columnsTo": [
3048 "previewDeploymentId"
3049 ],
3050 "onDelete": "cascade",
3051 "onUpdate": "no action"
3052 },
3053 "deployment_scheduleId_schedule_scheduleId_fk": {
3054 "name": "deployment_scheduleId_schedule_scheduleId_fk",
3055 "tableFrom": "deployment",
3056 "tableTo": "schedule",
3057 "columnsFrom": [
3058 "scheduleId"
3059 ],
3060 "columnsTo": [
3061 "scheduleId"
3062 ],
3063 "onDelete": "cascade",
3064 "onUpdate": "no action"
3065 },
3066 "deployment_backupId_backup_backupId_fk": {
3067 "name": "deployment_backupId_backup_backupId_fk",
3068 "tableFrom": "deployment",
3069 "tableTo": "backup",
3070 "columnsFrom": [
3071 "backupId"
3072 ],
3073 "columnsTo": [
3074 "backupId"
3075 ],
3076 "onDelete": "cascade",
3077 "onUpdate": "no action"
3078 },
3079 "deployment_rollbackId_rollback_rollbackId_fk": {
3080 "name": "deployment_rollbackId_rollback_rollbackId_fk",
3081 "tableFrom": "deployment",
3082 "tableTo": "rollback",
3083 "columnsFrom": [
3084 "rollbackId"
3085 ],
3086 "columnsTo": [
3087 "rollbackId"
3088 ],
3089 "onDelete": "cascade",
3090 "onUpdate": "no action"
3091 },
3092 "deployment_volumeBackupId_volume_backup_volumeBackupId_fk": {
3093 "name": "deployment_volumeBackupId_volume_backup_volumeBackupId_fk",
3094 "tableFrom": "deployment",
3095 "tableTo": "volume_backup",
3096 "columnsFrom": [
3097 "volumeBackupId"
3098 ],
3099 "columnsTo": [
3100 "volumeBackupId"
3101 ],
3102 "onDelete": "cascade",
3103 "onUpdate": "no action"
3104 },
3105 "deployment_buildServerId_server_serverId_fk": {
3106 "name": "deployment_buildServerId_server_serverId_fk",
3107 "tableFrom": "deployment",
3108 "tableTo": "server",
3109 "columnsFrom": [
3110 "buildServerId"
3111 ],
3112 "columnsTo": [
3113 "serverId"
3114 ],
3115 "onDelete": "cascade",
3116 "onUpdate": "no action"
3117 }
3118 },
3119 "compositePrimaryKeys": {},
3120 "uniqueConstraints": {},
3121 "policies": {},
3122 "checkConstraints": {},
3123 "isRLSEnabled": false
3124 },
3125 "public.destination": {
3126 "name": "destination",
3127 "schema": "",
3128 "columns": {
3129 "destinationId": {
3130 "name": "destinationId",
3131 "type": "text",
3132 "primaryKey": true,
3133 "notNull": true
3134 },
3135 "name": {
3136 "name": "name",
3137 "type": "text",
3138 "primaryKey": false,
3139 "notNull": true
3140 },
3141 "provider": {
3142 "name": "provider",
3143 "type": "text",
3144 "primaryKey": false,
3145 "notNull": false
3146 },
3147 "accessKey": {
3148 "name": "accessKey",
3149 "type": "text",
3150 "primaryKey": false,
3151 "notNull": true
3152 },
3153 "secretAccessKey": {
3154 "name": "secretAccessKey",
3155 "type": "text",
3156 "primaryKey": false,
3157 "notNull": true
3158 },
3159 "bucket": {
3160 "name": "bucket",
3161 "type": "text",
3162 "primaryKey": false,
3163 "notNull": true
3164 },
3165 "region": {
3166 "name": "region",
3167 "type": "text",
3168 "primaryKey": false,
3169 "notNull": true
3170 },
3171 "endpoint": {
3172 "name": "endpoint",
3173 "type": "text",
3174 "primaryKey": false,
3175 "notNull": true
3176 },
3177 "additionalFlags": {
3178 "name": "additionalFlags",
3179 "type": "text[]",
3180 "primaryKey": false,
3181 "notNull": false
3182 },
3183 "organizationId": {
3184 "name": "organizationId",
3185 "type": "text",
3186 "primaryKey": false,
3187 "notNull": true
3188 },
3189 "createdAt": {
3190 "name": "createdAt",
3191 "type": "timestamp",
3192 "primaryKey": false,
3193 "notNull": true,
3194 "default": "now()"
3195 }
3196 },
3197 "indexes": {},
3198 "foreignKeys": {
3199 "destination_organizationId_organization_id_fk": {
3200 "name": "destination_organizationId_organization_id_fk",
3201 "tableFrom": "destination",
3202 "tableTo": "organization",
3203 "columnsFrom": [
3204 "organizationId"
3205 ],
3206 "columnsTo": [
3207 "id"
3208 ],
3209 "onDelete": "cascade",
3210 "onUpdate": "no action"
3211 }
3212 },
3213 "compositePrimaryKeys": {},
3214 "uniqueConstraints": {},
3215 "policies": {},
3216 "checkConstraints": {},
3217 "isRLSEnabled": false
3218 },
3219 "public.dns_provider": {
3220 "name": "dns_provider",
3221 "schema": "",
3222 "columns": {
3223 "dnsProviderId": {
3224 "name": "dnsProviderId",
3225 "type": "text",
3226 "primaryKey": true,
3227 "notNull": true
3228 },
3229 "name": {
3230 "name": "name",
3231 "type": "text",
3232 "primaryKey": false,
3233 "notNull": true
3234 },
3235 "providerType": {
3236 "name": "providerType",
3237 "type": "DnsProviderType",
3238 "typeSchema": "public",
3239 "primaryKey": false,
3240 "notNull": true
3241 },
3242 "config": {
3243 "name": "config",
3244 "type": "jsonb",
3245 "primaryKey": false,
3246 "notNull": true
3247 },
3248 "organizationId": {
3249 "name": "organizationId",
3250 "type": "text",
3251 "primaryKey": false,
3252 "notNull": true
3253 },
3254 "createdAt": {
3255 "name": "createdAt",
3256 "type": "text",
3257 "primaryKey": false,
3258 "notNull": true
3259 }
3260 },
3261 "indexes": {
3262 "dns_provider_org_name_idx": {
3263 "name": "dns_provider_org_name_idx",
3264 "columns": [
3265 {
3266 "expression": "organizationId",
3267 "isExpression": false,
3268 "asc": true,
3269 "nulls": "last"
3270 },
3271 {
3272 "expression": "name",
3273 "isExpression": false,
3274 "asc": true,
3275 "nulls": "last"
3276 }
3277 ],
3278 "isUnique": true,
3279 "concurrently": false,
3280 "method": "btree",
3281 "with": {}
3282 }
3283 },
3284 "foreignKeys": {
3285 "dns_provider_organizationId_organization_id_fk": {
3286 "name": "dns_provider_organizationId_organization_id_fk",
3287 "tableFrom": "dns_provider",
3288 "tableTo": "organization",
3289 "columnsFrom": [
3290 "organizationId"
3291 ],
3292 "columnsTo": [
3293 "id"
3294 ],
3295 "onDelete": "cascade",
3296 "onUpdate": "no action"
3297 }
3298 },
3299 "compositePrimaryKeys": {},
3300 "uniqueConstraints": {},
3301 "policies": {},
3302 "checkConstraints": {},
3303 "isRLSEnabled": false
3304 },
3305 "public.domain": {
3306 "name": "domain",
3307 "schema": "",
3308 "columns": {
3309 "domainId": {
3310 "name": "domainId",
3311 "type": "text",
3312 "primaryKey": true,
3313 "notNull": true
3314 },
3315 "host": {
3316 "name": "host",
3317 "type": "text",
3318 "primaryKey": false,
3319 "notNull": true
3320 },
3321 "https": {
3322 "name": "https",
3323 "type": "boolean",
3324 "primaryKey": false,
3325 "notNull": true,
3326 "default": false
3327 },
3328 "port": {
3329 "name": "port",
3330 "type": "integer",
3331 "primaryKey": false,
3332 "notNull": false,
3333 "default": 3000
3334 },
3335 "customEntrypoint": {
3336 "name": "customEntrypoint",
3337 "type": "text",
3338 "primaryKey": false,
3339 "notNull": false
3340 },
3341 "path": {
3342 "name": "path",
3343 "type": "text",
3344 "primaryKey": false,
3345 "notNull": false,
3346 "default": "'/'"
3347 },
3348 "serviceName": {
3349 "name": "serviceName",
3350 "type": "text",
3351 "primaryKey": false,
3352 "notNull": false
3353 },
3354 "domainType": {
3355 "name": "domainType",
3356 "type": "domainType",
3357 "typeSchema": "public",
3358 "primaryKey": false,
3359 "notNull": false,
3360 "default": "'application'"
3361 },
3362 "uniqueConfigKey": {
3363 "name": "uniqueConfigKey",
3364 "type": "serial",
3365 "primaryKey": false,
3366 "notNull": true
3367 },
3368 "createdAt": {
3369 "name": "createdAt",
3370 "type": "text",
3371 "primaryKey": false,
3372 "notNull": true
3373 },
3374 "composeId": {
3375 "name": "composeId",
3376 "type": "text",
3377 "primaryKey": false,
3378 "notNull": false
3379 },
3380 "customCertResolver": {
3381 "name": "customCertResolver",
3382 "type": "text",
3383 "primaryKey": false,
3384 "notNull": false
3385 },
3386 "applicationId": {
3387 "name": "applicationId",
3388 "type": "text",
3389 "primaryKey": false,
3390 "notNull": false
3391 },
3392 "previewDeploymentId": {
3393 "name": "previewDeploymentId",
3394 "type": "text",
3395 "primaryKey": false,
3396 "notNull": false
3397 },
3398 "certificateType": {
3399 "name": "certificateType",
3400 "type": "certificateType",
3401 "typeSchema": "public",
3402 "primaryKey": false,
3403 "notNull": true,
3404 "default": "'none'"
3405 },
3406 "internalPath": {
3407 "name": "internalPath",
3408 "type": "text",
3409 "primaryKey": false,
3410 "notNull": false,
3411 "default": "'/'"
3412 },
3413 "stripPath": {
3414 "name": "stripPath",
3415 "type": "boolean",
3416 "primaryKey": false,
3417 "notNull": true,
3418 "default": false
3419 },
3420 "middlewares": {
3421 "name": "middlewares",
3422 "type": "text[]",
3423 "primaryKey": false,
3424 "notNull": false,
3425 "default": "ARRAY[]::text[]"
3426 },
3427 "forwardAuthEnabled": {
3428 "name": "forwardAuthEnabled",
3429 "type": "boolean",
3430 "primaryKey": false,
3431 "notNull": true,
3432 "default": false
3433 },
3434 "enabled": {
3435 "name": "enabled",
3436 "type": "boolean",
3437 "primaryKey": false,
3438 "notNull": true,
3439 "default": true
3440 }
3441 },
3442 "indexes": {},
3443 "foreignKeys": {
3444 "domain_composeId_compose_composeId_fk": {
3445 "name": "domain_composeId_compose_composeId_fk",
3446 "tableFrom": "domain",
3447 "tableTo": "compose",
3448 "columnsFrom": [
3449 "composeId"
3450 ],
3451 "columnsTo": [
3452 "composeId"
3453 ],
3454 "onDelete": "cascade",
3455 "onUpdate": "no action"
3456 },
3457 "domain_applicationId_application_applicationId_fk": {
3458 "name": "domain_applicationId_application_applicationId_fk",
3459 "tableFrom": "domain",
3460 "tableTo": "application",
3461 "columnsFrom": [
3462 "applicationId"
3463 ],
3464 "columnsTo": [
3465 "applicationId"
3466 ],
3467 "onDelete": "cascade",
3468 "onUpdate": "no action"
3469 },
3470 "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk": {
3471 "name": "domain_previewDeploymentId_preview_deployments_previewDeploymentId_fk",
3472 "tableFrom": "domain",
3473 "tableTo": "preview_deployments",
3474 "columnsFrom": [
3475 "previewDeploymentId"
3476 ],
3477 "columnsTo": [
3478 "previewDeploymentId"
3479 ],
3480 "onDelete": "cascade",
3481 "onUpdate": "no action"
3482 }
3483 },
3484 "compositePrimaryKeys": {},
3485 "uniqueConstraints": {},
3486 "policies": {},
3487 "checkConstraints": {},
3488 "isRLSEnabled": false
3489 },
3490 "public.environment": {
3491 "name": "environment",
3492 "schema": "",
3493 "columns": {
3494 "environmentId": {
3495 "name": "environmentId",
3496 "type": "text",
3497 "primaryKey": true,
3498 "notNull": true
3499 },
3500 "name": {
3501 "name": "name",
3502 "type": "text",
3503 "primaryKey": false,
3504 "notNull": true
3505 },
3506 "description": {
3507 "name": "description",
3508 "type": "text",
3509 "primaryKey": false,
3510 "notNull": false
3511 },
3512 "createdAt": {
3513 "name": "createdAt",
3514 "type": "text",
3515 "primaryKey": false,
3516 "notNull": true
3517 },
3518 "env": {
3519 "name": "env",
3520 "type": "text",
3521 "primaryKey": false,
3522 "notNull": true,
3523 "default": "''"
3524 },
3525 "projectId": {
3526 "name": "projectId",
3527 "type": "text",
3528 "primaryKey": false,
3529 "notNull": true
3530 },
3531 "isDefault": {
3532 "name": "isDefault",
3533 "type": "boolean",
3534 "primaryKey": false,
3535 "notNull": true,
3536 "default": false
3537 }
3538 },
3539 "indexes": {},
3540 "foreignKeys": {
3541 "environment_projectId_project_projectId_fk": {
3542 "name": "environment_projectId_project_projectId_fk",
3543 "tableFrom": "environment",
3544 "tableTo": "project",
3545 "columnsFrom": [
3546 "projectId"
3547 ],
3548 "columnsTo": [
3549 "projectId"
3550 ],
3551 "onDelete": "cascade",
3552 "onUpdate": "no action"
3553 }
3554 },
3555 "compositePrimaryKeys": {},
3556 "uniqueConstraints": {},
3557 "policies": {},
3558 "checkConstraints": {},
3559 "isRLSEnabled": false
3560 },
3561 "public.forward_auth_settings": {
3562 "name": "forward_auth_settings",
3563 "schema": "",
3564 "columns": {
3565 "forwardAuthSettingsId": {
3566 "name": "forwardAuthSettingsId",
3567 "type": "text",
3568 "primaryKey": true,
3569 "notNull": true
3570 },
3571 "authDomain": {
3572 "name": "authDomain",
3573 "type": "text",
3574 "primaryKey": false,
3575 "notNull": true
3576 },
3577 "baseDomain": {
3578 "name": "baseDomain",
3579 "type": "text",
3580 "primaryKey": false,
3581 "notNull": true
3582 },
3583 "https": {
3584 "name": "https",
3585 "type": "boolean",
3586 "primaryKey": false,
3587 "notNull": true,
3588 "default": true
3589 },
3590 "certificateType": {
3591 "name": "certificateType",
3592 "type": "certificateType",
3593 "typeSchema": "public",
3594 "primaryKey": false,
3595 "notNull": true,
3596 "default": "'letsencrypt'"
3597 },
3598 "customCertResolver": {
3599 "name": "customCertResolver",
3600 "type": "text",
3601 "primaryKey": false,
3602 "notNull": false
3603 },
3604 "providerId": {
3605 "name": "providerId",
3606 "type": "text",
3607 "primaryKey": false,
3608 "notNull": false
3609 },
3610 "serverId": {
3611 "name": "serverId",
3612 "type": "text",
3613 "primaryKey": false,
3614 "notNull": false
3615 },
3616 "createdAt": {
3617 "name": "createdAt",
3618 "type": "text",
3619 "primaryKey": false,
3620 "notNull": true
3621 }
3622 },
3623 "indexes": {},
3624 "foreignKeys": {
3625 "forward_auth_settings_providerId_sso_provider_provider_id_fk": {
3626 "name": "forward_auth_settings_providerId_sso_provider_provider_id_fk",
3627 "tableFrom": "forward_auth_settings",
3628 "tableTo": "sso_provider",
3629 "columnsFrom": [
3630 "providerId"
3631 ],
3632 "columnsTo": [
3633 "provider_id"
3634 ],
3635 "onDelete": "set null",
3636 "onUpdate": "no action"
3637 },
3638 "forward_auth_settings_serverId_server_serverId_fk": {
3639 "name": "forward_auth_settings_serverId_server_serverId_fk",
3640 "tableFrom": "forward_auth_settings",
3641 "tableTo": "server",
3642 "columnsFrom": [
3643 "serverId"
3644 ],
3645 "columnsTo": [
3646 "serverId"
3647 ],
3648 "onDelete": "cascade",
3649 "onUpdate": "no action"
3650 }
3651 },
3652 "compositePrimaryKeys": {},
3653 "uniqueConstraints": {
3654 "forward_auth_settings_serverId_unique": {
3655 "name": "forward_auth_settings_serverId_unique",
3656 "nullsNotDistinct": false,
3657 "columns": [
3658 "serverId"
3659 ]
3660 }
3661 },
3662 "policies": {},
3663 "checkConstraints": {},
3664 "isRLSEnabled": false
3665 },
3666 "public.git_provider": {
3667 "name": "git_provider",
3668 "schema": "",
3669 "columns": {
3670 "gitProviderId": {
3671 "name": "gitProviderId",
3672 "type": "text",
3673 "primaryKey": true,
3674 "notNull": true
3675 },
3676 "name": {
3677 "name": "name",
3678 "type": "text",
3679 "primaryKey": false,
3680 "notNull": true
3681 },
3682 "providerType": {
3683 "name": "providerType",
3684 "type": "gitProviderType",
3685 "typeSchema": "public",
3686 "primaryKey": false,
3687 "notNull": true,
3688 "default": "'github'"
3689 },
3690 "createdAt": {
3691 "name": "createdAt",
3692 "type": "text",
3693 "primaryKey": false,
3694 "notNull": true
3695 },
3696 "organizationId": {
3697 "name": "organizationId",
3698 "type": "text",
3699 "primaryKey": false,
3700 "notNull": true
3701 },
3702 "userId": {
3703 "name": "userId",
3704 "type": "text",
3705 "primaryKey": false,
3706 "notNull": true
3707 },
3708 "sharedWithOrganization": {
3709 "name": "sharedWithOrganization",
3710 "type": "boolean",
3711 "primaryKey": false,
3712 "notNull": true,
3713 "default": false
3714 }
3715 },
3716 "indexes": {},
3717 "foreignKeys": {
3718 "git_provider_organizationId_organization_id_fk": {
3719 "name": "git_provider_organizationId_organization_id_fk",
3720 "tableFrom": "git_provider",
3721 "tableTo": "organization",
3722 "columnsFrom": [
3723 "organizationId"
3724 ],
3725 "columnsTo": [
3726 "id"
3727 ],
3728 "onDelete": "cascade",
3729 "onUpdate": "no action"
3730 },
3731 "git_provider_userId_user_id_fk": {
3732 "name": "git_provider_userId_user_id_fk",
3733 "tableFrom": "git_provider",
3734 "tableTo": "user",
3735 "columnsFrom": [
3736 "userId"
3737 ],
3738 "columnsTo": [
3739 "id"
3740 ],
3741 "onDelete": "cascade",
3742 "onUpdate": "no action"
3743 }
3744 },
3745 "compositePrimaryKeys": {},
3746 "uniqueConstraints": {},
3747 "policies": {},
3748 "checkConstraints": {},
3749 "isRLSEnabled": false
3750 },
3751 "public.gitea": {
3752 "name": "gitea",
3753 "schema": "",
3754 "columns": {
3755 "giteaId": {
3756 "name": "giteaId",
3757 "type": "text",
3758 "primaryKey": true,
3759 "notNull": true
3760 },
3761 "giteaUrl": {
3762 "name": "giteaUrl",
3763 "type": "text",
3764 "primaryKey": false,
3765 "notNull": true,
3766 "default": "'https://gitea.com'"
3767 },
3768 "giteaInternalUrl": {
3769 "name": "giteaInternalUrl",
3770 "type": "text",
3771 "primaryKey": false,
3772 "notNull": false
3773 },
3774 "redirect_uri": {
3775 "name": "redirect_uri",
3776 "type": "text",
3777 "primaryKey": false,
3778 "notNull": false
3779 },
3780 "client_id": {
3781 "name": "client_id",
3782 "type": "text",
3783 "primaryKey": false,
3784 "notNull": false
3785 },
3786 "client_secret": {
3787 "name": "client_secret",
3788 "type": "text",
3789 "primaryKey": false,
3790 "notNull": false
3791 },
3792 "gitProviderId": {
3793 "name": "gitProviderId",
3794 "type": "text",
3795 "primaryKey": false,
3796 "notNull": true
3797 },
3798 "access_token": {
3799 "name": "access_token",
3800 "type": "text",
3801 "primaryKey": false,
3802 "notNull": false
3803 },
3804 "refresh_token": {
3805 "name": "refresh_token",
3806 "type": "text",
3807 "primaryKey": false,
3808 "notNull": false
3809 },
3810 "expires_at": {
3811 "name": "expires_at",
3812 "type": "integer",
3813 "primaryKey": false,
3814 "notNull": false
3815 },
3816 "scopes": {
3817 "name": "scopes",
3818 "type": "text",
3819 "primaryKey": false,
3820 "notNull": false,
3821 "default": "'repo,repo:status,read:user,read:org'"
3822 },
3823 "last_authenticated_at": {
3824 "name": "last_authenticated_at",
3825 "type": "integer",
3826 "primaryKey": false,
3827 "notNull": false
3828 }
3829 },
3830 "indexes": {},
3831 "foreignKeys": {
3832 "gitea_gitProviderId_git_provider_gitProviderId_fk": {
3833 "name": "gitea_gitProviderId_git_provider_gitProviderId_fk",
3834 "tableFrom": "gitea",
3835 "tableTo": "git_provider",
3836 "columnsFrom": [
3837 "gitProviderId"
3838 ],
3839 "columnsTo": [
3840 "gitProviderId"
3841 ],
3842 "onDelete": "cascade",
3843 "onUpdate": "no action"
3844 }
3845 },
3846 "compositePrimaryKeys": {},
3847 "uniqueConstraints": {},
3848 "policies": {},
3849 "checkConstraints": {},
3850 "isRLSEnabled": false
3851 },
3852 "public.github": {
3853 "name": "github",
3854 "schema": "",
3855 "columns": {
3856 "githubId": {
3857 "name": "githubId",
3858 "type": "text",
3859 "primaryKey": true,
3860 "notNull": true
3861 },
3862 "githubAppName": {
3863 "name": "githubAppName",
3864 "type": "text",
3865 "primaryKey": false,
3866 "notNull": false
3867 },
3868 "githubAppId": {
3869 "name": "githubAppId",
3870 "type": "integer",
3871 "primaryKey": false,
3872 "notNull": false
3873 },
3874 "githubClientId": {
3875 "name": "githubClientId",
3876 "type": "text",
3877 "primaryKey": false,
3878 "notNull": false
3879 },
3880 "githubClientSecret": {
3881 "name": "githubClientSecret",
3882 "type": "text",
3883 "primaryKey": false,
3884 "notNull": false
3885 },
3886 "githubInstallationId": {
3887 "name": "githubInstallationId",
3888 "type": "text",
3889 "primaryKey": false,
3890 "notNull": false
3891 },
3892 "githubPrivateKey": {
3893 "name": "githubPrivateKey",
3894 "type": "text",
3895 "primaryKey": false,
3896 "notNull": false
3897 },
3898 "githubWebhookSecret": {
3899 "name": "githubWebhookSecret",
3900 "type": "text",
3901 "primaryKey": false,
3902 "notNull": false
3903 },
3904 "githubUrl": {
3905 "name": "githubUrl",
3906 "type": "text",
3907 "primaryKey": false,
3908 "notNull": true,
3909 "default": "'https://github.com'"
3910 },
3911 "gitProviderId": {
3912 "name": "gitProviderId",
3913 "type": "text",
3914 "primaryKey": false,
3915 "notNull": true
3916 }
3917 },
3918 "indexes": {},
3919 "foreignKeys": {
3920 "github_gitProviderId_git_provider_gitProviderId_fk": {
3921 "name": "github_gitProviderId_git_provider_gitProviderId_fk",
3922 "tableFrom": "github",
3923 "tableTo": "git_provider",
3924 "columnsFrom": [
3925 "gitProviderId"
3926 ],
3927 "columnsTo": [
3928 "gitProviderId"
3929 ],
3930 "onDelete": "cascade",
3931 "onUpdate": "no action"
3932 }
3933 },
3934 "compositePrimaryKeys": {},
3935 "uniqueConstraints": {},
3936 "policies": {},
3937 "checkConstraints": {},
3938 "isRLSEnabled": false
3939 },
3940 "public.gitlab": {
3941 "name": "gitlab",
3942 "schema": "",
3943 "columns": {
3944 "gitlabId": {
3945 "name": "gitlabId",
3946 "type": "text",
3947 "primaryKey": true,
3948 "notNull": true
3949 },
3950 "gitlabUrl": {
3951 "name": "gitlabUrl",
3952 "type": "text",
3953 "primaryKey": false,
3954 "notNull": true,
3955 "default": "'https://gitlab.com'"
3956 },
3957 "gitlabInternalUrl": {
3958 "name": "gitlabInternalUrl",
3959 "type": "text",
3960 "primaryKey": false,
3961 "notNull": false
3962 },
3963 "application_id": {
3964 "name": "application_id",
3965 "type": "text",
3966 "primaryKey": false,
3967 "notNull": false
3968 },
3969 "redirect_uri": {
3970 "name": "redirect_uri",
3971 "type": "text",
3972 "primaryKey": false,
3973 "notNull": false
3974 },
3975 "secret": {
3976 "name": "secret",
3977 "type": "text",
3978 "primaryKey": false,
3979 "notNull": false
3980 },
3981 "access_token": {
3982 "name": "access_token",
3983 "type": "text",
3984 "primaryKey": false,
3985 "notNull": false
3986 },
3987 "refresh_token": {
3988 "name": "refresh_token",
3989 "type": "text",
3990 "primaryKey": false,
3991 "notNull": false
3992 },
3993 "group_name": {
3994 "name": "group_name",
3995 "type": "text",
3996 "primaryKey": false,
3997 "notNull": false
3998 },
3999 "expires_at": {
4000 "name": "expires_at",
4001 "type": "integer",
4002 "primaryKey": false,
4003 "notNull": false
4004 },
4005 "gitProviderId": {
4006 "name": "gitProviderId",
4007 "type": "text",
4008 "primaryKey": false,
4009 "notNull": true
4010 }
4011 },
4012 "indexes": {},
4013 "foreignKeys": {
4014 "gitlab_gitProviderId_git_provider_gitProviderId_fk": {
4015 "name": "gitlab_gitProviderId_git_provider_gitProviderId_fk",
4016 "tableFrom": "gitlab",
4017 "tableTo": "git_provider",
4018 "columnsFrom": [
4019 "gitProviderId"
4020 ],
4021 "columnsTo": [
4022 "gitProviderId"
4023 ],
4024 "onDelete": "cascade",
4025 "onUpdate": "no action"
4026 }
4027 },
4028 "compositePrimaryKeys": {},
4029 "uniqueConstraints": {},
4030 "policies": {},
4031 "checkConstraints": {},
4032 "isRLSEnabled": false
4033 },
4034 "public.libsql": {
4035 "name": "libsql",
4036 "schema": "",
4037 "columns": {
4038 "libsqlId": {
4039 "name": "libsqlId",
4040 "type": "text",
4041 "primaryKey": true,
4042 "notNull": true
4043 },
4044 "name": {
4045 "name": "name",
4046 "type": "text",
4047 "primaryKey": false,
4048 "notNull": true
4049 },
4050 "appName": {
4051 "name": "appName",
4052 "type": "text",
4053 "primaryKey": false,
4054 "notNull": true
4055 },
4056 "description": {
4057 "name": "description",
4058 "type": "text",
4059 "primaryKey": false,
4060 "notNull": false
4061 },
4062 "databaseUser": {
4063 "name": "databaseUser",
4064 "type": "text",
4065 "primaryKey": false,
4066 "notNull": true
4067 },
4068 "databasePassword": {
4069 "name": "databasePassword",
4070 "type": "text",
4071 "primaryKey": false,
4072 "notNull": true
4073 },
4074 "sqldNode": {
4075 "name": "sqldNode",
4076 "type": "sqldNode",
4077 "typeSchema": "public",
4078 "primaryKey": false,
4079 "notNull": true,
4080 "default": "'primary'"
4081 },
4082 "sqldPrimaryUrl": {
4083 "name": "sqldPrimaryUrl",
4084 "type": "text",
4085 "primaryKey": false,
4086 "notNull": false
4087 },
4088 "enableNamespaces": {
4089 "name": "enableNamespaces",
4090 "type": "boolean",
4091 "primaryKey": false,
4092 "notNull": true,
4093 "default": false
4094 },
4095 "dockerImage": {
4096 "name": "dockerImage",
4097 "type": "text",
4098 "primaryKey": false,
4099 "notNull": true
4100 },
4101 "command": {
4102 "name": "command",
4103 "type": "text",
4104 "primaryKey": false,
4105 "notNull": false
4106 },
4107 "env": {
4108 "name": "env",
4109 "type": "text",
4110 "primaryKey": false,
4111 "notNull": false
4112 },
4113 "memoryReservation": {
4114 "name": "memoryReservation",
4115 "type": "text",
4116 "primaryKey": false,
4117 "notNull": false
4118 },
4119 "memoryLimit": {
4120 "name": "memoryLimit",
4121 "type": "text",
4122 "primaryKey": false,
4123 "notNull": false
4124 },
4125 "cpuReservation": {
4126 "name": "cpuReservation",
4127 "type": "text",
4128 "primaryKey": false,
4129 "notNull": false
4130 },
4131 "cpuLimit": {
4132 "name": "cpuLimit",
4133 "type": "text",
4134 "primaryKey": false,
4135 "notNull": false
4136 },
4137 "externalPort": {
4138 "name": "externalPort",
4139 "type": "integer",
4140 "primaryKey": false,
4141 "notNull": false
4142 },
4143 "externalGRPCPort": {
4144 "name": "externalGRPCPort",
4145 "type": "integer",
4146 "primaryKey": false,
4147 "notNull": false
4148 },
4149 "externalAdminPort": {
4150 "name": "externalAdminPort",
4151 "type": "integer",
4152 "primaryKey": false,
4153 "notNull": false
4154 },
4155 "applicationStatus": {
4156 "name": "applicationStatus",
4157 "type": "applicationStatus",
4158 "typeSchema": "public",
4159 "primaryKey": false,
4160 "notNull": true,
4161 "default": "'idle'"
4162 },
4163 "healthCheckSwarm": {
4164 "name": "healthCheckSwarm",
4165 "type": "json",
4166 "primaryKey": false,
4167 "notNull": false
4168 },
4169 "restartPolicySwarm": {
4170 "name": "restartPolicySwarm",
4171 "type": "json",
4172 "primaryKey": false,
4173 "notNull": false
4174 },
4175 "placementSwarm": {
4176 "name": "placementSwarm",
4177 "type": "json",
4178 "primaryKey": false,
4179 "notNull": false
4180 },
4181 "updateConfigSwarm": {
4182 "name": "updateConfigSwarm",
4183 "type": "json",
4184 "primaryKey": false,
4185 "notNull": false
4186 },
4187 "rollbackConfigSwarm": {
4188 "name": "rollbackConfigSwarm",
4189 "type": "json",
4190 "primaryKey": false,
4191 "notNull": false
4192 },
4193 "modeSwarm": {
4194 "name": "modeSwarm",
4195 "type": "json",
4196 "primaryKey": false,
4197 "notNull": false
4198 },
4199 "labelsSwarm": {
4200 "name": "labelsSwarm",
4201 "type": "json",
4202 "primaryKey": false,
4203 "notNull": false
4204 },
4205 "networkSwarm": {
4206 "name": "networkSwarm",
4207 "type": "json",
4208 "primaryKey": false,
4209 "notNull": false
4210 },
4211 "stopGracePeriodSwarm": {
4212 "name": "stopGracePeriodSwarm",
4213 "type": "bigint",
4214 "primaryKey": false,
4215 "notNull": false
4216 },
4217 "endpointSpecSwarm": {
4218 "name": "endpointSpecSwarm",
4219 "type": "json",
4220 "primaryKey": false,
4221 "notNull": false
4222 },
4223 "replicas": {
4224 "name": "replicas",
4225 "type": "integer",
4226 "primaryKey": false,
4227 "notNull": true,
4228 "default": 1
4229 },
4230 "networkIds": {
4231 "name": "networkIds",
4232 "type": "text[]",
4233 "primaryKey": false,
4234 "notNull": false,
4235 "default": "'{}'"
4236 },
4237 "detachDokployNetwork": {
4238 "name": "detachDokployNetwork",
4239 "type": "boolean",
4240 "primaryKey": false,
4241 "notNull": true,
4242 "default": false
4243 },
4244 "createdAt": {
4245 "name": "createdAt",
4246 "type": "text",
4247 "primaryKey": false,
4248 "notNull": true
4249 },
4250 "environmentId": {
4251 "name": "environmentId",
4252 "type": "text",
4253 "primaryKey": false,
4254 "notNull": true
4255 },
4256 "serverId": {
4257 "name": "serverId",
4258 "type": "text",
4259 "primaryKey": false,
4260 "notNull": false
4261 }
4262 },
4263 "indexes": {},
4264 "foreignKeys": {
4265 "libsql_environmentId_environment_environmentId_fk": {
4266 "name": "libsql_environmentId_environment_environmentId_fk",
4267 "tableFrom": "libsql",
4268 "tableTo": "environment",
4269 "columnsFrom": [
4270 "environmentId"
4271 ],
4272 "columnsTo": [
4273 "environmentId"
4274 ],
4275 "onDelete": "cascade",
4276 "onUpdate": "no action"
4277 },
4278 "libsql_serverId_server_serverId_fk": {
4279 "name": "libsql_serverId_server_serverId_fk",
4280 "tableFrom": "libsql",
4281 "tableTo": "server",
4282 "columnsFrom": [
4283 "serverId"
4284 ],
4285 "columnsTo": [
4286 "serverId"
4287 ],
4288 "onDelete": "cascade",
4289 "onUpdate": "no action"
4290 }
4291 },
4292 "compositePrimaryKeys": {},
4293 "uniqueConstraints": {
4294 "libsql_appName_unique": {
4295 "name": "libsql_appName_unique",
4296 "nullsNotDistinct": false,
4297 "columns": [
4298 "appName"
4299 ]
4300 }
4301 },
4302 "policies": {},
4303 "checkConstraints": {},
4304 "isRLSEnabled": false
4305 },
4306 "public.mariadb": {
4307 "name": "mariadb",
4308 "schema": "",
4309 "columns": {
4310 "mariadbId": {
4311 "name": "mariadbId",
4312 "type": "text",
4313 "primaryKey": true,
4314 "notNull": true
4315 },
4316 "name": {
4317 "name": "name",
4318 "type": "text",
4319 "primaryKey": false,
4320 "notNull": true
4321 },
4322 "appName": {
4323 "name": "appName",
4324 "type": "text",
4325 "primaryKey": false,
4326 "notNull": true
4327 },
4328 "description": {
4329 "name": "description",
4330 "type": "text",
4331 "primaryKey": false,
4332 "notNull": false
4333 },
4334 "databaseName": {
4335 "name": "databaseName",
4336 "type": "text",
4337 "primaryKey": false,
4338 "notNull": true
4339 },
4340 "databaseUser": {
4341 "name": "databaseUser",
4342 "type": "text",
4343 "primaryKey": false,
4344 "notNull": true
4345 },
4346 "databasePassword": {
4347 "name": "databasePassword",
4348 "type": "text",
4349 "primaryKey": false,
4350 "notNull": true
4351 },
4352 "rootPassword": {
4353 "name": "rootPassword",
4354 "type": "text",
4355 "primaryKey": false,
4356 "notNull": true
4357 },
4358 "dockerImage": {
4359 "name": "dockerImage",
4360 "type": "text",
4361 "primaryKey": false,
4362 "notNull": true
4363 },
4364 "command": {
4365 "name": "command",
4366 "type": "text",
4367 "primaryKey": false,
4368 "notNull": false
4369 },
4370 "args": {
4371 "name": "args",
4372 "type": "text[]",
4373 "primaryKey": false,
4374 "notNull": false
4375 },
4376 "env": {
4377 "name": "env",
4378 "type": "text",
4379 "primaryKey": false,
4380 "notNull": false
4381 },
4382 "memoryReservation": {
4383 "name": "memoryReservation",
4384 "type": "text",
4385 "primaryKey": false,
4386 "notNull": false
4387 },
4388 "memoryLimit": {
4389 "name": "memoryLimit",
4390 "type": "text",
4391 "primaryKey": false,
4392 "notNull": false
4393 },
4394 "cpuReservation": {
4395 "name": "cpuReservation",
4396 "type": "text",
4397 "primaryKey": false,
4398 "notNull": false
4399 },
4400 "cpuLimit": {
4401 "name": "cpuLimit",
4402 "type": "text",
4403 "primaryKey": false,
4404 "notNull": false
4405 },
4406 "externalPort": {
4407 "name": "externalPort",
4408 "type": "integer",
4409 "primaryKey": false,
4410 "notNull": false
4411 },
4412 "applicationStatus": {
4413 "name": "applicationStatus",
4414 "type": "applicationStatus",
4415 "typeSchema": "public",
4416 "primaryKey": false,
4417 "notNull": true,
4418 "default": "'idle'"
4419 },
4420 "healthCheckSwarm": {
4421 "name": "healthCheckSwarm",
4422 "type": "json",
4423 "primaryKey": false,
4424 "notNull": false
4425 },
4426 "restartPolicySwarm": {
4427 "name": "restartPolicySwarm",
4428 "type": "json",
4429 "primaryKey": false,
4430 "notNull": false
4431 },
4432 "placementSwarm": {
4433 "name": "placementSwarm",
4434 "type": "json",
4435 "primaryKey": false,
4436 "notNull": false
4437 },
4438 "updateConfigSwarm": {
4439 "name": "updateConfigSwarm",
4440 "type": "json",
4441 "primaryKey": false,
4442 "notNull": false
4443 },
4444 "rollbackConfigSwarm": {
4445 "name": "rollbackConfigSwarm",
4446 "type": "json",
4447 "primaryKey": false,
4448 "notNull": false
4449 },
4450 "modeSwarm": {
4451 "name": "modeSwarm",
4452 "type": "json",
4453 "primaryKey": false,
4454 "notNull": false
4455 },
4456 "labelsSwarm": {
4457 "name": "labelsSwarm",
4458 "type": "json",
4459 "primaryKey": false,
4460 "notNull": false
4461 },
4462 "networkSwarm": {
4463 "name": "networkSwarm",
4464 "type": "json",
4465 "primaryKey": false,
4466 "notNull": false
4467 },
4468 "stopGracePeriodSwarm": {
4469 "name": "stopGracePeriodSwarm",
4470 "type": "bigint",
4471 "primaryKey": false,
4472 "notNull": false
4473 },
4474 "endpointSpecSwarm": {
4475 "name": "endpointSpecSwarm",
4476 "type": "json",
4477 "primaryKey": false,
4478 "notNull": false
4479 },
4480 "ulimitsSwarm": {
4481 "name": "ulimitsSwarm",
4482 "type": "json",
4483 "primaryKey": false,
4484 "notNull": false
4485 },
4486 "replicas": {
4487 "name": "replicas",
4488 "type": "integer",
4489 "primaryKey": false,
4490 "notNull": true,
4491 "default": 1
4492 },
4493 "createdAt": {
4494 "name": "createdAt",
4495 "type": "text",
4496 "primaryKey": false,
4497 "notNull": true
4498 },
4499 "environmentId": {
4500 "name": "environmentId",
4501 "type": "text",
4502 "primaryKey": false,
4503 "notNull": true
4504 },
4505 "serverId": {
4506 "name": "serverId",
4507 "type": "text",
4508 "primaryKey": false,
4509 "notNull": false
4510 },
4511 "networkIds": {
4512 "name": "networkIds",
4513 "type": "text[]",
4514 "primaryKey": false,
4515 "notNull": false,
4516 "default": "'{}'"
4517 },
4518 "detachDokployNetwork": {
4519 "name": "detachDokployNetwork",
4520 "type": "boolean",
4521 "primaryKey": false,
4522 "notNull": true,
4523 "default": false
4524 }
4525 },
4526 "indexes": {},
4527 "foreignKeys": {
4528 "mariadb_environmentId_environment_environmentId_fk": {
4529 "name": "mariadb_environmentId_environment_environmentId_fk",
4530 "tableFrom": "mariadb",
4531 "tableTo": "environment",
4532 "columnsFrom": [
4533 "environmentId"
4534 ],
4535 "columnsTo": [
4536 "environmentId"
4537 ],
4538 "onDelete": "cascade",
4539 "onUpdate": "no action"
4540 },
4541 "mariadb_serverId_server_serverId_fk": {
4542 "name": "mariadb_serverId_server_serverId_fk",
4543 "tableFrom": "mariadb",
4544 "tableTo": "server",
4545 "columnsFrom": [
4546 "serverId"
4547 ],
4548 "columnsTo": [
4549 "serverId"
4550 ],
4551 "onDelete": "cascade",
4552 "onUpdate": "no action"
4553 }
4554 },
4555 "compositePrimaryKeys": {},
4556 "uniqueConstraints": {
4557 "mariadb_appName_unique": {
4558 "name": "mariadb_appName_unique",
4559 "nullsNotDistinct": false,
4560 "columns": [
4561 "appName"
4562 ]
4563 }
4564 },
4565 "policies": {},
4566 "checkConstraints": {},
4567 "isRLSEnabled": false
4568 },
4569 "public.mongo": {
4570 "name": "mongo",
4571 "schema": "",
4572 "columns": {
4573 "mongoId": {
4574 "name": "mongoId",
4575 "type": "text",
4576 "primaryKey": true,
4577 "notNull": true
4578 },
4579 "name": {
4580 "name": "name",
4581 "type": "text",
4582 "primaryKey": false,
4583 "notNull": true
4584 },
4585 "appName": {
4586 "name": "appName",
4587 "type": "text",
4588 "primaryKey": false,
4589 "notNull": true
4590 },
4591 "description": {
4592 "name": "description",
4593 "type": "text",
4594 "primaryKey": false,
4595 "notNull": false
4596 },
4597 "databaseUser": {
4598 "name": "databaseUser",
4599 "type": "text",
4600 "primaryKey": false,
4601 "notNull": true
4602 },
4603 "databasePassword": {
4604 "name": "databasePassword",
4605 "type": "text",
4606 "primaryKey": false,
4607 "notNull": true
4608 },
4609 "dockerImage": {
4610 "name": "dockerImage",
4611 "type": "text",
4612 "primaryKey": false,
4613 "notNull": true,
4614 "default": "'mongo:8'"
4615 },
4616 "command": {
4617 "name": "command",
4618 "type": "text",
4619 "primaryKey": false,
4620 "notNull": false
4621 },
4622 "args": {
4623 "name": "args",
4624 "type": "text[]",
4625 "primaryKey": false,
4626 "notNull": false
4627 },
4628 "env": {
4629 "name": "env",
4630 "type": "text",
4631 "primaryKey": false,
4632 "notNull": false
4633 },
4634 "memoryReservation": {
4635 "name": "memoryReservation",
4636 "type": "text",
4637 "primaryKey": false,
4638 "notNull": false
4639 },
4640 "memoryLimit": {
4641 "name": "memoryLimit",
4642 "type": "text",
4643 "primaryKey": false,
4644 "notNull": false
4645 },
4646 "cpuReservation": {
4647 "name": "cpuReservation",
4648 "type": "text",
4649 "primaryKey": false,
4650 "notNull": false
4651 },
4652 "cpuLimit": {
4653 "name": "cpuLimit",
4654 "type": "text",
4655 "primaryKey": false,
4656 "notNull": false
4657 },
4658 "externalPort": {
4659 "name": "externalPort",
4660 "type": "integer",
4661 "primaryKey": false,
4662 "notNull": false
4663 },
4664 "applicationStatus": {
4665 "name": "applicationStatus",
4666 "type": "applicationStatus",
4667 "typeSchema": "public",
4668 "primaryKey": false,
4669 "notNull": true,
4670 "default": "'idle'"
4671 },
4672 "healthCheckSwarm": {
4673 "name": "healthCheckSwarm",
4674 "type": "json",
4675 "primaryKey": false,
4676 "notNull": false
4677 },
4678 "restartPolicySwarm": {
4679 "name": "restartPolicySwarm",
4680 "type": "json",
4681 "primaryKey": false,
4682 "notNull": false
4683 },
4684 "placementSwarm": {
4685 "name": "placementSwarm",
4686 "type": "json",
4687 "primaryKey": false,
4688 "notNull": false
4689 },
4690 "updateConfigSwarm": {
4691 "name": "updateConfigSwarm",
4692 "type": "json",
4693 "primaryKey": false,
4694 "notNull": false
4695 },
4696 "rollbackConfigSwarm": {
4697 "name": "rollbackConfigSwarm",
4698 "type": "json",
4699 "primaryKey": false,
4700 "notNull": false
4701 },
4702 "modeSwarm": {
4703 "name": "modeSwarm",
4704 "type": "json",
4705 "primaryKey": false,
4706 "notNull": false
4707 },
4708 "labelsSwarm": {
4709 "name": "labelsSwarm",
4710 "type": "json",
4711 "primaryKey": false,
4712 "notNull": false
4713 },
4714 "networkSwarm": {
4715 "name": "networkSwarm",
4716 "type": "json",
4717 "primaryKey": false,
4718 "notNull": false
4719 },
4720 "stopGracePeriodSwarm": {
4721 "name": "stopGracePeriodSwarm",
4722 "type": "bigint",
4723 "primaryKey": false,
4724 "notNull": false
4725 },
4726 "endpointSpecSwarm": {
4727 "name": "endpointSpecSwarm",
4728 "type": "json",
4729 "primaryKey": false,
4730 "notNull": false
4731 },
4732 "ulimitsSwarm": {
4733 "name": "ulimitsSwarm",
4734 "type": "json",
4735 "primaryKey": false,
4736 "notNull": false
4737 },
4738 "replicas": {
4739 "name": "replicas",
4740 "type": "integer",
4741 "primaryKey": false,
4742 "notNull": true,
4743 "default": 1
4744 },
4745 "createdAt": {
4746 "name": "createdAt",
4747 "type": "text",
4748 "primaryKey": false,
4749 "notNull": true
4750 },
4751 "environmentId": {
4752 "name": "environmentId",
4753 "type": "text",
4754 "primaryKey": false,
4755 "notNull": true
4756 },
4757 "serverId": {
4758 "name": "serverId",
4759 "type": "text",
4760 "primaryKey": false,
4761 "notNull": false
4762 },
4763 "replicaSets": {
4764 "name": "replicaSets",
4765 "type": "boolean",
4766 "primaryKey": false,
4767 "notNull": false,
4768 "default": false
4769 },
4770 "networkIds": {
4771 "name": "networkIds",
4772 "type": "text[]",
4773 "primaryKey": false,
4774 "notNull": false,
4775 "default": "'{}'"
4776 },
4777 "detachDokployNetwork": {
4778 "name": "detachDokployNetwork",
4779 "type": "boolean",
4780 "primaryKey": false,
4781 "notNull": true,
4782 "default": false
4783 }
4784 },
4785 "indexes": {},
4786 "foreignKeys": {
4787 "mongo_environmentId_environment_environmentId_fk": {
4788 "name": "mongo_environmentId_environment_environmentId_fk",
4789 "tableFrom": "mongo",
4790 "tableTo": "environment",
4791 "columnsFrom": [
4792 "environmentId"
4793 ],
4794 "columnsTo": [
4795 "environmentId"
4796 ],
4797 "onDelete": "cascade",
4798 "onUpdate": "no action"
4799 },
4800 "mongo_serverId_server_serverId_fk": {
4801 "name": "mongo_serverId_server_serverId_fk",
4802 "tableFrom": "mongo",
4803 "tableTo": "server",
4804 "columnsFrom": [
4805 "serverId"
4806 ],
4807 "columnsTo": [
4808 "serverId"
4809 ],
4810 "onDelete": "cascade",
4811 "onUpdate": "no action"
4812 }
4813 },
4814 "compositePrimaryKeys": {},
4815 "uniqueConstraints": {
4816 "mongo_appName_unique": {
4817 "name": "mongo_appName_unique",
4818 "nullsNotDistinct": false,
4819 "columns": [
4820 "appName"
4821 ]
4822 }
4823 },
4824 "policies": {},
4825 "checkConstraints": {},
4826 "isRLSEnabled": false
4827 },
4828 "public.mount": {
4829 "name": "mount",
4830 "schema": "",
4831 "columns": {
4832 "mountId": {
4833 "name": "mountId",
4834 "type": "text",
4835 "primaryKey": true,
4836 "notNull": true
4837 },
4838 "type": {
4839 "name": "type",
4840 "type": "mountType",
4841 "typeSchema": "public",
4842 "primaryKey": false,
4843 "notNull": true
4844 },
4845 "hostPath": {
4846 "name": "hostPath",
4847 "type": "text",
4848 "primaryKey": false,
4849 "notNull": false
4850 },
4851 "volumeName": {
4852 "name": "volumeName",
4853 "type": "text",
4854 "primaryKey": false,
4855 "notNull": false
4856 },
4857 "filePath": {
4858 "name": "filePath",
4859 "type": "text",
4860 "primaryKey": false,
4861 "notNull": false
4862 },
4863 "content": {
4864 "name": "content",
4865 "type": "text",
4866 "primaryKey": false,
4867 "notNull": false
4868 },
4869 "serviceType": {
4870 "name": "serviceType",
4871 "type": "serviceType",
4872 "typeSchema": "public",
4873 "primaryKey": false,
4874 "notNull": true,
4875 "default": "'application'"
4876 },
4877 "mountPath": {
4878 "name": "mountPath",
4879 "type": "text",
4880 "primaryKey": false,
4881 "notNull": true
4882 },
4883 "applicationId": {
4884 "name": "applicationId",
4885 "type": "text",
4886 "primaryKey": false,
4887 "notNull": false
4888 },
4889 "composeId": {
4890 "name": "composeId",
4891 "type": "text",
4892 "primaryKey": false,
4893 "notNull": false
4894 },
4895 "libsqlId": {
4896 "name": "libsqlId",
4897 "type": "text",
4898 "primaryKey": false,
4899 "notNull": false
4900 },
4901 "mariadbId": {
4902 "name": "mariadbId",
4903 "type": "text",
4904 "primaryKey": false,
4905 "notNull": false
4906 },
4907 "mongoId": {
4908 "name": "mongoId",
4909 "type": "text",
4910 "primaryKey": false,
4911 "notNull": false
4912 },
4913 "mysqlId": {
4914 "name": "mysqlId",
4915 "type": "text",
4916 "primaryKey": false,
4917 "notNull": false
4918 },
4919 "postgresId": {
4920 "name": "postgresId",
4921 "type": "text",
4922 "primaryKey": false,
4923 "notNull": false
4924 },
4925 "redisId": {
4926 "name": "redisId",
4927 "type": "text",
4928 "primaryKey": false,
4929 "notNull": false
4930 }
4931 },
4932 "indexes": {},
4933 "foreignKeys": {
4934 "mount_applicationId_application_applicationId_fk": {
4935 "name": "mount_applicationId_application_applicationId_fk",
4936 "tableFrom": "mount",
4937 "tableTo": "application",
4938 "columnsFrom": [
4939 "applicationId"
4940 ],
4941 "columnsTo": [
4942 "applicationId"
4943 ],
4944 "onDelete": "cascade",
4945 "onUpdate": "no action"
4946 },
4947 "mount_composeId_compose_composeId_fk": {
4948 "name": "mount_composeId_compose_composeId_fk",
4949 "tableFrom": "mount",
4950 "tableTo": "compose",
4951 "columnsFrom": [
4952 "composeId"
4953 ],
4954 "columnsTo": [
4955 "composeId"
4956 ],
4957 "onDelete": "cascade",
4958 "onUpdate": "no action"
4959 },
4960 "mount_libsqlId_libsql_libsqlId_fk": {
4961 "name": "mount_libsqlId_libsql_libsqlId_fk",
4962 "tableFrom": "mount",
4963 "tableTo": "libsql",
4964 "columnsFrom": [
4965 "libsqlId"
4966 ],
4967 "columnsTo": [
4968 "libsqlId"
4969 ],
4970 "onDelete": "cascade",
4971 "onUpdate": "no action"
4972 },
4973 "mount_mariadbId_mariadb_mariadbId_fk": {
4974 "name": "mount_mariadbId_mariadb_mariadbId_fk",
4975 "tableFrom": "mount",
4976 "tableTo": "mariadb",
4977 "columnsFrom": [
4978 "mariadbId"
4979 ],
4980 "columnsTo": [
4981 "mariadbId"
4982 ],
4983 "onDelete": "cascade",
4984 "onUpdate": "no action"
4985 },
4986 "mount_mongoId_mongo_mongoId_fk": {
4987 "name": "mount_mongoId_mongo_mongoId_fk",
4988 "tableFrom": "mount",
4989 "tableTo": "mongo",
4990 "columnsFrom": [
4991 "mongoId"
4992 ],
4993 "columnsTo": [
4994 "mongoId"
4995 ],
4996 "onDelete": "cascade",
4997 "onUpdate": "no action"
4998 },
4999 "mount_mysqlId_mysql_mysqlId_fk": {

4164 more lines aren’t shown here.

apps/dokploy/drizzle/meta/_journal.json+9−2
@@ -1363,8 +1363,15 @@ · 1362 unmodified lines
1363 {1363 {
1364 "idx": 194,1364 "idx": 194,
1365 "version": "7",1365 "version": "7",
1366 "when": 1788849747825,1366 "when": 1788858506799,
1367 "tag": "0194_freezing_skin",1367 "tag": "0194_acoustic_prima",
1368 "breakpoints": true
1369 },
1370 {
1371 "idx": 195,
1372 "version": "7",
1373 "when": 1788867370653,
1374 "tag": "0195_classy_whirlwind",
1368 "breakpoints": true1375 "breakpoints": true
1369 }1376 }
1370 ]1377 ]
apps/dokploy/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "dokploy",2 "name": "dokploy",
3 "version": "v0.30.5",3 "version": "v0.30.6",
4 "private": true,4 "private": true,
5 "license": "Apache-2.0",5 "license": "Apache-2.0",
6 "type": "module",6 "type": "module",
packages/server/auth-schema2.ts+32−0
@@ -135,6 +135,7 @@ export const ssoProvider = pgTable("sso_provider", { · 134 unmodified lines
135 providerId: text("provider_id").notNull().unique(),135 providerId: text("provider_id").notNull().unique(),
136 organizationId: text("organization_id"),136 organizationId: text("organization_id"),
137 domain: text("domain").notNull(),137 domain: text("domain").notNull(),
138 domainVerified: boolean("domain_verified"),
138});139});
139 140
140export const twoFactor = pgTable(141export const twoFactor = pgTable(
@@ -156,6 +157,29 @@ export const twoFactor = pgTable( · 15 unmodified lines
156 ],157 ],
157);158);
158 159
160export const passkey = pgTable(
161 "passkey",
162 {
163 id: text("id").primaryKey(),
164 name: text("name"),
165 publicKey: text("public_key").notNull(),
166 userId: text("user_id")
167 .notNull()
168 .references(() => user.id, { onDelete: "cascade" }),
169 credentialID: text("credential_id").notNull(),
170 counter: integer("counter").notNull(),
171 deviceType: text("device_type").notNull(),
172 backedUp: boolean("backed_up").notNull(),
173 transports: text("transports"),
174 createdAt: timestamp("created_at"),
175 aaguid: text("aaguid"),
176 },
177 (table) => [
178 index("passkey_userId_idx").on(table.userId),
179 index("passkey_credentialID_idx").on(table.credentialID),
180 ],
181);
182
159export const organization = pgTable(183export const organization = pgTable(
160 "organization",184 "organization",
161 {185 {
@@ -242,6 +266,7 @@ export const userRelations = relations(user, ({ many }) => ({ · 80 unmodified lines
242 accounts: many(account),266 accounts: many(account),
243 ssoProviders: many(ssoProvider),267 ssoProviders: many(ssoProvider),
244 twoFactors: many(twoFactor),268 twoFactors: many(twoFactor),
269 passkeys: many(passkey),
245 members: many(member),270 members: many(member),
246 invitations: many(invitation),271 invitations: many(invitation),
247}));272}));
@@ -274,6 +299,13 @@ export const twoFactorRelations = relations(twoFactor, ({ one }) => ({ · 26 unmodified lines
274 }),299 }),
275}));300}));
276 301
302export const passkeyRelations = relations(passkey, ({ one }) => ({
303 user: one(user, {
304 fields: [passkey.userId],
305 references: [user.id],
306 }),
307}));
308
277export const organizationRelations = relations(organization, ({ many }) => ({309export const organizationRelations = relations(organization, ({ many }) => ({
278 organizationRoles: many(organizationRole),310 organizationRoles: many(organizationRole),
279 members: many(member),311 members: many(member),
packages/server/src/db/schema/sso.ts+2−1
@@ -1,5 +1,5 @@
1import { relations } from "drizzle-orm";1import { relations } from "drizzle-orm";
2import { pgTable, text, timestamp } from "drizzle-orm/pg-core";2import { boolean, pgTable, text, timestamp } from "drizzle-orm/pg-core";
3import { z } from "zod";3import { z } from "zod";
4import { organization } from "./account";4import { organization } from "./account";
5import { user } from "./user";5import { user } from "./user";
@@ -15,6 +15,7 @@ export const ssoProvider = pgTable("sso_provider", { · 9 unmodified lines
15 onDelete: "cascade",15 onDelete: "cascade",
16 }),16 }),
17 domain: text("domain").notNull(),17 domain: text("domain").notNull(),
18 domainVerified: boolean("domain_verified").notNull().default(true),
18 createdAt: timestamp("created_at").notNull().defaultNow(),19 createdAt: timestamp("created_at").notNull().defaultNow(),
19});20});
20 21
packages/server/src/lib/auth-cli.ts+6−1
@@ -32,7 +32,12 @@ export const auth = betterAuth({ · 31 unmodified lines
32 },32 },
33 plugins: [33 plugins: [
34 apiKey({ enableMetadata: true, references: "user" }),34 apiKey({ enableMetadata: true, references: "user" }),
35 sso(),35 sso({
36 trustEmailVerified: true,
37 domainVerification: {
38 enabled: true,
39 },
40 }),
36 twoFactor(),41 twoFactor(),
37 passkey(),42 passkey(),
38 organization({43 organization({