1.0.1 • Published 5 years ago

poom-bodyparser v1.0.1

Weekly downloads
1
License
ISC
Repository
-
Last release
5 years ago

poom-bodyparser

A plugin helps parse request body for poom

Installation

npm i poom-bodyparser -S

Examples

Typescript

import { GET, POST, PUT, DELETE, HEAD } from 'poom-route';
import { BODYPARSER } from 'poom-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
    }
}
1.0.1

5 years ago

1.0.0

5 years ago

0.0.1

6 years ago