Built motion from commit 67e5df37.|2.0.66
[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 _0xc1f6=['status','end','json','offset','limit','set','Content-Range','apply','save','update','then','destroy','stack','name','send','index','model','keys','CmCompany','rawAttributes','dateStart','query','dateEnd','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','day','add','merge','filter','options','count','includeAll','include','findAll','rows','show','catch','create','body','find','params','CmContact','addContacts','ids','omit','getContacts','findOne','map','hasOwnProperty','fast-json-patch','request-promise','moment','mustache','path','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus'];(function(_0x4f41e6,_0x45a3ca){var _0x4548fb=function(_0x114fc3){while(--_0x114fc3){_0x4f41e6['push'](_0x4f41e6['shift']());}};_0x4548fb(++_0x45a3ca);}(_0xc1f6,0x85));var _0x6c1f=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xc1f6[_0x3dd15e];return _0x231fd0;};'use strict';var jsonpatch=require(_0x6c1f('0x0'));var rp=require(_0x6c1f('0x1'));var moment=require(_0x6c1f('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x6c1f('0x3'));var util=require('util');var path=require(_0x6c1f('0x4'));var sox=require('sox');var csv=require(_0x6c1f('0x5'));var ejs=require(_0x6c1f('0x6'));var fs=require('fs');var _=require(_0x6c1f('0x7'));var squel=require(_0x6c1f('0x8'));var crypto=require(_0x6c1f('0x9'));var jsforce=require(_0x6c1f('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x6c1f('0x5'));var querystring=require(_0x6c1f('0xb'));var Papa=require(_0x6c1f('0xc'));var qs=require(_0x6c1f('0xd'));var logger=require(_0x6c1f('0xe'))('api');var utils=require(_0x6c1f('0xf'));var config=require(_0x6c1f('0x10'));var db=require(_0x6c1f('0x11'))['db'];function respondWithStatusCode(_0x1892b7,_0x559a4a){_0x559a4a=_0x559a4a||0xcc;return function(_0x1f2dd3){if(_0x1f2dd3){return _0x1892b7[_0x6c1f('0x12')](_0x559a4a);}return _0x1892b7[_0x6c1f('0x13')](_0x559a4a)[_0x6c1f('0x14')]();};}function respondWithResult(_0x26b961,_0x468937){_0x468937=_0x468937||0xc8;return function(_0x4c0348){if(_0x4c0348){return _0x26b961[_0x6c1f('0x13')](_0x468937)[_0x6c1f('0x15')](_0x4c0348);}};}function respondWithFilteredResult(_0x11312a,_0x2dae4c){return function(_0x3b2403){if(_0x3b2403){var _0x57b54c=_0x3b2403['count'],_0x2d29ea=_0x2dae4c[_0x6c1f('0x16')],_0x1ae49e=_0x2dae4c['offset']+_0x2dae4c[_0x6c1f('0x17')],_0x2479f5;if(_0x1ae49e>=_0x57b54c){_0x1ae49e=_0x57b54c;_0x2479f5=0xc8;}else{_0x2479f5=0xce;}_0x11312a[_0x6c1f('0x13')](_0x2479f5);return _0x11312a[_0x6c1f('0x18')](_0x6c1f('0x19'),_0x2d29ea+'-'+_0x1ae49e+'/'+_0x57b54c)['json'](_0x3b2403);}return null;};}function patchUpdates(_0x23304b){return function(_0x46f758){try{jsonpatch[_0x6c1f('0x1a')](_0x46f758,_0x23304b,!![]);}catch(_0x4b6b0f){return BPromise['reject'](_0x4b6b0f);}return _0x46f758[_0x6c1f('0x1b')]();};}function saveUpdates(_0x3d6013,_0x4abf15){return function(_0x2e3a97){if(_0x2e3a97){return _0x2e3a97[_0x6c1f('0x1c')](_0x3d6013)[_0x6c1f('0x1d')](function(_0x5c405e){return _0x5c405e;});}return null;};}function removeEntity(_0x292ceb,_0x57bd51){return function(_0x1f6c94){if(_0x1f6c94){return _0x1f6c94[_0x6c1f('0x1e')]()[_0x6c1f('0x1d')](function(){_0x292ceb[_0x6c1f('0x13')](0xcc)[_0x6c1f('0x14')]();});}};}function handleEntityNotFound(_0x11fe76,_0x20139a){return function(_0x31e0e1){if(!_0x31e0e1){_0x11fe76[_0x6c1f('0x12')](0x194);}return _0x31e0e1;};}function handleError(_0x1f6e42,_0x25a760){_0x25a760=_0x25a760||0x1f4;return function(_0x46fd8d){logger['error'](_0x46fd8d[_0x6c1f('0x1f')]);if(_0x46fd8d['name']){delete _0x46fd8d[_0x6c1f('0x20')];}_0x1f6e42[_0x6c1f('0x13')](_0x25a760)[_0x6c1f('0x21')](_0x46fd8d);};}exports[_0x6c1f('0x22')]=function(_0x94411c,_0x45a45f){var _0x2fd150={},_0x232568={},_0x2aebb8={'count':0x0,'rows':[]};_0x232568[_0x6c1f('0x23')]=_[_0x6c1f('0x24')](db[_0x6c1f('0x25')][_0x6c1f('0x26')]);var _0x572348={'dateStart':_0x94411c['query'][_0x6c1f('0x27')],'dateEnd':_0x94411c[_0x6c1f('0x28')]['dateEnd']};delete _0x94411c[_0x6c1f('0x28')]['dateStart'];delete _0x94411c[_0x6c1f('0x28')][_0x6c1f('0x29')];_0x232568[_0x6c1f('0x28')]=_[_0x6c1f('0x24')](_0x94411c[_0x6c1f('0x28')]);_0x232568[_0x6c1f('0x2a')]=_[_0x6c1f('0x2b')](_0x232568[_0x6c1f('0x23')],_0x232568[_0x6c1f('0x28')]);_0x2fd150['attributes']=_[_0x6c1f('0x2b')](_0x232568[_0x6c1f('0x23')],qs['fields'](_0x94411c[_0x6c1f('0x28')][_0x6c1f('0x2c')]));_0x2fd150[_0x6c1f('0x2d')]=_0x2fd150[_0x6c1f('0x2d')][_0x6c1f('0x2e')]?_0x2fd150[_0x6c1f('0x2d')]:_0x232568[_0x6c1f('0x23')];if(!_0x94411c[_0x6c1f('0x28')]['hasOwnProperty'](_0x6c1f('0x2f'))){_0x2fd150[_0x6c1f('0x17')]=qs[_0x6c1f('0x17')](_0x94411c[_0x6c1f('0x28')][_0x6c1f('0x17')]);_0x2fd150['offset']=qs[_0x6c1f('0x16')](_0x94411c['query'][_0x6c1f('0x16')]);}_0x2fd150[_0x6c1f('0x30')]=qs[_0x6c1f('0x31')](_0x94411c[_0x6c1f('0x28')][_0x6c1f('0x31')]);_0x2fd150[_0x6c1f('0x32')]=qs[_0x6c1f('0x2a')](_[_0x6c1f('0x33')](_0x94411c[_0x6c1f('0x28')],_0x232568[_0x6c1f('0x2a')]));if(_0x572348[_0x6c1f('0x27')]){if(_0x572348[_0x6c1f('0x29')]){_0x572348[_0x6c1f('0x29')]=moment(_0x572348[_0x6c1f('0x29')])['add'](0x1,_0x6c1f('0x34'));}else{_0x572348[_0x6c1f('0x29')]=moment(_0x572348[_0x6c1f('0x27')])[_0x6c1f('0x35')](0x1,_0x6c1f('0x34'));}_[_0x6c1f('0x36')](_0x2fd150[_0x6c1f('0x32')],{'createdAt':{'$gte':_0x572348[_0x6c1f('0x27')],'$lte':_0x572348['dateEnd']}});}if(_0x94411c['query']['filter']){_0x2fd150['where']=_[_0x6c1f('0x36')](_0x2fd150[_0x6c1f('0x32')],{'$or':_['map'](_0x2fd150[_0x6c1f('0x2d')],function(_0x4213ae){var _0x54a05b={};_0x54a05b[_0x4213ae]={'$like':'%'+_0x94411c[_0x6c1f('0x28')][_0x6c1f('0x37')]+'%'};return _0x54a05b;})});}_0x2fd150=_[_0x6c1f('0x36')]({},_0x2fd150,_0x94411c[_0x6c1f('0x38')]);var _0x2155b6={'where':_0x2fd150[_0x6c1f('0x32')]};return db[_0x6c1f('0x25')][_0x6c1f('0x39')](_0x2155b6)[_0x6c1f('0x1d')](function(_0x39927e){_0x2aebb8['count']=_0x39927e;if(_0x94411c['query'][_0x6c1f('0x3a')]){_0x2fd150[_0x6c1f('0x3b')]=[{'all':!![]}];}return db[_0x6c1f('0x25')][_0x6c1f('0x3c')](_0x2fd150);})[_0x6c1f('0x1d')](function(_0x2e164a){_0x2aebb8[_0x6c1f('0x3d')]=_0x2e164a;return _0x2aebb8;})[_0x6c1f('0x1d')](respondWithFilteredResult(_0x45a45f,_0x2fd150))['catch'](handleError(_0x45a45f,null));};exports[_0x6c1f('0x3e')]=function(_0x30db10,_0x261e63){var _0x47e73b={'raw':![],'where':{'id':_0x30db10['params']['id']}},_0x41bc22={};_0x41bc22['model']=_[_0x6c1f('0x24')](db[_0x6c1f('0x25')][_0x6c1f('0x26')]);_0x41bc22[_0x6c1f('0x28')]=_['keys'](_0x30db10[_0x6c1f('0x28')]);_0x41bc22[_0x6c1f('0x2a')]=_[_0x6c1f('0x2b')](_0x41bc22[_0x6c1f('0x23')],_0x41bc22['query']);_0x47e73b[_0x6c1f('0x2d')]=_[_0x6c1f('0x2b')](_0x41bc22[_0x6c1f('0x23')],qs[_0x6c1f('0x2c')](_0x30db10[_0x6c1f('0x28')][_0x6c1f('0x2c')]));_0x47e73b[_0x6c1f('0x2d')]=_0x47e73b[_0x6c1f('0x2d')][_0x6c1f('0x2e')]?_0x47e73b[_0x6c1f('0x2d')]:_0x41bc22[_0x6c1f('0x23')];if(_0x30db10[_0x6c1f('0x28')][_0x6c1f('0x3a')]){_0x47e73b[_0x6c1f('0x3b')]=[{'all':!![]}];}_0x47e73b=_[_0x6c1f('0x36')]({},_0x47e73b,_0x30db10['options']);return db[_0x6c1f('0x25')]['find'](_0x47e73b)[_0x6c1f('0x1d')](handleEntityNotFound(_0x261e63,null))['then'](respondWithResult(_0x261e63,null))[_0x6c1f('0x3f')](handleError(_0x261e63,null));};exports[_0x6c1f('0x40')]=function(_0x25bce1,_0x5b4f4e){return db[_0x6c1f('0x25')]['create'](_0x25bce1[_0x6c1f('0x41')],{})[_0x6c1f('0x1d')](respondWithResult(_0x5b4f4e,0xc9))[_0x6c1f('0x3f')](handleError(_0x5b4f4e,null));};exports[_0x6c1f('0x1c')]=function(_0x28e232,_0x96f67f){if(_0x28e232[_0x6c1f('0x41')]['id']){delete _0x28e232[_0x6c1f('0x41')]['id'];}return db[_0x6c1f('0x25')][_0x6c1f('0x42')]({'where':{'id':_0x28e232[_0x6c1f('0x43')]['id']}})[_0x6c1f('0x1d')](handleEntityNotFound(_0x96f67f,null))[_0x6c1f('0x1d')](saveUpdates(_0x28e232[_0x6c1f('0x41')],null))[_0x6c1f('0x1d')](respondWithResult(_0x96f67f,null))[_0x6c1f('0x3f')](handleError(_0x96f67f,null));};exports['destroy']=function(_0x54538a,_0x841519){return db[_0x6c1f('0x25')][_0x6c1f('0x42')]({'where':{'id':_0x54538a[_0x6c1f('0x43')]['id']}})[_0x6c1f('0x1d')](handleEntityNotFound(_0x841519,null))[_0x6c1f('0x1d')](removeEntity(_0x841519,null))[_0x6c1f('0x3f')](handleError(_0x841519,null));};exports['addContacts']=function(_0x134b47,_0x498fe0,_0xcc37a3){return db[_0x6c1f('0x44')][_0x6c1f('0x42')]({'where':{'id':_0x134b47[_0x6c1f('0x43')]['id']}})[_0x6c1f('0x1d')](handleEntityNotFound(_0x498fe0,null))[_0x6c1f('0x1d')](function(_0x2aec48){if(_0x2aec48){return _0x2aec48[_0x6c1f('0x45')](_0x134b47[_0x6c1f('0x41')][_0x6c1f('0x46')],_[_0x6c1f('0x47')](_0x134b47[_0x6c1f('0x41')],[_0x6c1f('0x46'),'id'])||{});}})[_0x6c1f('0x1d')](respondWithResult(_0x498fe0,null))[_0x6c1f('0x3f')](handleError(_0x498fe0,null));};exports[_0x6c1f('0x48')]=function(_0x5c084a,_0x1b87a8,_0x2484bd){var _0x5e6d52={};var _0x244348={};var _0x28ffc8;var _0x59f029;return db[_0x6c1f('0x25')][_0x6c1f('0x49')]({'where':{'id':_0x5c084a[_0x6c1f('0x43')]['id']}})['then'](handleEntityNotFound(_0x1b87a8,null))[_0x6c1f('0x1d')](function(_0x2048d6){if(_0x2048d6){_0x28ffc8=_0x2048d6;_0x244348['model']=_[_0x6c1f('0x24')](db[_0x6c1f('0x44')]['rawAttributes']);_0x244348[_0x6c1f('0x28')]=_[_0x6c1f('0x24')](_0x5c084a['query']);_0x244348[_0x6c1f('0x2a')]=_[_0x6c1f('0x2b')](_0x244348['model'],_0x244348[_0x6c1f('0x28')]);_0x5e6d52['attributes']=_[_0x6c1f('0x2b')](_0x244348[_0x6c1f('0x23')],qs[_0x6c1f('0x2c')](_0x5c084a[_0x6c1f('0x28')][_0x6c1f('0x2c')]));_0x5e6d52['attributes']=_0x5e6d52[_0x6c1f('0x2d')][_0x6c1f('0x2e')]?_0x5e6d52['attributes']:_0x244348['model'];_0x5e6d52[_0x6c1f('0x30')]=qs[_0x6c1f('0x31')](_0x5c084a[_0x6c1f('0x28')][_0x6c1f('0x31')]);_0x5e6d52[_0x6c1f('0x32')]=qs['filters'](_[_0x6c1f('0x33')](_0x5c084a[_0x6c1f('0x28')],_0x244348[_0x6c1f('0x2a')]));if(_0x5c084a[_0x6c1f('0x28')][_0x6c1f('0x37')]){_0x5e6d52['where']=_['merge'](_0x5e6d52[_0x6c1f('0x32')],{'$or':_[_0x6c1f('0x4a')](_0x5e6d52[_0x6c1f('0x2d')],function(_0x458138){var _0x4d1420={};_0x4d1420[_0x458138]={'$like':'%'+_0x5c084a['query'][_0x6c1f('0x37')]+'%'};return _0x4d1420;})});}_0x5e6d52=_[_0x6c1f('0x36')]({},_0x5e6d52,_0x5c084a['options']);return _0x28ffc8[_0x6c1f('0x48')](_0x5e6d52);}})[_0x6c1f('0x1d')](function(_0xe54f71){if(_0xe54f71){_0x59f029=_0xe54f71[_0x6c1f('0x2e')];if(!_0x5c084a[_0x6c1f('0x28')][_0x6c1f('0x4b')](_0x6c1f('0x2f'))){_0x5e6d52[_0x6c1f('0x17')]=qs['limit'](_0x5c084a[_0x6c1f('0x28')]['limit']);_0x5e6d52['offset']=qs[_0x6c1f('0x16')](_0x5c084a['query']['offset']);}return _0x28ffc8['getContacts'](_0x5e6d52);}})[_0x6c1f('0x1d')](function(_0x136456){if(_0x136456){return _0x136456?{'count':_0x59f029,'rows':_0x136456}:null;}})['then'](respondWithResult(_0x1b87a8,null))[_0x6c1f('0x3f')](handleError(_0x1b87a8,null));};