Built motion from commit b0a9a629.|2.6.33
[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 _0xebae=['bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','undefined','count','set','apply','reject','save','update','then','destroy','get','Companies','UserProfileResource','end','error','stack','name','index','CmCompany','describe','keys','query','intersection','model','fields','attributes','nolimit','sort','filters','pick','where','merge','map','filter','options','include','findAll','rows','catch','show','rawAttributes','includeAll','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','body','params','addContacts','CmContact','omit','ids','findOne','length','order','getContacts','hasOwnProperty','eml-format','rimraf','zip-dir'];(function(_0x3947c9,_0x4d6c97){var _0x2e7871=function(_0x1236cc){while(--_0x1236cc){_0x3947c9['push'](_0x3947c9['shift']());}};_0x2e7871(++_0x4d6c97);}(_0xebae,0x15d));var _0xeeba=function(_0x217cfd,_0x1e3094){_0x217cfd=_0x217cfd-0x0;var _0x1e887f=_0xebae[_0x217cfd];return _0x1e887f;};'use strict';var emlformat=require(_0xeeba('0x0'));var rimraf=require(_0xeeba('0x1'));var zipdir=require(_0xeeba('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xeeba('0x3'));var Mustache=require(_0xeeba('0x4'));var util=require(_0xeeba('0x5'));var path=require('path');var sox=require(_0xeeba('0x6'));var csv=require(_0xeeba('0x7'));var ejs=require(_0xeeba('0x8'));var fs=require('fs');var fs_extra=require(_0xeeba('0x9'));var _=require(_0xeeba('0xa'));var squel=require(_0xeeba('0xb'));var crypto=require(_0xeeba('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xeeba('0xd'));var toCsv=require(_0xeeba('0x7'));var querystring=require(_0xeeba('0xe'));var Papa=require('papaparse');var Redis=require(_0xeeba('0xf'));var authService=require(_0xeeba('0x10'));var qs=require(_0xeeba('0x11'));var as=require(_0xeeba('0x12'));var hardwareService=require(_0xeeba('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0xeeba('0x14'));var config=require(_0xeeba('0x15'));var licenseUtil=require(_0xeeba('0x16'));var db=require(_0xeeba('0x17'))['db'];function respondWithStatusCode(_0x2899e2,_0x24f22e){_0x24f22e=_0x24f22e||0xcc;return function(_0x4e1ba1){if(_0x4e1ba1){return _0x2899e2[_0xeeba('0x18')](_0x24f22e);}return _0x2899e2['status'](_0x24f22e)['end']();};}function respondWithResult(_0x4f6f7d,_0xa2e1ee){_0xa2e1ee=_0xa2e1ee||0xc8;return function(_0x1755b6){if(_0x1755b6){return _0x4f6f7d[_0xeeba('0x19')](_0xa2e1ee)[_0xeeba('0x1a')](_0x1755b6);}};}function respondWithFilteredResult(_0x17f04d,_0x123385){return function(_0x41499f){if(_0x41499f){var _0x28714c=typeof _0x123385[_0xeeba('0x1b')]==='undefined'&&typeof _0x123385[_0xeeba('0x1c')]===_0xeeba('0x1d');var _0x42c301=_0x41499f['count'];var _0x47527a=_0x28714c?0x0:_0x123385[_0xeeba('0x1b')];var _0x381c36=_0x28714c?_0x41499f[_0xeeba('0x1e')]:_0x123385[_0xeeba('0x1b')]+_0x123385[_0xeeba('0x1c')];var _0x236c44;if(_0x381c36>=_0x42c301){_0x381c36=_0x42c301;_0x236c44=0xc8;}else{_0x236c44=0xce;}_0x17f04d['status'](_0x236c44);return _0x17f04d[_0xeeba('0x1f')]('Content-Range',_0x47527a+'-'+_0x381c36+'/'+_0x42c301)[_0xeeba('0x1a')](_0x41499f);}return null;};}function patchUpdates(_0x303541){return function(_0x5c53ca){try{jsonpatch[_0xeeba('0x20')](_0x5c53ca,_0x303541,!![]);}catch(_0x6a3268){return BPromise[_0xeeba('0x21')](_0x6a3268);}return _0x5c53ca[_0xeeba('0x22')]();};}function saveUpdates(_0x412dbd,_0x5c6787){return function(_0x5ad6c5){if(_0x5ad6c5){return _0x5ad6c5[_0xeeba('0x23')](_0x412dbd)[_0xeeba('0x24')](function(_0x407100){return _0x407100;});}return null;};}function removeEntity(_0x26a2ca,_0x466b3d){return function(_0x292996){if(_0x292996){return _0x292996[_0xeeba('0x25')]()[_0xeeba('0x24')](function(){var _0x38fd18=_0x292996[_0xeeba('0x26')]({'plain':!![]});var _0x2f488f=_0xeeba('0x27');return db[_0xeeba('0x28')][_0xeeba('0x25')]({'where':{'type':_0x2f488f,'resourceId':_0x38fd18['id']}})[_0xeeba('0x24')](function(){return _0x292996;});})['then'](function(){_0x26a2ca['status'](0xcc)[_0xeeba('0x29')]();});}};}function handleEntityNotFound(_0x401641,_0x195045){return function(_0x3f938e){if(!_0x3f938e){_0x401641['sendStatus'](0x194);}return _0x3f938e;};}function handleError(_0x1e108c,_0xbf162d){_0xbf162d=_0xbf162d||0x1f4;return function(_0x5be9d5){logger[_0xeeba('0x2a')](_0x5be9d5[_0xeeba('0x2b')]);if(_0x5be9d5[_0xeeba('0x2c')]){delete _0x5be9d5['name'];}_0x1e108c[_0xeeba('0x19')](_0xbf162d)['send'](_0x5be9d5);};}exports[_0xeeba('0x2d')]=function(_0x240233,_0x28c0fd){var _0x1b0315={},_0x5aca71={},_0x4d1a2b={'count':0x0,'rows':[]};return db[_0xeeba('0x2e')][_0xeeba('0x2f')]()[_0xeeba('0x24')](function(_0xd195d2){_0x5aca71['model']=_[_0xeeba('0x30')](_0xd195d2);_0x5aca71['query']=_[_0xeeba('0x30')](_0x240233[_0xeeba('0x31')]);_0x5aca71['filters']=_[_0xeeba('0x32')](_0x5aca71[_0xeeba('0x33')],_0x5aca71['query']);_0x1b0315['attributes']=_[_0xeeba('0x32')](_0x5aca71[_0xeeba('0x33')],qs[_0xeeba('0x34')](_0x240233[_0xeeba('0x31')][_0xeeba('0x34')]));_0x1b0315[_0xeeba('0x35')]=_0x1b0315[_0xeeba('0x35')]['length']?_0x1b0315[_0xeeba('0x35')]:_0x5aca71[_0xeeba('0x33')];if(!_0x240233[_0xeeba('0x31')]['hasOwnProperty'](_0xeeba('0x36'))){_0x1b0315[_0xeeba('0x1c')]=qs['limit'](_0x240233[_0xeeba('0x31')][_0xeeba('0x1c')]);_0x1b0315[_0xeeba('0x1b')]=qs[_0xeeba('0x1b')](_0x240233[_0xeeba('0x31')]['offset']);}_0x1b0315['order']=qs[_0xeeba('0x37')](_0x240233['query'][_0xeeba('0x37')]);_0x1b0315['where']=qs[_0xeeba('0x38')](_[_0xeeba('0x39')](_0x240233[_0xeeba('0x31')],_0x5aca71['filters']),_0xd195d2);if(_0x240233[_0xeeba('0x31')]['filter']){_0x1b0315[_0xeeba('0x3a')]=_[_0xeeba('0x3b')](_0x1b0315[_0xeeba('0x3a')],{'$or':_[_0xeeba('0x3c')](_0x1b0315[_0xeeba('0x35')],function(_0x1d2796){var _0x2f9fcb={};_0x2f9fcb[_0x1d2796]={'$like':'%'+_0x240233[_0xeeba('0x31')][_0xeeba('0x3d')]+'%'};return _0x2f9fcb;})});}_0x1b0315=_[_0xeeba('0x3b')]({},_0x1b0315,_0x240233[_0xeeba('0x3e')]);var _0x183839={'where':_0x1b0315[_0xeeba('0x3a')]};return db[_0xeeba('0x2e')][_0xeeba('0x1e')](_0x183839)[_0xeeba('0x24')](function(_0x5042bf){_0x4d1a2b['count']=_0x5042bf;if(_0x240233[_0xeeba('0x31')]['includeAll']){_0x1b0315[_0xeeba('0x3f')]=[{'all':!![]}];}return db[_0xeeba('0x2e')][_0xeeba('0x40')](_0x1b0315);})[_0xeeba('0x24')](function(_0x23907e){_0x4d1a2b[_0xeeba('0x41')]=_0x23907e;return _0x4d1a2b;})[_0xeeba('0x24')](respondWithFilteredResult(_0x28c0fd,_0x1b0315))[_0xeeba('0x42')](handleError(_0x28c0fd,null));})[_0xeeba('0x42')](handleError(_0x28c0fd,null));};exports[_0xeeba('0x43')]=function(_0x4de9c0,_0x351597){var _0x4f648b={'raw':![],'where':{'id':_0x4de9c0['params']['id']}},_0x24f364={};_0x24f364[_0xeeba('0x33')]=_[_0xeeba('0x30')](db[_0xeeba('0x2e')][_0xeeba('0x44')]);_0x24f364[_0xeeba('0x31')]=_[_0xeeba('0x30')](_0x4de9c0['query']);_0x24f364[_0xeeba('0x38')]=_['intersection'](_0x24f364[_0xeeba('0x33')],_0x24f364[_0xeeba('0x31')]);_0x4f648b['attributes']=_[_0xeeba('0x32')](_0x24f364[_0xeeba('0x33')],qs[_0xeeba('0x34')](_0x4de9c0[_0xeeba('0x31')][_0xeeba('0x34')]));_0x4f648b[_0xeeba('0x35')]=_0x4f648b[_0xeeba('0x35')]['length']?_0x4f648b[_0xeeba('0x35')]:_0x24f364[_0xeeba('0x33')];if(_0x4de9c0[_0xeeba('0x31')][_0xeeba('0x45')]){_0x4f648b[_0xeeba('0x3f')]=[{'all':!![]}];}_0x4f648b=_[_0xeeba('0x3b')]({},_0x4f648b,_0x4de9c0['options']);return db[_0xeeba('0x2e')][_0xeeba('0x46')](_0x4f648b)[_0xeeba('0x24')](handleEntityNotFound(_0x351597,null))[_0xeeba('0x24')](respondWithResult(_0x351597,null))['catch'](handleError(_0x351597,null));};exports[_0xeeba('0x47')]=function(_0x1f5ab1,_0x45f7f4){return db[_0xeeba('0x2e')][_0xeeba('0x47')](_0x1f5ab1['body'],{})['then'](function(_0x3f6f07){var _0x5a7565=_0x1f5ab1[_0xeeba('0x48')][_0xeeba('0x26')]({'plain':!![]});if(!_0x5a7565)throw new Error(_0xeeba('0x49'));if(_0x5a7565[_0xeeba('0x4a')]===_0xeeba('0x48')){var _0x8d14f5=_0x3f6f07['get']({'plain':!![]});var _0x28e116=_0xeeba('0x27');return db[_0xeeba('0x4b')][_0xeeba('0x46')]({'where':{'name':_0x28e116,'userProfileId':_0x5a7565[_0xeeba('0x4c')]},'raw':!![]})[_0xeeba('0x24')](function(_0x1ad445){if(_0x1ad445&&_0x1ad445['autoAssociation']===0x0){return db[_0xeeba('0x28')][_0xeeba('0x47')]({'name':_0x8d14f5[_0xeeba('0x2c')],'resourceId':_0x8d14f5['id'],'type':_0x1ad445[_0xeeba('0x2c')],'sectionId':_0x1ad445['id']},{})['then'](function(){return _0x3f6f07;});}else{return _0x3f6f07;}})['catch'](function(_0x4be75a){logger[_0xeeba('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4be75a);throw _0x4be75a;});}return _0x3f6f07;})['then'](respondWithResult(_0x45f7f4,0xc9))['catch'](handleError(_0x45f7f4,null));};exports[_0xeeba('0x23')]=function(_0x3d68eb,_0x1f529c){if(_0x3d68eb['body']['id']){delete _0x3d68eb[_0xeeba('0x4d')]['id'];}return db[_0xeeba('0x2e')]['find']({'where':{'id':_0x3d68eb['params']['id']}})[_0xeeba('0x24')](handleEntityNotFound(_0x1f529c,null))['then'](saveUpdates(_0x3d68eb[_0xeeba('0x4d')],null))[_0xeeba('0x24')](respondWithResult(_0x1f529c,null))['catch'](handleError(_0x1f529c,null));};exports['destroy']=function(_0x4981e0,_0x748df3){return db[_0xeeba('0x2e')]['find']({'where':{'id':_0x4981e0[_0xeeba('0x4e')]['id']}})[_0xeeba('0x24')](handleEntityNotFound(_0x748df3,null))['then'](removeEntity(_0x748df3,null))['catch'](handleError(_0x748df3,null));};exports[_0xeeba('0x2f')]=function(_0x570eb2,_0x439eef){return db['CmCompany'][_0xeeba('0x2f')]()['then'](respondWithResult(_0x439eef,null))[_0xeeba('0x42')](handleError(_0x439eef,null));};exports[_0xeeba('0x4f')]=function(_0x1e9e72,_0x590ea3,_0x1d5a99){return db[_0xeeba('0x50')][_0xeeba('0x46')]({'where':{'id':_0x1e9e72[_0xeeba('0x4e')]['id']}})[_0xeeba('0x24')](handleEntityNotFound(_0x590ea3,null))[_0xeeba('0x24')](function(_0x4d77e1){if(_0x4d77e1){return _0x4d77e1[_0xeeba('0x4f')](_0x1e9e72[_0xeeba('0x4d')]['ids'],_[_0xeeba('0x51')](_0x1e9e72[_0xeeba('0x4d')],[_0xeeba('0x52'),'id'])||{});}})[_0xeeba('0x24')](respondWithResult(_0x590ea3,null))[_0xeeba('0x42')](handleError(_0x590ea3,null));};exports['getContacts']=function(_0x18a89e,_0x399048,_0x30bfad){var _0x108bb7={};var _0x18c00f={};var _0x591cfb;var _0x3e23ba;return db['CmCompany'][_0xeeba('0x53')]({'where':{'id':_0x18a89e[_0xeeba('0x4e')]['id']}})[_0xeeba('0x24')](handleEntityNotFound(_0x399048,null))[_0xeeba('0x24')](function(_0x3e83c3){if(_0x3e83c3){_0x591cfb=_0x3e83c3;_0x18c00f[_0xeeba('0x33')]=_[_0xeeba('0x30')](db[_0xeeba('0x50')][_0xeeba('0x44')]);_0x18c00f[_0xeeba('0x31')]=_[_0xeeba('0x30')](_0x18a89e[_0xeeba('0x31')]);_0x18c00f[_0xeeba('0x38')]=_[_0xeeba('0x32')](_0x18c00f[_0xeeba('0x33')],_0x18c00f[_0xeeba('0x31')]);_0x108bb7['attributes']=_[_0xeeba('0x32')](_0x18c00f[_0xeeba('0x33')],qs['fields'](_0x18a89e['query'][_0xeeba('0x34')]));_0x108bb7[_0xeeba('0x35')]=_0x108bb7['attributes'][_0xeeba('0x54')]?_0x108bb7[_0xeeba('0x35')]:_0x18c00f['model'];_0x108bb7[_0xeeba('0x55')]=qs[_0xeeba('0x37')](_0x18a89e[_0xeeba('0x31')][_0xeeba('0x37')]);_0x108bb7['where']=qs[_0xeeba('0x38')](_['pick'](_0x18a89e['query'],_0x18c00f[_0xeeba('0x38')]));if(_0x18a89e[_0xeeba('0x31')]['filter']){_0x108bb7[_0xeeba('0x3a')]=_['merge'](_0x108bb7[_0xeeba('0x3a')],{'$or':_['map'](_0x108bb7[_0xeeba('0x35')],function(_0x1a3f4f){var _0x61f99d={};_0x61f99d[_0x1a3f4f]={'$like':'%'+_0x18a89e[_0xeeba('0x31')]['filter']+'%'};return _0x61f99d;})});}_0x108bb7=_['merge']({},_0x108bb7,_0x18a89e[_0xeeba('0x3e')]);return _0x591cfb[_0xeeba('0x56')](_0x108bb7);}})['then'](function(_0x34cfaf){if(_0x34cfaf){_0x3e23ba=_0x34cfaf['length'];if(!_0x18a89e[_0xeeba('0x31')][_0xeeba('0x57')](_0xeeba('0x36'))){_0x108bb7[_0xeeba('0x1c')]=qs[_0xeeba('0x1c')](_0x18a89e[_0xeeba('0x31')][_0xeeba('0x1c')]);_0x108bb7['offset']=qs['offset'](_0x18a89e[_0xeeba('0x31')][_0xeeba('0x1b')]);}return _0x591cfb[_0xeeba('0x56')](_0x108bb7);}})[_0xeeba('0x24')](function(_0x50f7c5){if(_0x50f7c5){return _0x50f7c5?{'count':_0x3e23ba,'rows':_0x50f7c5}:null;}})['then'](respondWithResult(_0x399048,null))[_0xeeba('0x42')](handleError(_0x399048,null));};