const models = require('../models') const jalali = require("jalali-moment"); const docxTemp = require('../tools/docxtemp') let methods = {} let privates = { findUser : (userId)=>{ return new Promise((resolve, reject) => { models.User.findByPk(userId) .then((user) => { if(user){ resolve(user.dataValues) }else{ reject({ eCode: 404, eText: 'کاربر یافت نشد' }) } }).catch(err => { reject({ eCode: 500, eText: err }) }) }) } } methods.addUser = (userInfo) => { return new Promise((resolve, reject) => { models.User.create(userInfo).then((user) => { resolve(user) }).catch(err => { reject({ eCode: 500, eText: err }) }) }) } methods.completeForm =(userId)=>{ return new Promise((resolve, reject) => { privates.findUser(userId) .then(user=>{ let userInfo = user userInfo.fullName = user.firstName + ' ' + user.lastName userInfo.obligationDate = jalali( user.obligationDate, 'YYYY/MM/DD').locale('fa').format('YYYY/MM/DD') userInfo.requestDate = jalali( user.requestDate, 'YYYY/MM/DD').locale('fa').format('YYYY/MM/DD') userInfo.writtenOrderDate = jalali( user.writtenOrderDate, 'YYYY/MM/DD').locale('fa').format('YYYY/MM/DD') return docxTemp(userInfo, userInfo.fileName) }).then(link=>{ resolve(link) }).catch(err => { if (err.eText) { if (typeof (err.eText) !== 'string') { err.eText = err.eText.toString() } reject({ eCode: err.eCode, eText: err.eText }) } else { reject({ eCode: 500, eText: err }) } }) }) } module.exports = methods