Built motion from commit (unavailable).|2.5.2
[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 _0xd959=['then','destroy','get','UserProfileResource','sendStatus','error','name','send','describe','keys','query','filters','model','attributes','fields','hasOwnProperty','nolimit','limit','sort','where','pick','merge','map','options','CmCompany','includeAll','include','catch','params','intersection','length','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Companies','UserProfileSection','find','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addContacts','CmContact','ids','omit','getContacts','findOne','rawAttributes','filter','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','status','end','count','offset','set','Content-Range','json','apply','save','update'];(function(_0x1c579b,_0x3240fe){var _0x20bcad=function(_0x4baf13){while(--_0x4baf13){_0x1c579b['push'](_0x1c579b['shift']());}};_0x20bcad(++_0x3240fe);}(_0xd959,0xd9));var _0x9d95=function(_0x2ee184,_0x53ced6){_0x2ee184=_0x2ee184-0x0;var _0x1a1798=_0xd959[_0x2ee184];return _0x1a1798;};'use strict';var pdf=require(_0x9d95('0x0'));var emlformat=require(_0x9d95('0x1'));var rimraf=require(_0x9d95('0x2'));var zipdir=require(_0x9d95('0x3'));var jsonpatch=require(_0x9d95('0x4'));var rp=require(_0x9d95('0x5'));var moment=require(_0x9d95('0x6'));var BPromise=require(_0x9d95('0x7'));var Mustache=require(_0x9d95('0x8'));var util=require('util');var path=require('path');var sox=require(_0x9d95('0x9'));var csv=require(_0x9d95('0xa'));var ejs=require(_0x9d95('0xb'));var fs=require('fs');var _=require(_0x9d95('0xc'));var squel=require('squel');var crypto=require(_0x9d95('0xd'));var jsforce=require(_0x9d95('0xe'));var deskjs=require(_0x9d95('0xf'));var toCsv=require(_0x9d95('0xa'));var querystring=require(_0x9d95('0x10'));var Papa=require(_0x9d95('0x11'));var Redis=require('ioredis');var authService=require(_0x9d95('0x12'));var qs=require(_0x9d95('0x13'));var as=require(_0x9d95('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9d95('0x15'))(_0x9d95('0x16'));var utils=require(_0x9d95('0x17'));var config=require('../../config/environment');var db=require(_0x9d95('0x18'))['db'];function respondWithStatusCode(_0x1c04b8,_0x4db58c){_0x4db58c=_0x4db58c||0xcc;return function(_0x1a06dd){if(_0x1a06dd){return _0x1c04b8['sendStatus'](_0x4db58c);}return _0x1c04b8[_0x9d95('0x19')](_0x4db58c)[_0x9d95('0x1a')]();};}function respondWithResult(_0x479c73,_0x2b4e6c){_0x2b4e6c=_0x2b4e6c||0xc8;return function(_0x13d573){if(_0x13d573){return _0x479c73[_0x9d95('0x19')](_0x2b4e6c)['json'](_0x13d573);}};}function respondWithFilteredResult(_0xe13239,_0x36b784){return function(_0x52f712){if(_0x52f712){var _0x164b06=_0x52f712[_0x9d95('0x1b')],_0x41b78e=_0x36b784[_0x9d95('0x1c')],_0x2ebd23=_0x36b784[_0x9d95('0x1c')]+_0x36b784['limit'],_0x47f0c7;if(_0x2ebd23>=_0x164b06){_0x2ebd23=_0x164b06;_0x47f0c7=0xc8;}else{_0x47f0c7=0xce;}_0xe13239[_0x9d95('0x19')](_0x47f0c7);return _0xe13239[_0x9d95('0x1d')](_0x9d95('0x1e'),_0x41b78e+'-'+_0x2ebd23+'/'+_0x164b06)[_0x9d95('0x1f')](_0x52f712);}return null;};}function patchUpdates(_0x2787e2){return function(_0x3eecd1){try{jsonpatch[_0x9d95('0x20')](_0x3eecd1,_0x2787e2,!![]);}catch(_0x2fc6c0){return BPromise['reject'](_0x2fc6c0);}return _0x3eecd1[_0x9d95('0x21')]();};}function saveUpdates(_0x5bc6c4,_0x10c680){return function(_0xa2121d){if(_0xa2121d){return _0xa2121d[_0x9d95('0x22')](_0x5bc6c4)[_0x9d95('0x23')](function(_0xff3301){return _0xff3301;});}return null;};}function removeEntity(_0x132397,_0x12af8e){return function(_0x1a02ba){if(_0x1a02ba){return _0x1a02ba[_0x9d95('0x24')]()['then'](function(){var _0x18c854=_0x1a02ba[_0x9d95('0x25')]({'plain':!![]});var _0x535e8d='Companies';return db[_0x9d95('0x26')][_0x9d95('0x24')]({'where':{'type':_0x535e8d,'resourceId':_0x18c854['id']}})[_0x9d95('0x23')](function(){return _0x1a02ba;});})[_0x9d95('0x23')](function(){_0x132397[_0x9d95('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1212db,_0x2c526f){return function(_0x1cf8a6){if(!_0x1cf8a6){_0x1212db[_0x9d95('0x27')](0x194);}return _0x1cf8a6;};}function handleError(_0x561cb1,_0x49b8c3){_0x49b8c3=_0x49b8c3||0x1f4;return function(_0x30931d){logger[_0x9d95('0x28')](_0x30931d['stack']);if(_0x30931d[_0x9d95('0x29')]){delete _0x30931d[_0x9d95('0x29')];}_0x561cb1[_0x9d95('0x19')](_0x49b8c3)[_0x9d95('0x2a')](_0x30931d);};}exports['index']=function(_0x4abdff,_0x32ee5d){var _0xddac84={},_0x34304e={},_0x12d8d3={'count':0x0,'rows':[]};return db['CmCompany'][_0x9d95('0x2b')]()[_0x9d95('0x23')](function(_0x38aaee){_0x34304e['model']=_[_0x9d95('0x2c')](_0x38aaee);_0x34304e[_0x9d95('0x2d')]=_[_0x9d95('0x2c')](_0x4abdff[_0x9d95('0x2d')]);_0x34304e[_0x9d95('0x2e')]=_['intersection'](_0x34304e[_0x9d95('0x2f')],_0x34304e[_0x9d95('0x2d')]);_0xddac84[_0x9d95('0x30')]=_['intersection'](_0x34304e['model'],qs[_0x9d95('0x31')](_0x4abdff[_0x9d95('0x2d')][_0x9d95('0x31')]));_0xddac84[_0x9d95('0x30')]=_0xddac84[_0x9d95('0x30')]['length']?_0xddac84[_0x9d95('0x30')]:_0x34304e[_0x9d95('0x2f')];if(!_0x4abdff[_0x9d95('0x2d')][_0x9d95('0x32')](_0x9d95('0x33'))){_0xddac84[_0x9d95('0x34')]=qs['limit'](_0x4abdff[_0x9d95('0x2d')][_0x9d95('0x34')]);_0xddac84['offset']=qs[_0x9d95('0x1c')](_0x4abdff[_0x9d95('0x2d')][_0x9d95('0x1c')]);}_0xddac84['order']=qs['sort'](_0x4abdff[_0x9d95('0x2d')][_0x9d95('0x35')]);_0xddac84[_0x9d95('0x36')]=qs[_0x9d95('0x2e')](_[_0x9d95('0x37')](_0x4abdff[_0x9d95('0x2d')],_0x34304e[_0x9d95('0x2e')]),_0x38aaee);if(_0x4abdff[_0x9d95('0x2d')]['filter']){_0xddac84['where']=_[_0x9d95('0x38')](_0xddac84[_0x9d95('0x36')],{'$or':_[_0x9d95('0x39')](_0xddac84[_0x9d95('0x30')],function(_0x57ffed){var _0x253883={};_0x253883[_0x57ffed]={'$like':'%'+_0x4abdff[_0x9d95('0x2d')]['filter']+'%'};return _0x253883;})});}_0xddac84=_[_0x9d95('0x38')]({},_0xddac84,_0x4abdff[_0x9d95('0x3a')]);var _0x1f2514={'where':_0xddac84[_0x9d95('0x36')]};return db[_0x9d95('0x3b')][_0x9d95('0x1b')](_0x1f2514)[_0x9d95('0x23')](function(_0x354123){_0x12d8d3[_0x9d95('0x1b')]=_0x354123;if(_0x4abdff['query'][_0x9d95('0x3c')]){_0xddac84[_0x9d95('0x3d')]=[{'all':!![]}];}return db['CmCompany']['findAll'](_0xddac84);})[_0x9d95('0x23')](function(_0x5e3829){_0x12d8d3['rows']=_0x5e3829;return _0x12d8d3;})[_0x9d95('0x23')](respondWithFilteredResult(_0x32ee5d,_0xddac84))[_0x9d95('0x3e')](handleError(_0x32ee5d,null));})['catch'](handleError(_0x32ee5d,null));};exports['show']=function(_0x295fe6,_0x3c20ce){var _0xccdcc={'raw':![],'where':{'id':_0x295fe6[_0x9d95('0x3f')]['id']}},_0x24913b={};_0x24913b[_0x9d95('0x2f')]=_[_0x9d95('0x2c')](db[_0x9d95('0x3b')]['rawAttributes']);_0x24913b[_0x9d95('0x2d')]=_[_0x9d95('0x2c')](_0x295fe6[_0x9d95('0x2d')]);_0x24913b['filters']=_[_0x9d95('0x40')](_0x24913b[_0x9d95('0x2f')],_0x24913b['query']);_0xccdcc[_0x9d95('0x30')]=_[_0x9d95('0x40')](_0x24913b['model'],qs[_0x9d95('0x31')](_0x295fe6[_0x9d95('0x2d')][_0x9d95('0x31')]));_0xccdcc['attributes']=_0xccdcc[_0x9d95('0x30')][_0x9d95('0x41')]?_0xccdcc['attributes']:_0x24913b['model'];if(_0x295fe6[_0x9d95('0x2d')][_0x9d95('0x3c')]){_0xccdcc[_0x9d95('0x3d')]=[{'all':!![]}];}_0xccdcc=_[_0x9d95('0x38')]({},_0xccdcc,_0x295fe6[_0x9d95('0x3a')]);return db[_0x9d95('0x3b')]['find'](_0xccdcc)[_0x9d95('0x23')](handleEntityNotFound(_0x3c20ce,null))[_0x9d95('0x23')](respondWithResult(_0x3c20ce,null))[_0x9d95('0x3e')](handleError(_0x3c20ce,null));};exports[_0x9d95('0x42')]=function(_0x26433b,_0x328b6e){return db['CmCompany'][_0x9d95('0x42')](_0x26433b[_0x9d95('0x43')],{})['then'](function(_0x51708f){var _0x5e78b4=_0x26433b[_0x9d95('0x44')][_0x9d95('0x25')]({'plain':!![]});if(!_0x5e78b4)throw new Error(_0x9d95('0x45'));if(_0x5e78b4[_0x9d95('0x46')]===_0x9d95('0x44')){var _0x3f9a7d=_0x51708f[_0x9d95('0x25')]({'plain':!![]});var _0x16298d=_0x9d95('0x47');return db[_0x9d95('0x48')][_0x9d95('0x49')]({'where':{'name':_0x16298d,'userProfileId':_0x5e78b4[_0x9d95('0x4a')]},'raw':!![]})['then'](function(_0x4ba60c){if(_0x4ba60c&&_0x4ba60c['autoAssociation']===0x0){return db[_0x9d95('0x26')][_0x9d95('0x42')]({'name':_0x3f9a7d[_0x9d95('0x29')],'resourceId':_0x3f9a7d['id'],'type':_0x4ba60c['name'],'sectionId':_0x4ba60c['id']},{})['then'](function(){return _0x51708f;});}else{return _0x51708f;}})[_0x9d95('0x3e')](function(_0x49f4c0){logger[_0x9d95('0x28')](_0x9d95('0x4b'),_0x49f4c0);throw _0x49f4c0;});}return _0x51708f;})[_0x9d95('0x23')](respondWithResult(_0x328b6e,0xc9))['catch'](handleError(_0x328b6e,null));};exports['update']=function(_0x2871ba,_0x2e28f5){if(_0x2871ba[_0x9d95('0x43')]['id']){delete _0x2871ba[_0x9d95('0x43')]['id'];}return db[_0x9d95('0x3b')]['find']({'where':{'id':_0x2871ba['params']['id']}})['then'](handleEntityNotFound(_0x2e28f5,null))[_0x9d95('0x23')](saveUpdates(_0x2871ba[_0x9d95('0x43')],null))['then'](respondWithResult(_0x2e28f5,null))[_0x9d95('0x3e')](handleError(_0x2e28f5,null));};exports[_0x9d95('0x24')]=function(_0x334853,_0x5c235a){return db[_0x9d95('0x3b')][_0x9d95('0x49')]({'where':{'id':_0x334853[_0x9d95('0x3f')]['id']}})['then'](handleEntityNotFound(_0x5c235a,null))[_0x9d95('0x23')](removeEntity(_0x5c235a,null))[_0x9d95('0x3e')](handleError(_0x5c235a,null));};exports['describe']=function(_0x47b8bc,_0x49ae7e){return db[_0x9d95('0x3b')][_0x9d95('0x2b')]()[_0x9d95('0x23')](respondWithResult(_0x49ae7e,null))['catch'](handleError(_0x49ae7e,null));};exports[_0x9d95('0x4c')]=function(_0x414cf1,_0x177036,_0xf4d0a7){return db[_0x9d95('0x4d')][_0x9d95('0x49')]({'where':{'id':_0x414cf1['params']['id']}})[_0x9d95('0x23')](handleEntityNotFound(_0x177036,null))[_0x9d95('0x23')](function(_0x2970f5){if(_0x2970f5){return _0x2970f5[_0x9d95('0x4c')](_0x414cf1[_0x9d95('0x43')][_0x9d95('0x4e')],_[_0x9d95('0x4f')](_0x414cf1[_0x9d95('0x43')],[_0x9d95('0x4e'),'id'])||{});}})[_0x9d95('0x23')](respondWithResult(_0x177036,null))[_0x9d95('0x3e')](handleError(_0x177036,null));};exports[_0x9d95('0x50')]=function(_0x31eb0d,_0x39e298,_0x1c7941){var _0x3a4364={};var _0x106982={};var _0x86529f;var _0x3ccfb4;return db[_0x9d95('0x3b')][_0x9d95('0x51')]({'where':{'id':_0x31eb0d['params']['id']}})[_0x9d95('0x23')](handleEntityNotFound(_0x39e298,null))['then'](function(_0x8aeb){if(_0x8aeb){_0x86529f=_0x8aeb;_0x106982[_0x9d95('0x2f')]=_[_0x9d95('0x2c')](db['CmContact'][_0x9d95('0x52')]);_0x106982[_0x9d95('0x2d')]=_['keys'](_0x31eb0d[_0x9d95('0x2d')]);_0x106982['filters']=_[_0x9d95('0x40')](_0x106982[_0x9d95('0x2f')],_0x106982[_0x9d95('0x2d')]);_0x3a4364[_0x9d95('0x30')]=_[_0x9d95('0x40')](_0x106982[_0x9d95('0x2f')],qs[_0x9d95('0x31')](_0x31eb0d[_0x9d95('0x2d')][_0x9d95('0x31')]));_0x3a4364[_0x9d95('0x30')]=_0x3a4364[_0x9d95('0x30')]['length']?_0x3a4364[_0x9d95('0x30')]:_0x106982[_0x9d95('0x2f')];_0x3a4364['order']=qs[_0x9d95('0x35')](_0x31eb0d[_0x9d95('0x2d')][_0x9d95('0x35')]);_0x3a4364[_0x9d95('0x36')]=qs[_0x9d95('0x2e')](_[_0x9d95('0x37')](_0x31eb0d[_0x9d95('0x2d')],_0x106982[_0x9d95('0x2e')]));if(_0x31eb0d[_0x9d95('0x2d')][_0x9d95('0x53')]){_0x3a4364[_0x9d95('0x36')]=_['merge'](_0x3a4364['where'],{'$or':_[_0x9d95('0x39')](_0x3a4364['attributes'],function(_0x36e33e){var _0x2cc53d={};_0x2cc53d[_0x36e33e]={'$like':'%'+_0x31eb0d['query'][_0x9d95('0x53')]+'%'};return _0x2cc53d;})});}_0x3a4364=_[_0x9d95('0x38')]({},_0x3a4364,_0x31eb0d[_0x9d95('0x3a')]);return _0x86529f['getContacts'](_0x3a4364);}})[_0x9d95('0x23')](function(_0x405203){if(_0x405203){_0x3ccfb4=_0x405203[_0x9d95('0x41')];if(!_0x31eb0d[_0x9d95('0x2d')]['hasOwnProperty']('nolimit')){_0x3a4364[_0x9d95('0x34')]=qs[_0x9d95('0x34')](_0x31eb0d[_0x9d95('0x2d')][_0x9d95('0x34')]);_0x3a4364[_0x9d95('0x1c')]=qs['offset'](_0x31eb0d[_0x9d95('0x2d')][_0x9d95('0x1c')]);}return _0x86529f['getContacts'](_0x3a4364);}})['then'](function(_0x250586){if(_0x250586){return _0x250586?{'count':_0x3ccfb4,'rows':_0x250586}:null;}})[_0x9d95('0x23')](respondWithResult(_0x39e298,null))[_0x9d95('0x3e')](handleError(_0x39e298,null));};