Built motion from commit d1eab355.|2.6.28
[motion2.git] / server / api / intFreshsalesConfiguration / intFreshsalesConfiguration.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xf8a7=['limit','undefined','offset','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map','FreshsalesConfiguration','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','VIRTUAL','count','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','destroy','getSubjects','where','getDescriptions','findOne','FreshsalesField','getFields','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','squel','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json'];(function(_0x21fad4,_0x13fdec){var _0x513153=function(_0x7d06d3){while(--_0x7d06d3){_0x21fad4['push'](_0x21fad4['shift']());}};_0x513153(++_0x13fdec);}(_0xf8a7,0xdc));var _0x7f8a=function(_0x273731,_0x2d4b7b){_0x273731=_0x273731-0x0;var _0x58de27=_0xf8a7[_0x273731];return _0x58de27;};'use strict';var emlformat=require(_0x7f8a('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x7f8a('0x1'));var rp=require(_0x7f8a('0x2'));var moment=require(_0x7f8a('0x3'));var BPromise=require(_0x7f8a('0x4'));var Mustache=require(_0x7f8a('0x5'));var util=require(_0x7f8a('0x6'));var path=require('path');var sox=require(_0x7f8a('0x7'));var csv=require(_0x7f8a('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7f8a('0x9'));var _=require(_0x7f8a('0xa'));var squel=require(_0x7f8a('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x7f8a('0xc'));var authService=require(_0x7f8a('0xd'));var qs=require('../../components/parsers/qs');var as=require(_0x7f8a('0xe'));var hardwareService=require(_0x7f8a('0xf'));var logger=require(_0x7f8a('0x10'))(_0x7f8a('0x11'));var utils=require(_0x7f8a('0x12'));var config=require(_0x7f8a('0x13'));var licenseUtil=require(_0x7f8a('0x14'));var db=require(_0x7f8a('0x15'))['db'];function respondWithStatusCode(_0x263db9,_0x124f7c){_0x124f7c=_0x124f7c||0xcc;return function(_0xfee3af){if(_0xfee3af){return _0x263db9[_0x7f8a('0x16')](_0x124f7c);}return _0x263db9[_0x7f8a('0x17')](_0x124f7c)[_0x7f8a('0x18')]();};}function respondWithResult(_0x27ebdb,_0x1a621a){_0x1a621a=_0x1a621a||0xc8;return function(_0x29cbe3){if(_0x29cbe3){return _0x27ebdb[_0x7f8a('0x17')](_0x1a621a)[_0x7f8a('0x19')](_0x29cbe3);}};}function respondWithFilteredResult(_0x82338a,_0x26561b){return function(_0xd72dd3){if(_0xd72dd3){var _0x8e6778=typeof _0x26561b['offset']==='undefined'&&typeof _0x26561b[_0x7f8a('0x1a')]===_0x7f8a('0x1b');var _0x5d3a26=_0xd72dd3['count'];var _0x3a6099=_0x8e6778?0x0:_0x26561b[_0x7f8a('0x1c')];var _0x340f29=_0x8e6778?_0xd72dd3['count']:_0x26561b['offset']+_0x26561b[_0x7f8a('0x1a')];var _0x3dc2d3;if(_0x340f29>=_0x5d3a26){_0x340f29=_0x5d3a26;_0x3dc2d3=0xc8;}else{_0x3dc2d3=0xce;}_0x82338a[_0x7f8a('0x17')](_0x3dc2d3);return _0x82338a[_0x7f8a('0x1d')](_0x7f8a('0x1e'),_0x3a6099+'-'+_0x340f29+'/'+_0x5d3a26)[_0x7f8a('0x19')](_0xd72dd3);}return null;};}function patchUpdates(_0x4ba2ed){return function(_0x203e9f){try{jsonpatch[_0x7f8a('0x1f')](_0x203e9f,_0x4ba2ed,!![]);}catch(_0x1c4ac8){return BPromise[_0x7f8a('0x20')](_0x1c4ac8);}return _0x203e9f[_0x7f8a('0x21')]();};}function saveUpdates(_0x44fa8c,_0x3c55f0){return function(_0x412ac0){if(_0x412ac0){return _0x412ac0[_0x7f8a('0x22')](_0x44fa8c)[_0x7f8a('0x23')](function(_0x554e6d){return _0x554e6d;});}return null;};}function removeEntity(_0x3bd4da,_0x11f87b){return function(_0x55bcf2){if(_0x55bcf2){return _0x55bcf2['destroy']()[_0x7f8a('0x23')](function(){_0x3bd4da['status'](0xcc)[_0x7f8a('0x18')]();});}};}function handleEntityNotFound(_0x13bca0,_0x8a2983){return function(_0x15b03e){if(!_0x15b03e){_0x13bca0[_0x7f8a('0x16')](0x194);}return _0x15b03e;};}function handleError(_0x211acc,_0x324235){_0x324235=_0x324235||0x1f4;return function(_0x431256){logger[_0x7f8a('0x24')](_0x431256[_0x7f8a('0x25')]);if(_0x431256[_0x7f8a('0x26')]){delete _0x431256[_0x7f8a('0x26')];}_0x211acc[_0x7f8a('0x17')](_0x324235)[_0x7f8a('0x27')](_0x431256);};}exports[_0x7f8a('0x28')]=function(_0x12c6fa,_0x497331){var _0x45bfd8={},_0x3e9bc0={},_0x44aadf={'count':0x0,'rows':[]};var _0x30eda4=_[_0x7f8a('0x29')](db[_0x7f8a('0x2a')][_0x7f8a('0x2b')],function(_0x241c0f){return{'name':_0x241c0f[_0x7f8a('0x2c')],'type':_0x241c0f[_0x7f8a('0x2d')][_0x7f8a('0x2e')]};});_0x3e9bc0[_0x7f8a('0x2f')]=_['map'](_0x30eda4,_0x7f8a('0x26'));_0x3e9bc0[_0x7f8a('0x30')]=_[_0x7f8a('0x31')](_0x12c6fa[_0x7f8a('0x30')]);_0x3e9bc0[_0x7f8a('0x32')]=_[_0x7f8a('0x33')](_0x3e9bc0['model'],_0x3e9bc0['query']);_0x45bfd8[_0x7f8a('0x34')]=_[_0x7f8a('0x33')](_0x3e9bc0['model'],qs[_0x7f8a('0x35')](_0x12c6fa[_0x7f8a('0x30')]['fields']));_0x45bfd8[_0x7f8a('0x34')]=_0x45bfd8['attributes'][_0x7f8a('0x36')]?_0x45bfd8[_0x7f8a('0x34')]:_0x3e9bc0[_0x7f8a('0x2f')];if(!_0x12c6fa[_0x7f8a('0x30')][_0x7f8a('0x37')](_0x7f8a('0x38'))){_0x45bfd8[_0x7f8a('0x1a')]=qs[_0x7f8a('0x1a')](_0x12c6fa[_0x7f8a('0x30')][_0x7f8a('0x1a')]);_0x45bfd8[_0x7f8a('0x1c')]=qs[_0x7f8a('0x1c')](_0x12c6fa['query'][_0x7f8a('0x1c')]);}_0x45bfd8[_0x7f8a('0x39')]=qs['sort'](_0x12c6fa[_0x7f8a('0x30')][_0x7f8a('0x3a')]);_0x45bfd8['where']=qs[_0x7f8a('0x32')](_[_0x7f8a('0x3b')](_0x12c6fa[_0x7f8a('0x30')],_0x3e9bc0[_0x7f8a('0x32')]),_0x30eda4);if(_0x12c6fa[_0x7f8a('0x30')][_0x7f8a('0x3c')]){_0x45bfd8['where']=_[_0x7f8a('0x3d')](_0x45bfd8['where'],{'$or':_[_0x7f8a('0x29')](_0x30eda4,function(_0x880215){if(_0x880215[_0x7f8a('0x2d')]!==_0x7f8a('0x3e')){var _0x3abd61={};_0x3abd61[_0x880215[_0x7f8a('0x26')]]={'$like':'%'+_0x12c6fa[_0x7f8a('0x30')][_0x7f8a('0x3c')]+'%'};return _0x3abd61;}})});}_0x45bfd8=_[_0x7f8a('0x3d')]({},_0x45bfd8,_0x12c6fa['options']);var _0x42f4d8={'where':_0x45bfd8['where']};return db['FreshsalesConfiguration'][_0x7f8a('0x3f')](_0x42f4d8)[_0x7f8a('0x23')](function(_0x30e267){_0x44aadf[_0x7f8a('0x3f')]=_0x30e267;if(_0x12c6fa['query'][_0x7f8a('0x40')]){_0x45bfd8[_0x7f8a('0x41')]=[{'all':!![]}];}return db[_0x7f8a('0x2a')][_0x7f8a('0x42')](_0x45bfd8);})['then'](function(_0x2885b3){_0x44aadf[_0x7f8a('0x43')]=_0x2885b3;return _0x44aadf;})[_0x7f8a('0x23')](respondWithFilteredResult(_0x497331,_0x45bfd8))[_0x7f8a('0x44')](handleError(_0x497331,null));};exports[_0x7f8a('0x45')]=function(_0x3c76c3,_0x238ae2){var _0x47b5c8={'raw':![],'where':{'id':_0x3c76c3[_0x7f8a('0x46')]['id']}},_0x7f8249={};_0x7f8249[_0x7f8a('0x2f')]=_['keys'](db['FreshsalesConfiguration'][_0x7f8a('0x2b')]);_0x7f8249[_0x7f8a('0x30')]=_[_0x7f8a('0x31')](_0x3c76c3['query']);_0x7f8249[_0x7f8a('0x32')]=_[_0x7f8a('0x33')](_0x7f8249[_0x7f8a('0x2f')],_0x7f8249['query']);_0x47b5c8[_0x7f8a('0x34')]=_[_0x7f8a('0x33')](_0x7f8249[_0x7f8a('0x2f')],qs[_0x7f8a('0x35')](_0x3c76c3[_0x7f8a('0x30')]['fields']));_0x47b5c8[_0x7f8a('0x34')]=_0x47b5c8[_0x7f8a('0x34')][_0x7f8a('0x36')]?_0x47b5c8['attributes']:_0x7f8249[_0x7f8a('0x2f')];if(_0x3c76c3[_0x7f8a('0x30')][_0x7f8a('0x40')]){_0x47b5c8[_0x7f8a('0x41')]=[{'all':!![]}];}_0x47b5c8=_[_0x7f8a('0x3d')]({},_0x47b5c8,_0x3c76c3[_0x7f8a('0x47')]);return db[_0x7f8a('0x2a')][_0x7f8a('0x48')](_0x47b5c8)[_0x7f8a('0x23')](handleEntityNotFound(_0x238ae2,null))[_0x7f8a('0x23')](respondWithResult(_0x238ae2,null))[_0x7f8a('0x44')](handleError(_0x238ae2,null));};exports[_0x7f8a('0x49')]=function(_0x7b564e,_0x5d081){return db[_0x7f8a('0x2a')][_0x7f8a('0x49')](_0x7b564e[_0x7f8a('0x4a')],{})['then'](respondWithResult(_0x5d081,0xc9))[_0x7f8a('0x44')](handleError(_0x5d081,null));};exports[_0x7f8a('0x22')]=function(_0x41549d,_0x297c99){if(_0x41549d[_0x7f8a('0x4a')]['id']){delete _0x41549d[_0x7f8a('0x4a')]['id'];}return db[_0x7f8a('0x2a')][_0x7f8a('0x48')]({'where':{'id':_0x41549d['params']['id']}})[_0x7f8a('0x23')](handleEntityNotFound(_0x297c99,null))[_0x7f8a('0x23')](saveUpdates(_0x41549d[_0x7f8a('0x4a')],null))[_0x7f8a('0x23')](respondWithResult(_0x297c99,null))[_0x7f8a('0x44')](handleError(_0x297c99,null));};exports[_0x7f8a('0x4b')]=function(_0x4ee848,_0x4847d1){return db[_0x7f8a('0x2a')][_0x7f8a('0x48')]({'where':{'id':_0x4ee848['params']['id']}})[_0x7f8a('0x23')](handleEntityNotFound(_0x4847d1,null))['then'](removeEntity(_0x4847d1,null))[_0x7f8a('0x44')](handleError(_0x4847d1,null));};exports[_0x7f8a('0x4c')]=function(_0x430c19,_0x5a662a,_0x3e2690){var _0x529d4={};var _0xaa5e3a={};var _0x44371d;var _0x5b6470;return db[_0x7f8a('0x2a')]['findOne']({'where':{'id':_0x430c19[_0x7f8a('0x46')]['id']}})[_0x7f8a('0x23')](handleEntityNotFound(_0x5a662a,null))[_0x7f8a('0x23')](function(_0x54c22e){if(_0x54c22e){_0x44371d=_0x54c22e;_0xaa5e3a['model']=_[_0x7f8a('0x31')](db['FreshsalesField'][_0x7f8a('0x2b')]);_0xaa5e3a[_0x7f8a('0x30')]=_[_0x7f8a('0x31')](_0x430c19['query']);_0xaa5e3a[_0x7f8a('0x32')]=_[_0x7f8a('0x33')](_0xaa5e3a[_0x7f8a('0x2f')],_0xaa5e3a[_0x7f8a('0x30')]);_0x529d4[_0x7f8a('0x34')]=_[_0x7f8a('0x33')](_0xaa5e3a[_0x7f8a('0x2f')],qs['fields'](_0x430c19[_0x7f8a('0x30')]['fields']));_0x529d4[_0x7f8a('0x34')]=_0x529d4['attributes'][_0x7f8a('0x36')]?_0x529d4[_0x7f8a('0x34')]:_0xaa5e3a[_0x7f8a('0x2f')];_0x529d4[_0x7f8a('0x39')]=qs[_0x7f8a('0x3a')](_0x430c19[_0x7f8a('0x30')]['sort']);_0x529d4['where']=qs['filters'](_[_0x7f8a('0x3b')](_0x430c19['query'],_0xaa5e3a[_0x7f8a('0x32')]));if(_0x430c19[_0x7f8a('0x30')]['filter']){_0x529d4[_0x7f8a('0x4d')]=_[_0x7f8a('0x3d')](_0x529d4[_0x7f8a('0x4d')],{'$or':_['map'](_0x529d4['attributes'],function(_0x2f9e90){var _0x56ea0e={};_0x56ea0e[_0x2f9e90]={'$like':'%'+_0x430c19[_0x7f8a('0x30')]['filter']+'%'};return _0x56ea0e;})});}_0x529d4=_[_0x7f8a('0x3d')]({},_0x529d4,_0x430c19[_0x7f8a('0x47')]);return _0x44371d[_0x7f8a('0x4c')](_0x529d4);}})[_0x7f8a('0x23')](function(_0x1539d4){if(_0x1539d4){_0x5b6470=_0x1539d4[_0x7f8a('0x36')];if(!_0x430c19[_0x7f8a('0x30')]['hasOwnProperty']('nolimit')){_0x529d4[_0x7f8a('0x1a')]=qs[_0x7f8a('0x1a')](_0x430c19[_0x7f8a('0x30')][_0x7f8a('0x1a')]);_0x529d4[_0x7f8a('0x1c')]=qs[_0x7f8a('0x1c')](_0x430c19[_0x7f8a('0x30')][_0x7f8a('0x1c')]);}return _0x44371d[_0x7f8a('0x4c')](_0x529d4);}})[_0x7f8a('0x23')](function(_0x368455){if(_0x368455){return _0x368455?{'count':_0x5b6470,'rows':_0x368455}:null;}})[_0x7f8a('0x23')](respondWithResult(_0x5a662a,null))['catch'](handleError(_0x5a662a,null));};exports[_0x7f8a('0x4e')]=function(_0x5a813f,_0x10d4fe,_0x4725fc){var _0x502baf={};var _0x25d34b={};var _0x48b083;var _0x3df9a9;return db[_0x7f8a('0x2a')][_0x7f8a('0x4f')]({'where':{'id':_0x5a813f[_0x7f8a('0x46')]['id']}})[_0x7f8a('0x23')](handleEntityNotFound(_0x10d4fe,null))[_0x7f8a('0x23')](function(_0x358f6f){if(_0x358f6f){_0x48b083=_0x358f6f;_0x25d34b['model']=_[_0x7f8a('0x31')](db[_0x7f8a('0x50')]['rawAttributes']);_0x25d34b[_0x7f8a('0x30')]=_['keys'](_0x5a813f[_0x7f8a('0x30')]);_0x25d34b[_0x7f8a('0x32')]=_[_0x7f8a('0x33')](_0x25d34b['model'],_0x25d34b[_0x7f8a('0x30')]);_0x502baf[_0x7f8a('0x34')]=_[_0x7f8a('0x33')](_0x25d34b['model'],qs[_0x7f8a('0x35')](_0x5a813f[_0x7f8a('0x30')][_0x7f8a('0x35')]));_0x502baf['attributes']=_0x502baf[_0x7f8a('0x34')][_0x7f8a('0x36')]?_0x502baf[_0x7f8a('0x34')]:_0x25d34b[_0x7f8a('0x2f')];_0x502baf[_0x7f8a('0x39')]=qs['sort'](_0x5a813f[_0x7f8a('0x30')][_0x7f8a('0x3a')]);_0x502baf['where']=qs[_0x7f8a('0x32')](_[_0x7f8a('0x3b')](_0x5a813f[_0x7f8a('0x30')],_0x25d34b['filters']));if(_0x5a813f[_0x7f8a('0x30')][_0x7f8a('0x3c')]){_0x502baf[_0x7f8a('0x4d')]=_['merge'](_0x502baf[_0x7f8a('0x4d')],{'$or':_[_0x7f8a('0x29')](_0x502baf[_0x7f8a('0x34')],function(_0x1cee34){var _0x236b18={};_0x236b18[_0x1cee34]={'$like':'%'+_0x5a813f[_0x7f8a('0x30')][_0x7f8a('0x3c')]+'%'};return _0x236b18;})});}_0x502baf=_[_0x7f8a('0x3d')]({},_0x502baf,_0x5a813f[_0x7f8a('0x47')]);return _0x48b083[_0x7f8a('0x4e')](_0x502baf);}})['then'](function(_0x3d1be2){if(_0x3d1be2){_0x3df9a9=_0x3d1be2[_0x7f8a('0x36')];if(!_0x5a813f[_0x7f8a('0x30')]['hasOwnProperty']('nolimit')){_0x502baf[_0x7f8a('0x1a')]=qs[_0x7f8a('0x1a')](_0x5a813f['query']['limit']);_0x502baf['offset']=qs[_0x7f8a('0x1c')](_0x5a813f[_0x7f8a('0x30')]['offset']);}return _0x48b083[_0x7f8a('0x4e')](_0x502baf);}})['then'](function(_0x2363d4){if(_0x2363d4){return _0x2363d4?{'count':_0x3df9a9,'rows':_0x2363d4}:null;}})[_0x7f8a('0x23')](respondWithResult(_0x10d4fe,null))[_0x7f8a('0x44')](handleError(_0x10d4fe,null));};exports['getFields']=function(_0x278489,_0x405ad8,_0x85645e){var _0x38db1c={};var _0x80a36c={};var _0xc9c353;var _0x5b5f80;return db[_0x7f8a('0x2a')][_0x7f8a('0x4f')]({'where':{'id':_0x278489[_0x7f8a('0x46')]['id']}})['then'](handleEntityNotFound(_0x405ad8,null))[_0x7f8a('0x23')](function(_0x27f836){if(_0x27f836){_0xc9c353=_0x27f836;_0x80a36c[_0x7f8a('0x2f')]=_[_0x7f8a('0x31')](db[_0x7f8a('0x50')][_0x7f8a('0x2b')]);_0x80a36c[_0x7f8a('0x30')]=_['keys'](_0x278489[_0x7f8a('0x30')]);_0x80a36c[_0x7f8a('0x32')]=_[_0x7f8a('0x33')](_0x80a36c[_0x7f8a('0x2f')],_0x80a36c[_0x7f8a('0x30')]);_0x38db1c[_0x7f8a('0x34')]=_[_0x7f8a('0x33')](_0x80a36c['model'],qs[_0x7f8a('0x35')](_0x278489[_0x7f8a('0x30')][_0x7f8a('0x35')]));_0x38db1c[_0x7f8a('0x34')]=_0x38db1c[_0x7f8a('0x34')][_0x7f8a('0x36')]?_0x38db1c['attributes']:_0x80a36c[_0x7f8a('0x2f')];_0x38db1c[_0x7f8a('0x39')]=qs[_0x7f8a('0x3a')](_0x278489['query'][_0x7f8a('0x3a')]);_0x38db1c[_0x7f8a('0x4d')]=qs[_0x7f8a('0x32')](_['pick'](_0x278489['query'],_0x80a36c[_0x7f8a('0x32')]));if(_0x278489['query'][_0x7f8a('0x3c')]){_0x38db1c['where']=_[_0x7f8a('0x3d')](_0x38db1c[_0x7f8a('0x4d')],{'$or':_[_0x7f8a('0x29')](_0x38db1c['attributes'],function(_0x4b2e53){var _0x5b7a2c={};_0x5b7a2c[_0x4b2e53]={'$like':'%'+_0x278489[_0x7f8a('0x30')][_0x7f8a('0x3c')]+'%'};return _0x5b7a2c;})});}_0x38db1c=_[_0x7f8a('0x3d')]({},_0x38db1c,_0x278489[_0x7f8a('0x47')]);return _0xc9c353['getFields'](_0x38db1c);}})[_0x7f8a('0x23')](function(_0x2b270a){if(_0x2b270a){_0x5b5f80=_0x2b270a[_0x7f8a('0x36')];if(!_0x278489[_0x7f8a('0x30')][_0x7f8a('0x37')](_0x7f8a('0x38'))){_0x38db1c[_0x7f8a('0x1a')]=qs[_0x7f8a('0x1a')](_0x278489['query'][_0x7f8a('0x1a')]);_0x38db1c[_0x7f8a('0x1c')]=qs[_0x7f8a('0x1c')](_0x278489['query'][_0x7f8a('0x1c')]);}return _0xc9c353[_0x7f8a('0x51')](_0x38db1c);}})[_0x7f8a('0x23')](function(_0x3b8b58){if(_0x3b8b58){return _0x3b8b58?{'count':_0x5b5f80,'rows':_0x3b8b58}:null;}})[_0x7f8a('0x23')](respondWithResult(_0x405ad8,null))[_0x7f8a('0x44')](handleError(_0x405ad8,null));};