Built motion from commit (unavailable).|2.5.3
[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 _0x2d14=['Templates','UserProfileSection','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','sendStatus','end','status','json','count','limit','Content-Range','apply','reject','save','update','destroy','then','get','UserProfileResource','error','stack','name','send','index','map','Template','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','length','hasOwnProperty','nolimit','offset','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','keys','fields','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role'];(function(_0x292423,_0x1759b7){var _0x2801cb=function(_0x23c821){while(--_0x23c821){_0x292423['push'](_0x292423['shift']());}};_0x2801cb(++_0x1759b7);}(_0x2d14,0xa3));var _0x42d1=function(_0x3a1a1b,_0xc60a8c){_0x3a1a1b=_0x3a1a1b-0x0;var _0x52c3e6=_0x2d14[_0x3a1a1b];return _0x52c3e6;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x42d1('0x0'));var rp=require(_0x42d1('0x1'));var moment=require(_0x42d1('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x42d1('0x3'));var util=require(_0x42d1('0x4'));var path=require(_0x42d1('0x5'));var sox=require(_0x42d1('0x6'));var csv=require(_0x42d1('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x42d1('0x8'));var squel=require(_0x42d1('0x9'));var crypto=require(_0x42d1('0xa'));var jsforce=require(_0x42d1('0xb'));var deskjs=require(_0x42d1('0xc'));var toCsv=require('to-csv');var querystring=require(_0x42d1('0xd'));var Papa=require('papaparse');var Redis=require(_0x42d1('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x42d1('0xf'));var as=require(_0x42d1('0x10'));var hardwareService=require(_0x42d1('0x11'));var logger=require(_0x42d1('0x12'))('api');var utils=require(_0x42d1('0x13'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x31745e,_0x2cd8c4){_0x2cd8c4=_0x2cd8c4||0xcc;return function(_0x2c57de){if(_0x2c57de){return _0x31745e[_0x42d1('0x14')](_0x2cd8c4);}return _0x31745e['status'](_0x2cd8c4)[_0x42d1('0x15')]();};}function respondWithResult(_0x3ca119,_0x2b60b8){_0x2b60b8=_0x2b60b8||0xc8;return function(_0x367863){if(_0x367863){return _0x3ca119[_0x42d1('0x16')](_0x2b60b8)[_0x42d1('0x17')](_0x367863);}};}function respondWithFilteredResult(_0x14e0f1,_0x199bbc){return function(_0x9bdda){if(_0x9bdda){var _0xb4005d=_0x9bdda[_0x42d1('0x18')],_0x54930b=_0x199bbc['offset'],_0x53663c=_0x199bbc['offset']+_0x199bbc[_0x42d1('0x19')],_0x521c8f;if(_0x53663c>=_0xb4005d){_0x53663c=_0xb4005d;_0x521c8f=0xc8;}else{_0x521c8f=0xce;}_0x14e0f1['status'](_0x521c8f);return _0x14e0f1['set'](_0x42d1('0x1a'),_0x54930b+'-'+_0x53663c+'/'+_0xb4005d)[_0x42d1('0x17')](_0x9bdda);}return null;};}function patchUpdates(_0x35cab2){return function(_0x229428){try{jsonpatch[_0x42d1('0x1b')](_0x229428,_0x35cab2,!![]);}catch(_0x24d060){return BPromise[_0x42d1('0x1c')](_0x24d060);}return _0x229428[_0x42d1('0x1d')]();};}function saveUpdates(_0x3eda87,_0x2539b5){return function(_0x3683f8){if(_0x3683f8){return _0x3683f8[_0x42d1('0x1e')](_0x3eda87)['then'](function(_0xa7f3c7){return _0xa7f3c7;});}return null;};}function removeEntity(_0x28c783,_0x1850bb){return function(_0x3837ff){if(_0x3837ff){return _0x3837ff[_0x42d1('0x1f')]()[_0x42d1('0x20')](function(){var _0x53e3ba=_0x3837ff[_0x42d1('0x21')]({'plain':!![]});var _0x194ea5='Templates';return db[_0x42d1('0x22')][_0x42d1('0x1f')]({'where':{'type':_0x194ea5,'resourceId':_0x53e3ba['id']}})['then'](function(){return _0x3837ff;});})[_0x42d1('0x20')](function(){_0x28c783[_0x42d1('0x16')](0xcc)[_0x42d1('0x15')]();});}};}function handleEntityNotFound(_0x518916,_0x1cef42){return function(_0x3fc0bd){if(!_0x3fc0bd){_0x518916[_0x42d1('0x14')](0x194);}return _0x3fc0bd;};}function handleError(_0x1a76c2,_0x4be59f){_0x4be59f=_0x4be59f||0x1f4;return function(_0x284c55){logger[_0x42d1('0x23')](_0x284c55[_0x42d1('0x24')]);if(_0x284c55[_0x42d1('0x25')]){delete _0x284c55[_0x42d1('0x25')];}_0x1a76c2[_0x42d1('0x16')](_0x4be59f)[_0x42d1('0x26')](_0x284c55);};}exports[_0x42d1('0x27')]=function(_0x46d355,_0x36a778){var _0x832c16={},_0x54c85f={},_0x5dbd0a={'count':0x0,'rows':[]};var _0x3bedfd=_[_0x42d1('0x28')](db[_0x42d1('0x29')][_0x42d1('0x2a')],function(_0x5abe76){return{'name':_0x5abe76[_0x42d1('0x2b')],'type':_0x5abe76[_0x42d1('0x2c')][_0x42d1('0x2d')]};});_0x54c85f[_0x42d1('0x2e')]=_['map'](_0x3bedfd,'name');_0x54c85f['query']=_['keys'](_0x46d355[_0x42d1('0x2f')]);_0x54c85f[_0x42d1('0x30')]=_[_0x42d1('0x31')](_0x54c85f[_0x42d1('0x2e')],_0x54c85f[_0x42d1('0x2f')]);_0x832c16[_0x42d1('0x32')]=_['intersection'](_0x54c85f[_0x42d1('0x2e')],qs['fields'](_0x46d355[_0x42d1('0x2f')]['fields']));_0x832c16[_0x42d1('0x32')]=_0x832c16[_0x42d1('0x32')][_0x42d1('0x33')]?_0x832c16['attributes']:_0x54c85f[_0x42d1('0x2e')];if(!_0x46d355[_0x42d1('0x2f')][_0x42d1('0x34')](_0x42d1('0x35'))){_0x832c16[_0x42d1('0x19')]=qs[_0x42d1('0x19')](_0x46d355[_0x42d1('0x2f')][_0x42d1('0x19')]);_0x832c16[_0x42d1('0x36')]=qs[_0x42d1('0x36')](_0x46d355[_0x42d1('0x2f')][_0x42d1('0x36')]);}_0x832c16['order']=qs[_0x42d1('0x37')](_0x46d355['query'][_0x42d1('0x37')]);_0x832c16[_0x42d1('0x38')]=qs[_0x42d1('0x30')](_[_0x42d1('0x39')](_0x46d355[_0x42d1('0x2f')],_0x54c85f[_0x42d1('0x30')]),_0x3bedfd);if(_0x46d355['query'][_0x42d1('0x3a')]){_0x832c16[_0x42d1('0x38')]=_[_0x42d1('0x3b')](_0x832c16[_0x42d1('0x38')],{'$or':_[_0x42d1('0x28')](_0x3bedfd,function(_0x58fa29){if(_0x58fa29[_0x42d1('0x2c')]!==_0x42d1('0x3c')){var _0x15e3d0={};_0x15e3d0[_0x58fa29[_0x42d1('0x25')]]={'$like':'%'+_0x46d355[_0x42d1('0x2f')][_0x42d1('0x3a')]+'%'};return _0x15e3d0;}})});}_0x832c16=_['merge']({},_0x832c16,_0x46d355[_0x42d1('0x3d')]);var _0x39192b={'where':_0x832c16[_0x42d1('0x38')]};return db['Template'][_0x42d1('0x18')](_0x39192b)[_0x42d1('0x20')](function(_0xf6abf1){_0x5dbd0a[_0x42d1('0x18')]=_0xf6abf1;if(_0x46d355[_0x42d1('0x2f')][_0x42d1('0x3e')]){_0x832c16[_0x42d1('0x3f')]=[{'all':!![]}];}return db[_0x42d1('0x29')][_0x42d1('0x40')](_0x832c16);})[_0x42d1('0x20')](function(_0x14f93b){_0x5dbd0a[_0x42d1('0x41')]=_0x14f93b;return _0x5dbd0a;})[_0x42d1('0x20')](respondWithFilteredResult(_0x36a778,_0x832c16))[_0x42d1('0x42')](handleError(_0x36a778,null));};exports[_0x42d1('0x43')]=function(_0x329248,_0x2aa255){var _0x28288={'raw':!![],'where':{'id':_0x329248[_0x42d1('0x44')]['id']}},_0x6eb208={};_0x6eb208[_0x42d1('0x2e')]=_[_0x42d1('0x45')](db['Template'][_0x42d1('0x2a')]);_0x6eb208[_0x42d1('0x2f')]=_[_0x42d1('0x45')](_0x329248['query']);_0x6eb208[_0x42d1('0x30')]=_[_0x42d1('0x31')](_0x6eb208['model'],_0x6eb208[_0x42d1('0x2f')]);_0x28288[_0x42d1('0x32')]=_[_0x42d1('0x31')](_0x6eb208['model'],qs[_0x42d1('0x46')](_0x329248['query'][_0x42d1('0x46')]));_0x28288[_0x42d1('0x32')]=_0x28288[_0x42d1('0x32')][_0x42d1('0x33')]?_0x28288[_0x42d1('0x32')]:_0x6eb208['model'];if(_0x329248[_0x42d1('0x2f')][_0x42d1('0x3e')]){_0x28288[_0x42d1('0x3f')]=[{'all':!![]}];}_0x28288=_['merge']({},_0x28288,_0x329248['options']);return db[_0x42d1('0x29')][_0x42d1('0x47')](_0x28288)[_0x42d1('0x20')](handleEntityNotFound(_0x2aa255,null))['then'](respondWithResult(_0x2aa255,null))[_0x42d1('0x42')](handleError(_0x2aa255,null));};exports[_0x42d1('0x48')]=function(_0xfab541,_0x1aea67){return db['Template']['create'](_0xfab541[_0x42d1('0x49')],{})[_0x42d1('0x20')](function(_0x30ff71){var _0x2697df=_0xfab541[_0x42d1('0x4a')]['get']({'plain':!![]});if(!_0x2697df)throw new Error(_0x42d1('0x4b'));if(_0x2697df[_0x42d1('0x4c')]===_0x42d1('0x4a')){var _0x4ebfd5=_0x30ff71[_0x42d1('0x21')]({'plain':!![]});var _0x16a7fc=_0x42d1('0x4d');return db[_0x42d1('0x4e')][_0x42d1('0x47')]({'where':{'name':_0x16a7fc,'userProfileId':_0x2697df['userProfileId']},'raw':!![]})['then'](function(_0x1979f7){if(_0x1979f7&&_0x1979f7['autoAssociation']===0x0){return db[_0x42d1('0x22')][_0x42d1('0x48')]({'name':_0x4ebfd5['name'],'resourceId':_0x4ebfd5['id'],'type':_0x1979f7[_0x42d1('0x25')],'sectionId':_0x1979f7['id']},{})[_0x42d1('0x20')](function(){return _0x30ff71;});}else{return _0x30ff71;}})['catch'](function(_0x467136){logger[_0x42d1('0x23')](_0x42d1('0x4f'),_0x467136);throw _0x467136;});}return _0x30ff71;})[_0x42d1('0x20')](respondWithResult(_0x1aea67,0xc9))[_0x42d1('0x42')](handleError(_0x1aea67,null));};exports[_0x42d1('0x1e')]=function(_0x569718,_0x58a017){if(_0x569718[_0x42d1('0x49')]['id']){delete _0x569718[_0x42d1('0x49')]['id'];}return db[_0x42d1('0x29')]['find']({'where':{'id':_0x569718['params']['id']}})['then'](handleEntityNotFound(_0x58a017,null))['then'](saveUpdates(_0x569718[_0x42d1('0x49')],null))[_0x42d1('0x20')](respondWithResult(_0x58a017,null))[_0x42d1('0x42')](handleError(_0x58a017,null));};exports[_0x42d1('0x1f')]=function(_0x3517f3,_0x365f48){return db[_0x42d1('0x29')]['find']({'where':{'id':_0x3517f3[_0x42d1('0x44')]['id']}})['then'](handleEntityNotFound(_0x365f48,null))[_0x42d1('0x20')](removeEntity(_0x365f48,null))[_0x42d1('0x42')](handleError(_0x365f48,null));};