UNPKG

@opengis/fastify-table

Version:

core-plugins

44 lines (43 loc) 1.62 kB
import path from "node:path"; import { dataInsert, pgClients } from "../../../../utils.js"; import uploadMultiPart from "../../../plugins/file/uploadMultiPart.js"; export default async function uploadImage(req) { const { pg = pgClients.client, user } = req; const { uid = 1 } = user || {}; const file = await uploadMultiPart(req); const objectId = req.params["*"]; // ID from token? const extName = path .extname(file.filepath || "") .slice(1) .toLowerCase(); const resultInsert = await dataInsert({ pg, table: "crm.files", data: { uploaded_name: file?.originalFilename?.toLocaleLowerCase(), file_path: file?.relativeFilepath?.replace(/\\/g, "/"), ext: extName, size: file?.size, file_status: 1, entity_id: objectId, }, uid, }).then((el) => el?.rows?.[0] || {}); const { dir: relativeDirpath, base: fileName } = resultInsert?.file_path ? path.parse(resultInsert.file_path) : {}; return { res: "ok", name: file?.originalFilename, result: { file_id: resultInsert.file_id, format: resultInsert.ext || extName, size: resultInsert.size || file?.size, entity_id: resultInsert.entity_id, file_path: resultInsert.file_path || file?.relativeFilepath?.replace(/\\/g, "/"), file_name: file?.originalFilename?.toLocaleLowerCase?.(), dir: relativeDirpath?.replace(/\\/g, "/"), native_file_name: fileName, }, }; }