diff --git a/server/api/account/delete.post.ts b/server/api/account/delete.post.ts new file mode 100644 index 0000000..ac91f42 --- /dev/null +++ b/server/api/account/delete.post.ts @@ -0,0 +1,6 @@ +export default defineEventHandler(async (event): Promise => { + const auth = enforceLoggedIn(event); + + const grpc = useApiGrpc(event); + await grpc.deleteAccount({ pid: auth.pid }); +}); diff --git a/server/api/auth/login.post.ts b/server/api/auth/login.post.ts index 75538dd..f024749 100644 --- a/server/api/auth/login.post.ts +++ b/server/api/auth/login.post.ts @@ -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 => { const body = await readZodBody(event, LoginSchema); - const grpc = useApiGrpc(event); + const grpc = useLegacyApiGrpc(event); try { const res = await grpc.login({ diff --git a/server/middleware/auth.ts b/server/middleware/auth.ts index c5b3042..81f46e6 100644 --- a/server/middleware/auth.ts +++ b/server/middleware/auth.ts @@ -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 = { diff --git a/server/utils/useGrpc.ts b/server/utils/useGrpc.ts index 22bc561..0288c72 100644 --- a/server/utils/useGrpc.ts +++ b/server/utils/useGrpc.ts @@ -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(event: H3Event, def: T return client; } -export function useApiGrpc(event: H3Event): Client { +export function useApiGrpc(event: H3Event): Client { + return getGrpcClient(event, ApiServiceDefinition); +} + +export function useLegacyApiGrpc(event: H3Event): Client { return getGrpcClient(event, APIDefinition); } @@ -44,6 +49,6 @@ export function useAccountGrpc(event: H3Event): Client return getGrpcClient(event, AccountServiceDefinition); } -export function useApiGrpcWithToken(event: H3Event, token: string): Client { +export function useLegacyApiGrpcWithToken(event: H3Event, token: string): Client { return getGrpcClient(event, APIDefinition, token); }