feat: implement account deletions

This commit is contained in:
mrjvs
2026-08-09 16:52:00 +02:00
parent cd03c89a18
commit 9e1ade5b86
4 changed files with 16 additions and 4 deletions

View File

@@ -0,0 +1,6 @@
export default defineEventHandler(async (event): Promise<void> => {
const auth = enforceLoggedIn(event);
const grpc = useApiGrpc(event);
await grpc.deleteAccount({ pid: auth.pid });
});

View File

@@ -1,9 +1,10 @@
import { ServerError } from "nice-grpc";
import { ApiAuthLogin, LoginSchema } from "#shared/api-types"
import { useLegacyApiGrpc } from "~~/server/utils/useGrpc";
export default defineEventHandler(async (event): Promise<ApiAuthLogin> => {
const body = await readZodBody(event, LoginSchema);
const grpc = useApiGrpc(event);
const grpc = useLegacyApiGrpc(event);
try {
const res = await grpc.login({

View File

@@ -10,7 +10,7 @@ export default defineEventHandler(async (event) => {
if (!token) {
throw new Error('Invalid token');
}
const grpc = useApiGrpcWithToken(event, token);
const grpc = useLegacyApiGrpcWithToken(event, token);
const userData = await grpc.getUserData({});
event.context.auth = {

View File

@@ -1,4 +1,5 @@
import { createChannel, createClient, Metadata } from 'nice-grpc';
import { ApiServiceDefinition } from '@pretendonetwork/grpc/api/v2/api_service';
import { APIDefinition } from '@pretendonetwork/grpc/api/api_service';
import { AccountServiceDefinition } from '@pretendonetwork/grpc/account/v2/account_service';
import type { Channel, Client, CompatServiceDefinition } from 'nice-grpc';
@@ -36,7 +37,11 @@ function getGrpcClient<T extends CompatServiceDefinition>(event: H3Event, def: T
return client;
}
export function useApiGrpc(event: H3Event): Client<APIDefinition> {
export function useApiGrpc(event: H3Event): Client<ApiServiceDefinition> {
return getGrpcClient(event, ApiServiceDefinition);
}
export function useLegacyApiGrpc(event: H3Event): Client<APIDefinition> {
return getGrpcClient(event, APIDefinition);
}
@@ -44,6 +49,6 @@ export function useAccountGrpc(event: H3Event): Client<AccountServiceDefinition>
return getGrpcClient(event, AccountServiceDefinition);
}
export function useApiGrpcWithToken(event: H3Event, token: string): Client<APIDefinition> {
export function useLegacyApiGrpcWithToken(event: H3Event, token: string): Client<APIDefinition> {
return getGrpcClient(event, APIDefinition, token);
}