"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 Seat = db_1["default"].define('consul', { stake: sequelize_1.DataTypes.INTEGER }); Seat.findAllWithIncludes = function () { return this.findAll({ include: [ { model: db_1["default"].models.council }, { model: db_1["default"].models.member }, { association: 'votes', include: [{ model: db_1["default"].models.proposal, attributes: ['title'] }] }, { association: 'voters', include: [{ model: db_1["default"].models.member, attributes: ['handle'] }] }, ] }); }; Seat.findByIdWithIncludes = function (id, args) { return this.findByPk(id, __assign(__assign({}, args), { include: [ { model: db_1["default"].models.council }, { model: db_1["default"].models.member }, { association: 'votes', include: [{ model: db_1["default"].models.proposal, attributes: ['title'] }] }, { association: 'voters', include: [{ model: db_1["default"].models.member, attributes: ['handle'] }] }, ] })); }; Seat.findWithIncludes = function (args) { return this.findAll(__assign(__assign({}, args), { include: [ { model: db_1["default"].models.council }, { model: db_1["default"].models.member }, { association: 'votes', include: [{ model: db_1["default"].models.proposal, attributes: ['title'] }] }, { association: 'voters', include: [{ model: db_1["default"].models.member, attributes: ['handle'] }] }, ] })); }; exports["default"] = Seat;