1.4.0 • Published 2 years ago

@coding-blocks/express-jsonapi-controller v1.4.0

Weekly downloads
-
License
GPL-3.0-or-later
Repository
github
Last release
2 years ago

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

2 years ago

1.3.0

2 years ago

1.2.0

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.1.2

4 years ago

1.0.7

5 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago