Built motion from commit da617fac.|2.6.6
[motion2.git] / server / api / cmCompany / cmCompany.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 _0x56e3=['request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','json','apply','reject','save','update','then','get','UserProfileResource','error','stack','name','CmCompany','describe','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','map','options','include','findAll','rows','catch','show','params','length','includeAll','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Companies','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','addContacts','CmContact','omit','ids','rawAttributes','getContacts','eml-format','rimraf','zip-dir'];(function(_0x2c4d2c,_0x433527){var _0x769dcf=function(_0x3c31db){while(--_0x3c31db){_0x2c4d2c['push'](_0x2c4d2c['shift']());}};_0x769dcf(++_0x433527);}(_0x56e3,0xb1));var _0x356e=function(_0x532c60,_0x408037){_0x532c60=_0x532c60-0x0;var _0x49daa9=_0x56e3[_0x532c60];return _0x49daa9;};'use strict';var emlformat=require(_0x356e('0x0'));var rimraf=require(_0x356e('0x1'));var zipdir=require(_0x356e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x356e('0x3'));var moment=require(_0x356e('0x4'));var BPromise=require(_0x356e('0x5'));var Mustache=require(_0x356e('0x6'));var util=require(_0x356e('0x7'));var path=require('path');var sox=require(_0x356e('0x8'));var csv=require(_0x356e('0x9'));var ejs=require(_0x356e('0xa'));var fs=require('fs');var fs_extra=require(_0x356e('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x356e('0xc'));var jsforce=require(_0x356e('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x356e('0xe'));var Papa=require(_0x356e('0xf'));var Redis=require(_0x356e('0x10'));var authService=require(_0x356e('0x11'));var qs=require(_0x356e('0x12'));var as=require(_0x356e('0x13'));var hardwareService=require(_0x356e('0x14'));var logger=require(_0x356e('0x15'))('api');var utils=require(_0x356e('0x16'));var config=require(_0x356e('0x17'));var licenseUtil=require(_0x356e('0x18'));var db=require(_0x356e('0x19'))['db'];function respondWithStatusCode(_0x2b3c82,_0x319c7e){_0x319c7e=_0x319c7e||0xcc;return function(_0x14cb35){if(_0x14cb35){return _0x2b3c82[_0x356e('0x1a')](_0x319c7e);}return _0x2b3c82[_0x356e('0x1b')](_0x319c7e)[_0x356e('0x1c')]();};}function respondWithResult(_0x3f9341,_0x347b3f){_0x347b3f=_0x347b3f||0xc8;return function(_0x50b4a3){if(_0x50b4a3){return _0x3f9341[_0x356e('0x1b')](_0x347b3f)['json'](_0x50b4a3);}};}function respondWithFilteredResult(_0xf79876,_0x3e0b82){return function(_0x1c79f1){if(_0x1c79f1){var _0x640a31=typeof _0x3e0b82[_0x356e('0x1d')]===_0x356e('0x1e')&&typeof _0x3e0b82[_0x356e('0x1f')]===_0x356e('0x1e');var _0x2d0f65=_0x1c79f1[_0x356e('0x20')];var _0x237ce2=_0x640a31?0x0:_0x3e0b82[_0x356e('0x1d')];var _0x3f3a49=_0x640a31?_0x1c79f1[_0x356e('0x20')]:_0x3e0b82[_0x356e('0x1d')]+_0x3e0b82['limit'];var _0x21cdad;if(_0x3f3a49>=_0x2d0f65){_0x3f3a49=_0x2d0f65;_0x21cdad=0xc8;}else{_0x21cdad=0xce;}_0xf79876['status'](_0x21cdad);return _0xf79876[_0x356e('0x21')]('Content-Range',_0x237ce2+'-'+_0x3f3a49+'/'+_0x2d0f65)[_0x356e('0x22')](_0x1c79f1);}return null;};}function patchUpdates(_0x49cf69){return function(_0x28a4be){try{jsonpatch[_0x356e('0x23')](_0x28a4be,_0x49cf69,!![]);}catch(_0x444515){return BPromise[_0x356e('0x24')](_0x444515);}return _0x28a4be[_0x356e('0x25')]();};}function saveUpdates(_0xfb013d,_0x2a274c){return function(_0x47f546){if(_0x47f546){return _0x47f546[_0x356e('0x26')](_0xfb013d)[_0x356e('0x27')](function(_0x3546ab){return _0x3546ab;});}return null;};}function removeEntity(_0xd95b04,_0x2eec8e){return function(_0x2c633f){if(_0x2c633f){return _0x2c633f['destroy']()[_0x356e('0x27')](function(){var _0x25b65b=_0x2c633f[_0x356e('0x28')]({'plain':!![]});var _0x522675='Companies';return db[_0x356e('0x29')]['destroy']({'where':{'type':_0x522675,'resourceId':_0x25b65b['id']}})[_0x356e('0x27')](function(){return _0x2c633f;});})[_0x356e('0x27')](function(){_0xd95b04['status'](0xcc)[_0x356e('0x1c')]();});}};}function handleEntityNotFound(_0x39c3d8,_0x2e347e){return function(_0xedbf05){if(!_0xedbf05){_0x39c3d8[_0x356e('0x1a')](0x194);}return _0xedbf05;};}function handleError(_0x341b2a,_0x4db357){_0x4db357=_0x4db357||0x1f4;return function(_0x140593){logger[_0x356e('0x2a')](_0x140593[_0x356e('0x2b')]);if(_0x140593[_0x356e('0x2c')]){delete _0x140593['name'];}_0x341b2a['status'](_0x4db357)['send'](_0x140593);};}exports['index']=function(_0x5989d6,_0x245f1e){var _0x48a1ff={},_0x3eaa35={},_0x4c2aa7={'count':0x0,'rows':[]};return db[_0x356e('0x2d')][_0x356e('0x2e')]()['then'](function(_0xac1a77){_0x3eaa35[_0x356e('0x2f')]=_['keys'](_0xac1a77);_0x3eaa35[_0x356e('0x30')]=_[_0x356e('0x31')](_0x5989d6['query']);_0x3eaa35[_0x356e('0x32')]=_[_0x356e('0x33')](_0x3eaa35[_0x356e('0x2f')],_0x3eaa35[_0x356e('0x30')]);_0x48a1ff[_0x356e('0x34')]=_[_0x356e('0x33')](_0x3eaa35['model'],qs[_0x356e('0x35')](_0x5989d6['query'][_0x356e('0x35')]));_0x48a1ff['attributes']=_0x48a1ff[_0x356e('0x34')]['length']?_0x48a1ff[_0x356e('0x34')]:_0x3eaa35[_0x356e('0x2f')];if(!_0x5989d6[_0x356e('0x30')][_0x356e('0x36')](_0x356e('0x37'))){_0x48a1ff[_0x356e('0x1f')]=qs[_0x356e('0x1f')](_0x5989d6[_0x356e('0x30')]['limit']);_0x48a1ff[_0x356e('0x1d')]=qs[_0x356e('0x1d')](_0x5989d6[_0x356e('0x30')][_0x356e('0x1d')]);}_0x48a1ff[_0x356e('0x38')]=qs[_0x356e('0x39')](_0x5989d6[_0x356e('0x30')]['sort']);_0x48a1ff[_0x356e('0x3a')]=qs['filters'](_[_0x356e('0x3b')](_0x5989d6[_0x356e('0x30')],_0x3eaa35[_0x356e('0x32')]),_0xac1a77);if(_0x5989d6['query'][_0x356e('0x3c')]){_0x48a1ff[_0x356e('0x3a')]=_[_0x356e('0x3d')](_0x48a1ff['where'],{'$or':_[_0x356e('0x3e')](_0x48a1ff[_0x356e('0x34')],function(_0x4a6a78){var _0x5dc2b4={};_0x5dc2b4[_0x4a6a78]={'$like':'%'+_0x5989d6['query'][_0x356e('0x3c')]+'%'};return _0x5dc2b4;})});}_0x48a1ff=_[_0x356e('0x3d')]({},_0x48a1ff,_0x5989d6[_0x356e('0x3f')]);var _0x4e0ce5={'where':_0x48a1ff[_0x356e('0x3a')]};return db[_0x356e('0x2d')][_0x356e('0x20')](_0x4e0ce5)[_0x356e('0x27')](function(_0x59b4db){_0x4c2aa7['count']=_0x59b4db;if(_0x5989d6[_0x356e('0x30')]['includeAll']){_0x48a1ff[_0x356e('0x40')]=[{'all':!![]}];}return db['CmCompany'][_0x356e('0x41')](_0x48a1ff);})[_0x356e('0x27')](function(_0x256def){_0x4c2aa7[_0x356e('0x42')]=_0x256def;return _0x4c2aa7;})[_0x356e('0x27')](respondWithFilteredResult(_0x245f1e,_0x48a1ff))[_0x356e('0x43')](handleError(_0x245f1e,null));})[_0x356e('0x43')](handleError(_0x245f1e,null));};exports[_0x356e('0x44')]=function(_0x327571,_0x2a239c){var _0x2da428={'raw':![],'where':{'id':_0x327571[_0x356e('0x45')]['id']}},_0xa528ef={};_0xa528ef[_0x356e('0x2f')]=_['keys'](db['CmCompany']['rawAttributes']);_0xa528ef[_0x356e('0x30')]=_[_0x356e('0x31')](_0x327571[_0x356e('0x30')]);_0xa528ef['filters']=_[_0x356e('0x33')](_0xa528ef[_0x356e('0x2f')],_0xa528ef['query']);_0x2da428[_0x356e('0x34')]=_[_0x356e('0x33')](_0xa528ef[_0x356e('0x2f')],qs['fields'](_0x327571['query']['fields']));_0x2da428['attributes']=_0x2da428[_0x356e('0x34')][_0x356e('0x46')]?_0x2da428[_0x356e('0x34')]:_0xa528ef['model'];if(_0x327571[_0x356e('0x30')][_0x356e('0x47')]){_0x2da428[_0x356e('0x40')]=[{'all':!![]}];}_0x2da428=_[_0x356e('0x3d')]({},_0x2da428,_0x327571[_0x356e('0x3f')]);return db['CmCompany']['find'](_0x2da428)['then'](handleEntityNotFound(_0x2a239c,null))[_0x356e('0x27')](respondWithResult(_0x2a239c,null))[_0x356e('0x43')](handleError(_0x2a239c,null));};exports[_0x356e('0x48')]=function(_0x1a6981,_0x4fca88){return db[_0x356e('0x2d')]['create'](_0x1a6981[_0x356e('0x49')],{})['then'](function(_0x36c7bb){var _0x2616e5=_0x1a6981[_0x356e('0x4a')]['get']({'plain':!![]});if(!_0x2616e5)throw new Error(_0x356e('0x4b'));if(_0x2616e5[_0x356e('0x4c')]===_0x356e('0x4a')){var _0x4772b7=_0x36c7bb[_0x356e('0x28')]({'plain':!![]});var _0x45be74=_0x356e('0x4d');return db[_0x356e('0x4e')][_0x356e('0x4f')]({'where':{'name':_0x45be74,'userProfileId':_0x2616e5[_0x356e('0x50')]},'raw':!![]})['then'](function(_0x419784){if(_0x419784&&_0x419784[_0x356e('0x51')]===0x0){return db[_0x356e('0x29')][_0x356e('0x48')]({'name':_0x4772b7[_0x356e('0x2c')],'resourceId':_0x4772b7['id'],'type':_0x419784[_0x356e('0x2c')],'sectionId':_0x419784['id']},{})[_0x356e('0x27')](function(){return _0x36c7bb;});}else{return _0x36c7bb;}})[_0x356e('0x43')](function(_0x3d6f94){logger[_0x356e('0x2a')](_0x356e('0x52'),_0x3d6f94);throw _0x3d6f94;});}return _0x36c7bb;})[_0x356e('0x27')](respondWithResult(_0x4fca88,0xc9))[_0x356e('0x43')](handleError(_0x4fca88,null));};exports['update']=function(_0x256b8d,_0x258c45){if(_0x256b8d[_0x356e('0x49')]['id']){delete _0x256b8d[_0x356e('0x49')]['id'];}return db[_0x356e('0x2d')][_0x356e('0x4f')]({'where':{'id':_0x256b8d[_0x356e('0x45')]['id']}})[_0x356e('0x27')](handleEntityNotFound(_0x258c45,null))[_0x356e('0x27')](saveUpdates(_0x256b8d[_0x356e('0x49')],null))[_0x356e('0x27')](respondWithResult(_0x258c45,null))['catch'](handleError(_0x258c45,null));};exports[_0x356e('0x53')]=function(_0x432f5f,_0x1e4d4d){return db[_0x356e('0x2d')][_0x356e('0x4f')]({'where':{'id':_0x432f5f[_0x356e('0x45')]['id']}})[_0x356e('0x27')](handleEntityNotFound(_0x1e4d4d,null))[_0x356e('0x27')](removeEntity(_0x1e4d4d,null))[_0x356e('0x43')](handleError(_0x1e4d4d,null));};exports['describe']=function(_0x5bafd9,_0x1c69d4){return db[_0x356e('0x2d')][_0x356e('0x2e')]()['then'](respondWithResult(_0x1c69d4,null))['catch'](handleError(_0x1c69d4,null));};exports[_0x356e('0x54')]=function(_0x4a0522,_0x44d1b0,_0x102270){return db[_0x356e('0x55')][_0x356e('0x4f')]({'where':{'id':_0x4a0522[_0x356e('0x45')]['id']}})['then'](handleEntityNotFound(_0x44d1b0,null))[_0x356e('0x27')](function(_0x3a6ea7){if(_0x3a6ea7){return _0x3a6ea7[_0x356e('0x54')](_0x4a0522[_0x356e('0x49')]['ids'],_[_0x356e('0x56')](_0x4a0522[_0x356e('0x49')],[_0x356e('0x57'),'id'])||{});}})['then'](respondWithResult(_0x44d1b0,null))['catch'](handleError(_0x44d1b0,null));};exports['getContacts']=function(_0x32fcb0,_0x4b64c7,_0x587bf2){var _0x4ad12a={};var _0x3e4d17={};var _0x4980fc;var _0x40ca20;return db[_0x356e('0x2d')]['findOne']({'where':{'id':_0x32fcb0[_0x356e('0x45')]['id']}})[_0x356e('0x27')](handleEntityNotFound(_0x4b64c7,null))[_0x356e('0x27')](function(_0x3868c4){if(_0x3868c4){_0x4980fc=_0x3868c4;_0x3e4d17[_0x356e('0x2f')]=_[_0x356e('0x31')](db[_0x356e('0x55')][_0x356e('0x58')]);_0x3e4d17[_0x356e('0x30')]=_['keys'](_0x32fcb0[_0x356e('0x30')]);_0x3e4d17[_0x356e('0x32')]=_[_0x356e('0x33')](_0x3e4d17[_0x356e('0x2f')],_0x3e4d17[_0x356e('0x30')]);_0x4ad12a[_0x356e('0x34')]=_['intersection'](_0x3e4d17[_0x356e('0x2f')],qs[_0x356e('0x35')](_0x32fcb0[_0x356e('0x30')]['fields']));_0x4ad12a[_0x356e('0x34')]=_0x4ad12a['attributes'][_0x356e('0x46')]?_0x4ad12a[_0x356e('0x34')]:_0x3e4d17['model'];_0x4ad12a[_0x356e('0x38')]=qs['sort'](_0x32fcb0[_0x356e('0x30')]['sort']);_0x4ad12a['where']=qs[_0x356e('0x32')](_[_0x356e('0x3b')](_0x32fcb0[_0x356e('0x30')],_0x3e4d17[_0x356e('0x32')]));if(_0x32fcb0[_0x356e('0x30')]['filter']){_0x4ad12a[_0x356e('0x3a')]=_[_0x356e('0x3d')](_0x4ad12a[_0x356e('0x3a')],{'$or':_[_0x356e('0x3e')](_0x4ad12a[_0x356e('0x34')],function(_0x29749b){var _0x339331={};_0x339331[_0x29749b]={'$like':'%'+_0x32fcb0[_0x356e('0x30')][_0x356e('0x3c')]+'%'};return _0x339331;})});}_0x4ad12a=_[_0x356e('0x3d')]({},_0x4ad12a,_0x32fcb0[_0x356e('0x3f')]);return _0x4980fc['getContacts'](_0x4ad12a);}})[_0x356e('0x27')](function(_0x5cb3ae){if(_0x5cb3ae){_0x40ca20=_0x5cb3ae[_0x356e('0x46')];if(!_0x32fcb0[_0x356e('0x30')][_0x356e('0x36')](_0x356e('0x37'))){_0x4ad12a[_0x356e('0x1f')]=qs['limit'](_0x32fcb0[_0x356e('0x30')][_0x356e('0x1f')]);_0x4ad12a['offset']=qs[_0x356e('0x1d')](_0x32fcb0[_0x356e('0x30')]['offset']);}return _0x4980fc[_0x356e('0x59')](_0x4ad12a);}})[_0x356e('0x27')](function(_0x3a175b){if(_0x3a175b){return _0x3a175b?{'count':_0x40ca20,'rows':_0x3a175b}:null;}})[_0x356e('0x27')](respondWithResult(_0x4b64c7,null))[_0x356e('0x43')](handleError(_0x4b64c7,null));};