@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()

Package Sidebar

Install

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

Weekly Downloads

1

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