Compare commits
2 Commits
9ecfdc722a
...
1fb1dcce50
Author | SHA1 | Date | |
---|---|---|---|
|
1fb1dcce50 | ||
|
20fc37da22 |
@ -14,6 +14,7 @@ import java.util.UUID;
|
|||||||
|
|
||||||
import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.GLOBAL;
|
import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.GLOBAL;
|
||||||
import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Permission.*;
|
import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Permission.*;
|
||||||
|
import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.RbacUserReference.UserRole.CREATOR;
|
||||||
import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Role.*;
|
import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.Role.*;
|
||||||
import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.rbacViewFor;
|
import static net.hostsharing.hsadminng.rbac.rbacdef.RbacView.rbacViewFor;
|
||||||
|
|
||||||
@ -42,7 +43,7 @@ public class TestCustomerEntity implements HasUuid {
|
|||||||
.withUpdatableColumns("reference", "prefix", "adminUserName")
|
.withUpdatableColumns("reference", "prefix", "adminUserName")
|
||||||
|
|
||||||
.createRole(OWNER, (with) -> {
|
.createRole(OWNER, (with) -> {
|
||||||
// with.owningUser(CREATOR); FIXME: needs assumed role, was: getRbacUserId(NEW.adminUserName, 'create')
|
with.owningUser(CREATOR);
|
||||||
with.incomingSuperRole(GLOBAL, ADMIN);
|
with.incomingSuperRole(GLOBAL, ADMIN);
|
||||||
with.permission(DELETE);
|
with.permission(DELETE);
|
||||||
})
|
})
|
||||||
|
@ -366,17 +366,17 @@ create trigger deleteRbacRolesOfRbacObject_Trigger
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
create domain RbacOp as varchar(67) -- TODO: shorten to 8, once the deprecated values are gone
|
create domain RbacOp as varchar(67) -- TODO: shorten to 8, once the deprecated values are gone
|
||||||
-- FIXME: uncomment check
|
-- FIXME:
|
||||||
-- check (
|
-- check (
|
||||||
-- VALUE = 'INSERT' or
|
-- VALUE = 'DELETE'
|
||||||
-- VALUE = 'DELETE' or
|
-- or VALUE = 'UPDATE'
|
||||||
-- VALUE = 'UPDATE' or
|
-- or VALUE = 'SELECT'
|
||||||
-- VALUE = 'SELECT' or
|
-- or VALUE = 'INSERT'
|
||||||
-- VALUE = 'ASSUME' or
|
-- or VALUE = 'ASSUME'
|
||||||
-- -- TODO: all values below are deprecated, use insert with table
|
-- -- TODO: all values below are deprecated, use insert with table
|
||||||
-- VALUE ~ '^add-[a-z]+$' or
|
-- or VALUE ~ '^add-[a-z]+$'
|
||||||
-- VALUE ~ '^new-[a-z-]+$'
|
-- or VALUE ~ '^new-[a-z-]+$'
|
||||||
-- );
|
-- )
|
||||||
;
|
;
|
||||||
|
|
||||||
create table RbacPermission
|
create table RbacPermission
|
||||||
@ -408,18 +408,20 @@ begin
|
|||||||
|
|
||||||
permissionUuid = (select uuid from RbacPermission where objectUuid = forObjectUuid and op = forOp and opTableName = forOpTableName);
|
permissionUuid = (select uuid from RbacPermission where objectUuid = forObjectUuid and op = forOp and opTableName = forOpTableName);
|
||||||
if (permissionUuid is null) then
|
if (permissionUuid is null) then
|
||||||
insert
|
insert into RbacReference ("type")
|
||||||
into RbacReference ("type")
|
|
||||||
values ('RbacPermission')
|
values ('RbacPermission')
|
||||||
returning uuid into permissionUuid;
|
returning uuid into permissionUuid;
|
||||||
raise warning 'for values (%, %, %, %)', permissionUuid, forObjectUuid, forOp, forOpTableName; -- TODO: remove
|
begin
|
||||||
insert
|
insert into RbacPermission (uuid, objectUuid, op, opTableName)
|
||||||
into RbacPermission (uuid, objectUuid, op, opTableName)
|
values (permissionUuid, forObjectUuid, forOp, forOpTableName);
|
||||||
values (permissionUuid, forObjectUuid, forOp, forOpTableName);
|
exception
|
||||||
|
when others then
|
||||||
|
raise exception 'insert into RbacPermission (uuid, objectUuid, op, opTableName)
|
||||||
|
values (%, %, %, %);', permissionUuid, forObjectUuid, forOp, forOpTableName;
|
||||||
|
end;
|
||||||
end if;
|
end if;
|
||||||
return permissionUuid;
|
return permissionUuid;
|
||||||
end;
|
end; $$;
|
||||||
$$;
|
|
||||||
|
|
||||||
-- TODO: deprecated, remove and amend all usages to createPermission
|
-- TODO: deprecated, remove and amend all usages to createPermission
|
||||||
create or replace function createPermissions(forObjectUuid uuid, permitOps RbacOp[])
|
create or replace function createPermissions(forObjectUuid uuid, permitOps RbacOp[])
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
--liquibase formatted sql
|
--liquibase formatted sql
|
||||||
-- This code generated was by RbacViewPostgresGenerator at 2024-03-07T14:39:25.446629076.
|
-- This code generated was by RbacViewPostgresGenerator at 2024-03-07T15:57:25.487712422.
|
||||||
|
|
||||||
|
|
||||||
-- ============================================================================
|
-- ============================================================================
|
||||||
@ -38,6 +38,7 @@ begin
|
|||||||
perform createRoleWithGrants(
|
perform createRoleWithGrants(
|
||||||
testCustomerOwner(NEW),
|
testCustomerOwner(NEW),
|
||||||
permissions => array['DELETE'],
|
permissions => array['DELETE'],
|
||||||
|
userUuids => array[currentUserUuid()],
|
||||||
incomingSuperRoles => array[globalAdmin()]
|
incomingSuperRoles => array[globalAdmin()]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
--liquibase formatted sql
|
--liquibase formatted sql
|
||||||
-- This code generated was by RbacViewPostgresGenerator at 2024-03-07T14:39:25.488573238.
|
-- This code generated was by RbacViewPostgresGenerator at 2024-03-07T15:57:25.536171618.
|
||||||
|
|
||||||
|
|
||||||
-- ============================================================================
|
-- ============================================================================
|
||||||
|
Loading…
Reference in New Issue
Block a user