1

There are 2 plugins that I want to use, objection-password and objection-paginator but all plugins requires to extend some base classes, which is user class. How do I extend 2 classes in objectionjs ?

My Code

const Password = require('objection-password')()

const Paginator = require('objection-paginator')
const { Model } = require('objection')

// Users class also must extends Passoword to use the method
class Users extends Paginator(Model) {
  static get tableName () {
    return 'users'
  }
}

module.exports = Users
mandaputtra
  • 922
  • 3
  • 18
  • 36

1 Answers1

0

In order to use multiple plugins, you'd need to use mixins from objection package

Here's what your code should look like after using multiple plugins.

const Password = require('objection-password')()
const Paginator = require('objection-paginator')
const { mixin, Model } = require('objection')

// Users class also must extends Passoword to use the method
class Users extends mixin(Model, [
    Password,
    Paginator
]) {
  static get tableName () {
    return 'users'
  }
}

module.exports = Users

Reference from objection documentation

Abed Murrar
  • 91
  • 1
  • 9