Built motion from commit 19a84241.|2.5.34
[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 _0xa2f9=['../../config/license/util','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','get','Companies','destroy','then','error','stack','name','CmCompany','describe','model','keys','query','attributes','fields','length','order','sort','where','filters','pick','filter','merge','includeAll','include','findAll','rows','catch','show','params','rawAttributes','intersection','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','UserProfileResource','addContacts','CmContact','ids','omit','findOne','options','getContacts','nolimit','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment'];(function(_0x245e2d,_0x1515a6){var _0x2d1b6f=function(_0xd5b890){while(--_0xd5b890){_0x245e2d['push'](_0x245e2d['shift']());}};_0x2d1b6f(++_0x1515a6);}(_0xa2f9,0x195));var _0x9a2f=function(_0x4a7906,_0x3ef77d){_0x4a7906=_0x4a7906-0x0;var _0x558373=_0xa2f9[_0x4a7906];return _0x558373;};'use strict';var emlformat=require(_0x9a2f('0x0'));var rimraf=require(_0x9a2f('0x1'));var zipdir=require(_0x9a2f('0x2'));var jsonpatch=require(_0x9a2f('0x3'));var rp=require(_0x9a2f('0x4'));var moment=require('moment');var BPromise=require(_0x9a2f('0x5'));var Mustache=require(_0x9a2f('0x6'));var util=require(_0x9a2f('0x7'));var path=require(_0x9a2f('0x8'));var sox=require(_0x9a2f('0x9'));var csv=require(_0x9a2f('0xa'));var ejs=require(_0x9a2f('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x9a2f('0xc'));var squel=require(_0x9a2f('0xd'));var crypto=require(_0x9a2f('0xe'));var jsforce=require(_0x9a2f('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x9a2f('0x10'));var Papa=require(_0x9a2f('0x11'));var Redis=require(_0x9a2f('0x12'));var authService=require(_0x9a2f('0x13'));var qs=require(_0x9a2f('0x14'));var as=require(_0x9a2f('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x9a2f('0x16'));var utils=require(_0x9a2f('0x17'));var config=require(_0x9a2f('0x18'));var licenseUtil=require(_0x9a2f('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5c6812,_0x200f88){_0x200f88=_0x200f88||0xcc;return function(_0x141bc9){if(_0x141bc9){return _0x5c6812[_0x9a2f('0x1a')](_0x200f88);}return _0x5c6812[_0x9a2f('0x1b')](_0x200f88)[_0x9a2f('0x1c')]();};}function respondWithResult(_0xec8cc4,_0x5a89e2){_0x5a89e2=_0x5a89e2||0xc8;return function(_0x500524){if(_0x500524){return _0xec8cc4['status'](_0x5a89e2)[_0x9a2f('0x1d')](_0x500524);}};}function respondWithFilteredResult(_0x4e7cca,_0x18840c){return function(_0x88bb3a){if(_0x88bb3a){var _0x5b5d99=typeof _0x18840c[_0x9a2f('0x1e')]==='undefined'&&typeof _0x18840c[_0x9a2f('0x1f')]===_0x9a2f('0x20');var _0x2faf61=_0x88bb3a[_0x9a2f('0x21')];var _0x227e7e=_0x5b5d99?0x0:_0x18840c[_0x9a2f('0x1e')];var _0x1519e0=_0x5b5d99?_0x88bb3a[_0x9a2f('0x21')]:_0x18840c[_0x9a2f('0x1e')]+_0x18840c[_0x9a2f('0x1f')];var _0x11f8e5;if(_0x1519e0>=_0x2faf61){_0x1519e0=_0x2faf61;_0x11f8e5=0xc8;}else{_0x11f8e5=0xce;}_0x4e7cca[_0x9a2f('0x1b')](_0x11f8e5);return _0x4e7cca['set'](_0x9a2f('0x22'),_0x227e7e+'-'+_0x1519e0+'/'+_0x2faf61)['json'](_0x88bb3a);}return null;};}function patchUpdates(_0x2881da){return function(_0x26f38b){try{jsonpatch[_0x9a2f('0x23')](_0x26f38b,_0x2881da,!![]);}catch(_0x428bcf){return BPromise[_0x9a2f('0x24')](_0x428bcf);}return _0x26f38b[_0x9a2f('0x25')]();};}function saveUpdates(_0x1e20dd,_0x118a00){return function(_0x230267){if(_0x230267){return _0x230267[_0x9a2f('0x26')](_0x1e20dd)['then'](function(_0x141568){return _0x141568;});}return null;};}function removeEntity(_0x4bbde6,_0x265549){return function(_0x5f5907){if(_0x5f5907){return _0x5f5907['destroy']()['then'](function(){var _0x4e9482=_0x5f5907[_0x9a2f('0x27')]({'plain':!![]});var _0x121a76=_0x9a2f('0x28');return db['UserProfileResource'][_0x9a2f('0x29')]({'where':{'type':_0x121a76,'resourceId':_0x4e9482['id']}})[_0x9a2f('0x2a')](function(){return _0x5f5907;});})['then'](function(){_0x4bbde6[_0x9a2f('0x1b')](0xcc)[_0x9a2f('0x1c')]();});}};}function handleEntityNotFound(_0x1df5c7,_0x48ec8f){return function(_0x53ef8b){if(!_0x53ef8b){_0x1df5c7[_0x9a2f('0x1a')](0x194);}return _0x53ef8b;};}function handleError(_0x5e73b6,_0x2c74ea){_0x2c74ea=_0x2c74ea||0x1f4;return function(_0x1f7f62){logger[_0x9a2f('0x2b')](_0x1f7f62[_0x9a2f('0x2c')]);if(_0x1f7f62[_0x9a2f('0x2d')]){delete _0x1f7f62[_0x9a2f('0x2d')];}_0x5e73b6['status'](_0x2c74ea)['send'](_0x1f7f62);};}exports['index']=function(_0xa9af23,_0x53db71){var _0xf8476b={},_0x374c40={},_0x498577={'count':0x0,'rows':[]};return db[_0x9a2f('0x2e')][_0x9a2f('0x2f')]()[_0x9a2f('0x2a')](function(_0x360c6a){_0x374c40[_0x9a2f('0x30')]=_['keys'](_0x360c6a);_0x374c40['query']=_[_0x9a2f('0x31')](_0xa9af23['query']);_0x374c40['filters']=_['intersection'](_0x374c40[_0x9a2f('0x30')],_0x374c40[_0x9a2f('0x32')]);_0xf8476b[_0x9a2f('0x33')]=_['intersection'](_0x374c40[_0x9a2f('0x30')],qs['fields'](_0xa9af23[_0x9a2f('0x32')][_0x9a2f('0x34')]));_0xf8476b[_0x9a2f('0x33')]=_0xf8476b[_0x9a2f('0x33')][_0x9a2f('0x35')]?_0xf8476b[_0x9a2f('0x33')]:_0x374c40['model'];if(!_0xa9af23[_0x9a2f('0x32')]['hasOwnProperty']('nolimit')){_0xf8476b[_0x9a2f('0x1f')]=qs[_0x9a2f('0x1f')](_0xa9af23[_0x9a2f('0x32')][_0x9a2f('0x1f')]);_0xf8476b[_0x9a2f('0x1e')]=qs[_0x9a2f('0x1e')](_0xa9af23[_0x9a2f('0x32')][_0x9a2f('0x1e')]);}_0xf8476b[_0x9a2f('0x36')]=qs[_0x9a2f('0x37')](_0xa9af23['query']['sort']);_0xf8476b[_0x9a2f('0x38')]=qs[_0x9a2f('0x39')](_[_0x9a2f('0x3a')](_0xa9af23[_0x9a2f('0x32')],_0x374c40[_0x9a2f('0x39')]),_0x360c6a);if(_0xa9af23[_0x9a2f('0x32')][_0x9a2f('0x3b')]){_0xf8476b[_0x9a2f('0x38')]=_[_0x9a2f('0x3c')](_0xf8476b['where'],{'$or':_['map'](_0xf8476b['attributes'],function(_0x1503e6){var _0x37b686={};_0x37b686[_0x1503e6]={'$like':'%'+_0xa9af23['query']['filter']+'%'};return _0x37b686;})});}_0xf8476b=_[_0x9a2f('0x3c')]({},_0xf8476b,_0xa9af23['options']);var _0x555022={'where':_0xf8476b[_0x9a2f('0x38')]};return db[_0x9a2f('0x2e')][_0x9a2f('0x21')](_0x555022)[_0x9a2f('0x2a')](function(_0x38fee7){_0x498577[_0x9a2f('0x21')]=_0x38fee7;if(_0xa9af23[_0x9a2f('0x32')][_0x9a2f('0x3d')]){_0xf8476b[_0x9a2f('0x3e')]=[{'all':!![]}];}return db[_0x9a2f('0x2e')][_0x9a2f('0x3f')](_0xf8476b);})[_0x9a2f('0x2a')](function(_0x4db301){_0x498577[_0x9a2f('0x40')]=_0x4db301;return _0x498577;})['then'](respondWithFilteredResult(_0x53db71,_0xf8476b))[_0x9a2f('0x41')](handleError(_0x53db71,null));})[_0x9a2f('0x41')](handleError(_0x53db71,null));};exports[_0x9a2f('0x42')]=function(_0x24518e,_0x3b333a){var _0xafd421={'raw':![],'where':{'id':_0x24518e[_0x9a2f('0x43')]['id']}},_0x1abcc9={};_0x1abcc9[_0x9a2f('0x30')]=_['keys'](db[_0x9a2f('0x2e')][_0x9a2f('0x44')]);_0x1abcc9[_0x9a2f('0x32')]=_[_0x9a2f('0x31')](_0x24518e[_0x9a2f('0x32')]);_0x1abcc9[_0x9a2f('0x39')]=_[_0x9a2f('0x45')](_0x1abcc9[_0x9a2f('0x30')],_0x1abcc9[_0x9a2f('0x32')]);_0xafd421['attributes']=_['intersection'](_0x1abcc9[_0x9a2f('0x30')],qs['fields'](_0x24518e[_0x9a2f('0x32')][_0x9a2f('0x34')]));_0xafd421[_0x9a2f('0x33')]=_0xafd421[_0x9a2f('0x33')][_0x9a2f('0x35')]?_0xafd421[_0x9a2f('0x33')]:_0x1abcc9[_0x9a2f('0x30')];if(_0x24518e[_0x9a2f('0x32')][_0x9a2f('0x3d')]){_0xafd421[_0x9a2f('0x3e')]=[{'all':!![]}];}_0xafd421=_[_0x9a2f('0x3c')]({},_0xafd421,_0x24518e['options']);return db[_0x9a2f('0x2e')][_0x9a2f('0x46')](_0xafd421)[_0x9a2f('0x2a')](handleEntityNotFound(_0x3b333a,null))[_0x9a2f('0x2a')](respondWithResult(_0x3b333a,null))[_0x9a2f('0x41')](handleError(_0x3b333a,null));};exports[_0x9a2f('0x47')]=function(_0x5bd139,_0x1cfce6){return db[_0x9a2f('0x2e')][_0x9a2f('0x47')](_0x5bd139[_0x9a2f('0x48')],{})['then'](function(_0x3b1e39){var _0xb6180=_0x5bd139[_0x9a2f('0x49')][_0x9a2f('0x27')]({'plain':!![]});if(!_0xb6180)throw new Error(_0x9a2f('0x4a'));if(_0xb6180['role']===_0x9a2f('0x49')){var _0x40355c=_0x3b1e39[_0x9a2f('0x27')]({'plain':!![]});var _0x45946b='Companies';return db[_0x9a2f('0x4b')]['find']({'where':{'name':_0x45946b,'userProfileId':_0xb6180[_0x9a2f('0x4c')]},'raw':!![]})['then'](function(_0xaecfd5){if(_0xaecfd5&&_0xaecfd5['autoAssociation']===0x0){return db[_0x9a2f('0x4d')][_0x9a2f('0x47')]({'name':_0x40355c[_0x9a2f('0x2d')],'resourceId':_0x40355c['id'],'type':_0xaecfd5['name'],'sectionId':_0xaecfd5['id']},{})[_0x9a2f('0x2a')](function(){return _0x3b1e39;});}else{return _0x3b1e39;}})[_0x9a2f('0x41')](function(_0x49535c){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x49535c);throw _0x49535c;});}return _0x3b1e39;})[_0x9a2f('0x2a')](respondWithResult(_0x1cfce6,0xc9))[_0x9a2f('0x41')](handleError(_0x1cfce6,null));};exports[_0x9a2f('0x26')]=function(_0x4a351e,_0x33a64f){if(_0x4a351e[_0x9a2f('0x48')]['id']){delete _0x4a351e[_0x9a2f('0x48')]['id'];}return db['CmCompany'][_0x9a2f('0x46')]({'where':{'id':_0x4a351e[_0x9a2f('0x43')]['id']}})['then'](handleEntityNotFound(_0x33a64f,null))[_0x9a2f('0x2a')](saveUpdates(_0x4a351e[_0x9a2f('0x48')],null))[_0x9a2f('0x2a')](respondWithResult(_0x33a64f,null))[_0x9a2f('0x41')](handleError(_0x33a64f,null));};exports[_0x9a2f('0x29')]=function(_0x3fd2fd,_0xd77174){return db['CmCompany'][_0x9a2f('0x46')]({'where':{'id':_0x3fd2fd[_0x9a2f('0x43')]['id']}})['then'](handleEntityNotFound(_0xd77174,null))[_0x9a2f('0x2a')](removeEntity(_0xd77174,null))['catch'](handleError(_0xd77174,null));};exports['describe']=function(_0x2eb5a9,_0xf8950d){return db[_0x9a2f('0x2e')][_0x9a2f('0x2f')]()[_0x9a2f('0x2a')](respondWithResult(_0xf8950d,null))[_0x9a2f('0x41')](handleError(_0xf8950d,null));};exports[_0x9a2f('0x4e')]=function(_0x3dc182,_0x114d93,_0x14d8f7){return db[_0x9a2f('0x4f')][_0x9a2f('0x46')]({'where':{'id':_0x3dc182['params']['id']}})[_0x9a2f('0x2a')](handleEntityNotFound(_0x114d93,null))[_0x9a2f('0x2a')](function(_0x4fc3a5){if(_0x4fc3a5){return _0x4fc3a5['addContacts'](_0x3dc182['body'][_0x9a2f('0x50')],_[_0x9a2f('0x51')](_0x3dc182[_0x9a2f('0x48')],['ids','id'])||{});}})[_0x9a2f('0x2a')](respondWithResult(_0x114d93,null))[_0x9a2f('0x41')](handleError(_0x114d93,null));};exports['getContacts']=function(_0x35e00f,_0x5d2162,_0x1f5e08){var _0x138fe0={};var _0x44f2de={};var _0x1c2ed2;var _0x1e1947;return db[_0x9a2f('0x2e')][_0x9a2f('0x52')]({'where':{'id':_0x35e00f[_0x9a2f('0x43')]['id']}})['then'](handleEntityNotFound(_0x5d2162,null))[_0x9a2f('0x2a')](function(_0x2eaeaf){if(_0x2eaeaf){_0x1c2ed2=_0x2eaeaf;_0x44f2de[_0x9a2f('0x30')]=_[_0x9a2f('0x31')](db['CmContact'][_0x9a2f('0x44')]);_0x44f2de[_0x9a2f('0x32')]=_[_0x9a2f('0x31')](_0x35e00f[_0x9a2f('0x32')]);_0x44f2de[_0x9a2f('0x39')]=_['intersection'](_0x44f2de['model'],_0x44f2de[_0x9a2f('0x32')]);_0x138fe0[_0x9a2f('0x33')]=_['intersection'](_0x44f2de[_0x9a2f('0x30')],qs[_0x9a2f('0x34')](_0x35e00f['query'][_0x9a2f('0x34')]));_0x138fe0[_0x9a2f('0x33')]=_0x138fe0['attributes'][_0x9a2f('0x35')]?_0x138fe0[_0x9a2f('0x33')]:_0x44f2de[_0x9a2f('0x30')];_0x138fe0[_0x9a2f('0x36')]=qs[_0x9a2f('0x37')](_0x35e00f[_0x9a2f('0x32')][_0x9a2f('0x37')]);_0x138fe0[_0x9a2f('0x38')]=qs['filters'](_[_0x9a2f('0x3a')](_0x35e00f[_0x9a2f('0x32')],_0x44f2de['filters']));if(_0x35e00f['query'][_0x9a2f('0x3b')]){_0x138fe0[_0x9a2f('0x38')]=_[_0x9a2f('0x3c')](_0x138fe0[_0x9a2f('0x38')],{'$or':_['map'](_0x138fe0['attributes'],function(_0x735c34){var _0x5995b3={};_0x5995b3[_0x735c34]={'$like':'%'+_0x35e00f[_0x9a2f('0x32')]['filter']+'%'};return _0x5995b3;})});}_0x138fe0=_[_0x9a2f('0x3c')]({},_0x138fe0,_0x35e00f[_0x9a2f('0x53')]);return _0x1c2ed2[_0x9a2f('0x54')](_0x138fe0);}})[_0x9a2f('0x2a')](function(_0x13c213){if(_0x13c213){_0x1e1947=_0x13c213['length'];if(!_0x35e00f[_0x9a2f('0x32')]['hasOwnProperty'](_0x9a2f('0x55'))){_0x138fe0[_0x9a2f('0x1f')]=qs[_0x9a2f('0x1f')](_0x35e00f[_0x9a2f('0x32')][_0x9a2f('0x1f')]);_0x138fe0[_0x9a2f('0x1e')]=qs['offset'](_0x35e00f[_0x9a2f('0x32')][_0x9a2f('0x1e')]);}return _0x1c2ed2[_0x9a2f('0x54')](_0x138fe0);}})[_0x9a2f('0x2a')](function(_0x365495){if(_0x365495){return _0x365495?{'count':_0x1e1947,'rows':_0x365495}:null;}})[_0x9a2f('0x2a')](respondWithResult(_0x5d2162,null))[_0x9a2f('0x41')](handleError(_0x5d2162,null));};