mirror of
https://codeberg.org/MarkusThielker/next-ory.git
synced 2025-04-18 00:21:18 +00:00
66 lines
1.5 KiB
TypeScript
66 lines
1.5 KiB
TypeScript
'use server';
|
|
|
|
import { getIdentityApi } from '@/ory/sdk/server';
|
|
import { revalidatePath } from 'next/cache';
|
|
|
|
interface IdentityIdProps {
|
|
id: string;
|
|
}
|
|
|
|
export async function deleteIdentitySessions({ id }: IdentityIdProps) {
|
|
|
|
const identityApi = await getIdentityApi();
|
|
const { data } = await identityApi.deleteIdentitySessions({ id });
|
|
|
|
console.log('Deleted identity\'s sessions', data);
|
|
|
|
return data;
|
|
}
|
|
|
|
export async function blockIdentity({ id }: IdentityIdProps) {
|
|
|
|
const identityApi = await getIdentityApi();
|
|
const { data } = await identityApi.patchIdentity({
|
|
id,
|
|
jsonPatch: [
|
|
{
|
|
op: 'replace',
|
|
path: '/state',
|
|
value: 'inactive',
|
|
},
|
|
],
|
|
});
|
|
|
|
console.log('Blocked identity', data);
|
|
|
|
revalidatePath('/user');
|
|
}
|
|
|
|
export async function unblockIdentity({ id }: IdentityIdProps) {
|
|
|
|
const identityApi = await getIdentityApi();
|
|
const { data } = await identityApi.patchIdentity({
|
|
id,
|
|
jsonPatch: [
|
|
{
|
|
op: 'replace',
|
|
path: '/state',
|
|
value: 'active',
|
|
},
|
|
],
|
|
});
|
|
|
|
console.log('Unblocked identity', data);
|
|
|
|
revalidatePath('/user');
|
|
}
|
|
|
|
export async function deleteIdentity({ id }: IdentityIdProps) {
|
|
|
|
const identityApi = await getIdentityApi();
|
|
const { data } = await identityApi.deleteIdentity({ id });
|
|
|
|
console.log('Deleted identity', data);
|
|
|
|
revalidatePath('/user');
|
|
}
|