Built motion from commit (unavailable).|2.4.18
[motion2.git] / server / api / template / template.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 _0xef1b=['zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','count','offset','limit','set','Content-Range','json','apply','reject','save','then','destroy','get','Templates','UserProfileResource','end','error','stack','name','send','index','map','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','Template','includeAll','findAll','catch','show','params','include','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','update','html-pdf','eml-format','rimraf'];(function(_0x52118d,_0x3e1aae){var _0x2f3ece=function(_0x4a3631){while(--_0x4a3631){_0x52118d['push'](_0x52118d['shift']());}};_0x2f3ece(++_0x3e1aae);}(_0xef1b,0x102));var _0xbef1=function(_0x36eec6,_0x281738){_0x36eec6=_0x36eec6-0x0;var _0x59b716=_0xef1b[_0x36eec6];return _0x59b716;};'use strict';var pdf=require(_0xbef1('0x0'));var emlformat=require(_0xbef1('0x1'));var rimraf=require(_0xbef1('0x2'));var zipdir=require(_0xbef1('0x3'));var jsonpatch=require(_0xbef1('0x4'));var rp=require(_0xbef1('0x5'));var moment=require(_0xbef1('0x6'));var BPromise=require(_0xbef1('0x7'));var Mustache=require(_0xbef1('0x8'));var util=require(_0xbef1('0x9'));var path=require('path');var sox=require(_0xbef1('0xa'));var csv=require('to-csv');var ejs=require(_0xbef1('0xb'));var fs=require('fs');var _=require(_0xbef1('0xc'));var squel=require(_0xbef1('0xd'));var crypto=require(_0xbef1('0xe'));var jsforce=require(_0xbef1('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xbef1('0x10'));var querystring=require(_0xbef1('0x11'));var Papa=require(_0xbef1('0x12'));var Redis=require(_0xbef1('0x13'));var authService=require(_0xbef1('0x14'));var qs=require(_0xbef1('0x15'));var as=require(_0xbef1('0x16'));var hardwareService=require(_0xbef1('0x17'));var logger=require(_0xbef1('0x18'))('api');var utils=require(_0xbef1('0x19'));var config=require('../../config/environment');var db=require(_0xbef1('0x1a'))['db'];function respondWithStatusCode(_0x30afba,_0x2d5875){_0x2d5875=_0x2d5875||0xcc;return function(_0x59387b){if(_0x59387b){return _0x30afba[_0xbef1('0x1b')](_0x2d5875);}return _0x30afba[_0xbef1('0x1c')](_0x2d5875)['end']();};}function respondWithResult(_0x2f66d7,_0x21e681){_0x21e681=_0x21e681||0xc8;return function(_0x5c90e2){if(_0x5c90e2){return _0x2f66d7['status'](_0x21e681)['json'](_0x5c90e2);}};}function respondWithFilteredResult(_0x4a38e5,_0x258808){return function(_0x5b2e4f){if(_0x5b2e4f){var _0x1b567b=_0x5b2e4f[_0xbef1('0x1d')],_0x268358=_0x258808[_0xbef1('0x1e')],_0x30bf47=_0x258808[_0xbef1('0x1e')]+_0x258808[_0xbef1('0x1f')],_0x3fbbb2;if(_0x30bf47>=_0x1b567b){_0x30bf47=_0x1b567b;_0x3fbbb2=0xc8;}else{_0x3fbbb2=0xce;}_0x4a38e5[_0xbef1('0x1c')](_0x3fbbb2);return _0x4a38e5[_0xbef1('0x20')](_0xbef1('0x21'),_0x268358+'-'+_0x30bf47+'/'+_0x1b567b)[_0xbef1('0x22')](_0x5b2e4f);}return null;};}function patchUpdates(_0x58db25){return function(_0x10700a){try{jsonpatch[_0xbef1('0x23')](_0x10700a,_0x58db25,!![]);}catch(_0x404a65){return BPromise[_0xbef1('0x24')](_0x404a65);}return _0x10700a[_0xbef1('0x25')]();};}function saveUpdates(_0x55e479,_0x3bdc3e){return function(_0x1540aa){if(_0x1540aa){return _0x1540aa['update'](_0x55e479)[_0xbef1('0x26')](function(_0x5d46b6){return _0x5d46b6;});}return null;};}function removeEntity(_0xb5886d,_0x57e8ee){return function(_0x3a52aa){if(_0x3a52aa){return _0x3a52aa[_0xbef1('0x27')]()[_0xbef1('0x26')](function(){var _0x4124f2=_0x3a52aa[_0xbef1('0x28')]({'plain':!![]});var _0x4132ff=_0xbef1('0x29');return db[_0xbef1('0x2a')][_0xbef1('0x27')]({'where':{'type':_0x4132ff,'resourceId':_0x4124f2['id']}})[_0xbef1('0x26')](function(){return _0x3a52aa;});})[_0xbef1('0x26')](function(){_0xb5886d[_0xbef1('0x1c')](0xcc)[_0xbef1('0x2b')]();});}};}function handleEntityNotFound(_0x28d8a8,_0x5843d7){return function(_0x51e15a){if(!_0x51e15a){_0x28d8a8['sendStatus'](0x194);}return _0x51e15a;};}function handleError(_0x43e147,_0x4825be){_0x4825be=_0x4825be||0x1f4;return function(_0x30174b){logger[_0xbef1('0x2c')](_0x30174b[_0xbef1('0x2d')]);if(_0x30174b[_0xbef1('0x2e')]){delete _0x30174b[_0xbef1('0x2e')];}_0x43e147['status'](_0x4825be)[_0xbef1('0x2f')](_0x30174b);};}exports[_0xbef1('0x30')]=function(_0x34ff66,_0x31cca8){var _0x39253b={},_0x323b50={},_0x4c93f4={'count':0x0,'rows':[]};var _0x4e044a=_[_0xbef1('0x31')](db['Template']['rawAttributes'],function(_0xb14820){return{'name':_0xb14820[_0xbef1('0x32')],'type':_0xb14820['type'][_0xbef1('0x33')]};});_0x323b50[_0xbef1('0x34')]=_[_0xbef1('0x31')](_0x4e044a,_0xbef1('0x2e'));_0x323b50[_0xbef1('0x35')]=_[_0xbef1('0x36')](_0x34ff66[_0xbef1('0x35')]);_0x323b50[_0xbef1('0x37')]=_[_0xbef1('0x38')](_0x323b50[_0xbef1('0x34')],_0x323b50[_0xbef1('0x35')]);_0x39253b[_0xbef1('0x39')]=_['intersection'](_0x323b50[_0xbef1('0x34')],qs['fields'](_0x34ff66['query'][_0xbef1('0x3a')]));_0x39253b[_0xbef1('0x39')]=_0x39253b[_0xbef1('0x39')][_0xbef1('0x3b')]?_0x39253b[_0xbef1('0x39')]:_0x323b50[_0xbef1('0x34')];if(!_0x34ff66[_0xbef1('0x35')][_0xbef1('0x3c')](_0xbef1('0x3d'))){_0x39253b[_0xbef1('0x1f')]=qs[_0xbef1('0x1f')](_0x34ff66['query'][_0xbef1('0x1f')]);_0x39253b[_0xbef1('0x1e')]=qs[_0xbef1('0x1e')](_0x34ff66[_0xbef1('0x35')][_0xbef1('0x1e')]);}_0x39253b[_0xbef1('0x3e')]=qs[_0xbef1('0x3f')](_0x34ff66[_0xbef1('0x35')][_0xbef1('0x3f')]);_0x39253b[_0xbef1('0x40')]=qs[_0xbef1('0x37')](_['pick'](_0x34ff66['query'],_0x323b50[_0xbef1('0x37')]));if(_0x34ff66[_0xbef1('0x35')][_0xbef1('0x41')]){_0x39253b[_0xbef1('0x40')]=_[_0xbef1('0x42')](_0x39253b['where'],{'$or':_['map'](_0x4e044a,function(_0x4ec0e7){if(_0x4ec0e7[_0xbef1('0x43')]!==_0xbef1('0x44')){var _0x570530={};_0x570530[_0x4ec0e7['name']]={'$like':'%'+_0x34ff66[_0xbef1('0x35')]['filter']+'%'};return _0x570530;}})});}_0x39253b=_['merge']({},_0x39253b,_0x34ff66[_0xbef1('0x45')]);var _0x40c193={'where':_0x39253b['where']};return db[_0xbef1('0x46')]['count'](_0x40c193)[_0xbef1('0x26')](function(_0x566bb3){_0x4c93f4['count']=_0x566bb3;if(_0x34ff66[_0xbef1('0x35')][_0xbef1('0x47')]){_0x39253b['include']=[{'all':!![]}];}return db['Template'][_0xbef1('0x48')](_0x39253b);})[_0xbef1('0x26')](function(_0x2cc276){_0x4c93f4['rows']=_0x2cc276;return _0x4c93f4;})['then'](respondWithFilteredResult(_0x31cca8,_0x39253b))[_0xbef1('0x49')](handleError(_0x31cca8,null));};exports[_0xbef1('0x4a')]=function(_0x498c81,_0xb17934){var _0x2229c0={'raw':!![],'where':{'id':_0x498c81[_0xbef1('0x4b')]['id']}},_0x50de7b={};_0x50de7b[_0xbef1('0x34')]=_[_0xbef1('0x36')](db[_0xbef1('0x46')]['rawAttributes']);_0x50de7b['query']=_[_0xbef1('0x36')](_0x498c81[_0xbef1('0x35')]);_0x50de7b[_0xbef1('0x37')]=_[_0xbef1('0x38')](_0x50de7b[_0xbef1('0x34')],_0x50de7b['query']);_0x2229c0[_0xbef1('0x39')]=_[_0xbef1('0x38')](_0x50de7b[_0xbef1('0x34')],qs[_0xbef1('0x3a')](_0x498c81[_0xbef1('0x35')][_0xbef1('0x3a')]));_0x2229c0[_0xbef1('0x39')]=_0x2229c0[_0xbef1('0x39')]['length']?_0x2229c0[_0xbef1('0x39')]:_0x50de7b[_0xbef1('0x34')];if(_0x498c81[_0xbef1('0x35')][_0xbef1('0x47')]){_0x2229c0[_0xbef1('0x4c')]=[{'all':!![]}];}_0x2229c0=_[_0xbef1('0x42')]({},_0x2229c0,_0x498c81[_0xbef1('0x45')]);return db[_0xbef1('0x46')][_0xbef1('0x4d')](_0x2229c0)[_0xbef1('0x26')](handleEntityNotFound(_0xb17934,null))[_0xbef1('0x26')](respondWithResult(_0xb17934,null))[_0xbef1('0x49')](handleError(_0xb17934,null));};exports['create']=function(_0x3162b1,_0x5e70dc){return db['Template'][_0xbef1('0x4e')](_0x3162b1[_0xbef1('0x4f')],{})['then'](function(_0x552587){var _0x47cb1b=_0x3162b1['user']['get']({'plain':!![]});if(!_0x47cb1b)throw new Error(_0xbef1('0x50'));if(_0x47cb1b[_0xbef1('0x51')]===_0xbef1('0x52')){var _0x4030dc=_0x552587[_0xbef1('0x28')]({'plain':!![]});var _0x59f0d1=_0xbef1('0x29');return db[_0xbef1('0x53')]['find']({'where':{'name':_0x59f0d1,'userProfileId':_0x47cb1b[_0xbef1('0x54')]},'raw':!![]})[_0xbef1('0x26')](function(_0x4a7527){if(_0x4a7527&&_0x4a7527[_0xbef1('0x55')]===0x0){return db[_0xbef1('0x2a')][_0xbef1('0x4e')]({'name':_0x4030dc['name'],'resourceId':_0x4030dc['id'],'type':_0x4a7527[_0xbef1('0x2e')],'sectionId':_0x4a7527['id']},{})[_0xbef1('0x26')](function(){return _0x552587;});}else{return _0x552587;}})['catch'](function(_0x206b8f){logger[_0xbef1('0x2c')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x206b8f);throw _0x206b8f;});}return _0x552587;})[_0xbef1('0x26')](respondWithResult(_0x5e70dc,0xc9))[_0xbef1('0x49')](handleError(_0x5e70dc,null));};exports[_0xbef1('0x56')]=function(_0x37584a,_0x5bced1){if(_0x37584a['body']['id']){delete _0x37584a[_0xbef1('0x4f')]['id'];}return db[_0xbef1('0x46')][_0xbef1('0x4d')]({'where':{'id':_0x37584a[_0xbef1('0x4b')]['id']}})[_0xbef1('0x26')](handleEntityNotFound(_0x5bced1,null))[_0xbef1('0x26')](saveUpdates(_0x37584a[_0xbef1('0x4f')],null))[_0xbef1('0x26')](respondWithResult(_0x5bced1,null))[_0xbef1('0x49')](handleError(_0x5bced1,null));};exports[_0xbef1('0x27')]=function(_0x5340e7,_0x11dea5){return db[_0xbef1('0x46')][_0xbef1('0x4d')]({'where':{'id':_0x5340e7[_0xbef1('0x4b')]['id']}})['then'](handleEntityNotFound(_0x11dea5,null))['then'](removeEntity(_0x11dea5,null))['catch'](handleError(_0x11dea5,null));};