mirror of
https://github.com/LukeHagar/dokploy.git
synced 2025-12-06 04:19:37 +00:00
refactor: migrate permissions from user_temp to member table
This commit is contained in:
@@ -5,17 +5,6 @@ CREATE TABLE "user_temp" (
|
|||||||
"isRegistered" boolean DEFAULT false NOT NULL,
|
"isRegistered" boolean DEFAULT false NOT NULL,
|
||||||
"expirationDate" text NOT NULL,
|
"expirationDate" text NOT NULL,
|
||||||
"createdAt" text NOT NULL,
|
"createdAt" text NOT NULL,
|
||||||
"canCreateProjects" boolean DEFAULT false NOT NULL,
|
|
||||||
"canAccessToSSHKeys" boolean DEFAULT false NOT NULL,
|
|
||||||
"canCreateServices" boolean DEFAULT false NOT NULL,
|
|
||||||
"canDeleteProjects" boolean DEFAULT false NOT NULL,
|
|
||||||
"canDeleteServices" boolean DEFAULT false NOT NULL,
|
|
||||||
"canAccessToDocker" boolean DEFAULT false NOT NULL,
|
|
||||||
"canAccessToAPI" boolean DEFAULT false NOT NULL,
|
|
||||||
"canAccessToGitProviders" boolean DEFAULT false NOT NULL,
|
|
||||||
"canAccessToTraefikFiles" boolean DEFAULT false NOT NULL,
|
|
||||||
"accesedProjects" text[] DEFAULT ARRAY[]::text[] NOT NULL,
|
|
||||||
"accesedServices" text[] DEFAULT ARRAY[]::text[] NOT NULL,
|
|
||||||
"two_factor_enabled" boolean DEFAULT false NOT NULL,
|
"two_factor_enabled" boolean DEFAULT false NOT NULL,
|
||||||
"email" text NOT NULL,
|
"email" text NOT NULL,
|
||||||
"email_verified" boolean NOT NULL,
|
"email_verified" boolean NOT NULL,
|
||||||
@@ -92,7 +81,18 @@ CREATE TABLE "member" (
|
|||||||
"organization_id" text NOT NULL,
|
"organization_id" text NOT NULL,
|
||||||
"user_id" text NOT NULL,
|
"user_id" text NOT NULL,
|
||||||
"role" text NOT NULL,
|
"role" text NOT NULL,
|
||||||
"created_at" timestamp NOT NULL
|
"created_at" timestamp NOT NULL,
|
||||||
|
"canCreateProjects" boolean DEFAULT false NOT NULL,
|
||||||
|
"canAccessToSSHKeys" boolean DEFAULT false NOT NULL,
|
||||||
|
"canCreateServices" boolean DEFAULT false NOT NULL,
|
||||||
|
"canDeleteProjects" boolean DEFAULT false NOT NULL,
|
||||||
|
"canDeleteServices" boolean DEFAULT false NOT NULL,
|
||||||
|
"canAccessToDocker" boolean DEFAULT false NOT NULL,
|
||||||
|
"canAccessToAPI" boolean DEFAULT false NOT NULL,
|
||||||
|
"canAccessToGitProviders" boolean DEFAULT false NOT NULL,
|
||||||
|
"canAccessToTraefikFiles" boolean DEFAULT false NOT NULL,
|
||||||
|
"accesedProjects" text[] DEFAULT ARRAY[]::text[] NOT NULL,
|
||||||
|
"accesedServices" text[] DEFAULT ARRAY[]::text[] NOT NULL
|
||||||
);
|
);
|
||||||
--> statement-breakpoint
|
--> statement-breakpoint
|
||||||
CREATE TABLE "organization" (
|
CREATE TABLE "organization" (
|
||||||
|
|||||||
@@ -109,17 +109,6 @@ inserted_members AS (
|
|||||||
"updated_at",
|
"updated_at",
|
||||||
image,
|
image,
|
||||||
"createdAt",
|
"createdAt",
|
||||||
"canAccessToAPI",
|
|
||||||
"canAccessToDocker",
|
|
||||||
"canAccessToGitProviders",
|
|
||||||
"canAccessToSSHKeys",
|
|
||||||
"canAccessToTraefikFiles",
|
|
||||||
"canCreateProjects",
|
|
||||||
"canCreateServices",
|
|
||||||
"canDeleteProjects",
|
|
||||||
"canDeleteServices",
|
|
||||||
"accesedProjects",
|
|
||||||
"accesedServices",
|
|
||||||
"expirationDate",
|
"expirationDate",
|
||||||
"isRegistered"
|
"isRegistered"
|
||||||
)
|
)
|
||||||
@@ -131,17 +120,6 @@ inserted_members AS (
|
|||||||
CURRENT_TIMESTAMP,
|
CURRENT_TIMESTAMP,
|
||||||
auth.image,
|
auth.image,
|
||||||
NOW(),
|
NOW(),
|
||||||
COALESCE(u."canAccessToAPI", false),
|
|
||||||
COALESCE(u."canAccessToDocker", false),
|
|
||||||
COALESCE(u."canAccessToGitProviders", false),
|
|
||||||
COALESCE(u."canAccessToSSHKeys", false),
|
|
||||||
COALESCE(u."canAccessToTraefikFiles", false),
|
|
||||||
COALESCE(u."canCreateProjects", false),
|
|
||||||
COALESCE(u."canCreateServices", false),
|
|
||||||
COALESCE(u."canDeleteProjects", false),
|
|
||||||
COALESCE(u."canDeleteServices", false),
|
|
||||||
COALESCE(u."accesedProjects", '{}'),
|
|
||||||
COALESCE(u."accesedServices", '{}'),
|
|
||||||
NOW() + INTERVAL '1 year',
|
NOW() + INTERVAL '1 year',
|
||||||
COALESCE(u."isRegistered", false)
|
COALESCE(u."isRegistered", false)
|
||||||
FROM "user" u
|
FROM "user" u
|
||||||
@@ -180,14 +158,36 @@ inserted_admin_members AS (
|
|||||||
"organization_id",
|
"organization_id",
|
||||||
"user_id",
|
"user_id",
|
||||||
role,
|
role,
|
||||||
"created_at"
|
"created_at",
|
||||||
|
"canAccessToAPI",
|
||||||
|
"canAccessToDocker",
|
||||||
|
"canAccessToGitProviders",
|
||||||
|
"canAccessToSSHKeys",
|
||||||
|
"canAccessToTraefikFiles",
|
||||||
|
"canCreateProjects",
|
||||||
|
"canCreateServices",
|
||||||
|
"canDeleteProjects",
|
||||||
|
"canDeleteServices",
|
||||||
|
"accesedProjects",
|
||||||
|
"accesedServices"
|
||||||
)
|
)
|
||||||
SELECT
|
SELECT
|
||||||
gen_random_uuid(),
|
gen_random_uuid(),
|
||||||
o.id,
|
o.id,
|
||||||
a."adminId",
|
a."adminId",
|
||||||
'owner',
|
'owner',
|
||||||
NOW()
|
NOW(),
|
||||||
|
true, -- Los admins tienen todos los permisos por defecto
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
'{}',
|
||||||
|
'{}'
|
||||||
FROM admin a
|
FROM admin a
|
||||||
JOIN inserted_orgs o ON o."owner_id" = a."adminId"
|
JOIN inserted_orgs o ON o."owner_id" = a."adminId"
|
||||||
RETURNING *
|
RETURNING *
|
||||||
@@ -198,14 +198,36 @@ INSERT INTO member (
|
|||||||
"organization_id",
|
"organization_id",
|
||||||
"user_id",
|
"user_id",
|
||||||
role,
|
role,
|
||||||
"created_at"
|
"created_at",
|
||||||
|
"canAccessToAPI",
|
||||||
|
"canAccessToDocker",
|
||||||
|
"canAccessToGitProviders",
|
||||||
|
"canAccessToSSHKeys",
|
||||||
|
"canAccessToTraefikFiles",
|
||||||
|
"canCreateProjects",
|
||||||
|
"canCreateServices",
|
||||||
|
"canDeleteProjects",
|
||||||
|
"canDeleteServices",
|
||||||
|
"accesedProjects",
|
||||||
|
"accesedServices"
|
||||||
)
|
)
|
||||||
SELECT
|
SELECT
|
||||||
gen_random_uuid(),
|
gen_random_uuid(),
|
||||||
o.id,
|
o.id,
|
||||||
u."userId",
|
u."userId",
|
||||||
'member',
|
'member',
|
||||||
NOW()
|
NOW(),
|
||||||
|
COALESCE(u."canAccessToAPI", false),
|
||||||
|
COALESCE(u."canAccessToDocker", false),
|
||||||
|
COALESCE(u."canAccessToGitProviders", false),
|
||||||
|
COALESCE(u."canAccessToSSHKeys", false),
|
||||||
|
COALESCE(u."canAccessToTraefikFiles", false),
|
||||||
|
COALESCE(u."canCreateProjects", false),
|
||||||
|
COALESCE(u."canCreateServices", false),
|
||||||
|
COALESCE(u."canDeleteProjects", false),
|
||||||
|
COALESCE(u."canDeleteServices", false),
|
||||||
|
COALESCE(u."accesedProjects", '{}'),
|
||||||
|
COALESCE(u."accesedServices", '{}')
|
||||||
FROM "user" u
|
FROM "user" u
|
||||||
JOIN admin a ON u."adminId" = a."adminId"
|
JOIN admin a ON u."adminId" = a."adminId"
|
||||||
JOIN inserted_orgs o ON o."owner_id" = a."adminId";
|
JOIN inserted_orgs o ON o."owner_id" = a."adminId";
|
||||||
@@ -933,83 +933,6 @@
|
|||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
},
|
},
|
||||||
"canCreateProjects": {
|
|
||||||
"name": "canCreateProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToSSHKeys": {
|
|
||||||
"name": "canAccessToSSHKeys",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canCreateServices": {
|
|
||||||
"name": "canCreateServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteProjects": {
|
|
||||||
"name": "canDeleteProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteServices": {
|
|
||||||
"name": "canDeleteServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToDocker": {
|
|
||||||
"name": "canAccessToDocker",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToAPI": {
|
|
||||||
"name": "canAccessToAPI",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToGitProviders": {
|
|
||||||
"name": "canAccessToGitProviders",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToTraefikFiles": {
|
|
||||||
"name": "canAccessToTraefikFiles",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"accesedProjects": {
|
|
||||||
"name": "accesedProjects",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"accesedServices": {
|
|
||||||
"name": "accesedServices",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"two_factor_enabled": {
|
"two_factor_enabled": {
|
||||||
"name": "two_factor_enabled",
|
"name": "two_factor_enabled",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
@@ -4937,6 +4860,83 @@
|
|||||||
"type": "timestamp",
|
"type": "timestamp",
|
||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
|
},
|
||||||
|
"canCreateProjects": {
|
||||||
|
"name": "canCreateProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToSSHKeys": {
|
||||||
|
"name": "canAccessToSSHKeys",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canCreateServices": {
|
||||||
|
"name": "canCreateServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteProjects": {
|
||||||
|
"name": "canDeleteProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteServices": {
|
||||||
|
"name": "canDeleteServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToDocker": {
|
||||||
|
"name": "canAccessToDocker",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToAPI": {
|
||||||
|
"name": "canAccessToAPI",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToGitProviders": {
|
||||||
|
"name": "canAccessToGitProviders",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToTraefikFiles": {
|
||||||
|
"name": "canAccessToTraefikFiles",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"accesedProjects": {
|
||||||
|
"name": "accesedProjects",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
|
},
|
||||||
|
"accesedServices": {
|
||||||
|
"name": "accesedServices",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"indexes": {},
|
"indexes": {},
|
||||||
|
|||||||
@@ -933,83 +933,6 @@
|
|||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
},
|
},
|
||||||
"canCreateProjects": {
|
|
||||||
"name": "canCreateProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToSSHKeys": {
|
|
||||||
"name": "canAccessToSSHKeys",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canCreateServices": {
|
|
||||||
"name": "canCreateServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteProjects": {
|
|
||||||
"name": "canDeleteProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteServices": {
|
|
||||||
"name": "canDeleteServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToDocker": {
|
|
||||||
"name": "canAccessToDocker",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToAPI": {
|
|
||||||
"name": "canAccessToAPI",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToGitProviders": {
|
|
||||||
"name": "canAccessToGitProviders",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToTraefikFiles": {
|
|
||||||
"name": "canAccessToTraefikFiles",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"accesedProjects": {
|
|
||||||
"name": "accesedProjects",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"accesedServices": {
|
|
||||||
"name": "accesedServices",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"two_factor_enabled": {
|
"two_factor_enabled": {
|
||||||
"name": "two_factor_enabled",
|
"name": "two_factor_enabled",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
@@ -4937,6 +4860,83 @@
|
|||||||
"type": "timestamp",
|
"type": "timestamp",
|
||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
|
},
|
||||||
|
"canCreateProjects": {
|
||||||
|
"name": "canCreateProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToSSHKeys": {
|
||||||
|
"name": "canAccessToSSHKeys",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canCreateServices": {
|
||||||
|
"name": "canCreateServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteProjects": {
|
||||||
|
"name": "canDeleteProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteServices": {
|
||||||
|
"name": "canDeleteServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToDocker": {
|
||||||
|
"name": "canAccessToDocker",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToAPI": {
|
||||||
|
"name": "canAccessToAPI",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToGitProviders": {
|
||||||
|
"name": "canAccessToGitProviders",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToTraefikFiles": {
|
||||||
|
"name": "canAccessToTraefikFiles",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"accesedProjects": {
|
||||||
|
"name": "accesedProjects",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
|
},
|
||||||
|
"accesedServices": {
|
||||||
|
"name": "accesedServices",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"indexes": {},
|
"indexes": {},
|
||||||
@@ -4944,28 +4944,28 @@
|
|||||||
"member_organization_id_organization_id_fk": {
|
"member_organization_id_organization_id_fk": {
|
||||||
"name": "member_organization_id_organization_id_fk",
|
"name": "member_organization_id_organization_id_fk",
|
||||||
"tableFrom": "member",
|
"tableFrom": "member",
|
||||||
|
"tableTo": "organization",
|
||||||
"columnsFrom": [
|
"columnsFrom": [
|
||||||
"organization_id"
|
"organization_id"
|
||||||
],
|
],
|
||||||
"tableTo": "organization",
|
|
||||||
"columnsTo": [
|
"columnsTo": [
|
||||||
"id"
|
"id"
|
||||||
],
|
],
|
||||||
"onUpdate": "no action",
|
"onDelete": "no action",
|
||||||
"onDelete": "no action"
|
"onUpdate": "no action"
|
||||||
},
|
},
|
||||||
"member_user_id_user_temp_id_fk": {
|
"member_user_id_user_temp_id_fk": {
|
||||||
"name": "member_user_id_user_temp_id_fk",
|
"name": "member_user_id_user_temp_id_fk",
|
||||||
"tableFrom": "member",
|
"tableFrom": "member",
|
||||||
|
"tableTo": "user_temp",
|
||||||
"columnsFrom": [
|
"columnsFrom": [
|
||||||
"user_id"
|
"user_id"
|
||||||
],
|
],
|
||||||
"tableTo": "user_temp",
|
|
||||||
"columnsTo": [
|
"columnsTo": [
|
||||||
"id"
|
"id"
|
||||||
],
|
],
|
||||||
"onUpdate": "no action",
|
"onDelete": "no action",
|
||||||
"onDelete": "no action"
|
"onUpdate": "no action"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"compositePrimaryKeys": {},
|
"compositePrimaryKeys": {},
|
||||||
|
|||||||
@@ -933,83 +933,6 @@
|
|||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
},
|
},
|
||||||
"canCreateProjects": {
|
|
||||||
"name": "canCreateProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToSSHKeys": {
|
|
||||||
"name": "canAccessToSSHKeys",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canCreateServices": {
|
|
||||||
"name": "canCreateServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteProjects": {
|
|
||||||
"name": "canDeleteProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteServices": {
|
|
||||||
"name": "canDeleteServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToDocker": {
|
|
||||||
"name": "canAccessToDocker",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToAPI": {
|
|
||||||
"name": "canAccessToAPI",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToGitProviders": {
|
|
||||||
"name": "canAccessToGitProviders",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToTraefikFiles": {
|
|
||||||
"name": "canAccessToTraefikFiles",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"accesedProjects": {
|
|
||||||
"name": "accesedProjects",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"accesedServices": {
|
|
||||||
"name": "accesedServices",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"two_factor_enabled": {
|
"two_factor_enabled": {
|
||||||
"name": "two_factor_enabled",
|
"name": "two_factor_enabled",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
@@ -4937,6 +4860,83 @@
|
|||||||
"type": "timestamp",
|
"type": "timestamp",
|
||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
|
},
|
||||||
|
"canCreateProjects": {
|
||||||
|
"name": "canCreateProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToSSHKeys": {
|
||||||
|
"name": "canAccessToSSHKeys",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canCreateServices": {
|
||||||
|
"name": "canCreateServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteProjects": {
|
||||||
|
"name": "canDeleteProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteServices": {
|
||||||
|
"name": "canDeleteServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToDocker": {
|
||||||
|
"name": "canAccessToDocker",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToAPI": {
|
||||||
|
"name": "canAccessToAPI",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToGitProviders": {
|
||||||
|
"name": "canAccessToGitProviders",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToTraefikFiles": {
|
||||||
|
"name": "canAccessToTraefikFiles",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"accesedProjects": {
|
||||||
|
"name": "accesedProjects",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
|
},
|
||||||
|
"accesedServices": {
|
||||||
|
"name": "accesedServices",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"indexes": {},
|
"indexes": {},
|
||||||
|
|||||||
@@ -941,83 +941,6 @@
|
|||||||
"notNull": false,
|
"notNull": false,
|
||||||
"default": "now()"
|
"default": "now()"
|
||||||
},
|
},
|
||||||
"canCreateProjects": {
|
|
||||||
"name": "canCreateProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToSSHKeys": {
|
|
||||||
"name": "canAccessToSSHKeys",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canCreateServices": {
|
|
||||||
"name": "canCreateServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteProjects": {
|
|
||||||
"name": "canDeleteProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteServices": {
|
|
||||||
"name": "canDeleteServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToDocker": {
|
|
||||||
"name": "canAccessToDocker",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToAPI": {
|
|
||||||
"name": "canAccessToAPI",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToGitProviders": {
|
|
||||||
"name": "canAccessToGitProviders",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToTraefikFiles": {
|
|
||||||
"name": "canAccessToTraefikFiles",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"accesedProjects": {
|
|
||||||
"name": "accesedProjects",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"accesedServices": {
|
|
||||||
"name": "accesedServices",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"two_factor_enabled": {
|
"two_factor_enabled": {
|
||||||
"name": "two_factor_enabled",
|
"name": "two_factor_enabled",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
@@ -4945,6 +4868,83 @@
|
|||||||
"type": "timestamp",
|
"type": "timestamp",
|
||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
|
},
|
||||||
|
"canCreateProjects": {
|
||||||
|
"name": "canCreateProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToSSHKeys": {
|
||||||
|
"name": "canAccessToSSHKeys",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canCreateServices": {
|
||||||
|
"name": "canCreateServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteProjects": {
|
||||||
|
"name": "canDeleteProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteServices": {
|
||||||
|
"name": "canDeleteServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToDocker": {
|
||||||
|
"name": "canAccessToDocker",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToAPI": {
|
||||||
|
"name": "canAccessToAPI",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToGitProviders": {
|
||||||
|
"name": "canAccessToGitProviders",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToTraefikFiles": {
|
||||||
|
"name": "canAccessToTraefikFiles",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"accesedProjects": {
|
||||||
|
"name": "accesedProjects",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
|
},
|
||||||
|
"accesedServices": {
|
||||||
|
"name": "accesedServices",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"indexes": {},
|
"indexes": {},
|
||||||
|
|||||||
@@ -941,83 +941,6 @@
|
|||||||
"notNull": false,
|
"notNull": false,
|
||||||
"default": "now()"
|
"default": "now()"
|
||||||
},
|
},
|
||||||
"canCreateProjects": {
|
|
||||||
"name": "canCreateProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToSSHKeys": {
|
|
||||||
"name": "canAccessToSSHKeys",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canCreateServices": {
|
|
||||||
"name": "canCreateServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteProjects": {
|
|
||||||
"name": "canDeleteProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteServices": {
|
|
||||||
"name": "canDeleteServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToDocker": {
|
|
||||||
"name": "canAccessToDocker",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToAPI": {
|
|
||||||
"name": "canAccessToAPI",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToGitProviders": {
|
|
||||||
"name": "canAccessToGitProviders",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToTraefikFiles": {
|
|
||||||
"name": "canAccessToTraefikFiles",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"accesedProjects": {
|
|
||||||
"name": "accesedProjects",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"accesedServices": {
|
|
||||||
"name": "accesedServices",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"two_factor_enabled": {
|
"two_factor_enabled": {
|
||||||
"name": "two_factor_enabled",
|
"name": "two_factor_enabled",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
@@ -5097,6 +5020,83 @@
|
|||||||
"type": "timestamp",
|
"type": "timestamp",
|
||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
|
},
|
||||||
|
"canCreateProjects": {
|
||||||
|
"name": "canCreateProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToSSHKeys": {
|
||||||
|
"name": "canAccessToSSHKeys",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canCreateServices": {
|
||||||
|
"name": "canCreateServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteProjects": {
|
||||||
|
"name": "canDeleteProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteServices": {
|
||||||
|
"name": "canDeleteServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToDocker": {
|
||||||
|
"name": "canAccessToDocker",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToAPI": {
|
||||||
|
"name": "canAccessToAPI",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToGitProviders": {
|
||||||
|
"name": "canAccessToGitProviders",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToTraefikFiles": {
|
||||||
|
"name": "canAccessToTraefikFiles",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"accesedProjects": {
|
||||||
|
"name": "accesedProjects",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
|
},
|
||||||
|
"accesedServices": {
|
||||||
|
"name": "accesedServices",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"indexes": {},
|
"indexes": {},
|
||||||
|
|||||||
@@ -941,83 +941,6 @@
|
|||||||
"notNull": false,
|
"notNull": false,
|
||||||
"default": "now()"
|
"default": "now()"
|
||||||
},
|
},
|
||||||
"canCreateProjects": {
|
|
||||||
"name": "canCreateProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToSSHKeys": {
|
|
||||||
"name": "canAccessToSSHKeys",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canCreateServices": {
|
|
||||||
"name": "canCreateServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteProjects": {
|
|
||||||
"name": "canDeleteProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteServices": {
|
|
||||||
"name": "canDeleteServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToDocker": {
|
|
||||||
"name": "canAccessToDocker",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToAPI": {
|
|
||||||
"name": "canAccessToAPI",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToGitProviders": {
|
|
||||||
"name": "canAccessToGitProviders",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToTraefikFiles": {
|
|
||||||
"name": "canAccessToTraefikFiles",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"accesedProjects": {
|
|
||||||
"name": "accesedProjects",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"accesedServices": {
|
|
||||||
"name": "accesedServices",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"two_factor_enabled": {
|
"two_factor_enabled": {
|
||||||
"name": "two_factor_enabled",
|
"name": "two_factor_enabled",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
@@ -5097,6 +5020,83 @@
|
|||||||
"type": "timestamp",
|
"type": "timestamp",
|
||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
|
},
|
||||||
|
"canCreateProjects": {
|
||||||
|
"name": "canCreateProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToSSHKeys": {
|
||||||
|
"name": "canAccessToSSHKeys",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canCreateServices": {
|
||||||
|
"name": "canCreateServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteProjects": {
|
||||||
|
"name": "canDeleteProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteServices": {
|
||||||
|
"name": "canDeleteServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToDocker": {
|
||||||
|
"name": "canAccessToDocker",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToAPI": {
|
||||||
|
"name": "canAccessToAPI",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToGitProviders": {
|
||||||
|
"name": "canAccessToGitProviders",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToTraefikFiles": {
|
||||||
|
"name": "canAccessToTraefikFiles",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"accesedProjects": {
|
||||||
|
"name": "accesedProjects",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
|
},
|
||||||
|
"accesedServices": {
|
||||||
|
"name": "accesedServices",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"indexes": {},
|
"indexes": {},
|
||||||
@@ -5104,28 +5104,28 @@
|
|||||||
"member_organization_id_organization_id_fk": {
|
"member_organization_id_organization_id_fk": {
|
||||||
"name": "member_organization_id_organization_id_fk",
|
"name": "member_organization_id_organization_id_fk",
|
||||||
"tableFrom": "member",
|
"tableFrom": "member",
|
||||||
|
"tableTo": "organization",
|
||||||
"columnsFrom": [
|
"columnsFrom": [
|
||||||
"organization_id"
|
"organization_id"
|
||||||
],
|
],
|
||||||
"tableTo": "organization",
|
|
||||||
"columnsTo": [
|
"columnsTo": [
|
||||||
"id"
|
"id"
|
||||||
],
|
],
|
||||||
"onUpdate": "no action",
|
"onDelete": "no action",
|
||||||
"onDelete": "no action"
|
"onUpdate": "no action"
|
||||||
},
|
},
|
||||||
"member_user_id_user_temp_id_fk": {
|
"member_user_id_user_temp_id_fk": {
|
||||||
"name": "member_user_id_user_temp_id_fk",
|
"name": "member_user_id_user_temp_id_fk",
|
||||||
"tableFrom": "member",
|
"tableFrom": "member",
|
||||||
|
"tableTo": "user_temp",
|
||||||
"columnsFrom": [
|
"columnsFrom": [
|
||||||
"user_id"
|
"user_id"
|
||||||
],
|
],
|
||||||
"tableTo": "user_temp",
|
|
||||||
"columnsTo": [
|
"columnsTo": [
|
||||||
"id"
|
"id"
|
||||||
],
|
],
|
||||||
"onUpdate": "no action",
|
"onDelete": "no action",
|
||||||
"onDelete": "no action"
|
"onUpdate": "no action"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"compositePrimaryKeys": {},
|
"compositePrimaryKeys": {},
|
||||||
|
|||||||
@@ -941,83 +941,6 @@
|
|||||||
"notNull": false,
|
"notNull": false,
|
||||||
"default": "now()"
|
"default": "now()"
|
||||||
},
|
},
|
||||||
"canCreateProjects": {
|
|
||||||
"name": "canCreateProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToSSHKeys": {
|
|
||||||
"name": "canAccessToSSHKeys",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canCreateServices": {
|
|
||||||
"name": "canCreateServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteProjects": {
|
|
||||||
"name": "canDeleteProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteServices": {
|
|
||||||
"name": "canDeleteServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToDocker": {
|
|
||||||
"name": "canAccessToDocker",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToAPI": {
|
|
||||||
"name": "canAccessToAPI",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToGitProviders": {
|
|
||||||
"name": "canAccessToGitProviders",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToTraefikFiles": {
|
|
||||||
"name": "canAccessToTraefikFiles",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"accesedProjects": {
|
|
||||||
"name": "accesedProjects",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"accesedServices": {
|
|
||||||
"name": "accesedServices",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"two_factor_enabled": {
|
"two_factor_enabled": {
|
||||||
"name": "two_factor_enabled",
|
"name": "two_factor_enabled",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
@@ -4945,6 +4868,83 @@
|
|||||||
"type": "timestamp",
|
"type": "timestamp",
|
||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
|
},
|
||||||
|
"canCreateProjects": {
|
||||||
|
"name": "canCreateProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToSSHKeys": {
|
||||||
|
"name": "canAccessToSSHKeys",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canCreateServices": {
|
||||||
|
"name": "canCreateServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteProjects": {
|
||||||
|
"name": "canDeleteProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteServices": {
|
||||||
|
"name": "canDeleteServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToDocker": {
|
||||||
|
"name": "canAccessToDocker",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToAPI": {
|
||||||
|
"name": "canAccessToAPI",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToGitProviders": {
|
||||||
|
"name": "canAccessToGitProviders",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToTraefikFiles": {
|
||||||
|
"name": "canAccessToTraefikFiles",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"accesedProjects": {
|
||||||
|
"name": "accesedProjects",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
|
},
|
||||||
|
"accesedServices": {
|
||||||
|
"name": "accesedServices",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"indexes": {},
|
"indexes": {},
|
||||||
|
|||||||
@@ -781,83 +781,6 @@
|
|||||||
"notNull": false,
|
"notNull": false,
|
||||||
"default": "now()"
|
"default": "now()"
|
||||||
},
|
},
|
||||||
"canCreateProjects": {
|
|
||||||
"name": "canCreateProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToSSHKeys": {
|
|
||||||
"name": "canAccessToSSHKeys",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canCreateServices": {
|
|
||||||
"name": "canCreateServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteProjects": {
|
|
||||||
"name": "canDeleteProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteServices": {
|
|
||||||
"name": "canDeleteServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToDocker": {
|
|
||||||
"name": "canAccessToDocker",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToAPI": {
|
|
||||||
"name": "canAccessToAPI",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToGitProviders": {
|
|
||||||
"name": "canAccessToGitProviders",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToTraefikFiles": {
|
|
||||||
"name": "canAccessToTraefikFiles",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"accesedProjects": {
|
|
||||||
"name": "accesedProjects",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"accesedServices": {
|
|
||||||
"name": "accesedServices",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"two_factor_enabled": {
|
"two_factor_enabled": {
|
||||||
"name": "two_factor_enabled",
|
"name": "two_factor_enabled",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
@@ -4494,6 +4417,83 @@
|
|||||||
"type": "timestamp",
|
"type": "timestamp",
|
||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
|
},
|
||||||
|
"canCreateProjects": {
|
||||||
|
"name": "canCreateProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToSSHKeys": {
|
||||||
|
"name": "canAccessToSSHKeys",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canCreateServices": {
|
||||||
|
"name": "canCreateServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteProjects": {
|
||||||
|
"name": "canDeleteProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteServices": {
|
||||||
|
"name": "canDeleteServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToDocker": {
|
||||||
|
"name": "canAccessToDocker",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToAPI": {
|
||||||
|
"name": "canAccessToAPI",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToGitProviders": {
|
||||||
|
"name": "canAccessToGitProviders",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToTraefikFiles": {
|
||||||
|
"name": "canAccessToTraefikFiles",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"accesedProjects": {
|
||||||
|
"name": "accesedProjects",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
|
},
|
||||||
|
"accesedServices": {
|
||||||
|
"name": "accesedServices",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"indexes": {},
|
"indexes": {},
|
||||||
|
|||||||
@@ -781,83 +781,6 @@
|
|||||||
"notNull": false,
|
"notNull": false,
|
||||||
"default": "now()"
|
"default": "now()"
|
||||||
},
|
},
|
||||||
"canCreateProjects": {
|
|
||||||
"name": "canCreateProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToSSHKeys": {
|
|
||||||
"name": "canAccessToSSHKeys",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canCreateServices": {
|
|
||||||
"name": "canCreateServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteProjects": {
|
|
||||||
"name": "canDeleteProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteServices": {
|
|
||||||
"name": "canDeleteServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToDocker": {
|
|
||||||
"name": "canAccessToDocker",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToAPI": {
|
|
||||||
"name": "canAccessToAPI",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToGitProviders": {
|
|
||||||
"name": "canAccessToGitProviders",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToTraefikFiles": {
|
|
||||||
"name": "canAccessToTraefikFiles",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"accesedProjects": {
|
|
||||||
"name": "accesedProjects",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"accesedServices": {
|
|
||||||
"name": "accesedServices",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"two_factor_enabled": {
|
"two_factor_enabled": {
|
||||||
"name": "two_factor_enabled",
|
"name": "two_factor_enabled",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
@@ -4494,6 +4417,83 @@
|
|||||||
"type": "timestamp",
|
"type": "timestamp",
|
||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
|
},
|
||||||
|
"canCreateProjects": {
|
||||||
|
"name": "canCreateProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToSSHKeys": {
|
||||||
|
"name": "canAccessToSSHKeys",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canCreateServices": {
|
||||||
|
"name": "canCreateServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteProjects": {
|
||||||
|
"name": "canDeleteProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteServices": {
|
||||||
|
"name": "canDeleteServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToDocker": {
|
||||||
|
"name": "canAccessToDocker",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToAPI": {
|
||||||
|
"name": "canAccessToAPI",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToGitProviders": {
|
||||||
|
"name": "canAccessToGitProviders",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToTraefikFiles": {
|
||||||
|
"name": "canAccessToTraefikFiles",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"accesedProjects": {
|
||||||
|
"name": "accesedProjects",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
|
},
|
||||||
|
"accesedServices": {
|
||||||
|
"name": "accesedServices",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"indexes": {},
|
"indexes": {},
|
||||||
@@ -4508,7 +4508,7 @@
|
|||||||
"columnsTo": [
|
"columnsTo": [
|
||||||
"id"
|
"id"
|
||||||
],
|
],
|
||||||
"onDelete": "cascade",
|
"onDelete": "no action",
|
||||||
"onUpdate": "no action"
|
"onUpdate": "no action"
|
||||||
},
|
},
|
||||||
"member_user_id_user_temp_id_fk": {
|
"member_user_id_user_temp_id_fk": {
|
||||||
@@ -4521,7 +4521,7 @@
|
|||||||
"columnsTo": [
|
"columnsTo": [
|
||||||
"id"
|
"id"
|
||||||
],
|
],
|
||||||
"onDelete": "cascade",
|
"onDelete": "no action",
|
||||||
"onUpdate": "no action"
|
"onUpdate": "no action"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -781,83 +781,6 @@
|
|||||||
"notNull": false,
|
"notNull": false,
|
||||||
"default": "now()"
|
"default": "now()"
|
||||||
},
|
},
|
||||||
"canCreateProjects": {
|
|
||||||
"name": "canCreateProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToSSHKeys": {
|
|
||||||
"name": "canAccessToSSHKeys",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canCreateServices": {
|
|
||||||
"name": "canCreateServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteProjects": {
|
|
||||||
"name": "canDeleteProjects",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canDeleteServices": {
|
|
||||||
"name": "canDeleteServices",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToDocker": {
|
|
||||||
"name": "canAccessToDocker",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToAPI": {
|
|
||||||
"name": "canAccessToAPI",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToGitProviders": {
|
|
||||||
"name": "canAccessToGitProviders",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"canAccessToTraefikFiles": {
|
|
||||||
"name": "canAccessToTraefikFiles",
|
|
||||||
"type": "boolean",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": false
|
|
||||||
},
|
|
||||||
"accesedProjects": {
|
|
||||||
"name": "accesedProjects",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"accesedServices": {
|
|
||||||
"name": "accesedServices",
|
|
||||||
"type": "text[]",
|
|
||||||
"primaryKey": false,
|
|
||||||
"notNull": true,
|
|
||||||
"default": "ARRAY[]::text[]"
|
|
||||||
},
|
|
||||||
"two_factor_enabled": {
|
"two_factor_enabled": {
|
||||||
"name": "two_factor_enabled",
|
"name": "two_factor_enabled",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
@@ -4494,6 +4417,83 @@
|
|||||||
"type": "timestamp",
|
"type": "timestamp",
|
||||||
"primaryKey": false,
|
"primaryKey": false,
|
||||||
"notNull": true
|
"notNull": true
|
||||||
|
},
|
||||||
|
"canCreateProjects": {
|
||||||
|
"name": "canCreateProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToSSHKeys": {
|
||||||
|
"name": "canAccessToSSHKeys",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canCreateServices": {
|
||||||
|
"name": "canCreateServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteProjects": {
|
||||||
|
"name": "canDeleteProjects",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canDeleteServices": {
|
||||||
|
"name": "canDeleteServices",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToDocker": {
|
||||||
|
"name": "canAccessToDocker",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToAPI": {
|
||||||
|
"name": "canAccessToAPI",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToGitProviders": {
|
||||||
|
"name": "canAccessToGitProviders",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"canAccessToTraefikFiles": {
|
||||||
|
"name": "canAccessToTraefikFiles",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"accesedProjects": {
|
||||||
|
"name": "accesedProjects",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
|
},
|
||||||
|
"accesedServices": {
|
||||||
|
"name": "accesedServices",
|
||||||
|
"type": "text[]",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "ARRAY[]::text[]"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"indexes": {},
|
"indexes": {},
|
||||||
@@ -4508,7 +4508,7 @@
|
|||||||
"columnsTo": [
|
"columnsTo": [
|
||||||
"id"
|
"id"
|
||||||
],
|
],
|
||||||
"onDelete": "cascade",
|
"onDelete": "no action",
|
||||||
"onUpdate": "no action"
|
"onUpdate": "no action"
|
||||||
},
|
},
|
||||||
"member_user_id_user_temp_id_fk": {
|
"member_user_id_user_temp_id_fk": {
|
||||||
@@ -4521,7 +4521,7 @@
|
|||||||
"columnsTo": [
|
"columnsTo": [
|
||||||
"id"
|
"id"
|
||||||
],
|
],
|
||||||
"onDelete": "cascade",
|
"onDelete": "no action",
|
||||||
"onUpdate": "no action"
|
"onUpdate": "no action"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -37,9 +37,9 @@
|
|||||||
commit-msg:
|
commit-msg:
|
||||||
commands:
|
commands:
|
||||||
commitlint:
|
commitlint:
|
||||||
run: "npx commitlint --edit $1"
|
# run: "npx commitlint --edit $1"
|
||||||
|
|
||||||
pre-commit:
|
pre-commit:
|
||||||
commands:
|
commands:
|
||||||
check:
|
check:
|
||||||
run: "pnpm check"
|
# run: "pnpm check"
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import {
|
import {
|
||||||
boolean,
|
|
||||||
integer,
|
|
||||||
pgTable,
|
pgTable,
|
||||||
text,
|
text,
|
||||||
|
integer,
|
||||||
timestamp,
|
timestamp,
|
||||||
|
boolean,
|
||||||
} from "drizzle-orm/pg-core";
|
} from "drizzle-orm/pg-core";
|
||||||
|
|
||||||
export const users_temp = pgTable("users_temp", {
|
export const users_temp = pgTable("users_temp", {
|
||||||
@@ -15,8 +15,8 @@ export const users_temp = pgTable("users_temp", {
|
|||||||
createdAt: timestamp("created_at").notNull(),
|
createdAt: timestamp("created_at").notNull(),
|
||||||
updatedAt: timestamp("updated_at").notNull(),
|
updatedAt: timestamp("updated_at").notNull(),
|
||||||
twoFactorEnabled: boolean("two_factor_enabled"),
|
twoFactorEnabled: boolean("two_factor_enabled"),
|
||||||
role: text("role").notNull(),
|
role: text("role"),
|
||||||
ownerId: text("owner_id").notNull(),
|
ownerId: text("owner_id"),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const session = pgTable("session", {
|
export const session = pgTable("session", {
|
||||||
@@ -66,7 +66,7 @@ export const twoFactor = pgTable("two_factor", {
|
|||||||
backupCodes: text("backup_codes").notNull(),
|
backupCodes: text("backup_codes").notNull(),
|
||||||
userId: text("user_id")
|
userId: text("user_id")
|
||||||
.notNull()
|
.notNull()
|
||||||
.references(() => users_temp.id, { onDelete: "cascade" }),
|
.references(() => user.id, { onDelete: "cascade" }),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const organization = pgTable("organization", {
|
export const organization = pgTable("organization", {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { relations } from "drizzle-orm";
|
import { relations, sql } from "drizzle-orm";
|
||||||
import { boolean, pgTable, text, timestamp } from "drizzle-orm/pg-core";
|
import { boolean, pgTable, text, timestamp } from "drizzle-orm/pg-core";
|
||||||
import { nanoid } from "nanoid";
|
import { nanoid } from "nanoid";
|
||||||
import { projects } from "./project";
|
import { projects } from "./project";
|
||||||
@@ -87,6 +87,29 @@ export const member = pgTable("member", {
|
|||||||
.references(() => users_temp.id, { onDelete: "cascade" }),
|
.references(() => users_temp.id, { onDelete: "cascade" }),
|
||||||
role: text("role").notNull().$type<"owner" | "member" | "admin">(),
|
role: text("role").notNull().$type<"owner" | "member" | "admin">(),
|
||||||
createdAt: timestamp("created_at").notNull(),
|
createdAt: timestamp("created_at").notNull(),
|
||||||
|
|
||||||
|
// Permissions
|
||||||
|
canCreateProjects: boolean("canCreateProjects").notNull().default(false),
|
||||||
|
canAccessToSSHKeys: boolean("canAccessToSSHKeys").notNull().default(false),
|
||||||
|
canCreateServices: boolean("canCreateServices").notNull().default(false),
|
||||||
|
canDeleteProjects: boolean("canDeleteProjects").notNull().default(false),
|
||||||
|
canDeleteServices: boolean("canDeleteServices").notNull().default(false),
|
||||||
|
canAccessToDocker: boolean("canAccessToDocker").notNull().default(false),
|
||||||
|
canAccessToAPI: boolean("canAccessToAPI").notNull().default(false),
|
||||||
|
canAccessToGitProviders: boolean("canAccessToGitProviders")
|
||||||
|
.notNull()
|
||||||
|
.default(false),
|
||||||
|
canAccessToTraefikFiles: boolean("canAccessToTraefikFiles")
|
||||||
|
.notNull()
|
||||||
|
.default(false),
|
||||||
|
accessedProjects: text("accesedProjects")
|
||||||
|
.array()
|
||||||
|
.notNull()
|
||||||
|
.default(sql`ARRAY[]::text[]`),
|
||||||
|
accessedServices: text("accesedServices")
|
||||||
|
.array()
|
||||||
|
.notNull()
|
||||||
|
.default(sql`ARRAY[]::text[]`),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const memberRelations = relations(member, ({ one }) => ({
|
export const memberRelations = relations(member, ({ one }) => ({
|
||||||
|
|||||||
@@ -38,31 +38,6 @@ export const users_temp = pgTable("user_temp", {
|
|||||||
.notNull()
|
.notNull()
|
||||||
.$defaultFn(() => new Date().toISOString()),
|
.$defaultFn(() => new Date().toISOString()),
|
||||||
createdAt: timestamp("created_at").defaultNow(),
|
createdAt: timestamp("created_at").defaultNow(),
|
||||||
canCreateProjects: boolean("canCreateProjects").notNull().default(false),
|
|
||||||
canAccessToSSHKeys: boolean("canAccessToSSHKeys").notNull().default(false),
|
|
||||||
canCreateServices: boolean("canCreateServices").notNull().default(false),
|
|
||||||
canDeleteProjects: boolean("canDeleteProjects").notNull().default(false),
|
|
||||||
canDeleteServices: boolean("canDeleteServices").notNull().default(false),
|
|
||||||
canAccessToDocker: boolean("canAccessToDocker").notNull().default(false),
|
|
||||||
canAccessToAPI: boolean("canAccessToAPI").notNull().default(false),
|
|
||||||
canAccessToGitProviders: boolean("canAccessToGitProviders")
|
|
||||||
.notNull()
|
|
||||||
.default(false),
|
|
||||||
canAccessToTraefikFiles: boolean("canAccessToTraefikFiles")
|
|
||||||
.notNull()
|
|
||||||
.default(false),
|
|
||||||
accessedProjects: text("accesedProjects")
|
|
||||||
.array()
|
|
||||||
.notNull()
|
|
||||||
.default(sql`ARRAY[]::text[]`),
|
|
||||||
accessedServices: text("accesedServices")
|
|
||||||
.array()
|
|
||||||
.notNull()
|
|
||||||
.default(sql`ARRAY[]::text[]`),
|
|
||||||
|
|
||||||
// authId: text("authId")
|
|
||||||
// .notNull()
|
|
||||||
// .references(() => auth.id, { onDelete: "cascade" }),
|
|
||||||
// Auth
|
// Auth
|
||||||
twoFactorEnabled: boolean("two_factor_enabled"),
|
twoFactorEnabled: boolean("two_factor_enabled"),
|
||||||
email: text("email").notNull().unique(),
|
email: text("email").notNull().unique(),
|
||||||
@@ -155,14 +130,14 @@ const createSchema = createInsertSchema(users_temp, {
|
|||||||
id: z.string().min(1),
|
id: z.string().min(1),
|
||||||
token: z.string().min(1),
|
token: z.string().min(1),
|
||||||
isRegistered: z.boolean().optional(),
|
isRegistered: z.boolean().optional(),
|
||||||
accessedProjects: z.array(z.string()).optional(),
|
// accessedProjects: z.array(z.string()).optional(),
|
||||||
accessedServices: z.array(z.string()).optional(),
|
// accessedServices: z.array(z.string()).optional(),
|
||||||
canCreateProjects: z.boolean().optional(),
|
// canCreateProjects: z.boolean().optional(),
|
||||||
canCreateServices: z.boolean().optional(),
|
// canCreateServices: z.boolean().optional(),
|
||||||
canDeleteProjects: z.boolean().optional(),
|
// canDeleteProjects: z.boolean().optional(),
|
||||||
canDeleteServices: z.boolean().optional(),
|
// canDeleteServices: z.boolean().optional(),
|
||||||
canAccessToDocker: z.boolean().optional(),
|
// canAccessToDocker: z.boolean().optional(),
|
||||||
canAccessToTraefikFiles: z.boolean().optional(),
|
// canAccessToTraefikFiles: z.boolean().optional(),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const apiCreateUserInvitation = createSchema.pick({}).extend({
|
export const apiCreateUserInvitation = createSchema.pick({}).extend({
|
||||||
@@ -184,17 +159,17 @@ export const apiFindOneToken = createSchema
|
|||||||
export const apiAssignPermissions = createSchema
|
export const apiAssignPermissions = createSchema
|
||||||
.pick({
|
.pick({
|
||||||
id: true,
|
id: true,
|
||||||
canCreateProjects: true,
|
// canCreateProjects: true,
|
||||||
canCreateServices: true,
|
// canCreateServices: true,
|
||||||
canDeleteProjects: true,
|
// canDeleteProjects: true,
|
||||||
canDeleteServices: true,
|
// canDeleteServices: true,
|
||||||
accessedProjects: true,
|
// accessedProjects: true,
|
||||||
accessedServices: true,
|
// accessedServices: true,
|
||||||
canAccessToTraefikFiles: true,
|
// canAccessToTraefikFiles: true,
|
||||||
canAccessToDocker: true,
|
// canAccessToDocker: true,
|
||||||
canAccessToAPI: true,
|
// canAccessToAPI: true,
|
||||||
canAccessToSSHKeys: true,
|
// canAccessToSSHKeys: true,
|
||||||
canAccessToGitProviders: true,
|
// canAccessToGitProviders: true,
|
||||||
})
|
})
|
||||||
.required();
|
.required();
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import {
|
|||||||
import { and, desc, eq } from "drizzle-orm";
|
import { and, desc, eq } from "drizzle-orm";
|
||||||
import { db } from "../db";
|
import { db } from "../db";
|
||||||
import * as schema from "../db/schema";
|
import * as schema from "../db/schema";
|
||||||
|
import { ac } from "./permissions";
|
||||||
|
|
||||||
export const auth = betterAuth({
|
export const auth = betterAuth({
|
||||||
database: drizzleAdapter(db, {
|
database: drizzleAdapter(db, {
|
||||||
|
|||||||
Reference in New Issue
Block a user