/var/www/qr4y.kz/server/delivery/models
NameSizeModeActions
address.js12720644editdlrm
branch.js21210644editdlrm
branchPayTypes.js6160644editdlrm
branchPrinters.js8200644editdlrm
branchProducts.js14970644editdlrm
branchReviews.js7670644editdlrm
branchUsers.js5810644editdlrm
category.js9450644editdlrm
categoryImage.js10740644editdlrm
company.js13180644editdlrm
companyClients.js6840644editdlrm
companyImage.js10700644editdlrm
companyReviews.js7710644editdlrm
companyType.js6640644editdlrm
companyUsers.js5860644editdlrm
countryCode.js7030644editdlrm
deliveryType.js8540644editdlrm
driver.js6450644editdlrm
index.js150230644editdlrm
language.js6210644editdlrm
order.js25140644editdlrm
orderAddress.js8700644editdlrm
orderCancelCause.js7300644editdlrm
orderHistory.js9600644editdlrm
orderItems.js13290644editdlrm
orderPay.js9000644editdlrm
orderWaiters.js4950644editdlrm
payType.js6680644editdlrm
permission.js7310644editdlrm
product.js14600644editdlrm
productExtra.js6960644editdlrm
productFeature.js6430644editdlrm
productGroup.js14870644editdlrm
productGroupImage.js10560644editdlrm
productImage.js10350644editdlrm
productIngridient.js7160644editdlrm
productReviews.js8410644editdlrm
productType.js6640644editdlrm
productTypeFeature.js6600644editdlrm
productVariant.js7940644editdlrm
refreshToken.js12180644editdlrm
role.js8190644editdlrm
room.js8370644editdlrm
shippingRate.js18100644editdlrm
table.js11490644editdlrm
tableHistory.js12230644editdlrm
tableReserv.js14530644editdlrm
user.js23210644editdlrm
userAccountHistory.js10360644editdlrm
userAcount.js10590644editdlrm
userCartItem.js12670644editdlrm
userGoogleToken.js8740644editdlrm
userLoginHistory.js14150644editdlrm
userPhone.js8360644editdlrm
userToken.js12340644editdlrm
workTime.js9790644editdlrm
Edit: /var/www/qr4y.kz/server/delivery/models/index.js (15023B)
'use strict' const fs = require('fs') const path = require('path') const Sequelize = require('sequelize') const basename = path.basename(__filename) const env = process.env.NODE_ENV || 'development' const config = require(__dirname + '/../config/config.json')[env] const db = {} let sequelize if (config.use_env_variable) { sequelize = new Sequelize(process.env[config.use_env_variable], config) } else { sequelize = new Sequelize(config.database, config.username, config.password, config) } // загрузка моделей fs.readdirSync(__dirname) .filter((file) => { return file.indexOf('.') !== 0 && file !== basename && file.slice(-3) === '.js' }) .forEach((file) => { const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes) db[model.name] = model }) Object.keys(db).forEach((modelName) => { if (db[modelName].associate) { db[modelName].associate(db) } }) // связи таблиц // токен к пользователю db.user.hasOne(db.refreshToken, { foreignKey: 'userId' // targetKey: 'id' }) db.refreshToken.belongsTo(db.user, { foreignKey: 'userId' // targetKey: 'id' }) db.address.hasOne(db.user) db.user.belongsTo(db.address, { foreignKey: 'defaultAddressId' }) // 1:N телефоны пользователя db.user.hasMany(db.userPhone) db.userPhone.belongsTo(db.user, { foreignKey: 'userId' }) // 1:N токены пользователя db.user.hasMany(db.userToken) db.userToken.belongsTo(db.user, { foreignKey: 'userId' }) // 1:N google токены пользователя db.user.hasMany(db.userGoogleToken) db.userGoogleToken.belongsTo(db.user, { foreignKey: 'userId' }) // 1:N история входов пользователя db.user.hasMany(db.userLoginHistory) db.userLoginHistory.belongsTo(db.user, { foreignKey: 'userId' }) // 1:N адреса к пользователям db.user.hasMany(db.address) db.address.belongsTo(db.user, { foreignKey: 'userId' }) // 1:N карзина пользователя db.user.hasMany(db.userCartItem) db.userCartItem.belongsTo(db.user, { foreignKey: 'userId' }) // 1:N карзина пользователя db.product.hasOne(db.userCartItem) db.userCartItem.belongsTo(db.product) // 1:N product printer db.branchPrinter.hasMany(db.product) db.product.belongsTo(db.branchPrinter, { foreignKey: 'printerId' }) // 1:N роль пользователя db.role.hasMany(db.user, { as: 'users' }) db.user.belongsTo(db.role, { foreignKey: 'roleId' }) // 1:N язык пользователя db.language.hasMany(db.user, { as: 'users' }) db.user.belongsTo(db.language, { foreignKey: 'languageId' }) // 1:N счета пользователя db.user.hasMany(db.userAccount) db.userAccount.belongsTo(db.user, { foreignKey: 'userId' }) db.company.hasMany(db.userAccount) db.userAccount.belongsTo(db.company, { foreignKey: 'companyId' }) // 1:N история счетов пользователя db.userAccount.hasMany(db.userAccountHistory) db.userAccountHistory.belongsTo(db.userAccount, { foreignKey: 'userAccountId' }) // 1:1 водитель к пользователю db.user.hasOne(db.driver) db.driver.belongsTo(db.user) // M:N разрешения к ролям db.permission.belongsToMany(db.role, { through: 'roles_permissions', foreignKey: 'permissionId' }) db.role.belongsToMany(db.permission, { through: 'roles_permissions', foreignKey: 'roleId' }) // 1:N категории подкатегории db.category.hasMany(db.category, { as: 'subcategories' }) // 1:N картинки категории db.category.hasMany(db.categoryImage) db.categoryImage.belongsTo(db.category, { foreignKey: 'categoryId' }) // 1:N отделения компании db.company.hasMany(db.branch, { as: 'branches' }) db.branch.belongsTo(db.company, { foreignKey: 'companyId', as: 'company' }) // 1:N картинки категории db.company.hasMany(db.companyImage) db.companyImage.belongsTo(db.company, { foreignKey: 'companyId' }) // 1:N отзывы о компании db.company.hasMany(db.companyReview) db.companyReview.belongsTo(db.company, { foreignKey: 'companyId' }) // 1:N отзывы пользователя о компании db.user.hasMany(db.companyReview) db.companyReview.belongsTo(db.user, { foreignKey: 'userId' }) // 1:N отзывы о филиале db.branch.hasMany(db.branchReview) db.branchReview.belongsTo(db.branch, { foreignKey: 'branchId' }) // 1:N отзывы пользователя о филиале db.user.hasMany(db.branchReview) db.branchReview.belongsTo(db.user, { foreignKey: 'userId' }) // 1:N тип оплаты заказа db.payType.hasMany(db.order) db.order.belongsTo(db.payType, { foreignKey: 'payTypeId' }) // 1:N тип оплаты доставки db.payType.hasMany(db.order) db.order.belongsTo(db.payType, { as: 'deliveryPayType', foreignKey: 'deliveryPayTypeId' }) // 1:N тип доставки db.deliveryType.hasMany(db.order) db.order.belongsTo(db.deliveryType, { foreignKey: 'deliveryTypeId' }) // M:N пользователи компании db.user.belongsToMany(db.company, { through: db.companyUsers, foreignKey: 'userId', as: 'userCompanies' }) db.company.belongsToMany(db.user, { through: db.companyUsers, foreignKey: 'companyId', as: 'users' }) db.role.hasOne(db.companyUsers) db.companyUsers.belongsTo(db.role) db.user.hasOne(db.companyUsers) db.companyUsers.belongsTo(db.user) db.company.hasOne(db.companyUsers) db.companyUsers.belongsTo(db.company) // M:N клиенты компании db.user.belongsToMany(db.company, { through: db.companyClients, foreignKey: 'userId', as: 'clientCompanies' }) db.company.belongsToMany(db.user, { through: db.companyClients, foreignKey: 'companyId', as: 'clients' }) db.user.hasOne(db.companyClients) db.companyClients.belongsTo(db.user) db.company.hasOne(db.companyClients) db.companyClients.belongsTo(db.company) // M:N избранные компании db.user.belongsToMany(db.company, { through: 'favorite_companies', foreignKey: 'userId', as: 'favoriteCompanies' }) db.company.belongsToMany(db.user, { through: 'favorite_companies', foreignKey: 'companyId', as: 'favoriteUsers' }) // M:N избранные филиалы db.user.belongsToMany(db.branch, { through: 'favorite_branches', foreignKey: 'userId', as: 'favoriteBranches' }) db.branch.belongsToMany(db.user, { through: 'favorite_branches', foreignKey: 'branchId', as: 'favoriteUsers' }) // 1:1 адрес к филиалу db.address.hasOne(db.branch) db.branch.belongsTo(db.address) // 1:N время работы филиала db.branch.hasMany(db.workTime) db.workTime.belongsTo(db.branch, { foreignKey: 'branchId' }) // 1:N printers филиала db.branch.hasMany(db.branchPrinter) db.branchPrinter.belongsTo(db.branch, { foreignKey: 'branchId', as: 'branchPrinters' }) // M:N филиалы к пользователям db.user.belongsToMany(db.branch, { through: db.branchUsers, foreignKey: 'userId', as: 'userBranches' }) db.branch.belongsToMany(db.user, { through: db.branchUsers, foreignKey: 'branchId', as: 'users' }) db.role.hasOne(db.branchUsers) db.branchUsers.belongsTo(db.role) db.user.hasOne(db.branchUsers) db.branchUsers.belongsTo(db.user) db.branch.hasOne(db.branchUsers) db.branchUsers.belongsTo(db.branch) // M:N филиалы к delivery types db.branch.belongsToMany(db.deliveryType, { through: 'branches_delivery_types', foreignKey: 'branchId' }) db.deliveryType.belongsToMany(db.branch, { through: 'branches_delivery_types', foreignKey: 'deliveryTypeId' }) // 1:N тарифы типа доставки db.deliveryType.hasMany(db.shippingRate) db.shippingRate.belongsTo(db.deliveryType) // 1:N тарифы филиала db.branch.hasMany(db.shippingRate) db.shippingRate.belongsTo(db.branch) // M:N филиалы к пользователям db.payType.belongsToMany(db.branch, { through: db.branchPayTypes, foreignKey: 'payTypeId', as: 'payTypeBranches' }) db.branch.belongsToMany(db.payType, { through: db.branchPayTypes, foreignKey: 'branchId', as: 'payTypes' }) db.payType.hasOne(db.branchPayTypes) db.branchPayTypes.belongsTo(db.payType) db.deliveryType.hasOne(db.branchPayTypes) db.branchPayTypes.belongsTo(db.deliveryType) db.branch.hasOne(db.branchPayTypes) db.branchPayTypes.belongsTo(db.branch) // // M:N типы оплаты типов доставки // db.deliveryType.belongsToMany(db.payType, { // through: 'delivery_types_pay_types', // foreignKey: 'deliveryTypeId' // }) // db.payType.belongsToMany(db.deliveryType, { // through: 'delivery_types_pay_types', // foreignKey: 'payTypeId' // }) // M:N типы компаний к компаниям db.company.belongsToMany(db.companyType, { through: 'companies_types', foreignKey: 'companyId' }) db.companyType.belongsToMany(db.company, { through: 'companies_types', foreignKey: 'companyTypeId' }) // 1:N группы продуктов компании db.company.hasMany(db.productGroup, { as: 'product_groups' }) db.productGroup.belongsTo(db.company, { foreignKey: 'companyId' }) // 1:N продукты компании db.company.hasMany(db.product, { as: 'products' }) db.product.belongsTo(db.company, { foreignKey: 'companyId' }) // 1:N тип продукта db.productType.hasMany(db.product, { as: 'products' }) db.product.belongsTo(db.productType, { foreignKey: 'productTypeId' }) // 1:N группа продукта db.productGroup.hasMany(db.product, { as: 'products' }) db.product.belongsTo(db.productGroup, { foreignKey: 'productGroupId' }) // 1:N изображения продукта db.product.hasMany(db.productImage) db.productImage.belongsTo(db.product, { foreignKey: 'productId', as: 'productImages' }) // 1:N extras продукта db.product.hasMany(db.productExtra) db.productExtra.belongsTo(db.product, { foreignKey: 'productId', as: 'productExtras' }) // 1:N variants продукта db.product.hasMany(db.productVariant) db.productVariant.belongsTo(db.product, { foreignKey: 'productId', as: 'productVariants' }) // 1:N ingridients продукта db.product.hasMany(db.productIngridient) db.productIngridient.belongsTo(db.product, { foreignKey: 'productId', as: 'productIngridients' }) // 1:N db.product.hasMany(db.branchProduct) db.branchProduct.belongsTo(db.product, { foreignKey: 'productId', as: 'branchProduct' }) // 1:N изображения группы продукта db.productGroup.hasMany(db.productGroupImage) db.productGroupImage.belongsTo(db.productGroup, { foreignKey: 'productGroupId', as: 'productGroupImages' }) // M:N опции типа продукта db.productType.belongsToMany(db.productTypeFeature, { through: 'product_type_features_product_types', foreignKey: 'productTypeId' }) db.productTypeFeature.belongsToMany(db.productType, { through: 'product_type_features_product_types', foreignKey: 'productTypeFeatureId' }) db.productTypeFeature.hasMany(db.productFeature) db.productFeature.belongsTo(db.productTypeFeature, { foreignKey: 'productTypeFeatureId' }) // 1:N опции продукта db.product.hasMany(db.productFeature) db.productFeature.belongsTo(db.product, { foreignKey: 'productId' }) // 1:N отзывы о продукте db.product.hasMany(db.productReview) db.productReview.belongsTo(db.product, { foreignKey: 'productId' }) // M:N избранные продукты пользователя db.user.belongsToMany(db.product, { through: 'favorite_products', foreignKey: 'userId', as: 'favoriteProducts' }) db.product.belongsToMany(db.user, { through: 'favorite_products', foreignKey: 'productId', as: 'favoriteUsers' }) // 1:N отзывы пользователя о продукте db.user.hasMany(db.productReview) db.productReview.belongsTo(db.user, { foreignKey: 'userId' }) // 1:N категория продукта db.category.hasMany(db.product, { as: 'categories' }) db.product.belongsTo(db.category, { foreignKey: 'categoryId' }) // 1:N цены и остаток продукта db.product.hasMany(db.branchProduct) db.branchProduct.belongsTo(db.product, { foreignKey: 'productId' }) // 1:N продукты отделения db.branch.hasMany(db.branchProduct, { as: 'products' }) db.branchProduct.belongsTo(db.branch, { foreignKey: 'branchId' }) // 1:N заказы отделения db.branch.hasMany(db.order) db.order.belongsTo(db.branch, { foreignKey: 'branchId' }) // 1:N заказы компании db.company.hasMany(db.order) db.order.belongsTo(db.company, { foreignKey: 'companyId' }) // 1:N причины отмены заказа db.orderCancelCause.hasOne(db.order) db.order.belongsTo(db.orderCancelCause) // 1:N адреса доставки db.order.hasOne(db.orderAddress) db.orderAddress.belongsTo(db.order, { foreignKey: 'orderId' }) // 1:N товары заказа db.order.hasMany(db.orderItems) db.orderItems.belongsTo(db.order, { foreignKey: 'orderId' }) // 1:N история заказа db.order.hasMany(db.orderHistory) db.orderHistory.belongsTo(db.order, { foreignKey: 'orderId' }) // 1:N карзина пользователя db.product.hasOne(db.orderItems) db.orderItems.belongsTo(db.product) // 1:N заказы клиента db.user.hasMany(db.order) db.order.belongsTo(db.user, { foreignKey: 'userId', as: 'user' }) // 1:N заказы водителя db.driver.hasMany(db.order) db.order.belongsTo(db.driver, { foreignKey: 'driverId', as: 'driver' }) // 1:N заказы оператора db.user.hasMany(db.order) db.order.belongsTo(db.user, { foreignKey: 'operatorId', as: 'operator' }) // 1:N комнаты филиала db.branch.hasMany(db.room) db.room.belongsTo(db.branch) // 1:N столы комнаты db.room.hasMany(db.table) db.table.belongsTo(db.room) // 1:N заказы стола db.table.hasMany(db.order) db.order.belongsTo(db.table) // 1:N история стола db.table.hasMany(db.tableHistory) db.tableHistory.belongsTo(db.table,{ foreignKey: 'tableId' }) // 1:N брони филиала // db.branch.hasMany(db.tableReserv) // db.tableReserv.belongsTo(db.branch,{ // foreignKey: 'branchId' // }) // 1:N брони стола // db.table.hasMany(db.tableReserv) // db.tableReserv.belongsTo(db.table,{ // foreignKey: 'tableId' // }) // 1:N заказы брони стола db.tableReserv.hasMany(db.order) db.order.belongsTo(db.tableReserv) // M:N офицанты заказа db.order.belongsToMany(db.user, { through: 'order_waiters', foreignKey: 'orderId', as: 'orderWaiters' }) db.user.belongsToMany(db.order, { through: 'order_waiters', foreignKey: 'userId', as: 'waiterOrders', }) db.sequelize = sequelize db.Sequelize = Sequelize // db.sequelize.sync() // проверяет только наличие таблиц // db.sequelize.sync({ force: true }) // удаляет таблицы и создает новые // db.sequelize.sync({ alter: true }) // обновляет таблицы module.exports = db