mirror of
https://codeberg.org/MarkusThielker/next-ory.git
synced 2025-04-16 13:49:28 +00:00
NORY-59: protect all missing cards in identity details
This commit is contained in:
parent
85234b4465
commit
5494233e59
2 changed files with 118 additions and 90 deletions
|
@ -92,7 +92,10 @@ export default async function UserDetailsPage({ params }: { params: Promise<{ id
|
||||||
|
|
||||||
const pmEditUser = await checkPermission(permission.user.it, relation.edit, identityId);
|
const pmEditUser = await checkPermission(permission.user.it, relation.edit, identityId);
|
||||||
const pmDeleteUser = await checkPermission(permission.user.it, relation.delete, identityId);
|
const pmDeleteUser = await checkPermission(permission.user.it, relation.delete, identityId);
|
||||||
const pmAccessUserTraits = await checkPermission(permission.user.trait, relation.access, identityId);
|
const pmAccessUserTrait = await checkPermission(permission.user.trait, relation.access, identityId);
|
||||||
|
const pmEditUserTraits = await checkPermission(permission.user.trait, relation.edit, identityId);
|
||||||
|
const pmAccessUserAddress = await checkPermission(permission.user.address, relation.access, identityId);
|
||||||
|
const pmAccessUserCredential = await checkPermission(permission.user.credential, relation.access, identityId);
|
||||||
const pmEditUserState = await checkPermission(permission.user.state, relation.edit, identityId);
|
const pmEditUserState = await checkPermission(permission.user.state, relation.edit, identityId);
|
||||||
const pmAccessUserSession = await checkPermission(permission.user.session, relation.access, identityId);
|
const pmAccessUserSession = await checkPermission(permission.user.session, relation.access, identityId);
|
||||||
const pmDeleteUserSession = await checkPermission(permission.user.session, relation.delete, identityId);
|
const pmDeleteUserSession = await checkPermission(permission.user.session, relation.delete, identityId);
|
||||||
|
@ -114,7 +117,6 @@ export default async function UserDetailsPage({ params }: { params: Promise<{ id
|
||||||
message="The identity you are trying to see exists but has no identifiable address"/>;
|
message="The identity you are trying to see exists but has no identifiable address"/>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const detailIdentitySessions = pmAccessUserSession && await listIdentitySessions(detailIdentityId);
|
const detailIdentitySessions = pmAccessUserSession && await listIdentitySessions(detailIdentityId);
|
||||||
|
|
||||||
const detailIdentitySchema = await getIdentitySchema(detailIdentity.schema_id)
|
const detailIdentitySchema = await getIdentitySchema(detailIdentity.schema_id)
|
||||||
|
@ -133,7 +135,7 @@ export default async function UserDetailsPage({ params }: { params: Promise<{ id
|
||||||
</div>
|
</div>
|
||||||
<div className="grid grid-cols-1 xl:grid-cols-2 gap-4">
|
<div className="grid grid-cols-1 xl:grid-cols-2 gap-4">
|
||||||
{
|
{
|
||||||
pmAccessUserTraits ?
|
pmAccessUserTrait ?
|
||||||
<Card className="row-span-3">
|
<Card className="row-span-3">
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
<CardTitle>Traits</CardTitle>
|
<CardTitle>Traits</CardTitle>
|
||||||
|
@ -170,6 +172,8 @@ export default async function UserDetailsPage({ params }: { params: Promise<{ id
|
||||||
/>
|
/>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
|
{
|
||||||
|
pmAccessUserAddress ?
|
||||||
<Card>
|
<Card>
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
<CardTitle>Addresses</CardTitle>
|
<CardTitle>Addresses</CardTitle>
|
||||||
|
@ -215,15 +219,32 @@ export default async function UserDetailsPage({ params }: { params: Promise<{ id
|
||||||
</Table>
|
</Table>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
|
:
|
||||||
|
<InsufficientPermission
|
||||||
|
permission={permission.user.address}
|
||||||
|
relation={relation.access}
|
||||||
|
identityId={identityId}/>
|
||||||
|
}
|
||||||
|
{
|
||||||
|
pmAccessUserCredential ?
|
||||||
<Card>
|
<Card>
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
<CardTitle>Credentials</CardTitle>
|
<CardTitle>Credentials</CardTitle>
|
||||||
<CardDescription>All authentication mechanisms registered with this identity</CardDescription>
|
<CardDescription>All authentication mechanisms registered with this
|
||||||
|
identity</CardDescription>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<CardContent className="space-y-4">
|
<CardContent className="space-y-4">
|
||||||
<IdentityCredentials identity={detailIdentity}/>
|
<IdentityCredentials identity={detailIdentity}/>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
|
:
|
||||||
|
<InsufficientPermission
|
||||||
|
permission={permission.user.credential}
|
||||||
|
relation={relation.access}
|
||||||
|
identityId={identityId}/>
|
||||||
|
}
|
||||||
|
{
|
||||||
|
pmAccessUserSession ?
|
||||||
<Card>
|
<Card>
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
<CardTitle>Sessions</CardTitle>
|
<CardTitle>Sessions</CardTitle>
|
||||||
|
@ -274,6 +295,12 @@ export default async function UserDetailsPage({ params }: { params: Promise<{ id
|
||||||
}
|
}
|
||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
|
:
|
||||||
|
<InsufficientPermission
|
||||||
|
permission={permission.user.session}
|
||||||
|
relation={relation.access}
|
||||||
|
identityId={identityId}/>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -5,6 +5,7 @@ export const permission = {
|
||||||
},
|
},
|
||||||
user: {
|
user: {
|
||||||
it: 'admin.user',
|
it: 'admin.user',
|
||||||
|
address: 'admin.user.address',
|
||||||
code: 'admin.user.code',
|
code: 'admin.user.code',
|
||||||
credential: 'admin.user.credential',
|
credential: 'admin.user.credential',
|
||||||
link: 'admin.user.link',
|
link: 'admin.user.link',
|
||||||
|
|
Loading…
Add table
Reference in a new issue