mirror of
https://codeberg.org/MarkusThielker/next-ory.git
synced 2025-04-13 13:08:41 +00:00
NORY-59: introduce permission constants
This commit is contained in:
parent
3693b0b1f9
commit
86412e0133
4 changed files with 29 additions and 16 deletions
|
@ -10,7 +10,7 @@ export default async function RootPage() {
|
|||
|
||||
await requireRole('admin', identityId);
|
||||
|
||||
const pmAccessStackStatus = await checkPermission('admin.stack.status', 'access', identityId);
|
||||
const pmAccessStackStatus = await checkPermission(permission.stack.status, relation.access, identityId);
|
||||
|
||||
const kratos = pmAccessStackStatus && await kratosMetadata();
|
||||
const hydra = pmAccessStackStatus && await hydraMetadata();
|
||||
|
@ -26,7 +26,7 @@ export default async function RootPage() {
|
|||
{
|
||||
!pmAccessStackStatus && (
|
||||
<InsufficientPermission
|
||||
permission="admin.stack.status"
|
||||
permission={permission.stack.status}
|
||||
relation="access"
|
||||
identityId={identityId}
|
||||
classNames="col-span-1 md:col-span-4"
|
||||
|
|
|
@ -35,9 +35,8 @@ interface IdentityDataTableProps {
|
|||
query: string;
|
||||
permission: {
|
||||
pmEditUser: boolean;
|
||||
pmBlockUser: boolean;
|
||||
pmUnblockUser: boolean;
|
||||
pmDeleteUser: boolean;
|
||||
pmEditUserState: boolean;
|
||||
pmDeleteUserSession: boolean;
|
||||
};
|
||||
}
|
||||
|
@ -156,7 +155,7 @@ export function IdentityDataTable({ data, page, query, permission }: IdentityDat
|
|||
setCurrentIdentity(identity);
|
||||
setBlockIdentityVisible(true);
|
||||
}}
|
||||
disabled={!permission.pmBlockUser}
|
||||
disabled={!permission.pmEditUserState}
|
||||
className="flex items-center space-x-2 text-red-500">
|
||||
<UserX className="h-4 w-4"/>
|
||||
<span>Block identity</span>
|
||||
|
@ -169,7 +168,7 @@ export function IdentityDataTable({ data, page, query, permission }: IdentityDat
|
|||
setCurrentIdentity(identity);
|
||||
setUnblockIdentityVisible(true);
|
||||
}}
|
||||
disabled={!permission.pmUnblockUser}
|
||||
disabled={!permission.pmEditUserState}
|
||||
className="flex items-center space-x-2 text-red-500">
|
||||
<UserCheck className="h-4 w-4"/>
|
||||
<span>Unblock identity</span>
|
||||
|
|
|
@ -19,12 +19,11 @@ export default async function UserPage(
|
|||
|
||||
await requireRole('admin', identityId);
|
||||
|
||||
const pmAccessUser = await checkPermission('admin.user', 'access', identityId);
|
||||
const pmEditUser = await checkPermission('admin.user', 'edit', identityId);
|
||||
const pmBlockUser = await checkPermission('admin.user', 'block', identityId);
|
||||
const pmUnblockUser = await checkPermission('admin.user', 'unblock', identityId);
|
||||
const pmDeleteUser = await checkPermission('admin.user', 'delete', identityId);
|
||||
const pmDeleteUserSession = await checkPermission('admin.user.session', 'delete', identityId);
|
||||
const pmAccessUser = await checkPermission(permission.user.it, relation.access, identityId);
|
||||
const pmEditUser = await checkPermission(permission.user.it, relation.edit, identityId);
|
||||
const pmDeleteUser = await checkPermission(permission.user.it, relation.delete, identityId);
|
||||
const pmEditUserState = await checkPermission(permission.user.state, relation.edit, identityId);
|
||||
const pmDeleteUserSession = await checkPermission(permission.user.session, relation.delete, identityId);
|
||||
|
||||
const params = await searchParams;
|
||||
|
||||
|
@ -48,8 +47,8 @@ export default async function UserPage(
|
|||
{
|
||||
!pmAccessUser && (
|
||||
<InsufficientPermission
|
||||
permission="admin.user"
|
||||
relation="see"
|
||||
permission={permission.user.it}
|
||||
relation={relation.access}
|
||||
identityId={identityId}
|
||||
/>
|
||||
)
|
||||
|
@ -70,9 +69,8 @@ export default async function UserPage(
|
|||
query={query}
|
||||
permission={{
|
||||
pmEditUser: pmEditUser,
|
||||
pmBlockUser: pmBlockUser,
|
||||
pmUnblockUser: pmUnblockUser,
|
||||
pmDeleteUser: pmDeleteUser,
|
||||
pmEditUserState: pmEditUserState,
|
||||
pmDeleteUserSession: pmDeleteUserSession,
|
||||
}}
|
||||
/>
|
||||
|
|
16
dashboard/src/lib/permission.ts
Normal file
16
dashboard/src/lib/permission.ts
Normal file
|
@ -0,0 +1,16 @@
|
|||
const permission = {
|
||||
stack: {
|
||||
status: 'admin.stack.status',
|
||||
},
|
||||
user: {
|
||||
it: 'admin.user',
|
||||
session: 'admin.user.session',
|
||||
state: 'admin.user.state',
|
||||
},
|
||||
};
|
||||
|
||||
const relation = {
|
||||
access: 'access',
|
||||
edit: 'edit',
|
||||
delete: 'delete',
|
||||
};
|
Loading…
Add table
Reference in a new issue