"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; exports.__esModule = true; var db_1 = require("../db"); var sequelize_1 = require("sequelize"); var Thread = db_1["default"].define('thread', { id: { type: sequelize_1.DataTypes.INTEGER, primaryKey: true }, createdAt: sequelize_1.DataTypes.INTEGER, title: sequelize_1.DataTypes.TEXT, nrInCategory: sequelize_1.DataTypes.INTEGER }); Thread.findAllWithIncludes = function () { return this.findAll({ include: [ { model: db_1["default"].models.category }, { model: db_1["default"].models.post, include: [{ association: 'author' }] }, { association: 'creator' }, { model: db_1["default"].models.moderation }, ] }); }; Thread.findByIdWithIncludes = function (id, args) { return this.findByPk(id, __assign(__assign({}, args), { include: [ { model: db_1["default"].models.category }, { model: db_1["default"].models.post, include: [{ association: 'author' }] }, { association: 'creator' }, { model: db_1["default"].models.moderation }, ] })); }; Thread.findWithIncludes = function (args) { return this.findAll(__assign(__assign({}, args), { include: [ { model: db_1["default"].models.category }, { model: db_1["default"].models.post, include: [{ association: 'author' }] }, { association: 'creator' }, { model: db_1["default"].models.moderation }, ] })); }; exports["default"] = Thread;