Built motion from commit (unavailable).|2.4.4
[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 _0x4f6c=['then','get','Templates','UserProfileResource','end','stack','name','send','index','Template','rawAttributes','keys','query','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','merge','type','key','VIRTUAL','field','filter','options','include','findAll','rows','catch','params','includeAll','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','destroy','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','json','count','offset','limit','status','set','Content-Range','apply','reject','save','update'];(function(_0x3baac7,_0x477ad0){var _0x420f66=function(_0x43f5a4){while(--_0x43f5a4){_0x3baac7['push'](_0x3baac7['shift']());}};_0x420f66(++_0x477ad0);}(_0x4f6c,0x176));var _0xc4f6=function(_0x25f8be,_0x1df9e3){_0x25f8be=_0x25f8be-0x0;var _0x446ac9=_0x4f6c[_0x25f8be];return _0x446ac9;};'use strict';var pdf=require(_0xc4f6('0x0'));var emlformat=require(_0xc4f6('0x1'));var rimraf=require(_0xc4f6('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc4f6('0x3'));var rp=require(_0xc4f6('0x4'));var moment=require(_0xc4f6('0x5'));var BPromise=require(_0xc4f6('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0xc4f6('0x7'));var sox=require('sox');var csv=require(_0xc4f6('0x8'));var ejs=require(_0xc4f6('0x9'));var fs=require('fs');var _=require(_0xc4f6('0xa'));var squel=require(_0xc4f6('0xb'));var crypto=require(_0xc4f6('0xc'));var jsforce=require(_0xc4f6('0xd'));var deskjs=require(_0xc4f6('0xe'));var toCsv=require(_0xc4f6('0x8'));var querystring=require('querystring');var Papa=require(_0xc4f6('0xf'));var Redis=require(_0xc4f6('0x10'));var authService=require(_0xc4f6('0x11'));var qs=require(_0xc4f6('0x12'));var hardwareService=require(_0xc4f6('0x13'));var logger=require(_0xc4f6('0x14'))('api');var utils=require(_0xc4f6('0x15'));var config=require(_0xc4f6('0x16'));var db=require(_0xc4f6('0x17'))['db'];function respondWithStatusCode(_0x5c9ba0,_0x5f4ae4){_0x5f4ae4=_0x5f4ae4||0xcc;return function(_0x1ece31){if(_0x1ece31){return _0x5c9ba0[_0xc4f6('0x18')](_0x5f4ae4);}return _0x5c9ba0['status'](_0x5f4ae4)['end']();};}function respondWithResult(_0x4233f5,_0x1c194b){_0x1c194b=_0x1c194b||0xc8;return function(_0x4c36e3){if(_0x4c36e3){return _0x4233f5['status'](_0x1c194b)[_0xc4f6('0x19')](_0x4c36e3);}};}function respondWithFilteredResult(_0xa107f2,_0x275c26){return function(_0x3b227d){if(_0x3b227d){var _0x49a4cf=_0x3b227d[_0xc4f6('0x1a')],_0x189c1b=_0x275c26[_0xc4f6('0x1b')],_0x45c911=_0x275c26[_0xc4f6('0x1b')]+_0x275c26[_0xc4f6('0x1c')],_0x29c71d;if(_0x45c911>=_0x49a4cf){_0x45c911=_0x49a4cf;_0x29c71d=0xc8;}else{_0x29c71d=0xce;}_0xa107f2[_0xc4f6('0x1d')](_0x29c71d);return _0xa107f2[_0xc4f6('0x1e')](_0xc4f6('0x1f'),_0x189c1b+'-'+_0x45c911+'/'+_0x49a4cf)['json'](_0x3b227d);}return null;};}function patchUpdates(_0x1c3d9a){return function(_0x5e5326){try{jsonpatch[_0xc4f6('0x20')](_0x5e5326,_0x1c3d9a,!![]);}catch(_0x40f58b){return BPromise[_0xc4f6('0x21')](_0x40f58b);}return _0x5e5326[_0xc4f6('0x22')]();};}function saveUpdates(_0x536f7f,_0x365bb1){return function(_0x1966c6){if(_0x1966c6){return _0x1966c6[_0xc4f6('0x23')](_0x536f7f)['then'](function(_0x35181d){return _0x35181d;});}return null;};}function removeEntity(_0x2a5187,_0x3d1c10){return function(_0x2cb2f7){if(_0x2cb2f7){return _0x2cb2f7['destroy']()[_0xc4f6('0x24')](function(){var _0x19c407=_0x2cb2f7[_0xc4f6('0x25')]({'plain':!![]});var _0x192e59=_0xc4f6('0x26');return db[_0xc4f6('0x27')]['destroy']({'where':{'type':_0x192e59,'resourceId':_0x19c407['id']}})[_0xc4f6('0x24')](function(){return _0x2cb2f7;});})[_0xc4f6('0x24')](function(){_0x2a5187['status'](0xcc)[_0xc4f6('0x28')]();});}};}function handleEntityNotFound(_0x557840,_0x18976f){return function(_0x7b6edb){if(!_0x7b6edb){_0x557840['sendStatus'](0x194);}return _0x7b6edb;};}function handleError(_0xa115ee,_0x3c6dcb){_0x3c6dcb=_0x3c6dcb||0x1f4;return function(_0x38263c){logger['error'](_0x38263c[_0xc4f6('0x29')]);if(_0x38263c['name']){delete _0x38263c[_0xc4f6('0x2a')];}_0xa115ee['status'](_0x3c6dcb)[_0xc4f6('0x2b')](_0x38263c);};}exports[_0xc4f6('0x2c')]=function(_0x21b44f,_0x3c5ad8){var _0x4db790={},_0x398efe={},_0x1c0c46={'count':0x0,'rows':[]};var _0x99cf6f=db[_0xc4f6('0x2d')][_0xc4f6('0x2e')];_0x398efe['model']=_[_0xc4f6('0x2f')](_0x99cf6f);_0x398efe[_0xc4f6('0x30')]=_[_0xc4f6('0x2f')](_0x21b44f['query']);_0x398efe['filters']=_[_0xc4f6('0x31')](_0x398efe['model'],_0x398efe[_0xc4f6('0x30')]);_0x4db790[_0xc4f6('0x32')]=_['intersection'](_0x398efe[_0xc4f6('0x33')],qs[_0xc4f6('0x34')](_0x21b44f[_0xc4f6('0x30')][_0xc4f6('0x34')]));_0x4db790[_0xc4f6('0x32')]=_0x4db790['attributes'][_0xc4f6('0x35')]?_0x4db790[_0xc4f6('0x32')]:_0x398efe[_0xc4f6('0x33')];if(!_0x21b44f[_0xc4f6('0x30')][_0xc4f6('0x36')](_0xc4f6('0x37'))){_0x4db790[_0xc4f6('0x1c')]=qs['limit'](_0x21b44f[_0xc4f6('0x30')][_0xc4f6('0x1c')]);_0x4db790[_0xc4f6('0x1b')]=qs['offset'](_0x21b44f[_0xc4f6('0x30')][_0xc4f6('0x1b')]);}_0x4db790[_0xc4f6('0x38')]=qs['sort'](_0x21b44f[_0xc4f6('0x30')][_0xc4f6('0x39')]);_0x4db790[_0xc4f6('0x3a')]=qs['filters'](_['pick'](_0x21b44f[_0xc4f6('0x30')],_0x398efe[_0xc4f6('0x3b')]));if(_0x21b44f[_0xc4f6('0x30')]['filter']){_0x4db790[_0xc4f6('0x3a')]=_[_0xc4f6('0x3c')](_0x4db790['where'],{'$or':_['map'](_0x99cf6f,function(_0x54658b){if(_0x54658b[_0xc4f6('0x3d')][_0xc4f6('0x3e')]!==_0xc4f6('0x3f')){var _0x4ed4a6={};_0x4ed4a6[_0x54658b[_0xc4f6('0x40')]]={'$like':'%'+_0x21b44f[_0xc4f6('0x30')][_0xc4f6('0x41')]+'%'};return _0x4ed4a6;}})});}_0x4db790=_[_0xc4f6('0x3c')]({},_0x4db790,_0x21b44f[_0xc4f6('0x42')]);var _0x274c7f={'where':_0x4db790[_0xc4f6('0x3a')]};return db[_0xc4f6('0x2d')][_0xc4f6('0x1a')](_0x274c7f)[_0xc4f6('0x24')](function(_0x1f8338){_0x1c0c46[_0xc4f6('0x1a')]=_0x1f8338;if(_0x21b44f[_0xc4f6('0x30')]['includeAll']){_0x4db790[_0xc4f6('0x43')]=[{'all':!![]}];}return db[_0xc4f6('0x2d')][_0xc4f6('0x44')](_0x4db790);})[_0xc4f6('0x24')](function(_0x592d11){_0x1c0c46[_0xc4f6('0x45')]=_0x592d11;return _0x1c0c46;})['then'](respondWithFilteredResult(_0x3c5ad8,_0x4db790))[_0xc4f6('0x46')](handleError(_0x3c5ad8,null));};exports['show']=function(_0x143dbb,_0x4af12a){var _0x51b9eb={'raw':!![],'where':{'id':_0x143dbb[_0xc4f6('0x47')]['id']}},_0x460e6f={};_0x460e6f[_0xc4f6('0x33')]=_[_0xc4f6('0x2f')](db[_0xc4f6('0x2d')][_0xc4f6('0x2e')]);_0x460e6f[_0xc4f6('0x30')]=_[_0xc4f6('0x2f')](_0x143dbb[_0xc4f6('0x30')]);_0x460e6f[_0xc4f6('0x3b')]=_['intersection'](_0x460e6f[_0xc4f6('0x33')],_0x460e6f[_0xc4f6('0x30')]);_0x51b9eb[_0xc4f6('0x32')]=_[_0xc4f6('0x31')](_0x460e6f[_0xc4f6('0x33')],qs['fields'](_0x143dbb[_0xc4f6('0x30')][_0xc4f6('0x34')]));_0x51b9eb[_0xc4f6('0x32')]=_0x51b9eb[_0xc4f6('0x32')][_0xc4f6('0x35')]?_0x51b9eb['attributes']:_0x460e6f['model'];if(_0x143dbb['query'][_0xc4f6('0x48')]){_0x51b9eb[_0xc4f6('0x43')]=[{'all':!![]}];}_0x51b9eb=_['merge']({},_0x51b9eb,_0x143dbb['options']);return db[_0xc4f6('0x2d')][_0xc4f6('0x49')](_0x51b9eb)['then'](handleEntityNotFound(_0x4af12a,null))['then'](respondWithResult(_0x4af12a,null))[_0xc4f6('0x46')](handleError(_0x4af12a,null));};exports[_0xc4f6('0x4a')]=function(_0x226786,_0x799ae9){return db[_0xc4f6('0x2d')][_0xc4f6('0x4a')](_0x226786['body'],{})[_0xc4f6('0x24')](function(_0x412cf7){var _0x5238ce=_0x226786[_0xc4f6('0x4b')][_0xc4f6('0x25')]({'plain':!![]});if(!_0x5238ce)throw new Error(_0xc4f6('0x4c'));if(_0x5238ce['role']===_0xc4f6('0x4b')){var _0x53e5c0=_0x412cf7[_0xc4f6('0x25')]({'plain':!![]});var _0x857b39=_0xc4f6('0x26');return db['UserProfileSection'][_0xc4f6('0x49')]({'where':{'name':_0x857b39,'userProfileId':_0x5238ce[_0xc4f6('0x4d')]},'raw':!![]})[_0xc4f6('0x24')](function(_0x10ceff){if(_0x10ceff&&_0x10ceff['autoAssociation']===0x0){return db['UserProfileResource'][_0xc4f6('0x4a')]({'name':_0x53e5c0['name'],'resourceId':_0x53e5c0['id'],'type':_0x10ceff[_0xc4f6('0x2a')],'sectionId':_0x10ceff['id']},{})['then'](function(){return _0x412cf7;});}else{return _0x412cf7;}})['catch'](function(_0x2f84ad){logger[_0xc4f6('0x4e')](_0xc4f6('0x4f'),_0x2f84ad);throw _0x2f84ad;});}return _0x412cf7;})[_0xc4f6('0x24')](respondWithResult(_0x799ae9,0xc9))[_0xc4f6('0x46')](handleError(_0x799ae9,null));};exports[_0xc4f6('0x23')]=function(_0x4a7996,_0xd5cfd2){if(_0x4a7996[_0xc4f6('0x50')]['id']){delete _0x4a7996[_0xc4f6('0x50')]['id'];}return db[_0xc4f6('0x2d')]['find']({'where':{'id':_0x4a7996[_0xc4f6('0x47')]['id']}})[_0xc4f6('0x24')](handleEntityNotFound(_0xd5cfd2,null))[_0xc4f6('0x24')](saveUpdates(_0x4a7996[_0xc4f6('0x50')],null))[_0xc4f6('0x24')](respondWithResult(_0xd5cfd2,null))[_0xc4f6('0x46')](handleError(_0xd5cfd2,null));};exports[_0xc4f6('0x51')]=function(_0x4c5ef7,_0x2467bc){return db[_0xc4f6('0x2d')][_0xc4f6('0x49')]({'where':{'id':_0x4c5ef7[_0xc4f6('0x47')]['id']}})[_0xc4f6('0x24')](handleEntityNotFound(_0x2467bc,null))[_0xc4f6('0x24')](removeEntity(_0x2467bc,null))[_0xc4f6('0x46')](handleError(_0x2467bc,null));};