mirror of
https://github.com/plankanban/planka.git
synced 2025-07-19 05:09:43 +02:00
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
/*!
|
|
* Copyright (c) 2024 PLANKA Software GmbH
|
|
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
|
*/
|
|
|
|
const util = require('util');
|
|
const { v4: uuid } = require('uuid');
|
|
|
|
module.exports = {
|
|
friendlyName: 'Receive uploaded file from request',
|
|
|
|
description:
|
|
'Store a file uploaded from a MIME-multipart request part. The resulting file will have a unique UUID-based name with the same extension.',
|
|
|
|
inputs: {
|
|
paramName: {
|
|
type: 'string',
|
|
required: true,
|
|
description: 'The MIME multi-part parameter containing the file to receive.',
|
|
},
|
|
req: {
|
|
type: 'ref',
|
|
required: true,
|
|
description: 'The request to receive the file from.',
|
|
},
|
|
},
|
|
|
|
async fn(inputs, exits) {
|
|
const upload = util.promisify((options, callback) =>
|
|
inputs.req.file(inputs.paramName).upload(options, (error, files) => callback(error, files)),
|
|
);
|
|
|
|
return exits.success(
|
|
await upload({
|
|
dirname: sails.config.custom.uploadsTempPath,
|
|
saveAs: uuid(),
|
|
maxBytes: null,
|
|
}),
|
|
);
|
|
},
|
|
};
|