422135de1d600bb96ba784991a4c64bd3eb42b5f
[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 _0x38c5=['count','offset','limit','apply','reject','update','then','get','Companies','UserProfileResource','destroy','end','sendStatus','error','stack','name','send','index','CmCompany','describe','model','keys','query','filters','intersection','fields','attributes','hasOwnProperty','order','sort','where','pick','merge','map','options','include','findAll','rows','catch','params','rawAttributes','length','includeAll','create','body','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','addContacts','CmContact','omit','getContacts','filter','nolimit','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','json'];(function(_0x1d78b2,_0x3754d6){var _0x111d85=function(_0x59718b){while(--_0x59718b){_0x1d78b2['push'](_0x1d78b2['shift']());}};_0x111d85(++_0x3754d6);}(_0x38c5,0x12f));var _0x538c=function(_0x3b380d,_0x4bf247){_0x3b380d=_0x3b380d-0x0;var _0x54502b=_0x38c5[_0x3b380d];return _0x54502b;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x538c('0x0'));var zipdir=require(_0x538c('0x1'));var jsonpatch=require(_0x538c('0x2'));var rp=require(_0x538c('0x3'));var moment=require('moment');var BPromise=require(_0x538c('0x4'));var Mustache=require('mustache');var util=require(_0x538c('0x5'));var path=require(_0x538c('0x6'));var sox=require(_0x538c('0x7'));var csv=require(_0x538c('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x538c('0x9'));var squel=require(_0x538c('0xa'));var crypto=require(_0x538c('0xb'));var jsforce=require(_0x538c('0xc'));var deskjs=require(_0x538c('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x538c('0xe'));var authService=require(_0x538c('0xf'));var qs=require(_0x538c('0x10'));var as=require(_0x538c('0x11'));var hardwareService=require(_0x538c('0x12'));var logger=require(_0x538c('0x13'))('api');var utils=require(_0x538c('0x14'));var config=require(_0x538c('0x15'));var db=require(_0x538c('0x16'))['db'];function respondWithStatusCode(_0x59f54c,_0x2fe3e8){_0x2fe3e8=_0x2fe3e8||0xcc;return function(_0x2f3b45){if(_0x2f3b45){return _0x59f54c['sendStatus'](_0x2fe3e8);}return _0x59f54c[_0x538c('0x17')](_0x2fe3e8)['end']();};}function respondWithResult(_0x31017a,_0x1b1415){_0x1b1415=_0x1b1415||0xc8;return function(_0x417cd9){if(_0x417cd9){return _0x31017a[_0x538c('0x17')](_0x1b1415)[_0x538c('0x18')](_0x417cd9);}};}function respondWithFilteredResult(_0xb52df8,_0x4694fe){return function(_0x235901){if(_0x235901){var _0x23464b=_0x235901[_0x538c('0x19')],_0x532a42=_0x4694fe[_0x538c('0x1a')],_0x33197a=_0x4694fe[_0x538c('0x1a')]+_0x4694fe[_0x538c('0x1b')],_0x15d63c;if(_0x33197a>=_0x23464b){_0x33197a=_0x23464b;_0x15d63c=0xc8;}else{_0x15d63c=0xce;}_0xb52df8['status'](_0x15d63c);return _0xb52df8['set']('Content-Range',_0x532a42+'-'+_0x33197a+'/'+_0x23464b)[_0x538c('0x18')](_0x235901);}return null;};}function patchUpdates(_0xeae795){return function(_0x11fd0f){try{jsonpatch[_0x538c('0x1c')](_0x11fd0f,_0xeae795,!![]);}catch(_0x12ff3d){return BPromise[_0x538c('0x1d')](_0x12ff3d);}return _0x11fd0f['save']();};}function saveUpdates(_0x2cc31d,_0x5502b7){return function(_0xd9dcbf){if(_0xd9dcbf){return _0xd9dcbf[_0x538c('0x1e')](_0x2cc31d)[_0x538c('0x1f')](function(_0x4f20d1){return _0x4f20d1;});}return null;};}function removeEntity(_0x470af0,_0x26ff22){return function(_0xd157de){if(_0xd157de){return _0xd157de['destroy']()[_0x538c('0x1f')](function(){var _0x5eb8c2=_0xd157de[_0x538c('0x20')]({'plain':!![]});var _0x24f4e4=_0x538c('0x21');return db[_0x538c('0x22')][_0x538c('0x23')]({'where':{'type':_0x24f4e4,'resourceId':_0x5eb8c2['id']}})['then'](function(){return _0xd157de;});})[_0x538c('0x1f')](function(){_0x470af0[_0x538c('0x17')](0xcc)[_0x538c('0x24')]();});}};}function handleEntityNotFound(_0x5204e3,_0x8a7630){return function(_0xadbd25){if(!_0xadbd25){_0x5204e3[_0x538c('0x25')](0x194);}return _0xadbd25;};}function handleError(_0x263764,_0x34b167){_0x34b167=_0x34b167||0x1f4;return function(_0xc2ec9d){logger[_0x538c('0x26')](_0xc2ec9d[_0x538c('0x27')]);if(_0xc2ec9d[_0x538c('0x28')]){delete _0xc2ec9d['name'];}_0x263764['status'](_0x34b167)[_0x538c('0x29')](_0xc2ec9d);};}exports[_0x538c('0x2a')]=function(_0x4d0ffa,_0x59564c){var _0x5a98dc={},_0x47383a={},_0x5d4230={'count':0x0,'rows':[]};return db[_0x538c('0x2b')][_0x538c('0x2c')]()[_0x538c('0x1f')](function(_0x277f88){_0x47383a[_0x538c('0x2d')]=_[_0x538c('0x2e')](_0x277f88);_0x47383a['query']=_[_0x538c('0x2e')](_0x4d0ffa[_0x538c('0x2f')]);_0x47383a[_0x538c('0x30')]=_[_0x538c('0x31')](_0x47383a[_0x538c('0x2d')],_0x47383a[_0x538c('0x2f')]);_0x5a98dc['attributes']=_[_0x538c('0x31')](_0x47383a[_0x538c('0x2d')],qs[_0x538c('0x32')](_0x4d0ffa[_0x538c('0x2f')][_0x538c('0x32')]));_0x5a98dc[_0x538c('0x33')]=_0x5a98dc[_0x538c('0x33')]['length']?_0x5a98dc['attributes']:_0x47383a[_0x538c('0x2d')];if(!_0x4d0ffa['query'][_0x538c('0x34')]('nolimit')){_0x5a98dc[_0x538c('0x1b')]=qs['limit'](_0x4d0ffa[_0x538c('0x2f')][_0x538c('0x1b')]);_0x5a98dc[_0x538c('0x1a')]=qs[_0x538c('0x1a')](_0x4d0ffa[_0x538c('0x2f')]['offset']);}_0x5a98dc[_0x538c('0x35')]=qs['sort'](_0x4d0ffa[_0x538c('0x2f')][_0x538c('0x36')]);_0x5a98dc[_0x538c('0x37')]=qs['filters'](_[_0x538c('0x38')](_0x4d0ffa[_0x538c('0x2f')],_0x47383a[_0x538c('0x30')]),_0x277f88);if(_0x4d0ffa['query']['filter']){_0x5a98dc[_0x538c('0x37')]=_[_0x538c('0x39')](_0x5a98dc[_0x538c('0x37')],{'$or':_[_0x538c('0x3a')](_0x5a98dc[_0x538c('0x33')],function(_0x46d56b){var _0x3e7bb3={};_0x3e7bb3[_0x46d56b]={'$like':'%'+_0x4d0ffa[_0x538c('0x2f')]['filter']+'%'};return _0x3e7bb3;})});}_0x5a98dc=_[_0x538c('0x39')]({},_0x5a98dc,_0x4d0ffa[_0x538c('0x3b')]);var _0x16a406={'where':_0x5a98dc[_0x538c('0x37')]};return db['CmCompany'][_0x538c('0x19')](_0x16a406)[_0x538c('0x1f')](function(_0x5b90d0){_0x5d4230['count']=_0x5b90d0;if(_0x4d0ffa[_0x538c('0x2f')]['includeAll']){_0x5a98dc[_0x538c('0x3c')]=[{'all':!![]}];}return db[_0x538c('0x2b')][_0x538c('0x3d')](_0x5a98dc);})['then'](function(_0x48cdd6){_0x5d4230[_0x538c('0x3e')]=_0x48cdd6;return _0x5d4230;})[_0x538c('0x1f')](respondWithFilteredResult(_0x59564c,_0x5a98dc))[_0x538c('0x3f')](handleError(_0x59564c,null));})[_0x538c('0x3f')](handleError(_0x59564c,null));};exports['show']=function(_0x53fcef,_0x2fe70a){var _0x1653ac={'raw':![],'where':{'id':_0x53fcef[_0x538c('0x40')]['id']}},_0x3f0650={};_0x3f0650[_0x538c('0x2d')]=_[_0x538c('0x2e')](db[_0x538c('0x2b')][_0x538c('0x41')]);_0x3f0650['query']=_[_0x538c('0x2e')](_0x53fcef[_0x538c('0x2f')]);_0x3f0650[_0x538c('0x30')]=_[_0x538c('0x31')](_0x3f0650[_0x538c('0x2d')],_0x3f0650[_0x538c('0x2f')]);_0x1653ac[_0x538c('0x33')]=_['intersection'](_0x3f0650[_0x538c('0x2d')],qs[_0x538c('0x32')](_0x53fcef[_0x538c('0x2f')][_0x538c('0x32')]));_0x1653ac['attributes']=_0x1653ac[_0x538c('0x33')][_0x538c('0x42')]?_0x1653ac[_0x538c('0x33')]:_0x3f0650['model'];if(_0x53fcef[_0x538c('0x2f')][_0x538c('0x43')]){_0x1653ac[_0x538c('0x3c')]=[{'all':!![]}];}_0x1653ac=_[_0x538c('0x39')]({},_0x1653ac,_0x53fcef['options']);return db[_0x538c('0x2b')]['find'](_0x1653ac)[_0x538c('0x1f')](handleEntityNotFound(_0x2fe70a,null))[_0x538c('0x1f')](respondWithResult(_0x2fe70a,null))['catch'](handleError(_0x2fe70a,null));};exports[_0x538c('0x44')]=function(_0x4b8b56,_0x271f85){return db[_0x538c('0x2b')][_0x538c('0x44')](_0x4b8b56[_0x538c('0x45')],{})['then'](function(_0x56f2d1){var _0x5ebbc3=_0x4b8b56['user'][_0x538c('0x20')]({'plain':!![]});if(!_0x5ebbc3)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5ebbc3[_0x538c('0x46')]==='user'){var _0x16c1a9=_0x56f2d1[_0x538c('0x20')]({'plain':!![]});var _0xb786bd='Companies';return db[_0x538c('0x47')]['find']({'where':{'name':_0xb786bd,'userProfileId':_0x5ebbc3[_0x538c('0x48')]},'raw':!![]})['then'](function(_0x43083d){if(_0x43083d&&_0x43083d[_0x538c('0x49')]===0x0){return db[_0x538c('0x22')][_0x538c('0x44')]({'name':_0x16c1a9['name'],'resourceId':_0x16c1a9['id'],'type':_0x43083d['name'],'sectionId':_0x43083d['id']},{})[_0x538c('0x1f')](function(){return _0x56f2d1;});}else{return _0x56f2d1;}})[_0x538c('0x3f')](function(_0x37b5dc){logger[_0x538c('0x26')](_0x538c('0x4a'),_0x37b5dc);throw _0x37b5dc;});}return _0x56f2d1;})['then'](respondWithResult(_0x271f85,0xc9))[_0x538c('0x3f')](handleError(_0x271f85,null));};exports[_0x538c('0x1e')]=function(_0x3684e8,_0x2d2580){if(_0x3684e8['body']['id']){delete _0x3684e8['body']['id'];}return db[_0x538c('0x2b')][_0x538c('0x4b')]({'where':{'id':_0x3684e8['params']['id']}})[_0x538c('0x1f')](handleEntityNotFound(_0x2d2580,null))[_0x538c('0x1f')](saveUpdates(_0x3684e8['body'],null))[_0x538c('0x1f')](respondWithResult(_0x2d2580,null))['catch'](handleError(_0x2d2580,null));};exports['destroy']=function(_0x14f5a2,_0x18d3fe){return db[_0x538c('0x2b')][_0x538c('0x4b')]({'where':{'id':_0x14f5a2[_0x538c('0x40')]['id']}})['then'](handleEntityNotFound(_0x18d3fe,null))[_0x538c('0x1f')](removeEntity(_0x18d3fe,null))[_0x538c('0x3f')](handleError(_0x18d3fe,null));};exports[_0x538c('0x2c')]=function(_0x2afa07,_0x586339){return db[_0x538c('0x2b')][_0x538c('0x2c')]()[_0x538c('0x1f')](respondWithResult(_0x586339,null))['catch'](handleError(_0x586339,null));};exports[_0x538c('0x4c')]=function(_0x32f025,_0x3d2b47,_0x199d86){return db[_0x538c('0x4d')][_0x538c('0x4b')]({'where':{'id':_0x32f025['params']['id']}})[_0x538c('0x1f')](handleEntityNotFound(_0x3d2b47,null))[_0x538c('0x1f')](function(_0x3ed687){if(_0x3ed687){return _0x3ed687[_0x538c('0x4c')](_0x32f025['body']['ids'],_[_0x538c('0x4e')](_0x32f025[_0x538c('0x45')],['ids','id'])||{});}})[_0x538c('0x1f')](respondWithResult(_0x3d2b47,null))[_0x538c('0x3f')](handleError(_0x3d2b47,null));};exports[_0x538c('0x4f')]=function(_0x538510,_0x5a866c,_0x3467b3){var _0xa490b6={};var _0x4df8da={};var _0x3a2f83;var _0x502215;return db[_0x538c('0x2b')]['findOne']({'where':{'id':_0x538510[_0x538c('0x40')]['id']}})[_0x538c('0x1f')](handleEntityNotFound(_0x5a866c,null))[_0x538c('0x1f')](function(_0x22764c){if(_0x22764c){_0x3a2f83=_0x22764c;_0x4df8da[_0x538c('0x2d')]=_[_0x538c('0x2e')](db[_0x538c('0x4d')][_0x538c('0x41')]);_0x4df8da[_0x538c('0x2f')]=_['keys'](_0x538510[_0x538c('0x2f')]);_0x4df8da[_0x538c('0x30')]=_['intersection'](_0x4df8da['model'],_0x4df8da['query']);_0xa490b6[_0x538c('0x33')]=_[_0x538c('0x31')](_0x4df8da[_0x538c('0x2d')],qs[_0x538c('0x32')](_0x538510[_0x538c('0x2f')][_0x538c('0x32')]));_0xa490b6[_0x538c('0x33')]=_0xa490b6[_0x538c('0x33')][_0x538c('0x42')]?_0xa490b6['attributes']:_0x4df8da[_0x538c('0x2d')];_0xa490b6[_0x538c('0x35')]=qs[_0x538c('0x36')](_0x538510[_0x538c('0x2f')][_0x538c('0x36')]);_0xa490b6[_0x538c('0x37')]=qs[_0x538c('0x30')](_[_0x538c('0x38')](_0x538510[_0x538c('0x2f')],_0x4df8da[_0x538c('0x30')]));if(_0x538510[_0x538c('0x2f')][_0x538c('0x50')]){_0xa490b6[_0x538c('0x37')]=_[_0x538c('0x39')](_0xa490b6[_0x538c('0x37')],{'$or':_['map'](_0xa490b6['attributes'],function(_0x3bd027){var _0x467d0d={};_0x467d0d[_0x3bd027]={'$like':'%'+_0x538510[_0x538c('0x2f')][_0x538c('0x50')]+'%'};return _0x467d0d;})});}_0xa490b6=_[_0x538c('0x39')]({},_0xa490b6,_0x538510[_0x538c('0x3b')]);return _0x3a2f83[_0x538c('0x4f')](_0xa490b6);}})[_0x538c('0x1f')](function(_0xd1bf4a){if(_0xd1bf4a){_0x502215=_0xd1bf4a[_0x538c('0x42')];if(!_0x538510['query'][_0x538c('0x34')](_0x538c('0x51'))){_0xa490b6[_0x538c('0x1b')]=qs['limit'](_0x538510[_0x538c('0x2f')][_0x538c('0x1b')]);_0xa490b6['offset']=qs[_0x538c('0x1a')](_0x538510[_0x538c('0x2f')][_0x538c('0x1a')]);}return _0x3a2f83[_0x538c('0x4f')](_0xa490b6);}})[_0x538c('0x1f')](function(_0x2506a3){if(_0x2506a3){return _0x2506a3?{'count':_0x502215,'rows':_0x2506a3}:null;}})[_0x538c('0x1f')](respondWithResult(_0x5a866c,null))[_0x538c('0x3f')](handleError(_0x5a866c,null));};