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 _0x4429=['moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','apply','update','then','destroy','get','Templates','UserProfileResource','error','stack','name','send','map','Template','rawAttributes','fieldName','type','model','keys','query','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','findAll','catch','includeAll','include','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise'];(function(_0x19e1d1,_0x9446e){var _0x4045b8=function(_0x2162ae){while(--_0x2162ae){_0x19e1d1['push'](_0x19e1d1['shift']());}};_0x4045b8(++_0x9446e);}(_0x4429,0xee));var _0x9442=function(_0x2bcd63,_0x3a8d78){_0x2bcd63=_0x2bcd63-0x0;var _0x1062de=_0x4429[_0x2bcd63];return _0x1062de;};'use strict';var pdf=require(_0x9442('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x9442('0x1'));var zipdir=require(_0x9442('0x2'));var jsonpatch=require(_0x9442('0x3'));var rp=require(_0x9442('0x4'));var moment=require(_0x9442('0x5'));var BPromise=require(_0x9442('0x6'));var Mustache=require(_0x9442('0x7'));var util=require(_0x9442('0x8'));var path=require(_0x9442('0x9'));var sox=require(_0x9442('0xa'));var csv=require(_0x9442('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x9442('0xc'));var squel=require(_0x9442('0xd'));var crypto=require(_0x9442('0xe'));var jsforce=require(_0x9442('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x9442('0xb'));var querystring=require(_0x9442('0x10'));var Papa=require(_0x9442('0x11'));var Redis=require(_0x9442('0x12'));var authService=require(_0x9442('0x13'));var qs=require(_0x9442('0x14'));var as=require(_0x9442('0x15'));var hardwareService=require(_0x9442('0x16'));var logger=require(_0x9442('0x17'))(_0x9442('0x18'));var utils=require(_0x9442('0x19'));var config=require('../../config/environment');var db=require(_0x9442('0x1a'))['db'];function respondWithStatusCode(_0x150c1c,_0x5c2b45){_0x5c2b45=_0x5c2b45||0xcc;return function(_0x1f0be8){if(_0x1f0be8){return _0x150c1c[_0x9442('0x1b')](_0x5c2b45);}return _0x150c1c[_0x9442('0x1c')](_0x5c2b45)[_0x9442('0x1d')]();};}function respondWithResult(_0x17c7d9,_0x184e7c){_0x184e7c=_0x184e7c||0xc8;return function(_0x3f217f){if(_0x3f217f){return _0x17c7d9['status'](_0x184e7c)['json'](_0x3f217f);}};}function respondWithFilteredResult(_0x1efa20,_0x31d77d){return function(_0x72424a){if(_0x72424a){var _0x1472a0=_0x72424a[_0x9442('0x1e')],_0x74942c=_0x31d77d[_0x9442('0x1f')],_0x1f90f8=_0x31d77d[_0x9442('0x1f')]+_0x31d77d[_0x9442('0x20')],_0x4d95f3;if(_0x1f90f8>=_0x1472a0){_0x1f90f8=_0x1472a0;_0x4d95f3=0xc8;}else{_0x4d95f3=0xce;}_0x1efa20[_0x9442('0x1c')](_0x4d95f3);return _0x1efa20[_0x9442('0x21')](_0x9442('0x22'),_0x74942c+'-'+_0x1f90f8+'/'+_0x1472a0)['json'](_0x72424a);}return null;};}function patchUpdates(_0x5d316f){return function(_0x4bd488){try{jsonpatch[_0x9442('0x23')](_0x4bd488,_0x5d316f,!![]);}catch(_0x2347eb){return BPromise['reject'](_0x2347eb);}return _0x4bd488['save']();};}function saveUpdates(_0x2beeb3,_0x408893){return function(_0x4353cd){if(_0x4353cd){return _0x4353cd[_0x9442('0x24')](_0x2beeb3)[_0x9442('0x25')](function(_0x12cba4){return _0x12cba4;});}return null;};}function removeEntity(_0x1e84bb,_0x2eba6b){return function(_0xfc0148){if(_0xfc0148){return _0xfc0148[_0x9442('0x26')]()['then'](function(){var _0x1cf10e=_0xfc0148[_0x9442('0x27')]({'plain':!![]});var _0x439dee=_0x9442('0x28');return db[_0x9442('0x29')][_0x9442('0x26')]({'where':{'type':_0x439dee,'resourceId':_0x1cf10e['id']}})[_0x9442('0x25')](function(){return _0xfc0148;});})[_0x9442('0x25')](function(){_0x1e84bb[_0x9442('0x1c')](0xcc)[_0x9442('0x1d')]();});}};}function handleEntityNotFound(_0x5b9da9,_0x224960){return function(_0x5bc3f3){if(!_0x5bc3f3){_0x5b9da9[_0x9442('0x1b')](0x194);}return _0x5bc3f3;};}function handleError(_0x225061,_0x553641){_0x553641=_0x553641||0x1f4;return function(_0xa915a1){logger[_0x9442('0x2a')](_0xa915a1[_0x9442('0x2b')]);if(_0xa915a1[_0x9442('0x2c')]){delete _0xa915a1[_0x9442('0x2c')];}_0x225061[_0x9442('0x1c')](_0x553641)[_0x9442('0x2d')](_0xa915a1);};}exports['index']=function(_0x260ea4,_0x48a9f0){var _0x2af217={},_0x3097cd={},_0x262899={'count':0x0,'rows':[]};var _0x10896e=_[_0x9442('0x2e')](db[_0x9442('0x2f')][_0x9442('0x30')],function(_0x442d82){return{'name':_0x442d82[_0x9442('0x31')],'type':_0x442d82[_0x9442('0x32')]['key']};});_0x3097cd[_0x9442('0x33')]=_[_0x9442('0x2e')](_0x10896e,_0x9442('0x2c'));_0x3097cd['query']=_[_0x9442('0x34')](_0x260ea4[_0x9442('0x35')]);_0x3097cd[_0x9442('0x36')]=_[_0x9442('0x37')](_0x3097cd[_0x9442('0x33')],_0x3097cd[_0x9442('0x35')]);_0x2af217[_0x9442('0x38')]=_[_0x9442('0x37')](_0x3097cd[_0x9442('0x33')],qs[_0x9442('0x39')](_0x260ea4['query'][_0x9442('0x39')]));_0x2af217['attributes']=_0x2af217[_0x9442('0x38')][_0x9442('0x3a')]?_0x2af217['attributes']:_0x3097cd[_0x9442('0x33')];if(!_0x260ea4[_0x9442('0x35')]['hasOwnProperty'](_0x9442('0x3b'))){_0x2af217[_0x9442('0x20')]=qs[_0x9442('0x20')](_0x260ea4[_0x9442('0x35')][_0x9442('0x20')]);_0x2af217[_0x9442('0x1f')]=qs[_0x9442('0x1f')](_0x260ea4[_0x9442('0x35')]['offset']);}_0x2af217[_0x9442('0x3c')]=qs[_0x9442('0x3d')](_0x260ea4[_0x9442('0x35')]['sort']);_0x2af217[_0x9442('0x3e')]=qs[_0x9442('0x36')](_[_0x9442('0x3f')](_0x260ea4['query'],_0x3097cd[_0x9442('0x36')]),_0x10896e);if(_0x260ea4['query'][_0x9442('0x40')]){_0x2af217[_0x9442('0x3e')]=_[_0x9442('0x41')](_0x2af217[_0x9442('0x3e')],{'$or':_[_0x9442('0x2e')](_0x10896e,function(_0x42a247){if(_0x42a247[_0x9442('0x32')]!==_0x9442('0x42')){var _0x207619={};_0x207619[_0x42a247[_0x9442('0x2c')]]={'$like':'%'+_0x260ea4[_0x9442('0x35')]['filter']+'%'};return _0x207619;}})});}_0x2af217=_[_0x9442('0x41')]({},_0x2af217,_0x260ea4['options']);var _0x4a5d78={'where':_0x2af217[_0x9442('0x3e')]};return db[_0x9442('0x2f')][_0x9442('0x1e')](_0x4a5d78)[_0x9442('0x25')](function(_0x47390b){_0x262899[_0x9442('0x1e')]=_0x47390b;if(_0x260ea4[_0x9442('0x35')]['includeAll']){_0x2af217['include']=[{'all':!![]}];}return db[_0x9442('0x2f')][_0x9442('0x43')](_0x2af217);})[_0x9442('0x25')](function(_0xb3de6f){_0x262899['rows']=_0xb3de6f;return _0x262899;})['then'](respondWithFilteredResult(_0x48a9f0,_0x2af217))[_0x9442('0x44')](handleError(_0x48a9f0,null));};exports['show']=function(_0x26654a,_0x2f6bba){var _0x1d716b={'raw':!![],'where':{'id':_0x26654a['params']['id']}},_0xb9698e={};_0xb9698e[_0x9442('0x33')]=_[_0x9442('0x34')](db[_0x9442('0x2f')]['rawAttributes']);_0xb9698e[_0x9442('0x35')]=_[_0x9442('0x34')](_0x26654a['query']);_0xb9698e[_0x9442('0x36')]=_[_0x9442('0x37')](_0xb9698e['model'],_0xb9698e[_0x9442('0x35')]);_0x1d716b[_0x9442('0x38')]=_[_0x9442('0x37')](_0xb9698e[_0x9442('0x33')],qs[_0x9442('0x39')](_0x26654a[_0x9442('0x35')]['fields']));_0x1d716b[_0x9442('0x38')]=_0x1d716b[_0x9442('0x38')]['length']?_0x1d716b[_0x9442('0x38')]:_0xb9698e['model'];if(_0x26654a['query'][_0x9442('0x45')]){_0x1d716b[_0x9442('0x46')]=[{'all':!![]}];}_0x1d716b=_[_0x9442('0x41')]({},_0x1d716b,_0x26654a['options']);return db[_0x9442('0x2f')][_0x9442('0x47')](_0x1d716b)['then'](handleEntityNotFound(_0x2f6bba,null))[_0x9442('0x25')](respondWithResult(_0x2f6bba,null))['catch'](handleError(_0x2f6bba,null));};exports[_0x9442('0x48')]=function(_0x3fdf55,_0x25f767){return db[_0x9442('0x2f')][_0x9442('0x48')](_0x3fdf55[_0x9442('0x49')],{})[_0x9442('0x25')](function(_0x2f0746){var _0x21df0f=_0x3fdf55['user'][_0x9442('0x27')]({'plain':!![]});if(!_0x21df0f)throw new Error(_0x9442('0x4a'));if(_0x21df0f[_0x9442('0x4b')]===_0x9442('0x4c')){var _0x2d019c=_0x2f0746[_0x9442('0x27')]({'plain':!![]});var _0x3c9c83=_0x9442('0x28');return db[_0x9442('0x4d')][_0x9442('0x47')]({'where':{'name':_0x3c9c83,'userProfileId':_0x21df0f[_0x9442('0x4e')]},'raw':!![]})[_0x9442('0x25')](function(_0x4d87ce){if(_0x4d87ce&&_0x4d87ce['autoAssociation']===0x0){return db[_0x9442('0x29')]['create']({'name':_0x2d019c[_0x9442('0x2c')],'resourceId':_0x2d019c['id'],'type':_0x4d87ce[_0x9442('0x2c')],'sectionId':_0x4d87ce['id']},{})['then'](function(){return _0x2f0746;});}else{return _0x2f0746;}})[_0x9442('0x44')](function(_0x486ebd){logger[_0x9442('0x2a')](_0x9442('0x4f'),_0x486ebd);throw _0x486ebd;});}return _0x2f0746;})[_0x9442('0x25')](respondWithResult(_0x25f767,0xc9))[_0x9442('0x44')](handleError(_0x25f767,null));};exports[_0x9442('0x24')]=function(_0x49dd6f,_0x146c17){if(_0x49dd6f['body']['id']){delete _0x49dd6f[_0x9442('0x49')]['id'];}return db[_0x9442('0x2f')][_0x9442('0x47')]({'where':{'id':_0x49dd6f['params']['id']}})[_0x9442('0x25')](handleEntityNotFound(_0x146c17,null))[_0x9442('0x25')](saveUpdates(_0x49dd6f[_0x9442('0x49')],null))[_0x9442('0x25')](respondWithResult(_0x146c17,null))[_0x9442('0x44')](handleError(_0x146c17,null));};exports[_0x9442('0x26')]=function(_0x51878f,_0x50695b){return db[_0x9442('0x2f')][_0x9442('0x47')]({'where':{'id':_0x51878f[_0x9442('0x50')]['id']}})[_0x9442('0x25')](handleEntityNotFound(_0x50695b,null))[_0x9442('0x25')](removeEntity(_0x50695b,null))[_0x9442('0x44')](handleError(_0x50695b,null));};