README
vados-bodyparser
A plugin helps parse request body for vados
Installation
npm i vados-bodyparser -S
Examples
Typescript
import { GET, POST, PUT, DELETE, HEAD } from 'vados-route';
import { BODYPARSER } from 'vados-bodyparser';
export default class ChartController {
@PUT('/chart/:id')
@BODYPARSER([{
autoCreate?: true, //[Boolean] Auto create folder if not existed
mimes: string, //Can inject data by string or fix string mime type. "() => `${state.config.ext}`" or 'jpg|png|.*'
limits: {
fileSize: number|string//Can inject data by string or fix string mime type. "() => state.config.maxSize" or 1024 (1MB)
},
returnType?: String; // [String] return only path, [Object] return full object file
returnPath?: string; // Return path after uploaded. Can inject "() => `upload/${state.auth.projectId}`" or "images/"
name: 'images'; // Field name
uploadDir?: string // absolute path where file will be saved to. Can inject "() => `assets/upload/${state.auth.projectId}`" or 'assets/images'
maxCount?: number|string // Max file can be uploaded. can inject "() => state.config.maxFile" or 3(max number of files upload)
resize?: [ // Auto resize image base on your configuration here
{w: -1000 }, // Auto resize origin when width > 1000. If width < 1000 do nothing
{w: 32, h: 32, ext: 'thumb'},
{w: 224, h: 200, ext: 'list.pc'},
{w: 358, h: 200, ext: 'list.tab'},
{w: 270, h: 200, ext: 'list.mob'}
] // Can inject "() => state.config.resize"
}])
static async add({
body, params
}) {
body.id = params.id; // Assign body data to params which is got from client
return body; // Return request body which is got from client
}
}