mirror of
https://github.com/PretendoNetwork/website.git
synced 2026-09-12 19:07:16 -05:00
feat: implement account deletions
This commit is contained in:
6
server/api/account/delete.post.ts
Normal file
6
server/api/account/delete.post.ts
Normal 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 });
|
||||
});
|
||||
@@ -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({
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user