From 58974d9789bda36c105f8432169ed54c95fd5b0e Mon Sep 17 00:00:00 2001 From: LandaMm Date: Wed, 25 Jun 2025 11:55:04 +0200 Subject: [PATCH] feat: add scope to the role --- internal/repository/models.go | 1 + .../00013_add_group_role_permission.sql | 34 ++++++++++--------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/internal/repository/models.go b/internal/repository/models.go index dcde4bd..f8b4e90 100644 --- a/internal/repository/models.go +++ b/internal/repository/models.go @@ -51,6 +51,7 @@ type Permission struct { type Role struct { ID uuid.UUID `json:"id"` Name string `json:"name"` + Scope string `json:"scope"` Description *string `json:"description"` } diff --git a/migrations/00013_add_group_role_permission.sql b/migrations/00013_add_group_role_permission.sql index fc861ea..704e678 100644 --- a/migrations/00013_add_group_role_permission.sql +++ b/migrations/00013_add_group_role_permission.sql @@ -10,8 +10,10 @@ CREATE TABLE groups ( -- ROLES CREATE TABLE roles ( id UUID PRIMARY KEY DEFAULT gen_random_uuid (), - name TEXT NOT NULL UNIQUE, - description TEXT + name TEXT NOT NULL, + scope TEXT NOT NULL, + description TEXT, + UNIQUE (name, scope) ); -- PERMISSIONS @@ -68,22 +70,22 @@ CREATE TABLE group_permissions ( -- +goose StatementEnd -- +goose Down -- +goose StatementBegin -DROP TABLE IF EXISTS groups; - -DROP TABLE IF EXISTS roles; - -DROP TABLE IF EXISTS permissions; - -DROP TABLE IF EXISTS user_groups; - -DROP TABLE IF EXISTS group_roles; - -DROP TABLE IF EXISTS role_permissions; - -DROP TABLE IF EXISTS user_roles; +DROP TABLE IF EXISTS group_permissions; DROP TABLE IF EXISTS user_permissions; -DROP TABLE IF EXISTS group_permissions; +DROP TABLE IF EXISTS user_roles; + +DROP TABLE IF EXISTS role_permissions; + +DROP TABLE IF EXISTS group_roles; + +DROP TABLE IF EXISTS user_groups; + +DROP TABLE IF EXISTS permissions; + +DROP TABLE IF EXISTS roles; + +DROP TABLE IF EXISTS groups; -- +goose StatementEnd