/var/www/qr4y.com/server/delivery/api/responseModels/user
Edit: /var/www/qr4y.com/server/delivery/api/responseModels/user/user.model.js (3194B)
const BranchModel = require('../branch/branch.model')
const CompanyModel = require('../company/company.model')
const Language = require('../language/language.model')
const AddressModel = require('../address/address.model')
const RoleModel = require('../role/role.model')
const UserPhoneModel = require('./userPhone.model')
const UserTokenModel = require('./userToken.model')
const UserCartItemModel = require('./userCartItem.model')
module.exports = class UserModel {
constructor({
id,
name,
image,
email,
emailConfirmed,
language,
role,
isBlocked,
userPhones,
userTokens,
userGoogleTokens,
userCartItems,
userLoginHistories,
defaultAddressId,
ordersCreated,
ordersCompleted,
rating,
addresses,
userBranches,
userCompanies,
companyClient
}) {
this.id = id || ''
this.name = name || ''
this.image = image || ''
this.email = email || ''
this.emailConfirmed = emailConfirmed || false
this.isBlocked = isBlocked || false
this.ordersCreated = ordersCreated || 0
this.ordersCompleted = ordersCompleted || 0
this.rating = rating || 0
this.language = language ? new Language(language) : {}
this.role = role ? new RoleModel(role) : {}
this.defaultAddressId = defaultAddressId
this.addresses = addresses
? addresses.map((b) => {
return new AddressModel(b)
})
: []
this.branches = userBranches
? userBranches.map((b) => {
const { branch, role } = b
return {
id: branch.id,
active: branch.active,
name: branch.name,
company: branch.company
? {
id: branch.company.id,
name: branch.company.name
}
: {},
role: role ? { id: role.id, name: role.name } : {}
}
})
: []
this.companies = userCompanies
? userCompanies.map((c) => {
const { company, role } = c
return {
id: company.id,
enabled: company.enabled,
active: company.active,
name: company.name,
tag: company.tag,
description: company.description,
currency: company.currency,
image: company.image,
companyImages: company.companyImages,
role: role ? { id: role.id, name: role.name } : {}
}
})
: []
this.discounts = companyClient
? companyClient.map((d) => {
return {
id: d.id,
discount: d.discount,
company: d.company
? { id: d.company.id, name: d.company.name }
: {}
}
})
: []
this.userPhones = userPhones
? userPhones.map((p) => {
return new UserPhoneModel(p)
})
: []
this.userTokens = userTokens
? userTokens.map((t) => {
return new UserTokenModel(t)
})
: []
this.userGoogleTokens = userGoogleTokens
? userGoogleTokens.map((t) => {
return {
id: t.id,
token: t.token,
deviceId: t.deviceId
}
})
: []
this.userCarts = userCartItems
? userCartItems.map((p) => {
return new UserCartItemModel(p)
})
: []
this.userLoginHistories = userLoginHistories
? userLoginHistories.map((p) => {
return {
date: p.createdAt || '',
userAgent: p.userAgent || '',
ipAddress: p.ipAddress || ''
}
})
: []
}
}