Built motion from commit (unavailable).|2.5.23
[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 _0x9d89=['UserProfileResource','destroy','error','stack','name','send','CmCompany','describe','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','map','options','includeAll','findAll','rows','catch','show','params','rawAttributes','include','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addContacts','CmContact','ids','omit','getContacts','findOne','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','update','then','Companies'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0x9d89,0x1f3));var _0x99d8=function(_0x2c76f3,_0xd6d743){_0x2c76f3=_0x2c76f3-0x0;var _0x5483ae=_0x9d89[_0x2c76f3];return _0x5483ae;};'use strict';var pdf=require(_0x99d8('0x0'));var emlformat=require(_0x99d8('0x1'));var rimraf=require(_0x99d8('0x2'));var zipdir=require(_0x99d8('0x3'));var jsonpatch=require(_0x99d8('0x4'));var rp=require(_0x99d8('0x5'));var moment=require('moment');var BPromise=require(_0x99d8('0x6'));var Mustache=require(_0x99d8('0x7'));var util=require('util');var path=require(_0x99d8('0x8'));var sox=require(_0x99d8('0x9'));var csv=require('to-csv');var ejs=require(_0x99d8('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x99d8('0xb'));var crypto=require(_0x99d8('0xc'));var jsforce=require(_0x99d8('0xd'));var deskjs=require(_0x99d8('0xe'));var toCsv=require(_0x99d8('0xf'));var querystring=require(_0x99d8('0x10'));var Papa=require(_0x99d8('0x11'));var Redis=require(_0x99d8('0x12'));var authService=require(_0x99d8('0x13'));var qs=require(_0x99d8('0x14'));var as=require(_0x99d8('0x15'));var hardwareService=require(_0x99d8('0x16'));var logger=require(_0x99d8('0x17'))(_0x99d8('0x18'));var utils=require(_0x99d8('0x19'));var config=require(_0x99d8('0x1a'));var licenseUtil=require('../../config/license/util');var db=require(_0x99d8('0x1b'))['db'];function respondWithStatusCode(_0x3e5786,_0x3e61cc){_0x3e61cc=_0x3e61cc||0xcc;return function(_0x300ed6){if(_0x300ed6){return _0x3e5786[_0x99d8('0x1c')](_0x3e61cc);}return _0x3e5786[_0x99d8('0x1d')](_0x3e61cc)[_0x99d8('0x1e')]();};}function respondWithResult(_0x5502b0,_0x3faa7d){_0x3faa7d=_0x3faa7d||0xc8;return function(_0x44f2db){if(_0x44f2db){return _0x5502b0[_0x99d8('0x1d')](_0x3faa7d)['json'](_0x44f2db);}};}function respondWithFilteredResult(_0xc22e2f,_0x3300e7){return function(_0xc1d23e){if(_0xc1d23e){var _0x483982=_0xc1d23e[_0x99d8('0x1f')],_0xd2a545=_0x3300e7[_0x99d8('0x20')],_0x121d79=_0x3300e7[_0x99d8('0x20')]+_0x3300e7[_0x99d8('0x21')],_0x398e9b;if(_0x121d79>=_0x483982){_0x121d79=_0x483982;_0x398e9b=0xc8;}else{_0x398e9b=0xce;}_0xc22e2f[_0x99d8('0x1d')](_0x398e9b);return _0xc22e2f[_0x99d8('0x22')](_0x99d8('0x23'),_0xd2a545+'-'+_0x121d79+'/'+_0x483982)[_0x99d8('0x24')](_0xc1d23e);}return null;};}function patchUpdates(_0xbaa241){return function(_0x51fedd){try{jsonpatch[_0x99d8('0x25')](_0x51fedd,_0xbaa241,!![]);}catch(_0x2619a0){return BPromise['reject'](_0x2619a0);}return _0x51fedd['save']();};}function saveUpdates(_0x2a36b0,_0x4ac4cd){return function(_0x3052ab){if(_0x3052ab){return _0x3052ab[_0x99d8('0x26')](_0x2a36b0)['then'](function(_0x5e51aa){return _0x5e51aa;});}return null;};}function removeEntity(_0x4fb1bc,_0x42890e){return function(_0x58d40a){if(_0x58d40a){return _0x58d40a['destroy']()[_0x99d8('0x27')](function(){var _0x421f63=_0x58d40a['get']({'plain':!![]});var _0x5e2dbb=_0x99d8('0x28');return db[_0x99d8('0x29')][_0x99d8('0x2a')]({'where':{'type':_0x5e2dbb,'resourceId':_0x421f63['id']}})[_0x99d8('0x27')](function(){return _0x58d40a;});})[_0x99d8('0x27')](function(){_0x4fb1bc[_0x99d8('0x1d')](0xcc)[_0x99d8('0x1e')]();});}};}function handleEntityNotFound(_0x8e1cae,_0x57f8ff){return function(_0x229d0a){if(!_0x229d0a){_0x8e1cae[_0x99d8('0x1c')](0x194);}return _0x229d0a;};}function handleError(_0x8015c7,_0x17f0c7){_0x17f0c7=_0x17f0c7||0x1f4;return function(_0x4c1a7c){logger[_0x99d8('0x2b')](_0x4c1a7c[_0x99d8('0x2c')]);if(_0x4c1a7c[_0x99d8('0x2d')]){delete _0x4c1a7c[_0x99d8('0x2d')];}_0x8015c7[_0x99d8('0x1d')](_0x17f0c7)[_0x99d8('0x2e')](_0x4c1a7c);};}exports['index']=function(_0x9a8938,_0x4e1056){var _0x49ce25={},_0x1feebd={},_0x2da18f={'count':0x0,'rows':[]};return db[_0x99d8('0x2f')][_0x99d8('0x30')]()[_0x99d8('0x27')](function(_0x1f3063){_0x1feebd['model']=_[_0x99d8('0x31')](_0x1f3063);_0x1feebd[_0x99d8('0x32')]=_[_0x99d8('0x31')](_0x9a8938['query']);_0x1feebd[_0x99d8('0x33')]=_[_0x99d8('0x34')](_0x1feebd[_0x99d8('0x35')],_0x1feebd[_0x99d8('0x32')]);_0x49ce25[_0x99d8('0x36')]=_[_0x99d8('0x34')](_0x1feebd[_0x99d8('0x35')],qs[_0x99d8('0x37')](_0x9a8938['query']['fields']));_0x49ce25[_0x99d8('0x36')]=_0x49ce25[_0x99d8('0x36')][_0x99d8('0x38')]?_0x49ce25['attributes']:_0x1feebd[_0x99d8('0x35')];if(!_0x9a8938[_0x99d8('0x32')][_0x99d8('0x39')](_0x99d8('0x3a'))){_0x49ce25[_0x99d8('0x21')]=qs['limit'](_0x9a8938['query'][_0x99d8('0x21')]);_0x49ce25['offset']=qs[_0x99d8('0x20')](_0x9a8938[_0x99d8('0x32')][_0x99d8('0x20')]);}_0x49ce25['order']=qs[_0x99d8('0x3b')](_0x9a8938[_0x99d8('0x32')][_0x99d8('0x3b')]);_0x49ce25[_0x99d8('0x3c')]=qs[_0x99d8('0x33')](_[_0x99d8('0x3d')](_0x9a8938[_0x99d8('0x32')],_0x1feebd['filters']),_0x1f3063);if(_0x9a8938[_0x99d8('0x32')][_0x99d8('0x3e')]){_0x49ce25[_0x99d8('0x3c')]=_[_0x99d8('0x3f')](_0x49ce25[_0x99d8('0x3c')],{'$or':_[_0x99d8('0x40')](_0x49ce25[_0x99d8('0x36')],function(_0x1f75bc){var _0x499dcf={};_0x499dcf[_0x1f75bc]={'$like':'%'+_0x9a8938[_0x99d8('0x32')]['filter']+'%'};return _0x499dcf;})});}_0x49ce25=_[_0x99d8('0x3f')]({},_0x49ce25,_0x9a8938[_0x99d8('0x41')]);var _0x44428e={'where':_0x49ce25['where']};return db[_0x99d8('0x2f')][_0x99d8('0x1f')](_0x44428e)[_0x99d8('0x27')](function(_0x531348){_0x2da18f[_0x99d8('0x1f')]=_0x531348;if(_0x9a8938['query'][_0x99d8('0x42')]){_0x49ce25['include']=[{'all':!![]}];}return db[_0x99d8('0x2f')][_0x99d8('0x43')](_0x49ce25);})['then'](function(_0x408254){_0x2da18f[_0x99d8('0x44')]=_0x408254;return _0x2da18f;})[_0x99d8('0x27')](respondWithFilteredResult(_0x4e1056,_0x49ce25))['catch'](handleError(_0x4e1056,null));})[_0x99d8('0x45')](handleError(_0x4e1056,null));};exports[_0x99d8('0x46')]=function(_0x153b52,_0x29d980){var _0x4dc8ab={'raw':![],'where':{'id':_0x153b52[_0x99d8('0x47')]['id']}},_0x31ea9f={};_0x31ea9f[_0x99d8('0x35')]=_['keys'](db['CmCompany'][_0x99d8('0x48')]);_0x31ea9f[_0x99d8('0x32')]=_[_0x99d8('0x31')](_0x153b52[_0x99d8('0x32')]);_0x31ea9f['filters']=_['intersection'](_0x31ea9f[_0x99d8('0x35')],_0x31ea9f['query']);_0x4dc8ab['attributes']=_[_0x99d8('0x34')](_0x31ea9f[_0x99d8('0x35')],qs[_0x99d8('0x37')](_0x153b52[_0x99d8('0x32')][_0x99d8('0x37')]));_0x4dc8ab[_0x99d8('0x36')]=_0x4dc8ab[_0x99d8('0x36')]['length']?_0x4dc8ab['attributes']:_0x31ea9f[_0x99d8('0x35')];if(_0x153b52[_0x99d8('0x32')][_0x99d8('0x42')]){_0x4dc8ab[_0x99d8('0x49')]=[{'all':!![]}];}_0x4dc8ab=_[_0x99d8('0x3f')]({},_0x4dc8ab,_0x153b52[_0x99d8('0x41')]);return db[_0x99d8('0x2f')][_0x99d8('0x4a')](_0x4dc8ab)[_0x99d8('0x27')](handleEntityNotFound(_0x29d980,null))[_0x99d8('0x27')](respondWithResult(_0x29d980,null))[_0x99d8('0x45')](handleError(_0x29d980,null));};exports[_0x99d8('0x4b')]=function(_0x3f8532,_0x4ae1d9){return db[_0x99d8('0x2f')][_0x99d8('0x4b')](_0x3f8532[_0x99d8('0x4c')],{})[_0x99d8('0x27')](function(_0x2e07f0){var _0x1facdf=_0x3f8532[_0x99d8('0x4d')][_0x99d8('0x4e')]({'plain':!![]});if(!_0x1facdf)throw new Error(_0x99d8('0x4f'));if(_0x1facdf[_0x99d8('0x50')]===_0x99d8('0x4d')){var _0xd3fbae=_0x2e07f0[_0x99d8('0x4e')]({'plain':!![]});var _0x9201d8=_0x99d8('0x28');return db['UserProfileSection'][_0x99d8('0x4a')]({'where':{'name':_0x9201d8,'userProfileId':_0x1facdf[_0x99d8('0x51')]},'raw':!![]})[_0x99d8('0x27')](function(_0x4032d6){if(_0x4032d6&&_0x4032d6[_0x99d8('0x52')]===0x0){return db[_0x99d8('0x29')]['create']({'name':_0xd3fbae[_0x99d8('0x2d')],'resourceId':_0xd3fbae['id'],'type':_0x4032d6[_0x99d8('0x2d')],'sectionId':_0x4032d6['id']},{})[_0x99d8('0x27')](function(){return _0x2e07f0;});}else{return _0x2e07f0;}})['catch'](function(_0x2738d3){logger[_0x99d8('0x2b')](_0x99d8('0x53'),_0x2738d3);throw _0x2738d3;});}return _0x2e07f0;})['then'](respondWithResult(_0x4ae1d9,0xc9))[_0x99d8('0x45')](handleError(_0x4ae1d9,null));};exports[_0x99d8('0x26')]=function(_0x4e2757,_0x9626d7){if(_0x4e2757['body']['id']){delete _0x4e2757[_0x99d8('0x4c')]['id'];}return db[_0x99d8('0x2f')][_0x99d8('0x4a')]({'where':{'id':_0x4e2757[_0x99d8('0x47')]['id']}})[_0x99d8('0x27')](handleEntityNotFound(_0x9626d7,null))[_0x99d8('0x27')](saveUpdates(_0x4e2757[_0x99d8('0x4c')],null))[_0x99d8('0x27')](respondWithResult(_0x9626d7,null))[_0x99d8('0x45')](handleError(_0x9626d7,null));};exports[_0x99d8('0x2a')]=function(_0x3fe548,_0x4b2bd6){return db[_0x99d8('0x2f')][_0x99d8('0x4a')]({'where':{'id':_0x3fe548[_0x99d8('0x47')]['id']}})[_0x99d8('0x27')](handleEntityNotFound(_0x4b2bd6,null))['then'](removeEntity(_0x4b2bd6,null))['catch'](handleError(_0x4b2bd6,null));};exports[_0x99d8('0x30')]=function(_0x5c62f6,_0x3a4f95){return db[_0x99d8('0x2f')]['describe']()[_0x99d8('0x27')](respondWithResult(_0x3a4f95,null))[_0x99d8('0x45')](handleError(_0x3a4f95,null));};exports[_0x99d8('0x54')]=function(_0x20b85b,_0x347f77,_0x41ba58){return db[_0x99d8('0x55')][_0x99d8('0x4a')]({'where':{'id':_0x20b85b[_0x99d8('0x47')]['id']}})[_0x99d8('0x27')](handleEntityNotFound(_0x347f77,null))[_0x99d8('0x27')](function(_0x9ed444){if(_0x9ed444){return _0x9ed444[_0x99d8('0x54')](_0x20b85b['body'][_0x99d8('0x56')],_[_0x99d8('0x57')](_0x20b85b[_0x99d8('0x4c')],[_0x99d8('0x56'),'id'])||{});}})[_0x99d8('0x27')](respondWithResult(_0x347f77,null))[_0x99d8('0x45')](handleError(_0x347f77,null));};exports[_0x99d8('0x58')]=function(_0x598f4c,_0x2006e7,_0x5f153f){var _0x9d5c34={};var _0x4f09cb={};var _0x28b975;var _0x5ddbd8;return db[_0x99d8('0x2f')][_0x99d8('0x59')]({'where':{'id':_0x598f4c[_0x99d8('0x47')]['id']}})['then'](handleEntityNotFound(_0x2006e7,null))[_0x99d8('0x27')](function(_0x23329a){if(_0x23329a){_0x28b975=_0x23329a;_0x4f09cb[_0x99d8('0x35')]=_[_0x99d8('0x31')](db[_0x99d8('0x55')][_0x99d8('0x48')]);_0x4f09cb[_0x99d8('0x32')]=_[_0x99d8('0x31')](_0x598f4c[_0x99d8('0x32')]);_0x4f09cb[_0x99d8('0x33')]=_[_0x99d8('0x34')](_0x4f09cb[_0x99d8('0x35')],_0x4f09cb[_0x99d8('0x32')]);_0x9d5c34[_0x99d8('0x36')]=_['intersection'](_0x4f09cb['model'],qs[_0x99d8('0x37')](_0x598f4c['query'][_0x99d8('0x37')]));_0x9d5c34['attributes']=_0x9d5c34[_0x99d8('0x36')][_0x99d8('0x38')]?_0x9d5c34['attributes']:_0x4f09cb[_0x99d8('0x35')];_0x9d5c34['order']=qs[_0x99d8('0x3b')](_0x598f4c[_0x99d8('0x32')][_0x99d8('0x3b')]);_0x9d5c34[_0x99d8('0x3c')]=qs['filters'](_['pick'](_0x598f4c[_0x99d8('0x32')],_0x4f09cb[_0x99d8('0x33')]));if(_0x598f4c['query'][_0x99d8('0x3e')]){_0x9d5c34[_0x99d8('0x3c')]=_['merge'](_0x9d5c34['where'],{'$or':_[_0x99d8('0x40')](_0x9d5c34['attributes'],function(_0x502f24){var _0x1c6211={};_0x1c6211[_0x502f24]={'$like':'%'+_0x598f4c[_0x99d8('0x32')][_0x99d8('0x3e')]+'%'};return _0x1c6211;})});}_0x9d5c34=_[_0x99d8('0x3f')]({},_0x9d5c34,_0x598f4c['options']);return _0x28b975[_0x99d8('0x58')](_0x9d5c34);}})['then'](function(_0x4bb348){if(_0x4bb348){_0x5ddbd8=_0x4bb348[_0x99d8('0x38')];if(!_0x598f4c[_0x99d8('0x32')]['hasOwnProperty'](_0x99d8('0x3a'))){_0x9d5c34[_0x99d8('0x21')]=qs[_0x99d8('0x21')](_0x598f4c['query'][_0x99d8('0x21')]);_0x9d5c34['offset']=qs['offset'](_0x598f4c[_0x99d8('0x32')][_0x99d8('0x20')]);}return _0x28b975['getContacts'](_0x9d5c34);}})[_0x99d8('0x27')](function(_0x1cc605){if(_0x1cc605){return _0x1cc605?{'count':_0x5ddbd8,'rows':_0x1cc605}:null;}})['then'](respondWithResult(_0x2006e7,null))[_0x99d8('0x45')](handleError(_0x2006e7,null));};