Built motion from commit (unavailable).|2.5.23
[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 _0x5fc3=['userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','offset','set','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','error','name','send','index','Template','rawAttributes','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','merge','VIRTUAL','options','count','include','rows','catch','show','params','length','includeAll','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Templates','UserProfileSection'];(function(_0x14efe1,_0x59cdaa){var _0x591558=function(_0x31248c){while(--_0x31248c){_0x14efe1['push'](_0x14efe1['shift']());}};_0x591558(++_0x59cdaa);}(_0x5fc3,0xa8));var _0x35fc=function(_0x49fcfb,_0x504dec){_0x49fcfb=_0x49fcfb-0x0;var _0x964926=_0x5fc3[_0x49fcfb];return _0x964926;};'use strict';var pdf=require(_0x35fc('0x0'));var emlformat=require(_0x35fc('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x35fc('0x2'));var jsonpatch=require(_0x35fc('0x3'));var rp=require(_0x35fc('0x4'));var moment=require(_0x35fc('0x5'));var BPromise=require(_0x35fc('0x6'));var Mustache=require('mustache');var util=require(_0x35fc('0x7'));var path=require(_0x35fc('0x8'));var sox=require(_0x35fc('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x35fc('0xa'));var squel=require('squel');var crypto=require(_0x35fc('0xb'));var jsforce=require(_0x35fc('0xc'));var deskjs=require(_0x35fc('0xd'));var toCsv=require(_0x35fc('0xe'));var querystring=require(_0x35fc('0xf'));var Papa=require(_0x35fc('0x10'));var Redis=require(_0x35fc('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x35fc('0x12'));var as=require(_0x35fc('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x35fc('0x14'))(_0x35fc('0x15'));var utils=require('../../config/utils');var config=require(_0x35fc('0x16'));var licenseUtil=require(_0x35fc('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4cbe74,_0x409357){_0x409357=_0x409357||0xcc;return function(_0x5d462a){if(_0x5d462a){return _0x4cbe74[_0x35fc('0x18')](_0x409357);}return _0x4cbe74[_0x35fc('0x19')](_0x409357)[_0x35fc('0x1a')]();};}function respondWithResult(_0x29730f,_0x38d9f2){_0x38d9f2=_0x38d9f2||0xc8;return function(_0x5cfe94){if(_0x5cfe94){return _0x29730f['status'](_0x38d9f2)['json'](_0x5cfe94);}};}function respondWithFilteredResult(_0x558364,_0x398b67){return function(_0x229d56){if(_0x229d56){var _0x53b898=_0x229d56['count'],_0x154958=_0x398b67[_0x35fc('0x1b')],_0x227a49=_0x398b67[_0x35fc('0x1b')]+_0x398b67['limit'],_0x1121fa;if(_0x227a49>=_0x53b898){_0x227a49=_0x53b898;_0x1121fa=0xc8;}else{_0x1121fa=0xce;}_0x558364[_0x35fc('0x19')](_0x1121fa);return _0x558364[_0x35fc('0x1c')](_0x35fc('0x1d'),_0x154958+'-'+_0x227a49+'/'+_0x53b898)['json'](_0x229d56);}return null;};}function patchUpdates(_0x1a86e9){return function(_0x3c58ea){try{jsonpatch[_0x35fc('0x1e')](_0x3c58ea,_0x1a86e9,!![]);}catch(_0x488234){return BPromise[_0x35fc('0x1f')](_0x488234);}return _0x3c58ea[_0x35fc('0x20')]();};}function saveUpdates(_0x3229d1,_0x251a1f){return function(_0x20ffde){if(_0x20ffde){return _0x20ffde[_0x35fc('0x21')](_0x3229d1)[_0x35fc('0x22')](function(_0x3b05b0){return _0x3b05b0;});}return null;};}function removeEntity(_0x2405e8,_0x427eae){return function(_0x5bd2b8){if(_0x5bd2b8){return _0x5bd2b8[_0x35fc('0x23')]()[_0x35fc('0x22')](function(){var _0x257719=_0x5bd2b8[_0x35fc('0x24')]({'plain':!![]});var _0x3b4743='Templates';return db[_0x35fc('0x25')][_0x35fc('0x23')]({'where':{'type':_0x3b4743,'resourceId':_0x257719['id']}})['then'](function(){return _0x5bd2b8;});})[_0x35fc('0x22')](function(){_0x2405e8[_0x35fc('0x19')](0xcc)[_0x35fc('0x1a')]();});}};}function handleEntityNotFound(_0x51cfec,_0x4086e9){return function(_0x598d7a){if(!_0x598d7a){_0x51cfec[_0x35fc('0x18')](0x194);}return _0x598d7a;};}function handleError(_0xdfab9f,_0x5cb986){_0x5cb986=_0x5cb986||0x1f4;return function(_0x519264){logger[_0x35fc('0x26')](_0x519264['stack']);if(_0x519264[_0x35fc('0x27')]){delete _0x519264[_0x35fc('0x27')];}_0xdfab9f['status'](_0x5cb986)[_0x35fc('0x28')](_0x519264);};}exports[_0x35fc('0x29')]=function(_0x383837,_0x9f3c8a){var _0x3735da={},_0x134dfa={},_0x11ccdb={'count':0x0,'rows':[]};var _0x451f0c=_['map'](db[_0x35fc('0x2a')][_0x35fc('0x2b')],function(_0x22af18){return{'name':_0x22af18['fieldName'],'type':_0x22af18[_0x35fc('0x2c')][_0x35fc('0x2d')]};});_0x134dfa[_0x35fc('0x2e')]=_[_0x35fc('0x2f')](_0x451f0c,_0x35fc('0x27'));_0x134dfa[_0x35fc('0x30')]=_[_0x35fc('0x31')](_0x383837[_0x35fc('0x30')]);_0x134dfa[_0x35fc('0x32')]=_[_0x35fc('0x33')](_0x134dfa['model'],_0x134dfa['query']);_0x3735da[_0x35fc('0x34')]=_['intersection'](_0x134dfa[_0x35fc('0x2e')],qs[_0x35fc('0x35')](_0x383837[_0x35fc('0x30')][_0x35fc('0x35')]));_0x3735da[_0x35fc('0x34')]=_0x3735da[_0x35fc('0x34')]['length']?_0x3735da[_0x35fc('0x34')]:_0x134dfa[_0x35fc('0x2e')];if(!_0x383837[_0x35fc('0x30')][_0x35fc('0x36')](_0x35fc('0x37'))){_0x3735da[_0x35fc('0x38')]=qs['limit'](_0x383837[_0x35fc('0x30')][_0x35fc('0x38')]);_0x3735da[_0x35fc('0x1b')]=qs['offset'](_0x383837[_0x35fc('0x30')]['offset']);}_0x3735da[_0x35fc('0x39')]=qs[_0x35fc('0x3a')](_0x383837[_0x35fc('0x30')][_0x35fc('0x3a')]);_0x3735da['where']=qs['filters'](_['pick'](_0x383837[_0x35fc('0x30')],_0x134dfa['filters']),_0x451f0c);if(_0x383837[_0x35fc('0x30')]['filter']){_0x3735da[_0x35fc('0x3b')]=_[_0x35fc('0x3c')](_0x3735da[_0x35fc('0x3b')],{'$or':_[_0x35fc('0x2f')](_0x451f0c,function(_0x1c10e0){if(_0x1c10e0[_0x35fc('0x2c')]!==_0x35fc('0x3d')){var _0x4ec0dc={};_0x4ec0dc[_0x1c10e0[_0x35fc('0x27')]]={'$like':'%'+_0x383837[_0x35fc('0x30')]['filter']+'%'};return _0x4ec0dc;}})});}_0x3735da=_[_0x35fc('0x3c')]({},_0x3735da,_0x383837[_0x35fc('0x3e')]);var _0x1aac67={'where':_0x3735da[_0x35fc('0x3b')]};return db[_0x35fc('0x2a')][_0x35fc('0x3f')](_0x1aac67)['then'](function(_0x3f6480){_0x11ccdb[_0x35fc('0x3f')]=_0x3f6480;if(_0x383837[_0x35fc('0x30')]['includeAll']){_0x3735da[_0x35fc('0x40')]=[{'all':!![]}];}return db[_0x35fc('0x2a')]['findAll'](_0x3735da);})[_0x35fc('0x22')](function(_0x280af1){_0x11ccdb[_0x35fc('0x41')]=_0x280af1;return _0x11ccdb;})[_0x35fc('0x22')](respondWithFilteredResult(_0x9f3c8a,_0x3735da))[_0x35fc('0x42')](handleError(_0x9f3c8a,null));};exports[_0x35fc('0x43')]=function(_0x211b70,_0x3ec51f){var _0x5a7e9e={'raw':!![],'where':{'id':_0x211b70[_0x35fc('0x44')]['id']}},_0x596e83={};_0x596e83[_0x35fc('0x2e')]=_['keys'](db['Template']['rawAttributes']);_0x596e83[_0x35fc('0x30')]=_[_0x35fc('0x31')](_0x211b70['query']);_0x596e83[_0x35fc('0x32')]=_[_0x35fc('0x33')](_0x596e83[_0x35fc('0x2e')],_0x596e83[_0x35fc('0x30')]);_0x5a7e9e['attributes']=_['intersection'](_0x596e83['model'],qs['fields'](_0x211b70['query'][_0x35fc('0x35')]));_0x5a7e9e[_0x35fc('0x34')]=_0x5a7e9e['attributes'][_0x35fc('0x45')]?_0x5a7e9e['attributes']:_0x596e83[_0x35fc('0x2e')];if(_0x211b70[_0x35fc('0x30')][_0x35fc('0x46')]){_0x5a7e9e[_0x35fc('0x40')]=[{'all':!![]}];}_0x5a7e9e=_[_0x35fc('0x3c')]({},_0x5a7e9e,_0x211b70['options']);return db[_0x35fc('0x2a')][_0x35fc('0x47')](_0x5a7e9e)['then'](handleEntityNotFound(_0x3ec51f,null))[_0x35fc('0x22')](respondWithResult(_0x3ec51f,null))[_0x35fc('0x42')](handleError(_0x3ec51f,null));};exports[_0x35fc('0x48')]=function(_0x211746,_0x5bc8c3){return db[_0x35fc('0x2a')]['create'](_0x211746['body'],{})[_0x35fc('0x22')](function(_0x9db7e8){var _0x18dc78=_0x211746[_0x35fc('0x49')][_0x35fc('0x24')]({'plain':!![]});if(!_0x18dc78)throw new Error(_0x35fc('0x4a'));if(_0x18dc78[_0x35fc('0x4b')]===_0x35fc('0x49')){var _0x4f555f=_0x9db7e8[_0x35fc('0x24')]({'plain':!![]});var _0x91d7c0=_0x35fc('0x4c');return db[_0x35fc('0x4d')][_0x35fc('0x47')]({'where':{'name':_0x91d7c0,'userProfileId':_0x18dc78[_0x35fc('0x4e')]},'raw':!![]})[_0x35fc('0x22')](function(_0x347a4a){if(_0x347a4a&&_0x347a4a[_0x35fc('0x4f')]===0x0){return db[_0x35fc('0x25')][_0x35fc('0x48')]({'name':_0x4f555f[_0x35fc('0x27')],'resourceId':_0x4f555f['id'],'type':_0x347a4a[_0x35fc('0x27')],'sectionId':_0x347a4a['id']},{})[_0x35fc('0x22')](function(){return _0x9db7e8;});}else{return _0x9db7e8;}})['catch'](function(_0x553ed6){logger[_0x35fc('0x26')](_0x35fc('0x50'),_0x553ed6);throw _0x553ed6;});}return _0x9db7e8;})[_0x35fc('0x22')](respondWithResult(_0x5bc8c3,0xc9))[_0x35fc('0x42')](handleError(_0x5bc8c3,null));};exports[_0x35fc('0x21')]=function(_0x3e6494,_0x4a4798){if(_0x3e6494['body']['id']){delete _0x3e6494[_0x35fc('0x51')]['id'];}return db[_0x35fc('0x2a')][_0x35fc('0x47')]({'where':{'id':_0x3e6494[_0x35fc('0x44')]['id']}})['then'](handleEntityNotFound(_0x4a4798,null))[_0x35fc('0x22')](saveUpdates(_0x3e6494[_0x35fc('0x51')],null))['then'](respondWithResult(_0x4a4798,null))[_0x35fc('0x42')](handleError(_0x4a4798,null));};exports[_0x35fc('0x23')]=function(_0x590faa,_0x3e12e4){return db[_0x35fc('0x2a')][_0x35fc('0x47')]({'where':{'id':_0x590faa[_0x35fc('0x44')]['id']}})['then'](handleEntityNotFound(_0x3e12e4,null))['then'](removeEntity(_0x3e12e4,null))['catch'](handleError(_0x3e12e4,null));};