Built motion from commit (unavailable).|2.5.31
[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 _0xcb40=['intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','options','includeAll','include','findAll','rows','show','params','find','create','user','UserProfileSection','UserProfileResource','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addContacts','CmContact','omit','getContacts','rawAttributes','map','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','get','Companies','error','name','merge','body','message','agent','interaction','account','index','CmCompany','describe','model','keys','query','filters'];(function(_0x216f1b,_0x4ab3bf){var _0x590ac9=function(_0x2e0362){while(--_0x2e0362){_0x216f1b['push'](_0x216f1b['shift']());}};_0x590ac9(++_0x4ab3bf);}(_0xcb40,0x18b));var _0x0cb4=function(_0x10c5d4,_0x27f08e){_0x10c5d4=_0x10c5d4-0x0;var _0x4f5ded=_0xcb40[_0x10c5d4];return _0x4f5ded;};'use strict';var emlformat=require(_0x0cb4('0x0'));var rimraf=require(_0x0cb4('0x1'));var zipdir=require(_0x0cb4('0x2'));var jsonpatch=require(_0x0cb4('0x3'));var rp=require('request-promise');var moment=require(_0x0cb4('0x4'));var BPromise=require(_0x0cb4('0x5'));var Mustache=require(_0x0cb4('0x6'));var util=require(_0x0cb4('0x7'));var path=require(_0x0cb4('0x8'));var sox=require(_0x0cb4('0x9'));var csv=require(_0x0cb4('0xa'));var ejs=require(_0x0cb4('0xb'));var fs=require('fs');var fs_extra=require(_0x0cb4('0xc'));var _=require('lodash');var squel=require(_0x0cb4('0xd'));var crypto=require(_0x0cb4('0xe'));var jsforce=require(_0x0cb4('0xf'));var deskjs=require(_0x0cb4('0x10'));var toCsv=require(_0x0cb4('0xa'));var querystring=require(_0x0cb4('0x11'));var Papa=require(_0x0cb4('0x12'));var Redis=require('ioredis');var authService=require(_0x0cb4('0x13'));var qs=require(_0x0cb4('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0cb4('0x15'));var logger=require(_0x0cb4('0x16'))(_0x0cb4('0x17'));var utils=require(_0x0cb4('0x18'));var config=require(_0x0cb4('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x0cb4('0x1a'))['db'];function respondWithStatusCode(_0x11fced,_0x49fcff){_0x49fcff=_0x49fcff||0xcc;return function(_0x2a74b3){if(_0x2a74b3){return _0x11fced[_0x0cb4('0x1b')](_0x49fcff);}return _0x11fced[_0x0cb4('0x1c')](_0x49fcff)[_0x0cb4('0x1d')]();};}function respondWithResult(_0x2d65eb,_0x4b1690){_0x4b1690=_0x4b1690||0xc8;return function(_0x30ace0){if(_0x30ace0){return _0x2d65eb[_0x0cb4('0x1c')](_0x4b1690)['json'](_0x30ace0);}};}function respondWithFilteredResult(_0x4d4dd3,_0x58549c){return function(_0x26dd0d){if(_0x26dd0d){var _0x3eab68=typeof _0x58549c[_0x0cb4('0x1e')]===_0x0cb4('0x1f')&&typeof _0x58549c[_0x0cb4('0x20')]===_0x0cb4('0x1f');var _0x3a3026=_0x26dd0d[_0x0cb4('0x21')];var _0x110661=_0x3eab68?0x0:_0x58549c['offset'];var _0x3ba0cf=_0x3eab68?_0x26dd0d[_0x0cb4('0x21')]:_0x58549c[_0x0cb4('0x1e')]+_0x58549c[_0x0cb4('0x20')];var _0x4f4474;if(_0x3ba0cf>=_0x3a3026){_0x3ba0cf=_0x3a3026;_0x4f4474=0xc8;}else{_0x4f4474=0xce;}_0x4d4dd3[_0x0cb4('0x1c')](_0x4f4474);return _0x4d4dd3[_0x0cb4('0x22')](_0x0cb4('0x23'),_0x110661+'-'+_0x3ba0cf+'/'+_0x3a3026)[_0x0cb4('0x24')](_0x26dd0d);}return null;};}function patchUpdates(_0x23e1ba){return function(_0x2fbd7b){try{jsonpatch[_0x0cb4('0x25')](_0x2fbd7b,_0x23e1ba,!![]);}catch(_0x15fb4a){return BPromise[_0x0cb4('0x26')](_0x15fb4a);}return _0x2fbd7b[_0x0cb4('0x27')]();};}function saveUpdates(_0x401a82,_0x22c743){return function(_0x2e36de){if(_0x2e36de){return _0x2e36de[_0x0cb4('0x28')](_0x401a82)[_0x0cb4('0x29')](function(_0xa17e69){return _0xa17e69;});}return null;};}function removeEntity(_0x3003af,_0x4fa588){return function(_0x1044f7){if(_0x1044f7){return _0x1044f7[_0x0cb4('0x2a')]()[_0x0cb4('0x29')](function(){var _0xa641df=_0x1044f7[_0x0cb4('0x2b')]({'plain':!![]});var _0x23188c=_0x0cb4('0x2c');return db['UserProfileResource'][_0x0cb4('0x2a')]({'where':{'type':_0x23188c,'resourceId':_0xa641df['id']}})[_0x0cb4('0x29')](function(){return _0x1044f7;});})['then'](function(){_0x3003af[_0x0cb4('0x1c')](0xcc)[_0x0cb4('0x1d')]();});}};}function handleEntityNotFound(_0x550b6b,_0x2ecb5a){return function(_0x13f973){if(!_0x13f973){_0x550b6b[_0x0cb4('0x1b')](0x194);}return _0x13f973;};}function handleError(_0x3266a3,_0xeb4b2c){_0xeb4b2c=_0xeb4b2c||0x1f4;return function(_0x49815f){logger[_0x0cb4('0x2d')](_0x49815f['stack']);if(_0x49815f[_0x0cb4('0x2e')]){delete _0x49815f['name'];}_0x3266a3[_0x0cb4('0x1c')](_0xeb4b2c)['send'](_0x49815f);};}function getMustacheRender(_0x5ec324,_0x2718e4){return Mustache['render'](_0x5ec324,_[_0x0cb4('0x2f')](_0x2718e4[_0x0cb4('0x30')],{'contact':_0x2718e4['contact'],'message':_0x2718e4[_0x0cb4('0x31')],'agent':_0x2718e4[_0x0cb4('0x32')],'interaction':_0x2718e4[_0x0cb4('0x33')],'account':_0x2718e4[_0x0cb4('0x34')]}))||'';}exports[_0x0cb4('0x35')]=function(_0x4a8d9a,_0x289bfb){var _0x1ff346={},_0x5e84d5={},_0x142cd3={'count':0x0,'rows':[]};return db[_0x0cb4('0x36')][_0x0cb4('0x37')]()['then'](function(_0x132ffc){_0x5e84d5[_0x0cb4('0x38')]=_[_0x0cb4('0x39')](_0x132ffc);_0x5e84d5[_0x0cb4('0x3a')]=_[_0x0cb4('0x39')](_0x4a8d9a[_0x0cb4('0x3a')]);_0x5e84d5[_0x0cb4('0x3b')]=_[_0x0cb4('0x3c')](_0x5e84d5[_0x0cb4('0x38')],_0x5e84d5[_0x0cb4('0x3a')]);_0x1ff346[_0x0cb4('0x3d')]=_[_0x0cb4('0x3c')](_0x5e84d5['model'],qs[_0x0cb4('0x3e')](_0x4a8d9a[_0x0cb4('0x3a')][_0x0cb4('0x3e')]));_0x1ff346['attributes']=_0x1ff346[_0x0cb4('0x3d')][_0x0cb4('0x3f')]?_0x1ff346[_0x0cb4('0x3d')]:_0x5e84d5[_0x0cb4('0x38')];if(!_0x4a8d9a[_0x0cb4('0x3a')][_0x0cb4('0x40')](_0x0cb4('0x41'))){_0x1ff346[_0x0cb4('0x20')]=qs['limit'](_0x4a8d9a[_0x0cb4('0x3a')]['limit']);_0x1ff346[_0x0cb4('0x1e')]=qs[_0x0cb4('0x1e')](_0x4a8d9a[_0x0cb4('0x3a')][_0x0cb4('0x1e')]);}_0x1ff346[_0x0cb4('0x42')]=qs[_0x0cb4('0x43')](_0x4a8d9a[_0x0cb4('0x3a')][_0x0cb4('0x43')]);_0x1ff346[_0x0cb4('0x44')]=qs[_0x0cb4('0x3b')](_[_0x0cb4('0x45')](_0x4a8d9a[_0x0cb4('0x3a')],_0x5e84d5[_0x0cb4('0x3b')]),_0x132ffc);if(_0x4a8d9a['query'][_0x0cb4('0x46')]){_0x1ff346[_0x0cb4('0x44')]=_[_0x0cb4('0x2f')](_0x1ff346[_0x0cb4('0x44')],{'$or':_['map'](_0x1ff346[_0x0cb4('0x3d')],function(_0x51c131){var _0xc1b05={};_0xc1b05[_0x51c131]={'$like':'%'+_0x4a8d9a[_0x0cb4('0x3a')][_0x0cb4('0x46')]+'%'};return _0xc1b05;})});}_0x1ff346=_[_0x0cb4('0x2f')]({},_0x1ff346,_0x4a8d9a[_0x0cb4('0x47')]);var _0x28248e={'where':_0x1ff346['where']};return db[_0x0cb4('0x36')][_0x0cb4('0x21')](_0x28248e)[_0x0cb4('0x29')](function(_0x4a336c){_0x142cd3[_0x0cb4('0x21')]=_0x4a336c;if(_0x4a8d9a[_0x0cb4('0x3a')][_0x0cb4('0x48')]){_0x1ff346[_0x0cb4('0x49')]=[{'all':!![]}];}return db['CmCompany'][_0x0cb4('0x4a')](_0x1ff346);})[_0x0cb4('0x29')](function(_0x20fdab){_0x142cd3[_0x0cb4('0x4b')]=_0x20fdab;return _0x142cd3;})[_0x0cb4('0x29')](respondWithFilteredResult(_0x289bfb,_0x1ff346))['catch'](handleError(_0x289bfb,null));})['catch'](handleError(_0x289bfb,null));};exports[_0x0cb4('0x4c')]=function(_0x1900d9,_0x559310){var _0x295067={'raw':![],'where':{'id':_0x1900d9[_0x0cb4('0x4d')]['id']}},_0x3c07c1={};_0x3c07c1[_0x0cb4('0x38')]=_[_0x0cb4('0x39')](db[_0x0cb4('0x36')]['rawAttributes']);_0x3c07c1[_0x0cb4('0x3a')]=_[_0x0cb4('0x39')](_0x1900d9[_0x0cb4('0x3a')]);_0x3c07c1[_0x0cb4('0x3b')]=_[_0x0cb4('0x3c')](_0x3c07c1[_0x0cb4('0x38')],_0x3c07c1['query']);_0x295067['attributes']=_[_0x0cb4('0x3c')](_0x3c07c1[_0x0cb4('0x38')],qs[_0x0cb4('0x3e')](_0x1900d9[_0x0cb4('0x3a')][_0x0cb4('0x3e')]));_0x295067[_0x0cb4('0x3d')]=_0x295067['attributes'][_0x0cb4('0x3f')]?_0x295067['attributes']:_0x3c07c1['model'];if(_0x1900d9[_0x0cb4('0x3a')]['includeAll']){_0x295067['include']=[{'all':!![]}];}_0x295067=_['merge']({},_0x295067,_0x1900d9['options']);return db[_0x0cb4('0x36')][_0x0cb4('0x4e')](_0x295067)[_0x0cb4('0x29')](handleEntityNotFound(_0x559310,null))['then'](respondWithResult(_0x559310,null))['catch'](handleError(_0x559310,null));};exports[_0x0cb4('0x4f')]=function(_0x20de2b,_0xb2ed7e){return db[_0x0cb4('0x36')][_0x0cb4('0x4f')](_0x20de2b[_0x0cb4('0x30')],{})[_0x0cb4('0x29')](function(_0xc33fd6){var _0x38e826=_0x20de2b[_0x0cb4('0x50')][_0x0cb4('0x2b')]({'plain':!![]});if(!_0x38e826)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x38e826['role']===_0x0cb4('0x50')){var _0x24680d=_0xc33fd6['get']({'plain':!![]});var _0x4abdce='Companies';return db[_0x0cb4('0x51')][_0x0cb4('0x4e')]({'where':{'name':_0x4abdce,'userProfileId':_0x38e826['userProfileId']},'raw':!![]})[_0x0cb4('0x29')](function(_0x46e47){if(_0x46e47&&_0x46e47['autoAssociation']===0x0){return db[_0x0cb4('0x52')]['create']({'name':_0x24680d[_0x0cb4('0x2e')],'resourceId':_0x24680d['id'],'type':_0x46e47['name'],'sectionId':_0x46e47['id']},{})[_0x0cb4('0x29')](function(){return _0xc33fd6;});}else{return _0xc33fd6;}})[_0x0cb4('0x53')](function(_0x15ba52){logger[_0x0cb4('0x2d')](_0x0cb4('0x54'),_0x15ba52);throw _0x15ba52;});}return _0xc33fd6;})[_0x0cb4('0x29')](respondWithResult(_0xb2ed7e,0xc9))[_0x0cb4('0x53')](handleError(_0xb2ed7e,null));};exports['update']=function(_0x590fc0,_0x25a9c7){if(_0x590fc0[_0x0cb4('0x30')]['id']){delete _0x590fc0[_0x0cb4('0x30')]['id'];}return db[_0x0cb4('0x36')][_0x0cb4('0x4e')]({'where':{'id':_0x590fc0['params']['id']}})[_0x0cb4('0x29')](handleEntityNotFound(_0x25a9c7,null))[_0x0cb4('0x29')](saveUpdates(_0x590fc0[_0x0cb4('0x30')],null))['then'](respondWithResult(_0x25a9c7,null))['catch'](handleError(_0x25a9c7,null));};exports[_0x0cb4('0x2a')]=function(_0x44748b,_0xdf32ed){return db['CmCompany'][_0x0cb4('0x4e')]({'where':{'id':_0x44748b[_0x0cb4('0x4d')]['id']}})[_0x0cb4('0x29')](handleEntityNotFound(_0xdf32ed,null))[_0x0cb4('0x29')](removeEntity(_0xdf32ed,null))[_0x0cb4('0x53')](handleError(_0xdf32ed,null));};exports[_0x0cb4('0x37')]=function(_0x526fd6,_0x17608f){return db[_0x0cb4('0x36')]['describe']()['then'](respondWithResult(_0x17608f,null))[_0x0cb4('0x53')](handleError(_0x17608f,null));};exports[_0x0cb4('0x55')]=function(_0x67ed38,_0x57147b,_0x5e7b0a){return db[_0x0cb4('0x56')][_0x0cb4('0x4e')]({'where':{'id':_0x67ed38[_0x0cb4('0x4d')]['id']}})['then'](handleEntityNotFound(_0x57147b,null))[_0x0cb4('0x29')](function(_0x4a4104){if(_0x4a4104){return _0x4a4104[_0x0cb4('0x55')](_0x67ed38['body']['ids'],_[_0x0cb4('0x57')](_0x67ed38['body'],['ids','id'])||{});}})['then'](respondWithResult(_0x57147b,null))[_0x0cb4('0x53')](handleError(_0x57147b,null));};exports[_0x0cb4('0x58')]=function(_0x40efe6,_0x3a4665,_0x239edf){var _0x53ee32={};var _0x52027b={};var _0x446cfb;var _0x2d44aa;return db['CmCompany']['findOne']({'where':{'id':_0x40efe6[_0x0cb4('0x4d')]['id']}})[_0x0cb4('0x29')](handleEntityNotFound(_0x3a4665,null))[_0x0cb4('0x29')](function(_0x3766dd){if(_0x3766dd){_0x446cfb=_0x3766dd;_0x52027b[_0x0cb4('0x38')]=_['keys'](db[_0x0cb4('0x56')][_0x0cb4('0x59')]);_0x52027b[_0x0cb4('0x3a')]=_['keys'](_0x40efe6['query']);_0x52027b[_0x0cb4('0x3b')]=_[_0x0cb4('0x3c')](_0x52027b[_0x0cb4('0x38')],_0x52027b[_0x0cb4('0x3a')]);_0x53ee32['attributes']=_[_0x0cb4('0x3c')](_0x52027b['model'],qs['fields'](_0x40efe6[_0x0cb4('0x3a')]['fields']));_0x53ee32[_0x0cb4('0x3d')]=_0x53ee32[_0x0cb4('0x3d')]['length']?_0x53ee32[_0x0cb4('0x3d')]:_0x52027b['model'];_0x53ee32[_0x0cb4('0x42')]=qs[_0x0cb4('0x43')](_0x40efe6['query']['sort']);_0x53ee32[_0x0cb4('0x44')]=qs[_0x0cb4('0x3b')](_[_0x0cb4('0x45')](_0x40efe6[_0x0cb4('0x3a')],_0x52027b['filters']));if(_0x40efe6[_0x0cb4('0x3a')]['filter']){_0x53ee32[_0x0cb4('0x44')]=_[_0x0cb4('0x2f')](_0x53ee32[_0x0cb4('0x44')],{'$or':_[_0x0cb4('0x5a')](_0x53ee32['attributes'],function(_0x53b89c){var _0x40b0ff={};_0x40b0ff[_0x53b89c]={'$like':'%'+_0x40efe6['query'][_0x0cb4('0x46')]+'%'};return _0x40b0ff;})});}_0x53ee32=_[_0x0cb4('0x2f')]({},_0x53ee32,_0x40efe6[_0x0cb4('0x47')]);return _0x446cfb['getContacts'](_0x53ee32);}})[_0x0cb4('0x29')](function(_0x48b1f9){if(_0x48b1f9){_0x2d44aa=_0x48b1f9[_0x0cb4('0x3f')];if(!_0x40efe6[_0x0cb4('0x3a')]['hasOwnProperty'](_0x0cb4('0x41'))){_0x53ee32[_0x0cb4('0x20')]=qs[_0x0cb4('0x20')](_0x40efe6[_0x0cb4('0x3a')][_0x0cb4('0x20')]);_0x53ee32[_0x0cb4('0x1e')]=qs[_0x0cb4('0x1e')](_0x40efe6[_0x0cb4('0x3a')][_0x0cb4('0x1e')]);}return _0x446cfb[_0x0cb4('0x58')](_0x53ee32);}})[_0x0cb4('0x29')](function(_0x1ea207){if(_0x1ea207){return _0x1ea207?{'count':_0x2d44aa,'rows':_0x1ea207}:null;}})[_0x0cb4('0x29')](respondWithResult(_0x3a4665,null))[_0x0cb4('0x53')](handleError(_0x3a4665,null));};