mirror of
https://github.com/hanzoai/sign.git
synced 2026-10-21 01:21:51 +00:00
The product is branded Hanzo eSign (esign.hanzo.ai, repo hanzoai/esign). Rename all workspace packages @hanzo/sign-* → @hanzo/esign-* (1052 files) and align docker/Dockerfile turbo --scope/--filter to the actual remix package name @hanzo/esign (was a pre-existing mismatch with -remix that broke the build). Protected deps (@hanzo/insights, @hanzo/logo) untouched.
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import { UserSecurityAuditLogType } from '@prisma/client';
|
|
import type { Context } from 'hono';
|
|
|
|
import { ORGANISATION_USER_ACCOUNT_TYPE } from '@hanzo/esign-lib/constants/organisations';
|
|
import { prisma } from '@hanzo/esign-prisma';
|
|
|
|
import { getSession } from './get-session';
|
|
|
|
export const deleteAccountProvider = async (c: Context, accountId: string): Promise<void> => {
|
|
const { user } = await getSession(c);
|
|
|
|
const requestMeta = c.get('requestMetadata');
|
|
|
|
await prisma.$transaction(async (tx) => {
|
|
const deletedAccountProvider = await tx.account.delete({
|
|
where: {
|
|
id: accountId,
|
|
userId: user.id,
|
|
},
|
|
select: {
|
|
type: true,
|
|
},
|
|
});
|
|
|
|
await tx.userSecurityAuditLog.create({
|
|
data: {
|
|
userId: user.id,
|
|
ipAddress: requestMeta.ipAddress,
|
|
userAgent: requestMeta.userAgent,
|
|
type:
|
|
deletedAccountProvider.type === ORGANISATION_USER_ACCOUNT_TYPE
|
|
? UserSecurityAuditLogType.ORGANISATION_SSO_UNLINK
|
|
: UserSecurityAuditLogType.ACCOUNT_SSO_UNLINK,
|
|
},
|
|
});
|
|
});
|
|
};
|