9277ec3b9cfda32ba57923bd727f7ff27223b527
[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 _0x1509=['rimraf','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','sendStatus','end','status','json','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','map','DeskField','type','key','model','query','keys','intersection','attributes','fields','length','nolimit','limit','sort','where','filters','filter','merge','VIRTUAL','options','include','rows','catch','show','params','rawAttributes','includeAll','find','create','body','eml-format'];(function(_0x580576,_0x2f107d){var _0x3f55a0=function(_0x2e180b){while(--_0x2e180b){_0x580576['push'](_0x580576['shift']());}};_0x3f55a0(++_0x2f107d);}(_0x1509,0x89));var _0x9150=function(_0x2fe2e5,_0x222e15){_0x2fe2e5=_0x2fe2e5-0x0;var _0x2dfe51=_0x1509[_0x2fe2e5];return _0x2dfe51;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9150('0x0'));var rimraf=require(_0x9150('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x9150('0x2'));var Mustache=require(_0x9150('0x3'));var util=require(_0x9150('0x4'));var path=require(_0x9150('0x5'));var sox=require(_0x9150('0x6'));var csv=require(_0x9150('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x9150('0x8'));var squel=require(_0x9150('0x9'));var crypto=require(_0x9150('0xa'));var jsforce=require(_0x9150('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x9150('0x7'));var querystring=require(_0x9150('0xc'));var Papa=require(_0x9150('0xd'));var Redis=require(_0x9150('0xe'));var authService=require(_0x9150('0xf'));var qs=require(_0x9150('0x10'));var as=require(_0x9150('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9150('0x12'))(_0x9150('0x13'));var utils=require('../../config/utils');var config=require(_0x9150('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x48da8d,_0xdb3be5){_0xdb3be5=_0xdb3be5||0xcc;return function(_0x54da64){if(_0x54da64){return _0x48da8d[_0x9150('0x15')](_0xdb3be5);}return _0x48da8d['status'](_0xdb3be5)[_0x9150('0x16')]();};}function respondWithResult(_0x107138,_0x63cba8){_0x63cba8=_0x63cba8||0xc8;return function(_0x11b7e4){if(_0x11b7e4){return _0x107138[_0x9150('0x17')](_0x63cba8)[_0x9150('0x18')](_0x11b7e4);}};}function respondWithFilteredResult(_0x3a7d13,_0x4f6e38){return function(_0x58c4d7){if(_0x58c4d7){var _0x131f4e=_0x58c4d7[_0x9150('0x19')],_0x2e04a8=_0x4f6e38[_0x9150('0x1a')],_0x44ecdc=_0x4f6e38[_0x9150('0x1a')]+_0x4f6e38['limit'],_0x5e3000;if(_0x44ecdc>=_0x131f4e){_0x44ecdc=_0x131f4e;_0x5e3000=0xc8;}else{_0x5e3000=0xce;}_0x3a7d13['status'](_0x5e3000);return _0x3a7d13[_0x9150('0x1b')](_0x9150('0x1c'),_0x2e04a8+'-'+_0x44ecdc+'/'+_0x131f4e)[_0x9150('0x18')](_0x58c4d7);}return null;};}function patchUpdates(_0x208a29){return function(_0x3d7b36){try{jsonpatch[_0x9150('0x1d')](_0x3d7b36,_0x208a29,!![]);}catch(_0x475ee6){return BPromise[_0x9150('0x1e')](_0x475ee6);}return _0x3d7b36[_0x9150('0x1f')]();};}function saveUpdates(_0x256712,_0x4ce729){return function(_0x42a8d6){if(_0x42a8d6){return _0x42a8d6[_0x9150('0x20')](_0x256712)[_0x9150('0x21')](function(_0x492fc4){return _0x492fc4;});}return null;};}function removeEntity(_0x49da6d,_0x194e5f){return function(_0x1c43d){if(_0x1c43d){return _0x1c43d[_0x9150('0x22')]()[_0x9150('0x21')](function(){_0x49da6d['status'](0xcc)[_0x9150('0x16')]();});}};}function handleEntityNotFound(_0x4311a8,_0x1fccdd){return function(_0x24e7dc){if(!_0x24e7dc){_0x4311a8[_0x9150('0x15')](0x194);}return _0x24e7dc;};}function handleError(_0x50468b,_0x1a3886){_0x1a3886=_0x1a3886||0x1f4;return function(_0x3db0e2){logger[_0x9150('0x23')](_0x3db0e2['stack']);if(_0x3db0e2[_0x9150('0x24')]){delete _0x3db0e2[_0x9150('0x24')];}_0x50468b[_0x9150('0x17')](_0x1a3886)[_0x9150('0x25')](_0x3db0e2);};}exports[_0x9150('0x26')]=function(_0x305398,_0x1a597d){var _0x27ed37={},_0x3ee3ad={},_0x405ff4={'count':0x0,'rows':[]};var _0x2592fa=_[_0x9150('0x27')](db[_0x9150('0x28')]['rawAttributes'],function(_0x202e0b){return{'name':_0x202e0b['fieldName'],'type':_0x202e0b[_0x9150('0x29')][_0x9150('0x2a')]};});_0x3ee3ad[_0x9150('0x2b')]=_[_0x9150('0x27')](_0x2592fa,_0x9150('0x24'));_0x3ee3ad[_0x9150('0x2c')]=_[_0x9150('0x2d')](_0x305398[_0x9150('0x2c')]);_0x3ee3ad['filters']=_[_0x9150('0x2e')](_0x3ee3ad[_0x9150('0x2b')],_0x3ee3ad[_0x9150('0x2c')]);_0x27ed37[_0x9150('0x2f')]=_['intersection'](_0x3ee3ad['model'],qs[_0x9150('0x30')](_0x305398[_0x9150('0x2c')][_0x9150('0x30')]));_0x27ed37['attributes']=_0x27ed37[_0x9150('0x2f')][_0x9150('0x31')]?_0x27ed37[_0x9150('0x2f')]:_0x3ee3ad[_0x9150('0x2b')];if(!_0x305398[_0x9150('0x2c')]['hasOwnProperty'](_0x9150('0x32'))){_0x27ed37[_0x9150('0x33')]=qs[_0x9150('0x33')](_0x305398[_0x9150('0x2c')][_0x9150('0x33')]);_0x27ed37[_0x9150('0x1a')]=qs[_0x9150('0x1a')](_0x305398[_0x9150('0x2c')]['offset']);}_0x27ed37['order']=qs[_0x9150('0x34')](_0x305398['query'][_0x9150('0x34')]);_0x27ed37[_0x9150('0x35')]=qs[_0x9150('0x36')](_['pick'](_0x305398[_0x9150('0x2c')],_0x3ee3ad[_0x9150('0x36')]),_0x2592fa);if(_0x305398[_0x9150('0x2c')][_0x9150('0x37')]){_0x27ed37[_0x9150('0x35')]=_[_0x9150('0x38')](_0x27ed37['where'],{'$or':_[_0x9150('0x27')](_0x2592fa,function(_0x249978){if(_0x249978['type']!==_0x9150('0x39')){var _0x5571b9={};_0x5571b9[_0x249978[_0x9150('0x24')]]={'$like':'%'+_0x305398[_0x9150('0x2c')][_0x9150('0x37')]+'%'};return _0x5571b9;}})});}_0x27ed37=_[_0x9150('0x38')]({},_0x27ed37,_0x305398[_0x9150('0x3a')]);var _0x3da01f={'where':_0x27ed37[_0x9150('0x35')]};return db['DeskField'][_0x9150('0x19')](_0x3da01f)[_0x9150('0x21')](function(_0x59574b){_0x405ff4[_0x9150('0x19')]=_0x59574b;if(_0x305398[_0x9150('0x2c')]['includeAll']){_0x27ed37[_0x9150('0x3b')]=[{'all':!![]}];}return db[_0x9150('0x28')]['findAll'](_0x27ed37);})['then'](function(_0x3d4ed8){_0x405ff4[_0x9150('0x3c')]=_0x3d4ed8;return _0x405ff4;})[_0x9150('0x21')](respondWithFilteredResult(_0x1a597d,_0x27ed37))[_0x9150('0x3d')](handleError(_0x1a597d,null));};exports[_0x9150('0x3e')]=function(_0x469661,_0x5eb985){var _0x58f497={'raw':!![],'where':{'id':_0x469661[_0x9150('0x3f')]['id']}},_0x351ea5={};_0x351ea5[_0x9150('0x2b')]=_[_0x9150('0x2d')](db[_0x9150('0x28')][_0x9150('0x40')]);_0x351ea5['query']=_[_0x9150('0x2d')](_0x469661[_0x9150('0x2c')]);_0x351ea5[_0x9150('0x36')]=_[_0x9150('0x2e')](_0x351ea5['model'],_0x351ea5[_0x9150('0x2c')]);_0x58f497[_0x9150('0x2f')]=_[_0x9150('0x2e')](_0x351ea5[_0x9150('0x2b')],qs[_0x9150('0x30')](_0x469661[_0x9150('0x2c')][_0x9150('0x30')]));_0x58f497[_0x9150('0x2f')]=_0x58f497[_0x9150('0x2f')][_0x9150('0x31')]?_0x58f497[_0x9150('0x2f')]:_0x351ea5[_0x9150('0x2b')];if(_0x469661[_0x9150('0x2c')][_0x9150('0x41')]){_0x58f497[_0x9150('0x3b')]=[{'all':!![]}];}_0x58f497=_[_0x9150('0x38')]({},_0x58f497,_0x469661[_0x9150('0x3a')]);return db['DeskField'][_0x9150('0x42')](_0x58f497)['then'](handleEntityNotFound(_0x5eb985,null))[_0x9150('0x21')](respondWithResult(_0x5eb985,null))[_0x9150('0x3d')](handleError(_0x5eb985,null));};exports[_0x9150('0x43')]=function(_0x33188b,_0xddbd6){return db['DeskField'][_0x9150('0x43')](_0x33188b['body'],{})[_0x9150('0x21')](respondWithResult(_0xddbd6,0xc9))[_0x9150('0x3d')](handleError(_0xddbd6,null));};exports[_0x9150('0x20')]=function(_0x5dffd9,_0x13c715){if(_0x5dffd9[_0x9150('0x44')]['id']){delete _0x5dffd9['body']['id'];}return db[_0x9150('0x28')]['find']({'where':{'id':_0x5dffd9[_0x9150('0x3f')]['id']}})[_0x9150('0x21')](handleEntityNotFound(_0x13c715,null))[_0x9150('0x21')](saveUpdates(_0x5dffd9[_0x9150('0x44')],null))[_0x9150('0x21')](respondWithResult(_0x13c715,null))[_0x9150('0x3d')](handleError(_0x13c715,null));};exports[_0x9150('0x22')]=function(_0x3a56c2,_0x1fc26a){return db[_0x9150('0x28')][_0x9150('0x42')]({'where':{'id':_0x3a56c2['params']['id']}})['then'](handleEntityNotFound(_0x1fc26a,null))[_0x9150('0x21')](removeEntity(_0x1fc26a,null))[_0x9150('0x3d')](handleError(_0x1fc26a,null));};