You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

18 lines
504 B

import { ClientCreateSchema } from '#db/repositories/client/types';
export default definePermissionEventHandler(
'clients',
'create',
async ({ event }) => {
const { name, expiresAt, publicKey } = await readValidatedBody(
event,
validateZod(ClientCreateSchema, event)
);
const result = await Database.clients.create({ name, expiresAt, publicKey });
await WireGuard.saveConfig();
const clientId = result[0]!.clientId;
return { success: true, clientId };
}
);