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 _0x649b=['ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','Templates','stack','name','send','index','Template','model','query','keys','filters','intersection','attributes','fields','nolimit','sort','where','pick','filter','merge','map','type','key','VIRTUAL','field','options','includeAll','include','rows','catch','params','rawAttributes','length','create','body','get','role','user','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','rimraf','zip-dir','moment','mustache','util','path','to-csv','ejs','lodash','jsforce','querystring','papaparse'];(function(_0x144b30,_0x77072d){var _0x1bb7bc=function(_0x1082cc){while(--_0x1082cc){_0x144b30['push'](_0x144b30['shift']());}};_0x1bb7bc(++_0x77072d);}(_0x649b,0x166));var _0xb649=function(_0x1f5fc2,_0x3c2996){_0x1f5fc2=_0x1f5fc2-0x0;var _0x20797b=_0x649b[_0x1f5fc2];return _0x20797b;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xb649('0x0'));var zipdir=require(_0xb649('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xb649('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xb649('0x3'));var util=require(_0xb649('0x4'));var path=require(_0xb649('0x5'));var sox=require('sox');var csv=require(_0xb649('0x6'));var ejs=require(_0xb649('0x7'));var fs=require('fs');var _=require(_0xb649('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xb649('0x9'));var deskjs=require('desk.js');var toCsv=require(_0xb649('0x6'));var querystring=require(_0xb649('0xa'));var Papa=require(_0xb649('0xb'));var Redis=require(_0xb649('0xc'));var authService=require('../../components/auth/service');var qs=require(_0xb649('0xd'));var hardwareService=require(_0xb649('0xe'));var logger=require(_0xb649('0xf'))(_0xb649('0x10'));var utils=require('../../config/utils');var config=require(_0xb649('0x11'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x58cf15,_0x47aff2){_0x47aff2=_0x47aff2||0xcc;return function(_0x18264e){if(_0x18264e){return _0x58cf15[_0xb649('0x12')](_0x47aff2);}return _0x58cf15[_0xb649('0x13')](_0x47aff2)[_0xb649('0x14')]();};}function respondWithResult(_0x5c4a6d,_0xf89f44){_0xf89f44=_0xf89f44||0xc8;return function(_0x25d4d5){if(_0x25d4d5){return _0x5c4a6d[_0xb649('0x13')](_0xf89f44)['json'](_0x25d4d5);}};}function respondWithFilteredResult(_0x1da4ec,_0x3a4eb0){return function(_0x297255){if(_0x297255){var _0x2cc196=_0x297255[_0xb649('0x15')],_0x2f0135=_0x3a4eb0[_0xb649('0x16')],_0x51083d=_0x3a4eb0['offset']+_0x3a4eb0[_0xb649('0x17')],_0x121e43;if(_0x51083d>=_0x2cc196){_0x51083d=_0x2cc196;_0x121e43=0xc8;}else{_0x121e43=0xce;}_0x1da4ec[_0xb649('0x13')](_0x121e43);return _0x1da4ec[_0xb649('0x18')](_0xb649('0x19'),_0x2f0135+'-'+_0x51083d+'/'+_0x2cc196)[_0xb649('0x1a')](_0x297255);}return null;};}function patchUpdates(_0x51a56c){return function(_0x57b094){try{jsonpatch[_0xb649('0x1b')](_0x57b094,_0x51a56c,!![]);}catch(_0x157b86){return BPromise[_0xb649('0x1c')](_0x157b86);}return _0x57b094[_0xb649('0x1d')]();};}function saveUpdates(_0x1433f5,_0xe87d92){return function(_0x2ef81e){if(_0x2ef81e){return _0x2ef81e[_0xb649('0x1e')](_0x1433f5)[_0xb649('0x1f')](function(_0xad2c90){return _0xad2c90;});}return null;};}function removeEntity(_0x51edeb,_0x58d9fb){return function(_0x2a05eb){if(_0x2a05eb){return _0x2a05eb[_0xb649('0x20')]()[_0xb649('0x1f')](function(){var _0x246dfb=_0x2a05eb['get']({'plain':!![]});var _0x25ae9f=_0xb649('0x21');return db['UserProfileResource'][_0xb649('0x20')]({'where':{'type':_0x25ae9f,'resourceId':_0x246dfb['id']}})[_0xb649('0x1f')](function(){return _0x2a05eb;});})[_0xb649('0x1f')](function(){_0x51edeb[_0xb649('0x13')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3d2180,_0x594f7b){return function(_0x51c4a9){if(!_0x51c4a9){_0x3d2180[_0xb649('0x12')](0x194);}return _0x51c4a9;};}function handleError(_0x2201c1,_0x36b804){_0x36b804=_0x36b804||0x1f4;return function(_0x2421ca){logger['error'](_0x2421ca[_0xb649('0x22')]);if(_0x2421ca[_0xb649('0x23')]){delete _0x2421ca[_0xb649('0x23')];}_0x2201c1[_0xb649('0x13')](_0x36b804)[_0xb649('0x24')](_0x2421ca);};}exports[_0xb649('0x25')]=function(_0x48895e,_0x693589){var _0xa0d564={},_0x1d5103={},_0x1370ef={'count':0x0,'rows':[]};var _0x5d97f1=db[_0xb649('0x26')]['rawAttributes'];_0x1d5103[_0xb649('0x27')]=_['keys'](_0x5d97f1);_0x1d5103[_0xb649('0x28')]=_[_0xb649('0x29')](_0x48895e[_0xb649('0x28')]);_0x1d5103[_0xb649('0x2a')]=_[_0xb649('0x2b')](_0x1d5103[_0xb649('0x27')],_0x1d5103[_0xb649('0x28')]);_0xa0d564[_0xb649('0x2c')]=_[_0xb649('0x2b')](_0x1d5103[_0xb649('0x27')],qs[_0xb649('0x2d')](_0x48895e[_0xb649('0x28')][_0xb649('0x2d')]));_0xa0d564['attributes']=_0xa0d564[_0xb649('0x2c')]['length']?_0xa0d564[_0xb649('0x2c')]:_0x1d5103[_0xb649('0x27')];if(!_0x48895e[_0xb649('0x28')]['hasOwnProperty'](_0xb649('0x2e'))){_0xa0d564[_0xb649('0x17')]=qs['limit'](_0x48895e[_0xb649('0x28')][_0xb649('0x17')]);_0xa0d564[_0xb649('0x16')]=qs[_0xb649('0x16')](_0x48895e[_0xb649('0x28')][_0xb649('0x16')]);}_0xa0d564['order']=qs[_0xb649('0x2f')](_0x48895e[_0xb649('0x28')]['sort']);_0xa0d564[_0xb649('0x30')]=qs[_0xb649('0x2a')](_[_0xb649('0x31')](_0x48895e['query'],_0x1d5103[_0xb649('0x2a')]));if(_0x48895e[_0xb649('0x28')][_0xb649('0x32')]){_0xa0d564[_0xb649('0x30')]=_[_0xb649('0x33')](_0xa0d564[_0xb649('0x30')],{'$or':_[_0xb649('0x34')](_0x5d97f1,function(_0x3030ae){if(_0x3030ae[_0xb649('0x35')][_0xb649('0x36')]!==_0xb649('0x37')){var _0x3e133a={};_0x3e133a[_0x3030ae[_0xb649('0x38')]]={'$like':'%'+_0x48895e[_0xb649('0x28')]['filter']+'%'};return _0x3e133a;}})});}_0xa0d564=_[_0xb649('0x33')]({},_0xa0d564,_0x48895e[_0xb649('0x39')]);var _0x37d50c={'where':_0xa0d564['where']};return db[_0xb649('0x26')][_0xb649('0x15')](_0x37d50c)['then'](function(_0x394b34){_0x1370ef[_0xb649('0x15')]=_0x394b34;if(_0x48895e[_0xb649('0x28')][_0xb649('0x3a')]){_0xa0d564[_0xb649('0x3b')]=[{'all':!![]}];}return db['Template']['findAll'](_0xa0d564);})['then'](function(_0x432e3){_0x1370ef[_0xb649('0x3c')]=_0x432e3;return _0x1370ef;})[_0xb649('0x1f')](respondWithFilteredResult(_0x693589,_0xa0d564))[_0xb649('0x3d')](handleError(_0x693589,null));};exports['show']=function(_0x3d689e,_0x2e1294){var _0x535bae={'raw':!![],'where':{'id':_0x3d689e[_0xb649('0x3e')]['id']}},_0x38f970={};_0x38f970[_0xb649('0x27')]=_[_0xb649('0x29')](db[_0xb649('0x26')][_0xb649('0x3f')]);_0x38f970[_0xb649('0x28')]=_[_0xb649('0x29')](_0x3d689e[_0xb649('0x28')]);_0x38f970['filters']=_[_0xb649('0x2b')](_0x38f970['model'],_0x38f970[_0xb649('0x28')]);_0x535bae[_0xb649('0x2c')]=_['intersection'](_0x38f970[_0xb649('0x27')],qs[_0xb649('0x2d')](_0x3d689e[_0xb649('0x28')][_0xb649('0x2d')]));_0x535bae[_0xb649('0x2c')]=_0x535bae[_0xb649('0x2c')][_0xb649('0x40')]?_0x535bae['attributes']:_0x38f970[_0xb649('0x27')];if(_0x3d689e[_0xb649('0x28')][_0xb649('0x3a')]){_0x535bae[_0xb649('0x3b')]=[{'all':!![]}];}_0x535bae=_[_0xb649('0x33')]({},_0x535bae,_0x3d689e['options']);return db[_0xb649('0x26')]['find'](_0x535bae)['then'](handleEntityNotFound(_0x2e1294,null))[_0xb649('0x1f')](respondWithResult(_0x2e1294,null))[_0xb649('0x3d')](handleError(_0x2e1294,null));};exports[_0xb649('0x41')]=function(_0x9800e7,_0xe56b35){return db['Template'][_0xb649('0x41')](_0x9800e7[_0xb649('0x42')],{})[_0xb649('0x1f')](function(_0x3441bd){var _0x4ba61c=_0x9800e7['user'][_0xb649('0x43')]({'plain':!![]});if(!_0x4ba61c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4ba61c[_0xb649('0x44')]===_0xb649('0x45')){var _0x234475=_0x3441bd[_0xb649('0x43')]({'plain':!![]});var _0x4ecf40=_0xb649('0x21');return db['UserProfileSection']['find']({'where':{'name':_0x4ecf40,'userProfileId':_0x4ba61c['userProfileId']},'raw':!![]})[_0xb649('0x1f')](function(_0xf762d2){if(_0xf762d2&&_0xf762d2[_0xb649('0x46')]===0x0){return db['UserProfileResource'][_0xb649('0x41')]({'name':_0x234475[_0xb649('0x23')],'resourceId':_0x234475['id'],'type':_0xf762d2[_0xb649('0x23')],'sectionId':_0xf762d2['id']},{})[_0xb649('0x1f')](function(){return _0x3441bd;});}else{return _0x3441bd;}})[_0xb649('0x3d')](function(_0xde1206){logger[_0xb649('0x47')](_0xb649('0x48'),_0xde1206);throw _0xde1206;});}return _0x3441bd;})[_0xb649('0x1f')](respondWithResult(_0xe56b35,0xc9))[_0xb649('0x3d')](handleError(_0xe56b35,null));};exports['update']=function(_0x42f416,_0x25d4d7){if(_0x42f416[_0xb649('0x42')]['id']){delete _0x42f416[_0xb649('0x42')]['id'];}return db['Template']['find']({'where':{'id':_0x42f416[_0xb649('0x3e')]['id']}})[_0xb649('0x1f')](handleEntityNotFound(_0x25d4d7,null))[_0xb649('0x1f')](saveUpdates(_0x42f416[_0xb649('0x42')],null))[_0xb649('0x1f')](respondWithResult(_0x25d4d7,null))[_0xb649('0x3d')](handleError(_0x25d4d7,null));};exports[_0xb649('0x20')]=function(_0x1dc992,_0x14e63b){return db['Template'][_0xb649('0x49')]({'where':{'id':_0x1dc992[_0xb649('0x3e')]['id']}})[_0xb649('0x1f')](handleEntityNotFound(_0x14e63b,null))[_0xb649('0x1f')](removeEntity(_0x14e63b,null))[_0xb649('0x3d')](handleError(_0x14e63b,null));};