Built motion from commit 4ffc18b1.|2.6.31
[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 _0x5e75=['fast-json-patch','request-promise','moment','path','sox','to-csv','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','undefined','count','offset','limit','Content-Range','reject','save','update','then','error','stack','name','index','CmCompany','describe','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filters','pick','where','merge','map','filter','options','includeAll','findAll','rows','catch','show','params','include','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','Companies','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','addContacts','CmContact','ids','omit','getContacts','findOne','order','eml-format','rimraf','zip-dir'];(function(_0x11cbb5,_0x390441){var _0x54b8d3=function(_0x162ca2){while(--_0x162ca2){_0x11cbb5['push'](_0x11cbb5['shift']());}};_0x54b8d3(++_0x390441);}(_0x5e75,0xa9));var _0x55e7=function(_0x5e4425,_0xf825e3){_0x5e4425=_0x5e4425-0x0;var _0x365d52=_0x5e75[_0x5e4425];return _0x365d52;};'use strict';var emlformat=require(_0x55e7('0x0'));var rimraf=require(_0x55e7('0x1'));var zipdir=require(_0x55e7('0x2'));var jsonpatch=require(_0x55e7('0x3'));var rp=require(_0x55e7('0x4'));var moment=require(_0x55e7('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0x55e7('0x6'));var sox=require(_0x55e7('0x7'));var csv=require(_0x55e7('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x55e7('0x9'));var crypto=require(_0x55e7('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x55e7('0xb'));var toCsv=require(_0x55e7('0x8'));var querystring=require(_0x55e7('0xc'));var Papa=require(_0x55e7('0xd'));var Redis=require('ioredis');var authService=require(_0x55e7('0xe'));var qs=require(_0x55e7('0xf'));var as=require(_0x55e7('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x55e7('0x11'));var utils=require(_0x55e7('0x12'));var config=require(_0x55e7('0x13'));var licenseUtil=require(_0x55e7('0x14'));var db=require(_0x55e7('0x15'))['db'];function respondWithStatusCode(_0x85eaf0,_0xa39289){_0xa39289=_0xa39289||0xcc;return function(_0x46e96e){if(_0x46e96e){return _0x85eaf0[_0x55e7('0x16')](_0xa39289);}return _0x85eaf0['status'](_0xa39289)[_0x55e7('0x17')]();};}function respondWithResult(_0x199c24,_0x3e8209){_0x3e8209=_0x3e8209||0xc8;return function(_0x2b004b){if(_0x2b004b){return _0x199c24[_0x55e7('0x18')](_0x3e8209)[_0x55e7('0x19')](_0x2b004b);}};}function respondWithFilteredResult(_0x422b94,_0x6e5f90){return function(_0x2ad67b){if(_0x2ad67b){var _0x2c85a4=typeof _0x6e5f90['offset']===_0x55e7('0x1a')&&typeof _0x6e5f90['limit']===_0x55e7('0x1a');var _0x260815=_0x2ad67b[_0x55e7('0x1b')];var _0x5e6050=_0x2c85a4?0x0:_0x6e5f90[_0x55e7('0x1c')];var _0x494712=_0x2c85a4?_0x2ad67b['count']:_0x6e5f90['offset']+_0x6e5f90[_0x55e7('0x1d')];var _0x20c7f1;if(_0x494712>=_0x260815){_0x494712=_0x260815;_0x20c7f1=0xc8;}else{_0x20c7f1=0xce;}_0x422b94[_0x55e7('0x18')](_0x20c7f1);return _0x422b94['set'](_0x55e7('0x1e'),_0x5e6050+'-'+_0x494712+'/'+_0x260815)[_0x55e7('0x19')](_0x2ad67b);}return null;};}function patchUpdates(_0x9ca2a2){return function(_0x23fb5d){try{jsonpatch['apply'](_0x23fb5d,_0x9ca2a2,!![]);}catch(_0x462284){return BPromise[_0x55e7('0x1f')](_0x462284);}return _0x23fb5d[_0x55e7('0x20')]();};}function saveUpdates(_0x225577,_0x14bd74){return function(_0x5e4b3b){if(_0x5e4b3b){return _0x5e4b3b[_0x55e7('0x21')](_0x225577)['then'](function(_0x1703c7){return _0x1703c7;});}return null;};}function removeEntity(_0xab4245,_0x35eeff){return function(_0x1eccf5){if(_0x1eccf5){return _0x1eccf5['destroy']()[_0x55e7('0x22')](function(){var _0x4a6710=_0x1eccf5['get']({'plain':!![]});var _0x229a8b='Companies';return db['UserProfileResource']['destroy']({'where':{'type':_0x229a8b,'resourceId':_0x4a6710['id']}})[_0x55e7('0x22')](function(){return _0x1eccf5;});})[_0x55e7('0x22')](function(){_0xab4245[_0x55e7('0x18')](0xcc)[_0x55e7('0x17')]();});}};}function handleEntityNotFound(_0xc15009,_0x2413e0){return function(_0x4f8d07){if(!_0x4f8d07){_0xc15009[_0x55e7('0x16')](0x194);}return _0x4f8d07;};}function handleError(_0x5e781c,_0x5e9f63){_0x5e9f63=_0x5e9f63||0x1f4;return function(_0x4d4767){logger[_0x55e7('0x23')](_0x4d4767[_0x55e7('0x24')]);if(_0x4d4767['name']){delete _0x4d4767[_0x55e7('0x25')];}_0x5e781c[_0x55e7('0x18')](_0x5e9f63)['send'](_0x4d4767);};}exports[_0x55e7('0x26')]=function(_0x4fc299,_0x3c8c70){var _0x2f9071={},_0x4d6308={},_0x3725bd={'count':0x0,'rows':[]};return db[_0x55e7('0x27')][_0x55e7('0x28')]()[_0x55e7('0x22')](function(_0x47e881){_0x4d6308[_0x55e7('0x29')]=_['keys'](_0x47e881);_0x4d6308[_0x55e7('0x2a')]=_[_0x55e7('0x2b')](_0x4fc299['query']);_0x4d6308['filters']=_[_0x55e7('0x2c')](_0x4d6308[_0x55e7('0x29')],_0x4d6308['query']);_0x2f9071[_0x55e7('0x2d')]=_[_0x55e7('0x2c')](_0x4d6308[_0x55e7('0x29')],qs[_0x55e7('0x2e')](_0x4fc299[_0x55e7('0x2a')][_0x55e7('0x2e')]));_0x2f9071[_0x55e7('0x2d')]=_0x2f9071['attributes'][_0x55e7('0x2f')]?_0x2f9071['attributes']:_0x4d6308['model'];if(!_0x4fc299[_0x55e7('0x2a')][_0x55e7('0x30')](_0x55e7('0x31'))){_0x2f9071[_0x55e7('0x1d')]=qs['limit'](_0x4fc299[_0x55e7('0x2a')][_0x55e7('0x1d')]);_0x2f9071['offset']=qs[_0x55e7('0x1c')](_0x4fc299['query']['offset']);}_0x2f9071['order']=qs[_0x55e7('0x32')](_0x4fc299['query']['sort']);_0x2f9071['where']=qs[_0x55e7('0x33')](_[_0x55e7('0x34')](_0x4fc299['query'],_0x4d6308[_0x55e7('0x33')]),_0x47e881);if(_0x4fc299['query']['filter']){_0x2f9071[_0x55e7('0x35')]=_[_0x55e7('0x36')](_0x2f9071[_0x55e7('0x35')],{'$or':_[_0x55e7('0x37')](_0x2f9071[_0x55e7('0x2d')],function(_0x209650){var _0x300d26={};_0x300d26[_0x209650]={'$like':'%'+_0x4fc299[_0x55e7('0x2a')][_0x55e7('0x38')]+'%'};return _0x300d26;})});}_0x2f9071=_['merge']({},_0x2f9071,_0x4fc299[_0x55e7('0x39')]);var _0x16d9d3={'where':_0x2f9071[_0x55e7('0x35')]};return db[_0x55e7('0x27')][_0x55e7('0x1b')](_0x16d9d3)['then'](function(_0x6baa9d){_0x3725bd[_0x55e7('0x1b')]=_0x6baa9d;if(_0x4fc299['query'][_0x55e7('0x3a')]){_0x2f9071['include']=[{'all':!![]}];}return db[_0x55e7('0x27')][_0x55e7('0x3b')](_0x2f9071);})['then'](function(_0x361710){_0x3725bd[_0x55e7('0x3c')]=_0x361710;return _0x3725bd;})['then'](respondWithFilteredResult(_0x3c8c70,_0x2f9071))['catch'](handleError(_0x3c8c70,null));})[_0x55e7('0x3d')](handleError(_0x3c8c70,null));};exports[_0x55e7('0x3e')]=function(_0x2f8e05,_0x5bc8cb){var _0x2fde84={'raw':![],'where':{'id':_0x2f8e05[_0x55e7('0x3f')]['id']}},_0x29f835={};_0x29f835[_0x55e7('0x29')]=_['keys'](db[_0x55e7('0x27')]['rawAttributes']);_0x29f835[_0x55e7('0x2a')]=_[_0x55e7('0x2b')](_0x2f8e05[_0x55e7('0x2a')]);_0x29f835[_0x55e7('0x33')]=_[_0x55e7('0x2c')](_0x29f835[_0x55e7('0x29')],_0x29f835[_0x55e7('0x2a')]);_0x2fde84[_0x55e7('0x2d')]=_['intersection'](_0x29f835[_0x55e7('0x29')],qs[_0x55e7('0x2e')](_0x2f8e05['query'][_0x55e7('0x2e')]));_0x2fde84[_0x55e7('0x2d')]=_0x2fde84[_0x55e7('0x2d')][_0x55e7('0x2f')]?_0x2fde84[_0x55e7('0x2d')]:_0x29f835[_0x55e7('0x29')];if(_0x2f8e05['query'][_0x55e7('0x3a')]){_0x2fde84[_0x55e7('0x40')]=[{'all':!![]}];}_0x2fde84=_[_0x55e7('0x36')]({},_0x2fde84,_0x2f8e05[_0x55e7('0x39')]);return db[_0x55e7('0x27')][_0x55e7('0x41')](_0x2fde84)[_0x55e7('0x22')](handleEntityNotFound(_0x5bc8cb,null))[_0x55e7('0x22')](respondWithResult(_0x5bc8cb,null))[_0x55e7('0x3d')](handleError(_0x5bc8cb,null));};exports[_0x55e7('0x42')]=function(_0x81a5bb,_0x56e045){return db[_0x55e7('0x27')][_0x55e7('0x42')](_0x81a5bb[_0x55e7('0x43')],{})[_0x55e7('0x22')](function(_0x17362b){var _0x215fbd=_0x81a5bb['user'][_0x55e7('0x44')]({'plain':!![]});if(!_0x215fbd)throw new Error(_0x55e7('0x45'));if(_0x215fbd[_0x55e7('0x46')]===_0x55e7('0x47')){var _0x346462=_0x17362b[_0x55e7('0x44')]({'plain':!![]});var _0x29393a=_0x55e7('0x48');return db[_0x55e7('0x49')]['find']({'where':{'name':_0x29393a,'userProfileId':_0x215fbd[_0x55e7('0x4a')]},'raw':!![]})[_0x55e7('0x22')](function(_0x4114d6){if(_0x4114d6&&_0x4114d6[_0x55e7('0x4b')]===0x0){return db[_0x55e7('0x4c')][_0x55e7('0x42')]({'name':_0x346462[_0x55e7('0x25')],'resourceId':_0x346462['id'],'type':_0x4114d6[_0x55e7('0x25')],'sectionId':_0x4114d6['id']},{})[_0x55e7('0x22')](function(){return _0x17362b;});}else{return _0x17362b;}})[_0x55e7('0x3d')](function(_0x16383d){logger[_0x55e7('0x23')](_0x55e7('0x4d'),_0x16383d);throw _0x16383d;});}return _0x17362b;})[_0x55e7('0x22')](respondWithResult(_0x56e045,0xc9))['catch'](handleError(_0x56e045,null));};exports[_0x55e7('0x21')]=function(_0x34a208,_0x42761f){if(_0x34a208[_0x55e7('0x43')]['id']){delete _0x34a208[_0x55e7('0x43')]['id'];}return db[_0x55e7('0x27')][_0x55e7('0x41')]({'where':{'id':_0x34a208[_0x55e7('0x3f')]['id']}})[_0x55e7('0x22')](handleEntityNotFound(_0x42761f,null))[_0x55e7('0x22')](saveUpdates(_0x34a208[_0x55e7('0x43')],null))[_0x55e7('0x22')](respondWithResult(_0x42761f,null))[_0x55e7('0x3d')](handleError(_0x42761f,null));};exports[_0x55e7('0x4e')]=function(_0x345a1f,_0x553de7){return db['CmCompany'][_0x55e7('0x41')]({'where':{'id':_0x345a1f['params']['id']}})['then'](handleEntityNotFound(_0x553de7,null))[_0x55e7('0x22')](removeEntity(_0x553de7,null))[_0x55e7('0x3d')](handleError(_0x553de7,null));};exports[_0x55e7('0x28')]=function(_0x3ec92a,_0x41d495){return db[_0x55e7('0x27')][_0x55e7('0x28')]()[_0x55e7('0x22')](respondWithResult(_0x41d495,null))['catch'](handleError(_0x41d495,null));};exports[_0x55e7('0x4f')]=function(_0x344edd,_0x39758b,_0x43ea50){return db[_0x55e7('0x50')][_0x55e7('0x41')]({'where':{'id':_0x344edd['params']['id']}})[_0x55e7('0x22')](handleEntityNotFound(_0x39758b,null))['then'](function(_0x24f777){if(_0x24f777){return _0x24f777[_0x55e7('0x4f')](_0x344edd[_0x55e7('0x43')][_0x55e7('0x51')],_[_0x55e7('0x52')](_0x344edd[_0x55e7('0x43')],['ids','id'])||{});}})[_0x55e7('0x22')](respondWithResult(_0x39758b,null))[_0x55e7('0x3d')](handleError(_0x39758b,null));};exports[_0x55e7('0x53')]=function(_0x195fdd,_0x46ce21,_0xb0270c){var _0x149f81={};var _0x360d0c={};var _0x5713ec;var _0x21ad91;return db[_0x55e7('0x27')][_0x55e7('0x54')]({'where':{'id':_0x195fdd[_0x55e7('0x3f')]['id']}})['then'](handleEntityNotFound(_0x46ce21,null))['then'](function(_0x4b9894){if(_0x4b9894){_0x5713ec=_0x4b9894;_0x360d0c[_0x55e7('0x29')]=_['keys'](db[_0x55e7('0x50')]['rawAttributes']);_0x360d0c[_0x55e7('0x2a')]=_[_0x55e7('0x2b')](_0x195fdd[_0x55e7('0x2a')]);_0x360d0c[_0x55e7('0x33')]=_[_0x55e7('0x2c')](_0x360d0c['model'],_0x360d0c[_0x55e7('0x2a')]);_0x149f81[_0x55e7('0x2d')]=_[_0x55e7('0x2c')](_0x360d0c[_0x55e7('0x29')],qs[_0x55e7('0x2e')](_0x195fdd[_0x55e7('0x2a')][_0x55e7('0x2e')]));_0x149f81['attributes']=_0x149f81[_0x55e7('0x2d')][_0x55e7('0x2f')]?_0x149f81[_0x55e7('0x2d')]:_0x360d0c[_0x55e7('0x29')];_0x149f81[_0x55e7('0x55')]=qs[_0x55e7('0x32')](_0x195fdd['query']['sort']);_0x149f81[_0x55e7('0x35')]=qs[_0x55e7('0x33')](_[_0x55e7('0x34')](_0x195fdd['query'],_0x360d0c[_0x55e7('0x33')]));if(_0x195fdd[_0x55e7('0x2a')][_0x55e7('0x38')]){_0x149f81[_0x55e7('0x35')]=_[_0x55e7('0x36')](_0x149f81[_0x55e7('0x35')],{'$or':_[_0x55e7('0x37')](_0x149f81[_0x55e7('0x2d')],function(_0xc65357){var _0x2f7953={};_0x2f7953[_0xc65357]={'$like':'%'+_0x195fdd[_0x55e7('0x2a')][_0x55e7('0x38')]+'%'};return _0x2f7953;})});}_0x149f81=_['merge']({},_0x149f81,_0x195fdd['options']);return _0x5713ec[_0x55e7('0x53')](_0x149f81);}})[_0x55e7('0x22')](function(_0x500834){if(_0x500834){_0x21ad91=_0x500834['length'];if(!_0x195fdd[_0x55e7('0x2a')][_0x55e7('0x30')]('nolimit')){_0x149f81[_0x55e7('0x1d')]=qs[_0x55e7('0x1d')](_0x195fdd[_0x55e7('0x2a')][_0x55e7('0x1d')]);_0x149f81[_0x55e7('0x1c')]=qs[_0x55e7('0x1c')](_0x195fdd[_0x55e7('0x2a')][_0x55e7('0x1c')]);}return _0x5713ec[_0x55e7('0x53')](_0x149f81);}})[_0x55e7('0x22')](function(_0x3d2edc){if(_0x3d2edc){return _0x3d2edc?{'count':_0x21ad91,'rows':_0x3d2edc}:null;}})['then'](respondWithResult(_0x46ce21,null))[_0x55e7('0x3d')](handleError(_0x46ce21,null));};