* disable auto imports * fix imports * improve cli imports * fix imports * fix import cycle * fix imports
26 lines
775 B
TypeScript
26 lines
775 B
TypeScript
import { getValidatedRouterParams } from 'h3';
|
|
|
|
import Database from '#server/utils/Database';
|
|
import WireGuard from '#server/utils/WireGuard';
|
|
import { definePermissionEventHandler } from '#server/utils/handler';
|
|
import { validateZod } from '#server/utils/types';
|
|
import { ClientGetSchema } from '#db/repositories/client/types';
|
|
|
|
export default definePermissionEventHandler(
|
|
'clients',
|
|
'update',
|
|
async ({ event, checkPermissions }) => {
|
|
const { clientId } = await getValidatedRouterParams(
|
|
event,
|
|
validateZod(ClientGetSchema, event)
|
|
);
|
|
|
|
const client = await Database.clients.get(clientId);
|
|
checkPermissions(client);
|
|
|
|
await Database.clients.toggle(clientId, false);
|
|
await WireGuard.saveConfig();
|
|
return { success: true };
|
|
}
|
|
);
|