Added Public Links
This commit is contained in:
41
src/routes/publiclinks/publiclinks-authenticated.ts
Normal file
41
src/routes/publiclinks/publiclinks-authenticated.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { FastifyRequest, FastifyReply, FastifyInstance } from 'fastify';
|
||||
import { publicLinkService } from '../../modules/publiclinks.service';
|
||||
|
||||
|
||||
export default async function publiclinksAuthenticatedRoutes(server: FastifyInstance) {
|
||||
server.post("/publiclinks", async (req, reply) => {
|
||||
try {
|
||||
const tenantId = 21; // Hardcoded für Test, später: req.user.tenantId
|
||||
|
||||
const { name, isProtected, pin, customToken, config, defaultProfileId } = req.body as { name:string, isProtected:boolean, pin:string, customToken:string, config:Object, defaultProfileId:string};
|
||||
|
||||
const newLink = await publicLinkService.createLink(server, tenantId,
|
||||
name,
|
||||
isProtected,
|
||||
pin,
|
||||
customToken,
|
||||
config,
|
||||
defaultProfileId);
|
||||
|
||||
return reply.code(201).send({
|
||||
success: true,
|
||||
data: {
|
||||
id: newLink.id,
|
||||
token: newLink.token,
|
||||
fullUrl: `/public/${newLink.token}`, // Helper für Frontend
|
||||
isProtected: newLink.isProtected
|
||||
}
|
||||
});
|
||||
|
||||
} catch (error: any) {
|
||||
server.log.error(error);
|
||||
|
||||
// Einfache Fehlerbehandlung
|
||||
if (error.message.includes("bereits vergeben")) {
|
||||
return reply.code(409).send({ error: error.message });
|
||||
}
|
||||
|
||||
return reply.code(500).send({ error: "Fehler beim Erstellen des Links", details: error.message });
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user