3268cef802e7b6849c2f04ea5c511564ef93c433
[motion2.git] / server / api / intDeskField / intDeskField.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 _0x5fac=['model','query','keys','filters','intersection','attributes','fields','length','order','where','pick','filter','merge','options','includeAll','include','DeskField','findAll','rows','catch','show','params','create','body','find','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','stack','name','index','map','rawAttributes','fieldName','key'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x5fac,0xab));var _0xc5fa=function(_0x57470d,_0x42e9){_0x57470d=_0x57470d-0x0;var _0x30f0cc=_0x5fac[_0x57470d];return _0x30f0cc;};'use strict';var pdf=require(_0xc5fa('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xc5fa('0x1'));var zipdir=require(_0xc5fa('0x2'));var jsonpatch=require(_0xc5fa('0x3'));var rp=require(_0xc5fa('0x4'));var moment=require(_0xc5fa('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xc5fa('0x6'));var util=require('util');var path=require('path');var sox=require(_0xc5fa('0x7'));var csv=require(_0xc5fa('0x8'));var ejs=require(_0xc5fa('0x9'));var fs=require('fs');var _=require(_0xc5fa('0xa'));var squel=require(_0xc5fa('0xb'));var crypto=require(_0xc5fa('0xc'));var jsforce=require(_0xc5fa('0xd'));var deskjs=require(_0xc5fa('0xe'));var toCsv=require('to-csv');var querystring=require(_0xc5fa('0xf'));var Papa=require(_0xc5fa('0x10'));var Redis=require(_0xc5fa('0x11'));var authService=require(_0xc5fa('0x12'));var qs=require(_0xc5fa('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc5fa('0x14'));var logger=require(_0xc5fa('0x15'))(_0xc5fa('0x16'));var utils=require(_0xc5fa('0x17'));var config=require(_0xc5fa('0x18'));var licenseUtil=require(_0xc5fa('0x19'));var db=require(_0xc5fa('0x1a'))['db'];function respondWithStatusCode(_0x349b3c,_0x30bc2d){_0x30bc2d=_0x30bc2d||0xcc;return function(_0x321930){if(_0x321930){return _0x349b3c[_0xc5fa('0x1b')](_0x30bc2d);}return _0x349b3c[_0xc5fa('0x1c')](_0x30bc2d)[_0xc5fa('0x1d')]();};}function respondWithResult(_0x184666,_0x396278){_0x396278=_0x396278||0xc8;return function(_0x460724){if(_0x460724){return _0x184666['status'](_0x396278)[_0xc5fa('0x1e')](_0x460724);}};}function respondWithFilteredResult(_0x380f1c,_0x1a27b2){return function(_0x10533a){if(_0x10533a){var _0x2be6aa=_0x10533a[_0xc5fa('0x1f')],_0x1e9886=_0x1a27b2[_0xc5fa('0x20')],_0x1b504e=_0x1a27b2[_0xc5fa('0x20')]+_0x1a27b2[_0xc5fa('0x21')],_0xdc1979;if(_0x1b504e>=_0x2be6aa){_0x1b504e=_0x2be6aa;_0xdc1979=0xc8;}else{_0xdc1979=0xce;}_0x380f1c[_0xc5fa('0x1c')](_0xdc1979);return _0x380f1c[_0xc5fa('0x22')](_0xc5fa('0x23'),_0x1e9886+'-'+_0x1b504e+'/'+_0x2be6aa)[_0xc5fa('0x1e')](_0x10533a);}return null;};}function patchUpdates(_0x1972f0){return function(_0x1f114c){try{jsonpatch['apply'](_0x1f114c,_0x1972f0,!![]);}catch(_0x1cf381){return BPromise[_0xc5fa('0x24')](_0x1cf381);}return _0x1f114c[_0xc5fa('0x25')]();};}function saveUpdates(_0x4c7e19,_0x487562){return function(_0x4f1dc4){if(_0x4f1dc4){return _0x4f1dc4[_0xc5fa('0x26')](_0x4c7e19)[_0xc5fa('0x27')](function(_0x224520){return _0x224520;});}return null;};}function removeEntity(_0x15d7ee,_0x1ed6ce){return function(_0x429c30){if(_0x429c30){return _0x429c30[_0xc5fa('0x28')]()[_0xc5fa('0x27')](function(){_0x15d7ee[_0xc5fa('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4836c3,_0x45b09f){return function(_0x5b0db3){if(!_0x5b0db3){_0x4836c3[_0xc5fa('0x1b')](0x194);}return _0x5b0db3;};}function handleError(_0x24b89b,_0x3de2fd){_0x3de2fd=_0x3de2fd||0x1f4;return function(_0x49d66c){logger['error'](_0x49d66c[_0xc5fa('0x29')]);if(_0x49d66c[_0xc5fa('0x2a')]){delete _0x49d66c['name'];}_0x24b89b['status'](_0x3de2fd)['send'](_0x49d66c);};}exports[_0xc5fa('0x2b')]=function(_0x2dfd91,_0x1a89da){var _0x57cb38={},_0x1ff47b={},_0xe4e1a9={'count':0x0,'rows':[]};var _0x2f976e=_[_0xc5fa('0x2c')](db['DeskField'][_0xc5fa('0x2d')],function(_0x21463d){return{'name':_0x21463d[_0xc5fa('0x2e')],'type':_0x21463d['type'][_0xc5fa('0x2f')]};});_0x1ff47b[_0xc5fa('0x30')]=_[_0xc5fa('0x2c')](_0x2f976e,_0xc5fa('0x2a'));_0x1ff47b[_0xc5fa('0x31')]=_[_0xc5fa('0x32')](_0x2dfd91[_0xc5fa('0x31')]);_0x1ff47b[_0xc5fa('0x33')]=_[_0xc5fa('0x34')](_0x1ff47b['model'],_0x1ff47b[_0xc5fa('0x31')]);_0x57cb38[_0xc5fa('0x35')]=_[_0xc5fa('0x34')](_0x1ff47b['model'],qs[_0xc5fa('0x36')](_0x2dfd91[_0xc5fa('0x31')][_0xc5fa('0x36')]));_0x57cb38[_0xc5fa('0x35')]=_0x57cb38[_0xc5fa('0x35')][_0xc5fa('0x37')]?_0x57cb38[_0xc5fa('0x35')]:_0x1ff47b[_0xc5fa('0x30')];if(!_0x2dfd91['query']['hasOwnProperty']('nolimit')){_0x57cb38[_0xc5fa('0x21')]=qs['limit'](_0x2dfd91[_0xc5fa('0x31')]['limit']);_0x57cb38[_0xc5fa('0x20')]=qs[_0xc5fa('0x20')](_0x2dfd91['query']['offset']);}_0x57cb38[_0xc5fa('0x38')]=qs['sort'](_0x2dfd91[_0xc5fa('0x31')]['sort']);_0x57cb38[_0xc5fa('0x39')]=qs[_0xc5fa('0x33')](_[_0xc5fa('0x3a')](_0x2dfd91['query'],_0x1ff47b[_0xc5fa('0x33')]),_0x2f976e);if(_0x2dfd91['query'][_0xc5fa('0x3b')]){_0x57cb38[_0xc5fa('0x39')]=_['merge'](_0x57cb38[_0xc5fa('0x39')],{'$or':_[_0xc5fa('0x2c')](_0x2f976e,function(_0x2f5db4){if(_0x2f5db4['type']!=='VIRTUAL'){var _0x185703={};_0x185703[_0x2f5db4[_0xc5fa('0x2a')]]={'$like':'%'+_0x2dfd91[_0xc5fa('0x31')]['filter']+'%'};return _0x185703;}})});}_0x57cb38=_[_0xc5fa('0x3c')]({},_0x57cb38,_0x2dfd91[_0xc5fa('0x3d')]);var _0x1f4a37={'where':_0x57cb38[_0xc5fa('0x39')]};return db['DeskField'][_0xc5fa('0x1f')](_0x1f4a37)[_0xc5fa('0x27')](function(_0x472883){_0xe4e1a9[_0xc5fa('0x1f')]=_0x472883;if(_0x2dfd91[_0xc5fa('0x31')][_0xc5fa('0x3e')]){_0x57cb38[_0xc5fa('0x3f')]=[{'all':!![]}];}return db[_0xc5fa('0x40')][_0xc5fa('0x41')](_0x57cb38);})[_0xc5fa('0x27')](function(_0x390bad){_0xe4e1a9[_0xc5fa('0x42')]=_0x390bad;return _0xe4e1a9;})[_0xc5fa('0x27')](respondWithFilteredResult(_0x1a89da,_0x57cb38))[_0xc5fa('0x43')](handleError(_0x1a89da,null));};exports[_0xc5fa('0x44')]=function(_0x4113a5,_0x24b9bb){var _0x380fa2={'raw':!![],'where':{'id':_0x4113a5[_0xc5fa('0x45')]['id']}},_0x146e88={};_0x146e88[_0xc5fa('0x30')]=_['keys'](db[_0xc5fa('0x40')]['rawAttributes']);_0x146e88[_0xc5fa('0x31')]=_['keys'](_0x4113a5[_0xc5fa('0x31')]);_0x146e88[_0xc5fa('0x33')]=_['intersection'](_0x146e88[_0xc5fa('0x30')],_0x146e88[_0xc5fa('0x31')]);_0x380fa2['attributes']=_[_0xc5fa('0x34')](_0x146e88[_0xc5fa('0x30')],qs[_0xc5fa('0x36')](_0x4113a5['query'][_0xc5fa('0x36')]));_0x380fa2[_0xc5fa('0x35')]=_0x380fa2[_0xc5fa('0x35')]['length']?_0x380fa2[_0xc5fa('0x35')]:_0x146e88[_0xc5fa('0x30')];if(_0x4113a5[_0xc5fa('0x31')]['includeAll']){_0x380fa2[_0xc5fa('0x3f')]=[{'all':!![]}];}_0x380fa2=_[_0xc5fa('0x3c')]({},_0x380fa2,_0x4113a5[_0xc5fa('0x3d')]);return db[_0xc5fa('0x40')]['find'](_0x380fa2)['then'](handleEntityNotFound(_0x24b9bb,null))[_0xc5fa('0x27')](respondWithResult(_0x24b9bb,null))[_0xc5fa('0x43')](handleError(_0x24b9bb,null));};exports['create']=function(_0x575d51,_0x33b02a){return db[_0xc5fa('0x40')][_0xc5fa('0x46')](_0x575d51[_0xc5fa('0x47')],{})[_0xc5fa('0x27')](respondWithResult(_0x33b02a,0xc9))[_0xc5fa('0x43')](handleError(_0x33b02a,null));};exports[_0xc5fa('0x26')]=function(_0x25acca,_0x51e34d){if(_0x25acca[_0xc5fa('0x47')]['id']){delete _0x25acca[_0xc5fa('0x47')]['id'];}return db['DeskField']['find']({'where':{'id':_0x25acca[_0xc5fa('0x45')]['id']}})[_0xc5fa('0x27')](handleEntityNotFound(_0x51e34d,null))[_0xc5fa('0x27')](saveUpdates(_0x25acca['body'],null))[_0xc5fa('0x27')](respondWithResult(_0x51e34d,null))[_0xc5fa('0x43')](handleError(_0x51e34d,null));};exports[_0xc5fa('0x28')]=function(_0x592977,_0xd6da78){return db[_0xc5fa('0x40')][_0xc5fa('0x48')]({'where':{'id':_0x592977[_0xc5fa('0x45')]['id']}})['then'](handleEntityNotFound(_0xd6da78,null))['then'](removeEntity(_0xd6da78,null))['catch'](handleError(_0xd6da78,null));};