a8ba7f7247
* Fixed a bug causing .conf.txt download on Android ... affecting Firefox based Android browsers. * change content-type --------- Co-authored-by: Badri Isiani <badri@loonartech.net> Co-authored-by: Bernd Storath <999999bst@gmail.com>
33 lines
839 B
TypeScript
33 lines
839 B
TypeScript
import { ClientGetSchema } from '#db/repositories/client/types';
|
|
|
|
export default definePermissionEventHandler(
|
|
'clients',
|
|
'view',
|
|
async ({ event, checkPermissions }) => {
|
|
const { clientId } = await getValidatedRouterParams(
|
|
event,
|
|
validateZod(ClientGetSchema, event)
|
|
);
|
|
const client = await Database.clients.get(clientId);
|
|
checkPermissions(client);
|
|
|
|
if (!client) {
|
|
throw createError({
|
|
statusCode: 404,
|
|
statusMessage: 'Client not found',
|
|
});
|
|
}
|
|
|
|
const config = await WireGuard.getClientConfiguration({ clientId });
|
|
|
|
setHeader(
|
|
event,
|
|
'Content-Disposition',
|
|
`attachment; filename="${WireGuard.cleanClientFilename(client.name) || clientId}.conf"`
|
|
);
|
|
|
|
setHeader(event, 'Content-Type', 'application/octet-stream');
|
|
return config;
|
|
}
|
|
);
|