Как правильно создать / экспортировать класс

Имеется класс, который создан для того, чтобы оперировать с моделями ORM. То есть, есть созданные модели таблиц, их нужно поместить в класс, чтобы производить операции с ними.

Вопрос в том, можно ли так делать в принципе, как делаю я и почему у меня не получается сделать нормальный экспорт.

//На входе две модели Sequelize (то есть таблицы БД в виде классов)
const {People, City} = require('/path')

создаю класс:

class MainModel {
    constructor(people, city){
        this.people = people
        this.city = city
    }
//Далее я создаю метод, в котором получаю нужные мне значения из этих таблиц
    async getAll(){
       //тут специфический код sequelize и далее присваиваем res какое-то значение 
        const res = await this.people.findAll()
        return JSON.stringify(res, null, 2)
}


}

Далее я создаю экземпляр класса и экспортирую.

const newpeop = MainModel(People, City)
module.exports = newpeop

В файле роутинга я произвожу импорт из данного файла и хочу, чтобы при переходе на главную у меня выводился результат.

//в роутер файле

const mainModel = require(../path_to_model_file)
router.get('/', mainModel.getAllQuery())

По итогу получаю ошибки : Route.get() requires a callback function but got a [object Promise]

И другие, в зависимости от того, что меняю.

В чем причина? Понимаю, что указанная причина из-за получения промиса вместо значения, но не совсем понимаю, как это исправить. Сразу извиняюсь за качество кода, я совсем новичок.


Ответы (0 шт):