From 8f13e746580de0857e36237d7f72124ad02265b5 Mon Sep 17 00:00:00 2001 From: chenziyi Date: Sun, 17 Nov 2024 22:45:45 +0800 Subject: [PATCH] feat: add manager_permissions and manager_user_permissions tables --- metadata/tables.yaml | 13 +++++++++++++ .../down.sql | 1 + .../up.sql | 2 ++ .../down.sql | 1 + .../up.sql | 1 + 5 files changed, 18 insertions(+) create mode 100644 migrations/1731853654084_create_table_public_manager_permissions/down.sql create mode 100644 migrations/1731853654084_create_table_public_manager_permissions/up.sql create mode 100644 migrations/1731853941445_create_table_public_manager_user_permissions/down.sql create mode 100644 migrations/1731853941445_create_table_public_manager_user_permissions/up.sql diff --git a/metadata/tables.yaml b/metadata/tables.yaml index cf46c38..434cdfa 100644 --- a/metadata/tables.yaml +++ b/metadata/tables.yaml @@ -3089,6 +3089,19 @@ permission: backend_only: false filter: {} +- table: + name: manager_permissions + schema: public +- table: + name: manager_user_permissions + schema: public + object_relationships: + - name: manager_permission + using: + foreign_key_constraint_on: permission_id + - name: user + using: + foreign_key_constraint_on: uuid - table: name: mentor_application schema: public diff --git a/migrations/1731853654084_create_table_public_manager_permissions/down.sql b/migrations/1731853654084_create_table_public_manager_permissions/down.sql new file mode 100644 index 0000000..5fb9b55 --- /dev/null +++ b/migrations/1731853654084_create_table_public_manager_permissions/down.sql @@ -0,0 +1 @@ +DROP TABLE "public"."manager_permissions"; diff --git a/migrations/1731853654084_create_table_public_manager_permissions/up.sql b/migrations/1731853654084_create_table_public_manager_permissions/up.sql new file mode 100644 index 0000000..205d7bb --- /dev/null +++ b/migrations/1731853654084_create_table_public_manager_permissions/up.sql @@ -0,0 +1,2 @@ +CREATE TABLE "public"."manager_permissions" ("permission_id" uuid NOT NULL DEFAULT gen_random_uuid(), "name" text NOT NULL, "description" text, "created_at" timestamptz NOT NULL DEFAULT now(), PRIMARY KEY ("permission_id") , UNIQUE ("permission_id"), UNIQUE ("name"), UNIQUE ("description"));COMMENT ON TABLE "public"."manager_permissions" IS E'管理员权限列表'; +CREATE EXTENSION IF NOT EXISTS pgcrypto; diff --git a/migrations/1731853941445_create_table_public_manager_user_permissions/down.sql b/migrations/1731853941445_create_table_public_manager_user_permissions/down.sql new file mode 100644 index 0000000..555cdfc --- /dev/null +++ b/migrations/1731853941445_create_table_public_manager_user_permissions/down.sql @@ -0,0 +1 @@ +DROP TABLE "public"."manager_user_permissions"; diff --git a/migrations/1731853941445_create_table_public_manager_user_permissions/up.sql b/migrations/1731853941445_create_table_public_manager_user_permissions/up.sql new file mode 100644 index 0000000..8fe49a0 --- /dev/null +++ b/migrations/1731853941445_create_table_public_manager_user_permissions/up.sql @@ -0,0 +1 @@ +CREATE TABLE "public"."manager_user_permissions" ("uuid" uuid NOT NULL, "permission_id" uuid NOT NULL, "granted_at" timestamptz NOT NULL DEFAULT now(), PRIMARY KEY ("uuid","permission_id") , FOREIGN KEY ("uuid") REFERENCES "public"."users"("uuid") ON UPDATE restrict ON DELETE restrict, FOREIGN KEY ("permission_id") REFERENCES "public"."manager_permissions"("permission_id") ON UPDATE restrict ON DELETE restrict);COMMENT ON TABLE "public"."manager_user_permissions" IS E'每个管理员账户的权限';