@coding-blocks/express-jsonapi-controller

1.4.0 • Public • Published

Express JSON:API Controller

Base controller class for express apps to create JSON:API endpoints for sequelize models

Installation

yarn add @coding-blocks/express-jsonapi-controller

Usage

// import your sequelize models
const DB = require('./models')

// import serializer for your model
const UserSerializer = require('./serializers/user')

// Get the controller
const { Controller } = require('express-jsonapi-controller')
const MyController = new Controller(
  DB.User, // Model you want to create controller instance for
  DB, // Models import for getting related models
  UserSerializer
)

// Create your endpoints
router.get('/', MyController.handleQuery)

Creating Serializers

We use jsonapi-serializer for serializing models

/*
export a function with following arguments
@params [included] included models config
@params [type] serialize or deserialize
@params [config] meta config
*/
module.exports = (included, type, config) => {
  return {
    attributes: ['firstName', 'lastName'],
    ...config
  };
};

Available Methods

  • Controller.handleQuery()
  • Controller.handleCreate()
  • Controller.handleQueryById()
  • Controller.handleUpdateById()
  • Controller.handleDeleteById()

/@coding-blocks/express-jsonapi-controller/

    Package Sidebar

    Install

    npm i @coding-blocks/express-jsonapi-controller

    Weekly Downloads

    3

    Version

    1.4.0

    License

    GPL-3.0-or-later

    Unpacked Size

    164 kB

    Total Files

    17

    Last publish

    Collaborators

    • abhishek97
    • vdvibhu20
    • witty123
    • championswimmer
    • jatinkatyal13
    • bipinkalra