482c626b19f7a1c8f7c2663ccf09fa305e7516bb
[motion2.git] / server / api / cmContactHasItem / cmContactHasItem.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 _0x7542=['body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','request-promise','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','CmContactHasItems','UserProfileResource','error','stack','name','send','fieldName','type','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','VIRTUAL','CmContactHasItem','include','findAll','rows','catch','show','params','rawAttributes','includeAll','options','find','create'];(function(_0x4b369d,_0x265eb8){var _0x571a98=function(_0x56341a){while(--_0x56341a){_0x4b369d['push'](_0x4b369d['shift']());}};_0x571a98(++_0x265eb8);}(_0x7542,0x15e));var _0x2754=function(_0x14eac5,_0x5d7549){_0x14eac5=_0x14eac5-0x0;var _0x223eb6=_0x7542[_0x14eac5];return _0x223eb6;};'use strict';var emlformat=require(_0x2754('0x0'));var rimraf=require(_0x2754('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x2754('0x2'));var moment=require(_0x2754('0x3'));var BPromise=require(_0x2754('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x2754('0x5'));var sox=require(_0x2754('0x6'));var csv=require(_0x2754('0x7'));var ejs=require(_0x2754('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2754('0x9'));var squel=require(_0x2754('0xa'));var crypto=require(_0x2754('0xb'));var jsforce=require(_0x2754('0xc'));var deskjs=require(_0x2754('0xd'));var toCsv=require(_0x2754('0x7'));var querystring=require(_0x2754('0xe'));var Papa=require(_0x2754('0xf'));var Redis=require(_0x2754('0x10'));var authService=require(_0x2754('0x11'));var qs=require(_0x2754('0x12'));var as=require(_0x2754('0x13'));var hardwareService=require(_0x2754('0x14'));var logger=require(_0x2754('0x15'))(_0x2754('0x16'));var utils=require(_0x2754('0x17'));var config=require(_0x2754('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xa71cc9,_0x2e6233){_0x2e6233=_0x2e6233||0xcc;return function(_0x81d6e9){if(_0x81d6e9){return _0xa71cc9[_0x2754('0x19')](_0x2e6233);}return _0xa71cc9[_0x2754('0x1a')](_0x2e6233)[_0x2754('0x1b')]();};}function respondWithResult(_0x508ea2,_0x41490d){_0x41490d=_0x41490d||0xc8;return function(_0x46e138){if(_0x46e138){return _0x508ea2[_0x2754('0x1a')](_0x41490d)[_0x2754('0x1c')](_0x46e138);}};}function respondWithFilteredResult(_0x5be339,_0x38b059){return function(_0x3c36f2){if(_0x3c36f2){var _0x1c61b5=typeof _0x38b059['offset']===_0x2754('0x1d')&&typeof _0x38b059['limit']===_0x2754('0x1d');var _0x351bd7=_0x3c36f2[_0x2754('0x1e')];var _0x3450a8=_0x1c61b5?0x0:_0x38b059[_0x2754('0x1f')];var _0x223191=_0x1c61b5?_0x3c36f2[_0x2754('0x1e')]:_0x38b059[_0x2754('0x1f')]+_0x38b059[_0x2754('0x20')];var _0x3831f3;if(_0x223191>=_0x351bd7){_0x223191=_0x351bd7;_0x3831f3=0xc8;}else{_0x3831f3=0xce;}_0x5be339[_0x2754('0x1a')](_0x3831f3);return _0x5be339[_0x2754('0x21')](_0x2754('0x22'),_0x3450a8+'-'+_0x223191+'/'+_0x351bd7)[_0x2754('0x1c')](_0x3c36f2);}return null;};}function patchUpdates(_0xe25671){return function(_0x499ad3){try{jsonpatch[_0x2754('0x23')](_0x499ad3,_0xe25671,!![]);}catch(_0x13cbcd){return BPromise[_0x2754('0x24')](_0x13cbcd);}return _0x499ad3[_0x2754('0x25')]();};}function saveUpdates(_0x276952,_0x39f2e0){return function(_0x340606){if(_0x340606){return _0x340606[_0x2754('0x26')](_0x276952)[_0x2754('0x27')](function(_0x2bab53){return _0x2bab53;});}return null;};}function removeEntity(_0x521511,_0x21836a){return function(_0x326270){if(_0x326270){return _0x326270[_0x2754('0x28')]()[_0x2754('0x27')](function(){var _0x2c98bd=_0x326270[_0x2754('0x29')]({'plain':!![]});var _0x2c54db=_0x2754('0x2a');return db[_0x2754('0x2b')][_0x2754('0x28')]({'where':{'type':_0x2c54db,'resourceId':_0x2c98bd['id']}})[_0x2754('0x27')](function(){return _0x326270;});})[_0x2754('0x27')](function(){_0x521511['status'](0xcc)[_0x2754('0x1b')]();});}};}function handleEntityNotFound(_0x1e8b45,_0x222d7c){return function(_0x20d2e1){if(!_0x20d2e1){_0x1e8b45[_0x2754('0x19')](0x194);}return _0x20d2e1;};}function handleError(_0xeece2f,_0x30cebe){_0x30cebe=_0x30cebe||0x1f4;return function(_0x29ba7b){logger[_0x2754('0x2c')](_0x29ba7b[_0x2754('0x2d')]);if(_0x29ba7b['name']){delete _0x29ba7b[_0x2754('0x2e')];}_0xeece2f[_0x2754('0x1a')](_0x30cebe)[_0x2754('0x2f')](_0x29ba7b);};}exports['index']=function(_0x426fc8,_0x1ca8a){var _0x59d79d={},_0x36cf40={},_0x59df4f={'count':0x0,'rows':[]};var _0x3165bd=_['map'](db['CmContactHasItem']['rawAttributes'],function(_0x263191){return{'name':_0x263191[_0x2754('0x30')],'type':_0x263191[_0x2754('0x31')]['key']};});_0x36cf40[_0x2754('0x32')]=_[_0x2754('0x33')](_0x3165bd,_0x2754('0x2e'));_0x36cf40[_0x2754('0x34')]=_[_0x2754('0x35')](_0x426fc8[_0x2754('0x34')]);_0x36cf40[_0x2754('0x36')]=_[_0x2754('0x37')](_0x36cf40[_0x2754('0x32')],_0x36cf40[_0x2754('0x34')]);_0x59d79d['attributes']=_[_0x2754('0x37')](_0x36cf40[_0x2754('0x32')],qs[_0x2754('0x38')](_0x426fc8['query'][_0x2754('0x38')]));_0x59d79d[_0x2754('0x39')]=_0x59d79d[_0x2754('0x39')][_0x2754('0x3a')]?_0x59d79d[_0x2754('0x39')]:_0x36cf40['model'];if(!_0x426fc8[_0x2754('0x34')][_0x2754('0x3b')](_0x2754('0x3c'))){_0x59d79d[_0x2754('0x20')]=qs[_0x2754('0x20')](_0x426fc8[_0x2754('0x34')][_0x2754('0x20')]);_0x59d79d['offset']=qs['offset'](_0x426fc8['query'][_0x2754('0x1f')]);}_0x59d79d[_0x2754('0x3d')]=qs[_0x2754('0x3e')](_0x426fc8[_0x2754('0x34')]['sort']);_0x59d79d['where']=qs[_0x2754('0x36')](_[_0x2754('0x3f')](_0x426fc8['query'],_0x36cf40['filters']),_0x3165bd);if(_0x426fc8['query'][_0x2754('0x40')]){_0x59d79d['where']=_[_0x2754('0x41')](_0x59d79d[_0x2754('0x42')],{'$or':_[_0x2754('0x33')](_0x3165bd,function(_0xb6d53d){if(_0xb6d53d['type']!==_0x2754('0x43')){var _0x278e6c={};_0x278e6c[_0xb6d53d['name']]={'$like':'%'+_0x426fc8[_0x2754('0x34')][_0x2754('0x40')]+'%'};return _0x278e6c;}})});}_0x59d79d=_[_0x2754('0x41')]({},_0x59d79d,_0x426fc8['options']);var _0x1d72f1={'where':_0x59d79d[_0x2754('0x42')]};return db[_0x2754('0x44')][_0x2754('0x1e')](_0x1d72f1)[_0x2754('0x27')](function(_0x2c38e8){_0x59df4f[_0x2754('0x1e')]=_0x2c38e8;if(_0x426fc8[_0x2754('0x34')]['includeAll']){_0x59d79d[_0x2754('0x45')]=[{'all':!![]}];}return db['CmContactHasItem'][_0x2754('0x46')](_0x59d79d);})['then'](function(_0x599989){_0x59df4f[_0x2754('0x47')]=_0x599989;return _0x59df4f;})[_0x2754('0x27')](respondWithFilteredResult(_0x1ca8a,_0x59d79d))[_0x2754('0x48')](handleError(_0x1ca8a,null));};exports[_0x2754('0x49')]=function(_0x265e53,_0x2593c6){var _0x9b29cd={'raw':!![],'where':{'id':_0x265e53[_0x2754('0x4a')]['id']}},_0x54f1bb={};_0x54f1bb[_0x2754('0x32')]=_[_0x2754('0x35')](db['CmContactHasItem'][_0x2754('0x4b')]);_0x54f1bb[_0x2754('0x34')]=_[_0x2754('0x35')](_0x265e53[_0x2754('0x34')]);_0x54f1bb[_0x2754('0x36')]=_[_0x2754('0x37')](_0x54f1bb[_0x2754('0x32')],_0x54f1bb[_0x2754('0x34')]);_0x9b29cd['attributes']=_[_0x2754('0x37')](_0x54f1bb[_0x2754('0x32')],qs[_0x2754('0x38')](_0x265e53['query'][_0x2754('0x38')]));_0x9b29cd[_0x2754('0x39')]=_0x9b29cd['attributes'][_0x2754('0x3a')]?_0x9b29cd['attributes']:_0x54f1bb[_0x2754('0x32')];if(_0x265e53['query'][_0x2754('0x4c')]){_0x9b29cd[_0x2754('0x45')]=[{'all':!![]}];}_0x9b29cd=_[_0x2754('0x41')]({},_0x9b29cd,_0x265e53[_0x2754('0x4d')]);return db['CmContactHasItem'][_0x2754('0x4e')](_0x9b29cd)[_0x2754('0x27')](handleEntityNotFound(_0x2593c6,null))[_0x2754('0x27')](respondWithResult(_0x2593c6,null))[_0x2754('0x48')](handleError(_0x2593c6,null));};exports[_0x2754('0x4f')]=function(_0x19df92,_0x47ad72){return db['CmContactHasItem'][_0x2754('0x4f')](_0x19df92[_0x2754('0x50')],{})['then'](function(_0x44ae8f){var _0x5f32b8=_0x19df92[_0x2754('0x51')][_0x2754('0x29')]({'plain':!![]});if(!_0x5f32b8)throw new Error(_0x2754('0x52'));if(_0x5f32b8[_0x2754('0x53')]===_0x2754('0x51')){var _0xa8206e=_0x44ae8f[_0x2754('0x29')]({'plain':!![]});var _0x4d9aa3=_0x2754('0x2a');return db['UserProfileSection']['find']({'where':{'name':_0x4d9aa3,'userProfileId':_0x5f32b8[_0x2754('0x54')]},'raw':!![]})['then'](function(_0x434931){if(_0x434931&&_0x434931['autoAssociation']===0x0){return db[_0x2754('0x2b')][_0x2754('0x4f')]({'name':_0xa8206e[_0x2754('0x2e')],'resourceId':_0xa8206e['id'],'type':_0x434931[_0x2754('0x2e')],'sectionId':_0x434931['id']},{})[_0x2754('0x27')](function(){return _0x44ae8f;});}else{return _0x44ae8f;}})[_0x2754('0x48')](function(_0x50fba5){logger[_0x2754('0x2c')](_0x2754('0x55'),_0x50fba5);throw _0x50fba5;});}return _0x44ae8f;})[_0x2754('0x27')](respondWithResult(_0x47ad72,0xc9))[_0x2754('0x48')](handleError(_0x47ad72,null));};exports['update']=function(_0x23ae4f,_0x3abe0e){if(_0x23ae4f[_0x2754('0x50')]['id']){delete _0x23ae4f[_0x2754('0x50')]['id'];}return db['CmContactHasItem']['find']({'where':{'id':_0x23ae4f['params']['id']}})[_0x2754('0x27')](handleEntityNotFound(_0x3abe0e,null))[_0x2754('0x27')](saveUpdates(_0x23ae4f[_0x2754('0x50')],null))[_0x2754('0x27')](respondWithResult(_0x3abe0e,null))[_0x2754('0x48')](handleError(_0x3abe0e,null));};exports[_0x2754('0x28')]=function(_0x90d926,_0x55294c){return db['CmContactHasItem']['find']({'where':{'id':_0x90d926[_0x2754('0x4a')]['id']}})['then'](handleEntityNotFound(_0x55294c,null))[_0x2754('0x27')](removeEntity(_0x55294c,null))[_0x2754('0x48')](handleError(_0x55294c,null));};