uttori-plugin-upload-multer

    1.0.1 • Public • Published

    view on npm npm module downloads Build Status Dependency Status Coverage Status

    Uttori Plugin - Multer Upload

    A plugin to add file uploading using Multer.

    Install

    npm install --save uttori-plugin-upload-multer

    Config

    {
      // Registration Events
      events: {
        bindRoutes: ['bind-routes'],
      },
     
      // Directory files will be uploaded to.
      directory: 'uploads',
     
      // Server route to POST uploads to.
      route: '/upload',
    }

    API Reference

    MulterUpload

    Uttori Multer Upload

    Kind: global class

    MulterUpload.configKey ⇒ String

    The configuration key for plugin to look for in the provided configuration.

    Kind: static property of MulterUpload
    Returns: String - The configuration key.
    Example (MulterUpload.configKey)

    const config = { ...MulterUpload.defaultConfig(), ...context.config[MulterUpload.configKey] };

    MulterUpload.defaultConfig() ⇒ Object

    The default configuration.

    Kind: static method of MulterUpload
    Returns: Object - The configuration.
    Example (MulterUpload.defaultConfig())

    const config = { ...MulterUpload.defaultConfig(), ...context.config[MulterUpload.configKey] };

    MulterUpload.validateConfig(config)

    Validates the provided configuration for required entries.

    Kind: static method of MulterUpload

    Param Type Description
    config Object A configuration object.
    config[MulterUpload.configKey Object A configuration object specifically for this plugin.

    Example (MulterUpload.validateConfig(config, _context))

    MulterUpload.validateConfig({ ... });

    MulterUpload.register(context)

    Register the plugin with a provided set of events on a provided Hook system.

    Kind: static method of MulterUpload

    Param Type Description
    context Object A Uttori-like context.
    context.hooks Object An event system / hook system to use.
    context.hooks.on function An event registration function.
    context.config Object A provided configuration to use.
    context.config.events Object An object whose keys correspong to methods, and contents are events to listen for.

    Example (MulterUpload.register(context))

    const context = {
      hooks: {
        on: (event, callback) => { ... },
      },
      config: {
        [MulterUpload.configKey]: {
          ...,
          events: {
            bindRoutes: ['bind-routes'],
          },
        },
      },
    };
    MulterUpload.register(context);

    MulterUpload.bindRoutes(server, context)

    Add the upload route to the server object.

    Kind: static method of MulterUpload

    Param Type Description
    server Object An Express server instance.
    server.post function Function to register route.
    server.use function Function to register middleware.
    context Object A Uttori-like context.
    context.config Object A provided configuration to use.
    context.config.directory String The file path to save files into.
    context.config.route String The URL to POST files to.

    Example (MulterUpload.bindRoutes(server, context))

    const context = {
      config: {
        [MulterUpload.configKey]: {
          directory: 'uploads',
          route: '/upload',
        },
      },
    };
    MulterUpload.bindRoutes(server, context);

    MulterUpload.upload(request, response, next)

    The Express route method to process the upload request and provide a response.

    Kind: static method of MulterUpload

    Param Type Description
    request Object An Express request object.
    request.file Object The uploaded file.
    request.file.filename String The uploaded file's filename.
    response Object An Express response object.
    next Object An Express next function.

    Example (MulterUpload.upload(request, response, _next))

    server.post('/upload', MulterUpload.upload);

    Tests

    To run the test suite, first install the dependencies, then run npm test:

    npm install
    npm test
    DEBUG=Uttori* npm test

    Contributors

    License

    Keywords

    Install

    npm i uttori-plugin-upload-multer

    DownloadsWeekly Downloads

    0

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    17.6 kB

    Total Files

    5

    Last publish

    Collaborators

    • matthewcallis