530b633f0aa761c25daf98085e94da15aeba0b59
[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 _0x1834=['api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','Content-Range','reject','save','update','then','end','error','name','index','map','DeskField','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','hasOwnProperty','limit','order','sort','pick','filter','where','merge','options','includeAll','findAll','length','include','create','body','catch','find','destroy','params','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x5963c2,_0x2c9119){var _0x2b824d=function(_0x1aada3){while(--_0x1aada3){_0x5963c2['push'](_0x5963c2['shift']());}};_0x2b824d(++_0x2c9119);}(_0x1834,0x1a5));var _0x4183=function(_0x40f31d,_0x166318){_0x40f31d=_0x40f31d-0x0;var _0x10d4e4=_0x1834[_0x40f31d];return _0x10d4e4;};'use strict';var pdf=require(_0x4183('0x0'));var emlformat=require(_0x4183('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x4183('0x2'));var jsonpatch=require(_0x4183('0x3'));var rp=require(_0x4183('0x4'));var moment=require(_0x4183('0x5'));var BPromise=require(_0x4183('0x6'));var Mustache=require(_0x4183('0x7'));var util=require('util');var path=require('path');var sox=require(_0x4183('0x8'));var csv=require(_0x4183('0x9'));var ejs=require(_0x4183('0xa'));var fs=require('fs');var _=require(_0x4183('0xb'));var squel=require(_0x4183('0xc'));var crypto=require(_0x4183('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x4183('0xe'));var toCsv=require(_0x4183('0x9'));var querystring=require(_0x4183('0xf'));var Papa=require(_0x4183('0x10'));var Redis=require(_0x4183('0x11'));var authService=require(_0x4183('0x12'));var qs=require(_0x4183('0x13'));var as=require(_0x4183('0x14'));var hardwareService=require(_0x4183('0x15'));var logger=require(_0x4183('0x16'))(_0x4183('0x17'));var utils=require(_0x4183('0x18'));var config=require(_0x4183('0x19'));var licenseUtil=require(_0x4183('0x1a'));var db=require(_0x4183('0x1b'))['db'];function respondWithStatusCode(_0x212e63,_0x859b19){_0x859b19=_0x859b19||0xcc;return function(_0x15fe7b){if(_0x15fe7b){return _0x212e63[_0x4183('0x1c')](_0x859b19);}return _0x212e63[_0x4183('0x1d')](_0x859b19)['end']();};}function respondWithResult(_0x198d32,_0x2f143f){_0x2f143f=_0x2f143f||0xc8;return function(_0x3b63a9){if(_0x3b63a9){return _0x198d32[_0x4183('0x1d')](_0x2f143f)[_0x4183('0x1e')](_0x3b63a9);}};}function respondWithFilteredResult(_0x496b35,_0x772fba){return function(_0x3b3e94){if(_0x3b3e94){var _0x57088d=_0x3b3e94[_0x4183('0x1f')],_0x5e0ea7=_0x772fba[_0x4183('0x20')],_0x140c83=_0x772fba['offset']+_0x772fba['limit'],_0xb5c41b;if(_0x140c83>=_0x57088d){_0x140c83=_0x57088d;_0xb5c41b=0xc8;}else{_0xb5c41b=0xce;}_0x496b35['status'](_0xb5c41b);return _0x496b35['set'](_0x4183('0x21'),_0x5e0ea7+'-'+_0x140c83+'/'+_0x57088d)[_0x4183('0x1e')](_0x3b3e94);}return null;};}function patchUpdates(_0x1db3b3){return function(_0x23812c){try{jsonpatch['apply'](_0x23812c,_0x1db3b3,!![]);}catch(_0x4c24b7){return BPromise[_0x4183('0x22')](_0x4c24b7);}return _0x23812c[_0x4183('0x23')]();};}function saveUpdates(_0x3bbf07,_0x38f2b5){return function(_0x40a449){if(_0x40a449){return _0x40a449[_0x4183('0x24')](_0x3bbf07)[_0x4183('0x25')](function(_0x2b1097){return _0x2b1097;});}return null;};}function removeEntity(_0x37e940,_0x4ba677){return function(_0x268dd8){if(_0x268dd8){return _0x268dd8['destroy']()[_0x4183('0x25')](function(){_0x37e940[_0x4183('0x1d')](0xcc)[_0x4183('0x26')]();});}};}function handleEntityNotFound(_0x15874b,_0x2960db){return function(_0x5d8bee){if(!_0x5d8bee){_0x15874b[_0x4183('0x1c')](0x194);}return _0x5d8bee;};}function handleError(_0x2d9468,_0x45b3b7){_0x45b3b7=_0x45b3b7||0x1f4;return function(_0x137a3a){logger[_0x4183('0x27')](_0x137a3a['stack']);if(_0x137a3a[_0x4183('0x28')]){delete _0x137a3a[_0x4183('0x28')];}_0x2d9468[_0x4183('0x1d')](_0x45b3b7)['send'](_0x137a3a);};}exports[_0x4183('0x29')]=function(_0x3c94d9,_0x44adb0){var _0x3f81dc={},_0x266f02={},_0x1ad970={'count':0x0,'rows':[]};var _0x443ce4=_[_0x4183('0x2a')](db[_0x4183('0x2b')][_0x4183('0x2c')],function(_0x5f3cb){return{'name':_0x5f3cb[_0x4183('0x2d')],'type':_0x5f3cb[_0x4183('0x2e')][_0x4183('0x2f')]};});_0x266f02[_0x4183('0x30')]=_['map'](_0x443ce4,_0x4183('0x28'));_0x266f02['query']=_[_0x4183('0x31')](_0x3c94d9[_0x4183('0x32')]);_0x266f02[_0x4183('0x33')]=_['intersection'](_0x266f02[_0x4183('0x30')],_0x266f02['query']);_0x3f81dc[_0x4183('0x34')]=_[_0x4183('0x35')](_0x266f02['model'],qs['fields'](_0x3c94d9['query'][_0x4183('0x36')]));_0x3f81dc[_0x4183('0x34')]=_0x3f81dc[_0x4183('0x34')]['length']?_0x3f81dc['attributes']:_0x266f02[_0x4183('0x30')];if(!_0x3c94d9[_0x4183('0x32')][_0x4183('0x37')]('nolimit')){_0x3f81dc['limit']=qs[_0x4183('0x38')](_0x3c94d9[_0x4183('0x32')][_0x4183('0x38')]);_0x3f81dc[_0x4183('0x20')]=qs[_0x4183('0x20')](_0x3c94d9[_0x4183('0x32')][_0x4183('0x20')]);}_0x3f81dc[_0x4183('0x39')]=qs[_0x4183('0x3a')](_0x3c94d9[_0x4183('0x32')][_0x4183('0x3a')]);_0x3f81dc['where']=qs[_0x4183('0x33')](_[_0x4183('0x3b')](_0x3c94d9[_0x4183('0x32')],_0x266f02['filters']),_0x443ce4);if(_0x3c94d9[_0x4183('0x32')][_0x4183('0x3c')]){_0x3f81dc[_0x4183('0x3d')]=_[_0x4183('0x3e')](_0x3f81dc[_0x4183('0x3d')],{'$or':_[_0x4183('0x2a')](_0x443ce4,function(_0x322340){if(_0x322340[_0x4183('0x2e')]!=='VIRTUAL'){var _0x596298={};_0x596298[_0x322340['name']]={'$like':'%'+_0x3c94d9['query'][_0x4183('0x3c')]+'%'};return _0x596298;}})});}_0x3f81dc=_[_0x4183('0x3e')]({},_0x3f81dc,_0x3c94d9[_0x4183('0x3f')]);var _0x4e58a1={'where':_0x3f81dc[_0x4183('0x3d')]};return db[_0x4183('0x2b')][_0x4183('0x1f')](_0x4e58a1)[_0x4183('0x25')](function(_0x459402){_0x1ad970[_0x4183('0x1f')]=_0x459402;if(_0x3c94d9[_0x4183('0x32')][_0x4183('0x40')]){_0x3f81dc['include']=[{'all':!![]}];}return db[_0x4183('0x2b')][_0x4183('0x41')](_0x3f81dc);})[_0x4183('0x25')](function(_0xad00ba){_0x1ad970['rows']=_0xad00ba;return _0x1ad970;})[_0x4183('0x25')](respondWithFilteredResult(_0x44adb0,_0x3f81dc))['catch'](handleError(_0x44adb0,null));};exports['show']=function(_0x162211,_0x4fa084){var _0x59f31a={'raw':!![],'where':{'id':_0x162211['params']['id']}},_0x2d1ca3={};_0x2d1ca3[_0x4183('0x30')]=_[_0x4183('0x31')](db[_0x4183('0x2b')][_0x4183('0x2c')]);_0x2d1ca3['query']=_['keys'](_0x162211[_0x4183('0x32')]);_0x2d1ca3['filters']=_['intersection'](_0x2d1ca3['model'],_0x2d1ca3[_0x4183('0x32')]);_0x59f31a[_0x4183('0x34')]=_[_0x4183('0x35')](_0x2d1ca3[_0x4183('0x30')],qs[_0x4183('0x36')](_0x162211[_0x4183('0x32')]['fields']));_0x59f31a[_0x4183('0x34')]=_0x59f31a['attributes'][_0x4183('0x42')]?_0x59f31a[_0x4183('0x34')]:_0x2d1ca3[_0x4183('0x30')];if(_0x162211[_0x4183('0x32')]['includeAll']){_0x59f31a[_0x4183('0x43')]=[{'all':!![]}];}_0x59f31a=_[_0x4183('0x3e')]({},_0x59f31a,_0x162211['options']);return db['DeskField']['find'](_0x59f31a)['then'](handleEntityNotFound(_0x4fa084,null))['then'](respondWithResult(_0x4fa084,null))['catch'](handleError(_0x4fa084,null));};exports[_0x4183('0x44')]=function(_0x5e6725,_0x2cc0ed){return db['DeskField'][_0x4183('0x44')](_0x5e6725[_0x4183('0x45')],{})[_0x4183('0x25')](respondWithResult(_0x2cc0ed,0xc9))[_0x4183('0x46')](handleError(_0x2cc0ed,null));};exports[_0x4183('0x24')]=function(_0xdc5058,_0xd0b0d){if(_0xdc5058[_0x4183('0x45')]['id']){delete _0xdc5058['body']['id'];}return db['DeskField'][_0x4183('0x47')]({'where':{'id':_0xdc5058['params']['id']}})[_0x4183('0x25')](handleEntityNotFound(_0xd0b0d,null))[_0x4183('0x25')](saveUpdates(_0xdc5058[_0x4183('0x45')],null))[_0x4183('0x25')](respondWithResult(_0xd0b0d,null))['catch'](handleError(_0xd0b0d,null));};exports[_0x4183('0x48')]=function(_0x201883,_0x1d905c){return db[_0x4183('0x2b')][_0x4183('0x47')]({'where':{'id':_0x201883[_0x4183('0x49')]['id']}})['then'](handleEntityNotFound(_0x1d905c,null))[_0x4183('0x25')](removeEntity(_0x1d905c,null))[_0x4183('0x46')](handleError(_0x1d905c,null));};