Built motion from commit (unavailable).|2.5.24
[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 _0x96e9=['stack','name','index','describe','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','map','options','CmCompany','includeAll','include','findAll','rows','catch','rawAttributes','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','addContacts','CmContact','ids','omit','getContacts','findOne','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','util','path','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','status','end','json','count','offset','set','Content-Range','apply','save','update','then','destroy','Companies','UserProfileResource','sendStatus','error'];(function(_0x5d1b9c,_0x242953){var _0x3b95e7=function(_0x40b9b6){while(--_0x40b9b6){_0x5d1b9c['push'](_0x5d1b9c['shift']());}};_0x3b95e7(++_0x242953);}(_0x96e9,0x18c));var _0x996e=function(_0x5d454e,_0x3ef391){_0x5d454e=_0x5d454e-0x0;var _0x3e3ac5=_0x96e9[_0x5d454e];return _0x3e3ac5;};'use strict';var pdf=require(_0x996e('0x0'));var emlformat=require(_0x996e('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x996e('0x2'));var rp=require(_0x996e('0x3'));var moment=require(_0x996e('0x4'));var BPromise=require(_0x996e('0x5'));var Mustache=require('mustache');var util=require(_0x996e('0x6'));var path=require(_0x996e('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x996e('0x8'));var squel=require(_0x996e('0x9'));var crypto=require('crypto');var jsforce=require(_0x996e('0xa'));var deskjs=require(_0x996e('0xb'));var toCsv=require('to-csv');var querystring=require(_0x996e('0xc'));var Papa=require(_0x996e('0xd'));var Redis=require(_0x996e('0xe'));var authService=require(_0x996e('0xf'));var qs=require(_0x996e('0x10'));var as=require(_0x996e('0x11'));var hardwareService=require(_0x996e('0x12'));var logger=require(_0x996e('0x13'))(_0x996e('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x996e('0x15'));var db=require(_0x996e('0x16'))['db'];function respondWithStatusCode(_0x2a57f6,_0x3256aa){_0x3256aa=_0x3256aa||0xcc;return function(_0x52ca8e){if(_0x52ca8e){return _0x2a57f6['sendStatus'](_0x3256aa);}return _0x2a57f6[_0x996e('0x17')](_0x3256aa)[_0x996e('0x18')]();};}function respondWithResult(_0x525aa8,_0xea8efe){_0xea8efe=_0xea8efe||0xc8;return function(_0x325cee){if(_0x325cee){return _0x525aa8['status'](_0xea8efe)[_0x996e('0x19')](_0x325cee);}};}function respondWithFilteredResult(_0x1d7b58,_0x16b7ea){return function(_0x305abb){if(_0x305abb){var _0x3fb0ca=_0x305abb[_0x996e('0x1a')],_0x2ee007=_0x16b7ea[_0x996e('0x1b')],_0x521f54=_0x16b7ea['offset']+_0x16b7ea['limit'],_0x2cc3c6;if(_0x521f54>=_0x3fb0ca){_0x521f54=_0x3fb0ca;_0x2cc3c6=0xc8;}else{_0x2cc3c6=0xce;}_0x1d7b58[_0x996e('0x17')](_0x2cc3c6);return _0x1d7b58[_0x996e('0x1c')](_0x996e('0x1d'),_0x2ee007+'-'+_0x521f54+'/'+_0x3fb0ca)[_0x996e('0x19')](_0x305abb);}return null;};}function patchUpdates(_0x5ca0d8){return function(_0x4462d3){try{jsonpatch[_0x996e('0x1e')](_0x4462d3,_0x5ca0d8,!![]);}catch(_0x3ced7f){return BPromise['reject'](_0x3ced7f);}return _0x4462d3[_0x996e('0x1f')]();};}function saveUpdates(_0x205280,_0x2251c8){return function(_0x48a0e4){if(_0x48a0e4){return _0x48a0e4[_0x996e('0x20')](_0x205280)[_0x996e('0x21')](function(_0x14e494){return _0x14e494;});}return null;};}function removeEntity(_0x51a39d,_0x117c1d){return function(_0x9e8aa1){if(_0x9e8aa1){return _0x9e8aa1[_0x996e('0x22')]()[_0x996e('0x21')](function(){var _0x3d5462=_0x9e8aa1['get']({'plain':!![]});var _0x2428ef=_0x996e('0x23');return db[_0x996e('0x24')]['destroy']({'where':{'type':_0x2428ef,'resourceId':_0x3d5462['id']}})[_0x996e('0x21')](function(){return _0x9e8aa1;});})[_0x996e('0x21')](function(){_0x51a39d['status'](0xcc)[_0x996e('0x18')]();});}};}function handleEntityNotFound(_0x297059,_0x4cb4ec){return function(_0x1f73cf){if(!_0x1f73cf){_0x297059[_0x996e('0x25')](0x194);}return _0x1f73cf;};}function handleError(_0x21bc81,_0x3e1350){_0x3e1350=_0x3e1350||0x1f4;return function(_0x21ee9e){logger[_0x996e('0x26')](_0x21ee9e[_0x996e('0x27')]);if(_0x21ee9e[_0x996e('0x28')]){delete _0x21ee9e['name'];}_0x21bc81['status'](_0x3e1350)['send'](_0x21ee9e);};}exports[_0x996e('0x29')]=function(_0x31db0b,_0x35a78d){var _0x5a625f={},_0x3b9cbf={},_0x541420={'count':0x0,'rows':[]};return db['CmCompany'][_0x996e('0x2a')]()[_0x996e('0x21')](function(_0x38813b){_0x3b9cbf[_0x996e('0x2b')]=_[_0x996e('0x2c')](_0x38813b);_0x3b9cbf[_0x996e('0x2d')]=_[_0x996e('0x2c')](_0x31db0b['query']);_0x3b9cbf[_0x996e('0x2e')]=_[_0x996e('0x2f')](_0x3b9cbf[_0x996e('0x2b')],_0x3b9cbf[_0x996e('0x2d')]);_0x5a625f[_0x996e('0x30')]=_[_0x996e('0x2f')](_0x3b9cbf[_0x996e('0x2b')],qs[_0x996e('0x31')](_0x31db0b[_0x996e('0x2d')]['fields']));_0x5a625f['attributes']=_0x5a625f[_0x996e('0x30')][_0x996e('0x32')]?_0x5a625f['attributes']:_0x3b9cbf[_0x996e('0x2b')];if(!_0x31db0b[_0x996e('0x2d')][_0x996e('0x33')](_0x996e('0x34'))){_0x5a625f[_0x996e('0x35')]=qs[_0x996e('0x35')](_0x31db0b[_0x996e('0x2d')][_0x996e('0x35')]);_0x5a625f[_0x996e('0x1b')]=qs[_0x996e('0x1b')](_0x31db0b[_0x996e('0x2d')][_0x996e('0x1b')]);}_0x5a625f[_0x996e('0x36')]=qs[_0x996e('0x37')](_0x31db0b[_0x996e('0x2d')]['sort']);_0x5a625f[_0x996e('0x38')]=qs[_0x996e('0x2e')](_[_0x996e('0x39')](_0x31db0b[_0x996e('0x2d')],_0x3b9cbf['filters']),_0x38813b);if(_0x31db0b[_0x996e('0x2d')][_0x996e('0x3a')]){_0x5a625f['where']=_[_0x996e('0x3b')](_0x5a625f[_0x996e('0x38')],{'$or':_[_0x996e('0x3c')](_0x5a625f['attributes'],function(_0xd51fd9){var _0xaa8f12={};_0xaa8f12[_0xd51fd9]={'$like':'%'+_0x31db0b[_0x996e('0x2d')][_0x996e('0x3a')]+'%'};return _0xaa8f12;})});}_0x5a625f=_['merge']({},_0x5a625f,_0x31db0b[_0x996e('0x3d')]);var _0x548f0a={'where':_0x5a625f['where']};return db[_0x996e('0x3e')][_0x996e('0x1a')](_0x548f0a)[_0x996e('0x21')](function(_0x1ae88f){_0x541420[_0x996e('0x1a')]=_0x1ae88f;if(_0x31db0b[_0x996e('0x2d')][_0x996e('0x3f')]){_0x5a625f[_0x996e('0x40')]=[{'all':!![]}];}return db[_0x996e('0x3e')][_0x996e('0x41')](_0x5a625f);})[_0x996e('0x21')](function(_0x59ae37){_0x541420[_0x996e('0x42')]=_0x59ae37;return _0x541420;})[_0x996e('0x21')](respondWithFilteredResult(_0x35a78d,_0x5a625f))['catch'](handleError(_0x35a78d,null));})[_0x996e('0x43')](handleError(_0x35a78d,null));};exports['show']=function(_0x30deb1,_0x4b874e){var _0x40ab2d={'raw':![],'where':{'id':_0x30deb1['params']['id']}},_0x138ee1={};_0x138ee1[_0x996e('0x2b')]=_[_0x996e('0x2c')](db[_0x996e('0x3e')][_0x996e('0x44')]);_0x138ee1[_0x996e('0x2d')]=_[_0x996e('0x2c')](_0x30deb1[_0x996e('0x2d')]);_0x138ee1['filters']=_[_0x996e('0x2f')](_0x138ee1['model'],_0x138ee1[_0x996e('0x2d')]);_0x40ab2d['attributes']=_[_0x996e('0x2f')](_0x138ee1[_0x996e('0x2b')],qs['fields'](_0x30deb1[_0x996e('0x2d')]['fields']));_0x40ab2d[_0x996e('0x30')]=_0x40ab2d[_0x996e('0x30')][_0x996e('0x32')]?_0x40ab2d[_0x996e('0x30')]:_0x138ee1['model'];if(_0x30deb1[_0x996e('0x2d')][_0x996e('0x3f')]){_0x40ab2d[_0x996e('0x40')]=[{'all':!![]}];}_0x40ab2d=_[_0x996e('0x3b')]({},_0x40ab2d,_0x30deb1['options']);return db[_0x996e('0x3e')][_0x996e('0x45')](_0x40ab2d)['then'](handleEntityNotFound(_0x4b874e,null))[_0x996e('0x21')](respondWithResult(_0x4b874e,null))[_0x996e('0x43')](handleError(_0x4b874e,null));};exports[_0x996e('0x46')]=function(_0x46cf7a,_0x25659c){return db[_0x996e('0x3e')][_0x996e('0x46')](_0x46cf7a[_0x996e('0x47')],{})['then'](function(_0x1f43d6){var _0x5b4ef4=_0x46cf7a[_0x996e('0x48')][_0x996e('0x49')]({'plain':!![]});if(!_0x5b4ef4)throw new Error(_0x996e('0x4a'));if(_0x5b4ef4[_0x996e('0x4b')]==='user'){var _0x1ba722=_0x1f43d6[_0x996e('0x49')]({'plain':!![]});var _0x36040e=_0x996e('0x23');return db[_0x996e('0x4c')][_0x996e('0x45')]({'where':{'name':_0x36040e,'userProfileId':_0x5b4ef4[_0x996e('0x4d')]},'raw':!![]})[_0x996e('0x21')](function(_0x2b890f){if(_0x2b890f&&_0x2b890f[_0x996e('0x4e')]===0x0){return db[_0x996e('0x24')][_0x996e('0x46')]({'name':_0x1ba722[_0x996e('0x28')],'resourceId':_0x1ba722['id'],'type':_0x2b890f[_0x996e('0x28')],'sectionId':_0x2b890f['id']},{})[_0x996e('0x21')](function(){return _0x1f43d6;});}else{return _0x1f43d6;}})[_0x996e('0x43')](function(_0x3faeb5){logger['error'](_0x996e('0x4f'),_0x3faeb5);throw _0x3faeb5;});}return _0x1f43d6;})['then'](respondWithResult(_0x25659c,0xc9))[_0x996e('0x43')](handleError(_0x25659c,null));};exports[_0x996e('0x20')]=function(_0x1abc76,_0x4c9844){if(_0x1abc76[_0x996e('0x47')]['id']){delete _0x1abc76[_0x996e('0x47')]['id'];}return db[_0x996e('0x3e')][_0x996e('0x45')]({'where':{'id':_0x1abc76[_0x996e('0x50')]['id']}})[_0x996e('0x21')](handleEntityNotFound(_0x4c9844,null))[_0x996e('0x21')](saveUpdates(_0x1abc76[_0x996e('0x47')],null))[_0x996e('0x21')](respondWithResult(_0x4c9844,null))['catch'](handleError(_0x4c9844,null));};exports[_0x996e('0x22')]=function(_0x511265,_0x4c7e80){return db[_0x996e('0x3e')]['find']({'where':{'id':_0x511265[_0x996e('0x50')]['id']}})[_0x996e('0x21')](handleEntityNotFound(_0x4c7e80,null))[_0x996e('0x21')](removeEntity(_0x4c7e80,null))[_0x996e('0x43')](handleError(_0x4c7e80,null));};exports[_0x996e('0x2a')]=function(_0x34ec9d,_0x71414d){return db[_0x996e('0x3e')][_0x996e('0x2a')]()[_0x996e('0x21')](respondWithResult(_0x71414d,null))[_0x996e('0x43')](handleError(_0x71414d,null));};exports[_0x996e('0x51')]=function(_0x3fe7c7,_0x3dc180,_0x195a45){return db[_0x996e('0x52')]['find']({'where':{'id':_0x3fe7c7['params']['id']}})[_0x996e('0x21')](handleEntityNotFound(_0x3dc180,null))[_0x996e('0x21')](function(_0x352e11){if(_0x352e11){return _0x352e11['addContacts'](_0x3fe7c7['body'][_0x996e('0x53')],_[_0x996e('0x54')](_0x3fe7c7['body'],['ids','id'])||{});}})[_0x996e('0x21')](respondWithResult(_0x3dc180,null))[_0x996e('0x43')](handleError(_0x3dc180,null));};exports[_0x996e('0x55')]=function(_0x2b0df7,_0x44cf2b,_0xcf3dd8){var _0x3b9f7a={};var _0x474e9b={};var _0x591fe3;var _0xbc0646;return db[_0x996e('0x3e')][_0x996e('0x56')]({'where':{'id':_0x2b0df7['params']['id']}})[_0x996e('0x21')](handleEntityNotFound(_0x44cf2b,null))[_0x996e('0x21')](function(_0x9cd7fc){if(_0x9cd7fc){_0x591fe3=_0x9cd7fc;_0x474e9b[_0x996e('0x2b')]=_[_0x996e('0x2c')](db[_0x996e('0x52')][_0x996e('0x44')]);_0x474e9b[_0x996e('0x2d')]=_[_0x996e('0x2c')](_0x2b0df7[_0x996e('0x2d')]);_0x474e9b[_0x996e('0x2e')]=_[_0x996e('0x2f')](_0x474e9b[_0x996e('0x2b')],_0x474e9b[_0x996e('0x2d')]);_0x3b9f7a['attributes']=_[_0x996e('0x2f')](_0x474e9b[_0x996e('0x2b')],qs[_0x996e('0x31')](_0x2b0df7[_0x996e('0x2d')][_0x996e('0x31')]));_0x3b9f7a[_0x996e('0x30')]=_0x3b9f7a[_0x996e('0x30')][_0x996e('0x32')]?_0x3b9f7a['attributes']:_0x474e9b['model'];_0x3b9f7a[_0x996e('0x36')]=qs[_0x996e('0x37')](_0x2b0df7[_0x996e('0x2d')][_0x996e('0x37')]);_0x3b9f7a['where']=qs['filters'](_[_0x996e('0x39')](_0x2b0df7[_0x996e('0x2d')],_0x474e9b[_0x996e('0x2e')]));if(_0x2b0df7[_0x996e('0x2d')][_0x996e('0x3a')]){_0x3b9f7a[_0x996e('0x38')]=_[_0x996e('0x3b')](_0x3b9f7a[_0x996e('0x38')],{'$or':_['map'](_0x3b9f7a['attributes'],function(_0x2fccf7){var _0x6150ab={};_0x6150ab[_0x2fccf7]={'$like':'%'+_0x2b0df7[_0x996e('0x2d')][_0x996e('0x3a')]+'%'};return _0x6150ab;})});}_0x3b9f7a=_[_0x996e('0x3b')]({},_0x3b9f7a,_0x2b0df7[_0x996e('0x3d')]);return _0x591fe3[_0x996e('0x55')](_0x3b9f7a);}})[_0x996e('0x21')](function(_0x31c6d4){if(_0x31c6d4){_0xbc0646=_0x31c6d4[_0x996e('0x32')];if(!_0x2b0df7[_0x996e('0x2d')][_0x996e('0x33')]('nolimit')){_0x3b9f7a[_0x996e('0x35')]=qs[_0x996e('0x35')](_0x2b0df7['query']['limit']);_0x3b9f7a['offset']=qs['offset'](_0x2b0df7[_0x996e('0x2d')][_0x996e('0x1b')]);}return _0x591fe3['getContacts'](_0x3b9f7a);}})[_0x996e('0x21')](function(_0x387f5e){if(_0x387f5e){return _0x387f5e?{'count':_0xbc0646,'rows':_0x387f5e}:null;}})[_0x996e('0x21')](respondWithResult(_0x44cf2b,null))['catch'](handleError(_0x44cf2b,null));};