Built motion from commit (unavailable).|2.0.81
[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 _0x976f=['sort','where','pick','add','day','filter','merge','options','includeAll','include','findAll','rows','catch','params','find','create','body','html-pdf','eml-format','rimraf','zip-dir','request-promise','bluebird','util','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../mysqldb','end','status','json','count','Content-Range','apply','reject','save','update','destroy','then','sendStatus','error','stack','name','send','index','Template','rawAttributes','model','keys','query','dateStart','dateEnd','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','offset','order'];(function(_0x57ac3b,_0x32e884){var _0x4204c9=function(_0x54a70e){while(--_0x54a70e){_0x57ac3b['push'](_0x57ac3b['shift']());}};_0x4204c9(++_0x32e884);}(_0x976f,0x121));var _0xf976=function(_0x1d3cbe,_0x5a1aca){_0x1d3cbe=_0x1d3cbe-0x0;var _0x178bea=_0x976f[_0x1d3cbe];return _0x178bea;};'use strict';var pdf=require(_0xf976('0x0'));var emlformat=require(_0xf976('0x1'));var rimraf=require(_0xf976('0x2'));var zipdir=require(_0xf976('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf976('0x4'));var moment=require('moment');var BPromise=require(_0xf976('0x5'));var Mustache=require('mustache');var util=require(_0xf976('0x6'));var path=require('path');var sox=require(_0xf976('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xf976('0x8'));var squel=require(_0xf976('0x9'));var crypto=require(_0xf976('0xa'));var jsforce=require(_0xf976('0xb'));var deskjs=require(_0xf976('0xc'));var toCsv=require(_0xf976('0xd'));var querystring=require(_0xf976('0xe'));var Papa=require(_0xf976('0xf'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0xf976('0x10'))['db'];function respondWithStatusCode(_0x23d112,_0x18a56e){_0x18a56e=_0x18a56e||0xcc;return function(_0x27bc90){if(_0x27bc90){return _0x23d112['sendStatus'](_0x18a56e);}return _0x23d112['status'](_0x18a56e)[_0xf976('0x11')]();};}function respondWithResult(_0xdef7aa,_0x2b7013){_0x2b7013=_0x2b7013||0xc8;return function(_0x4e0d97){if(_0x4e0d97){return _0xdef7aa[_0xf976('0x12')](_0x2b7013)[_0xf976('0x13')](_0x4e0d97);}};}function respondWithFilteredResult(_0x194b52,_0x18b34e){return function(_0x5459fa){if(_0x5459fa){var _0x54df01=_0x5459fa[_0xf976('0x14')],_0x46833b=_0x18b34e['offset'],_0x25cad5=_0x18b34e['offset']+_0x18b34e['limit'],_0x2cd90d;if(_0x25cad5>=_0x54df01){_0x25cad5=_0x54df01;_0x2cd90d=0xc8;}else{_0x2cd90d=0xce;}_0x194b52[_0xf976('0x12')](_0x2cd90d);return _0x194b52['set'](_0xf976('0x15'),_0x46833b+'-'+_0x25cad5+'/'+_0x54df01)['json'](_0x5459fa);}return null;};}function patchUpdates(_0x37c73f){return function(_0x213f34){try{jsonpatch[_0xf976('0x16')](_0x213f34,_0x37c73f,!![]);}catch(_0x3aba74){return BPromise[_0xf976('0x17')](_0x3aba74);}return _0x213f34[_0xf976('0x18')]();};}function saveUpdates(_0x61e5c8,_0x1550c4){return function(_0x5725c3){if(_0x5725c3){return _0x5725c3[_0xf976('0x19')](_0x61e5c8)['then'](function(_0x46aaeb){return _0x46aaeb;});}return null;};}function removeEntity(_0x356c68,_0x7d0c7d){return function(_0x2df469){if(_0x2df469){return _0x2df469[_0xf976('0x1a')]()[_0xf976('0x1b')](function(){_0x356c68['status'](0xcc)[_0xf976('0x11')]();});}};}function handleEntityNotFound(_0x217f5b,_0x526cca){return function(_0x556662){if(!_0x556662){_0x217f5b[_0xf976('0x1c')](0x194);}return _0x556662;};}function handleError(_0xe32cf0,_0x11975e){_0x11975e=_0x11975e||0x1f4;return function(_0x3c6cef){logger[_0xf976('0x1d')](_0x3c6cef[_0xf976('0x1e')]);if(_0x3c6cef[_0xf976('0x1f')]){delete _0x3c6cef[_0xf976('0x1f')];}_0xe32cf0[_0xf976('0x12')](_0x11975e)[_0xf976('0x20')](_0x3c6cef);};}exports[_0xf976('0x21')]=function(_0x4acc7e,_0x43835c){var _0xf4c2c6={},_0xc79981={},_0x1f4359={'count':0x0,'rows':[]};var _0x3cd7f0=db[_0xf976('0x22')][_0xf976('0x23')];_0xc79981[_0xf976('0x24')]=_[_0xf976('0x25')](_0x3cd7f0);var _0x34f47b={'dateStart':_0x4acc7e[_0xf976('0x26')][_0xf976('0x27')],'dateEnd':_0x4acc7e[_0xf976('0x26')][_0xf976('0x28')]};delete _0x4acc7e[_0xf976('0x26')][_0xf976('0x27')];delete _0x4acc7e[_0xf976('0x26')]['dateEnd'];_0xc79981[_0xf976('0x26')]=_[_0xf976('0x25')](_0x4acc7e['query']);_0xc79981[_0xf976('0x29')]=_[_0xf976('0x2a')](_0xc79981['model'],_0xc79981['query']);_0xf4c2c6[_0xf976('0x2b')]=_[_0xf976('0x2a')](_0xc79981[_0xf976('0x24')],qs[_0xf976('0x2c')](_0x4acc7e[_0xf976('0x26')][_0xf976('0x2c')]));_0xf4c2c6[_0xf976('0x2b')]=_0xf4c2c6['attributes'][_0xf976('0x2d')]?_0xf4c2c6[_0xf976('0x2b')]:_0xc79981[_0xf976('0x24')];if(!_0x4acc7e[_0xf976('0x26')][_0xf976('0x2e')](_0xf976('0x2f'))){_0xf4c2c6[_0xf976('0x30')]=qs[_0xf976('0x30')](_0x4acc7e[_0xf976('0x26')]['limit']);_0xf4c2c6[_0xf976('0x31')]=qs[_0xf976('0x31')](_0x4acc7e[_0xf976('0x26')]['offset']);}_0xf4c2c6[_0xf976('0x32')]=qs[_0xf976('0x33')](_0x4acc7e[_0xf976('0x26')]['sort']);_0xf4c2c6[_0xf976('0x34')]=qs[_0xf976('0x29')](_[_0xf976('0x35')](_0x4acc7e['query'],_0xc79981[_0xf976('0x29')]));if(_0x34f47b[_0xf976('0x27')]){if(_0x34f47b[_0xf976('0x28')]){_0x34f47b[_0xf976('0x28')]=moment(_0x34f47b['dateEnd'])[_0xf976('0x36')](0x1,_0xf976('0x37'));}else{_0x34f47b[_0xf976('0x28')]=moment(_0x34f47b[_0xf976('0x27')])[_0xf976('0x36')](0x1,'day');}_['merge'](_0xf4c2c6[_0xf976('0x34')],{'createdAt':{'$gte':_0x34f47b['dateStart'],'$lte':_0x34f47b[_0xf976('0x28')]}});}if(_0x4acc7e[_0xf976('0x26')][_0xf976('0x38')]){_0xf4c2c6[_0xf976('0x34')]=_[_0xf976('0x39')](_0xf4c2c6[_0xf976('0x34')],{'$or':_['map'](_0xf4c2c6['attributes'],function(_0x218195){var _0x1f801e={};_0x1f801e[_0x218195]={'$like':'%'+_0x4acc7e[_0xf976('0x26')][_0xf976('0x38')]+'%'};return _0x1f801e;})});}_0xf4c2c6=_[_0xf976('0x39')]({},_0xf4c2c6,_0x4acc7e[_0xf976('0x3a')]);var _0x2325f0={'where':_0xf4c2c6[_0xf976('0x34')]};return db[_0xf976('0x22')][_0xf976('0x14')](_0x2325f0)[_0xf976('0x1b')](function(_0x1bacb1){_0x1f4359[_0xf976('0x14')]=_0x1bacb1;if(_0x4acc7e[_0xf976('0x26')][_0xf976('0x3b')]){_0xf4c2c6[_0xf976('0x3c')]=[{'all':!![]}];}return db[_0xf976('0x22')][_0xf976('0x3d')](_0xf4c2c6);})[_0xf976('0x1b')](function(_0x19d813){_0x1f4359[_0xf976('0x3e')]=_0x19d813;return _0x1f4359;})[_0xf976('0x1b')](respondWithFilteredResult(_0x43835c,_0xf4c2c6))[_0xf976('0x3f')](handleError(_0x43835c,null));};exports['show']=function(_0x29f5ca,_0x2322fa){var _0x5b6a64={'raw':!![],'where':{'id':_0x29f5ca[_0xf976('0x40')]['id']}},_0x3b9222={};_0x3b9222[_0xf976('0x24')]=_[_0xf976('0x25')](db['Template'][_0xf976('0x23')]);_0x3b9222['query']=_[_0xf976('0x25')](_0x29f5ca['query']);_0x3b9222[_0xf976('0x29')]=_['intersection'](_0x3b9222[_0xf976('0x24')],_0x3b9222[_0xf976('0x26')]);_0x5b6a64[_0xf976('0x2b')]=_['intersection'](_0x3b9222[_0xf976('0x24')],qs[_0xf976('0x2c')](_0x29f5ca[_0xf976('0x26')]['fields']));_0x5b6a64[_0xf976('0x2b')]=_0x5b6a64[_0xf976('0x2b')][_0xf976('0x2d')]?_0x5b6a64['attributes']:_0x3b9222[_0xf976('0x24')];if(_0x29f5ca[_0xf976('0x26')]['includeAll']){_0x5b6a64[_0xf976('0x3c')]=[{'all':!![]}];}_0x5b6a64=_[_0xf976('0x39')]({},_0x5b6a64,_0x29f5ca[_0xf976('0x3a')]);return db[_0xf976('0x22')][_0xf976('0x41')](_0x5b6a64)[_0xf976('0x1b')](handleEntityNotFound(_0x2322fa,null))[_0xf976('0x1b')](respondWithResult(_0x2322fa,null))[_0xf976('0x3f')](handleError(_0x2322fa,null));};exports[_0xf976('0x42')]=function(_0x167d09,_0x597f34){return db['Template'][_0xf976('0x42')](_0x167d09[_0xf976('0x43')],{})[_0xf976('0x1b')](respondWithResult(_0x597f34,0xc9))['catch'](handleError(_0x597f34,null));};exports[_0xf976('0x19')]=function(_0x33be30,_0x1536a9){if(_0x33be30['body']['id']){delete _0x33be30[_0xf976('0x43')]['id'];}return db['Template'][_0xf976('0x41')]({'where':{'id':_0x33be30[_0xf976('0x40')]['id']}})[_0xf976('0x1b')](handleEntityNotFound(_0x1536a9,null))['then'](saveUpdates(_0x33be30[_0xf976('0x43')],null))['then'](respondWithResult(_0x1536a9,null))['catch'](handleError(_0x1536a9,null));};exports[_0xf976('0x1a')]=function(_0x3d46a6,_0x296f31){return db['Template'][_0xf976('0x41')]({'where':{'id':_0x3d46a6[_0xf976('0x40')]['id']}})['then'](handleEntityNotFound(_0x296f31,null))['then'](removeEntity(_0x296f31,null))[_0xf976('0x3f')](handleError(_0x296f31,null));};