UNPKG

@opengis/admin

Version:

This project Softpro Admin

52 lines (41 loc) 1.49 kB
import path from 'node:path'; import { dataUpdate, pgClients, uploadMultiPart } from '@opengis/fastify-table/utils.js'; export default async function widgetSet(req, reply) { const { pg = pgClients.client, headers = {}, user = {}, params = {} } = req; if (!params?.id) { return reply.status(400).send('not enough params: id'); } if (!pg.pk?.['crm.files']) { return reply.status(404).send('table not found'); } if (headers['content-type']?.split?.(';')?.shift?.() !== 'multipart/form-data') { return reply.status(400).send('invalid payload content type'); } const file = await uploadMultiPart(req); const extName = path.extname(file.filepath).slice(1).toLowerCase(); const data = { uploaded_name: file?.originalFilename?.toLocaleLowerCase()?.replace(/'/g, '\'\''), file_path: file?.relativeFilepath?.replace(/\\/g, '/'), ext: extName, size: file?.size, file_status: 1, uid: user?.uid || 1, }; const result = await dataUpdate({ pg, table: 'crm.files', id: params.id, data, uid: user?.uid, }); if (!result?.file_id) { return reply.status(404).send('file not found'); } return reply.status(200).send({ rowCount: 1, data: result, command: 'UPLOAD', id: result?.file_id, entity_id: result?.entity_id, }); }