85be9ae81cd7cf9578bd6bac062bd6d4c34e4c13
[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 _0x6808=['ioredis','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','undefined','offset','limit','set','Content-Range','save','update','then','destroy','end','error','stack','name','index','map','DeskField','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','pick','filter','where','merge','VIRTUAL','options','count','include','findAll','rows','catch','show','includeAll','find','create','body','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','querystring'];(function(_0x5cca9f,_0x154684){var _0x55edda=function(_0x115aa2){while(--_0x115aa2){_0x5cca9f['push'](_0x5cca9f['shift']());}};_0x55edda(++_0x154684);}(_0x6808,0xd1));var _0x8680=function(_0x5cc348,_0x4ef2f6){_0x5cc348=_0x5cc348-0x0;var _0x242ccd=_0x6808[_0x5cc348];return _0x242ccd;};'use strict';var emlformat=require(_0x8680('0x0'));var rimraf=require(_0x8680('0x1'));var zipdir=require(_0x8680('0x2'));var jsonpatch=require(_0x8680('0x3'));var rp=require(_0x8680('0x4'));var moment=require(_0x8680('0x5'));var BPromise=require(_0x8680('0x6'));var Mustache=require(_0x8680('0x7'));var util=require('util');var path=require(_0x8680('0x8'));var sox=require(_0x8680('0x9'));var csv=require(_0x8680('0xa'));var ejs=require(_0x8680('0xb'));var fs=require('fs');var fs_extra=require(_0x8680('0xc'));var _=require('lodash');var squel=require(_0x8680('0xd'));var crypto=require(_0x8680('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x8680('0xa'));var querystring=require(_0x8680('0xf'));var Papa=require('papaparse');var Redis=require(_0x8680('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8680('0x11'));var logger=require(_0x8680('0x12'))(_0x8680('0x13'));var utils=require(_0x8680('0x14'));var config=require(_0x8680('0x15'));var licenseUtil=require(_0x8680('0x16'));var db=require(_0x8680('0x17'))['db'];function respondWithStatusCode(_0x56ea1c,_0x4dfe20){_0x4dfe20=_0x4dfe20||0xcc;return function(_0xe511a2){if(_0xe511a2){return _0x56ea1c[_0x8680('0x18')](_0x4dfe20);}return _0x56ea1c[_0x8680('0x19')](_0x4dfe20)['end']();};}function respondWithResult(_0x15dea0,_0x392b6b){_0x392b6b=_0x392b6b||0xc8;return function(_0x3951ee){if(_0x3951ee){return _0x15dea0[_0x8680('0x19')](_0x392b6b)[_0x8680('0x1a')](_0x3951ee);}};}function respondWithFilteredResult(_0x18a41b,_0x314e66){return function(_0x59e9a3){if(_0x59e9a3){var _0x42fb98=typeof _0x314e66['offset']===_0x8680('0x1b')&&typeof _0x314e66['limit']===_0x8680('0x1b');var _0x3d2443=_0x59e9a3['count'];var _0x2b1d1f=_0x42fb98?0x0:_0x314e66[_0x8680('0x1c')];var _0x2345ee=_0x42fb98?_0x59e9a3['count']:_0x314e66['offset']+_0x314e66[_0x8680('0x1d')];var _0x25929e;if(_0x2345ee>=_0x3d2443){_0x2345ee=_0x3d2443;_0x25929e=0xc8;}else{_0x25929e=0xce;}_0x18a41b[_0x8680('0x19')](_0x25929e);return _0x18a41b[_0x8680('0x1e')](_0x8680('0x1f'),_0x2b1d1f+'-'+_0x2345ee+'/'+_0x3d2443)[_0x8680('0x1a')](_0x59e9a3);}return null;};}function patchUpdates(_0x200681){return function(_0x153015){try{jsonpatch['apply'](_0x153015,_0x200681,!![]);}catch(_0x29fdef){return BPromise['reject'](_0x29fdef);}return _0x153015[_0x8680('0x20')]();};}function saveUpdates(_0x3d7521,_0x3bcc02){return function(_0x5b247a){if(_0x5b247a){return _0x5b247a[_0x8680('0x21')](_0x3d7521)[_0x8680('0x22')](function(_0x25f5db){return _0x25f5db;});}return null;};}function removeEntity(_0x106d44,_0x235099){return function(_0x692a22){if(_0x692a22){return _0x692a22[_0x8680('0x23')]()[_0x8680('0x22')](function(){_0x106d44[_0x8680('0x19')](0xcc)[_0x8680('0x24')]();});}};}function handleEntityNotFound(_0xd6b559,_0x12bf2a){return function(_0x41e4a0){if(!_0x41e4a0){_0xd6b559[_0x8680('0x18')](0x194);}return _0x41e4a0;};}function handleError(_0x49729d,_0x2c232d){_0x2c232d=_0x2c232d||0x1f4;return function(_0x5cb33c){logger[_0x8680('0x25')](_0x5cb33c[_0x8680('0x26')]);if(_0x5cb33c[_0x8680('0x27')]){delete _0x5cb33c[_0x8680('0x27')];}_0x49729d[_0x8680('0x19')](_0x2c232d)['send'](_0x5cb33c);};}exports[_0x8680('0x28')]=function(_0x5c2458,_0x1c088a){var _0x5259d8={},_0x295bce={},_0x204d97={'count':0x0,'rows':[]};var _0x3cda25=_[_0x8680('0x29')](db[_0x8680('0x2a')][_0x8680('0x2b')],function(_0x9abf44){return{'name':_0x9abf44[_0x8680('0x2c')],'type':_0x9abf44[_0x8680('0x2d')][_0x8680('0x2e')]};});_0x295bce[_0x8680('0x2f')]=_['map'](_0x3cda25,_0x8680('0x27'));_0x295bce[_0x8680('0x30')]=_[_0x8680('0x31')](_0x5c2458[_0x8680('0x30')]);_0x295bce[_0x8680('0x32')]=_[_0x8680('0x33')](_0x295bce[_0x8680('0x2f')],_0x295bce['query']);_0x5259d8['attributes']=_[_0x8680('0x33')](_0x295bce[_0x8680('0x2f')],qs[_0x8680('0x34')](_0x5c2458[_0x8680('0x30')][_0x8680('0x34')]));_0x5259d8[_0x8680('0x35')]=_0x5259d8[_0x8680('0x35')][_0x8680('0x36')]?_0x5259d8[_0x8680('0x35')]:_0x295bce[_0x8680('0x2f')];if(!_0x5c2458['query'][_0x8680('0x37')]('nolimit')){_0x5259d8[_0x8680('0x1d')]=qs[_0x8680('0x1d')](_0x5c2458[_0x8680('0x30')]['limit']);_0x5259d8['offset']=qs[_0x8680('0x1c')](_0x5c2458[_0x8680('0x30')][_0x8680('0x1c')]);}_0x5259d8[_0x8680('0x38')]=qs[_0x8680('0x39')](_0x5c2458[_0x8680('0x30')][_0x8680('0x39')]);_0x5259d8['where']=qs[_0x8680('0x32')](_[_0x8680('0x3a')](_0x5c2458['query'],_0x295bce['filters']),_0x3cda25);if(_0x5c2458[_0x8680('0x30')][_0x8680('0x3b')]){_0x5259d8[_0x8680('0x3c')]=_[_0x8680('0x3d')](_0x5259d8[_0x8680('0x3c')],{'$or':_[_0x8680('0x29')](_0x3cda25,function(_0x4ea038){if(_0x4ea038[_0x8680('0x2d')]!==_0x8680('0x3e')){var _0x5bb852={};_0x5bb852[_0x4ea038['name']]={'$like':'%'+_0x5c2458['query'][_0x8680('0x3b')]+'%'};return _0x5bb852;}})});}_0x5259d8=_['merge']({},_0x5259d8,_0x5c2458[_0x8680('0x3f')]);var _0x549cb1={'where':_0x5259d8[_0x8680('0x3c')]};return db['DeskField'][_0x8680('0x40')](_0x549cb1)[_0x8680('0x22')](function(_0x51d9b9){_0x204d97['count']=_0x51d9b9;if(_0x5c2458[_0x8680('0x30')]['includeAll']){_0x5259d8[_0x8680('0x41')]=[{'all':!![]}];}return db[_0x8680('0x2a')][_0x8680('0x42')](_0x5259d8);})[_0x8680('0x22')](function(_0x27371c){_0x204d97[_0x8680('0x43')]=_0x27371c;return _0x204d97;})[_0x8680('0x22')](respondWithFilteredResult(_0x1c088a,_0x5259d8))[_0x8680('0x44')](handleError(_0x1c088a,null));};exports[_0x8680('0x45')]=function(_0x2dcee5,_0x2f7d27){var _0x3e7903={'raw':!![],'where':{'id':_0x2dcee5['params']['id']}},_0xc50f05={};_0xc50f05['model']=_[_0x8680('0x31')](db[_0x8680('0x2a')][_0x8680('0x2b')]);_0xc50f05['query']=_[_0x8680('0x31')](_0x2dcee5[_0x8680('0x30')]);_0xc50f05[_0x8680('0x32')]=_['intersection'](_0xc50f05[_0x8680('0x2f')],_0xc50f05[_0x8680('0x30')]);_0x3e7903[_0x8680('0x35')]=_[_0x8680('0x33')](_0xc50f05[_0x8680('0x2f')],qs[_0x8680('0x34')](_0x2dcee5[_0x8680('0x30')][_0x8680('0x34')]));_0x3e7903[_0x8680('0x35')]=_0x3e7903[_0x8680('0x35')][_0x8680('0x36')]?_0x3e7903[_0x8680('0x35')]:_0xc50f05[_0x8680('0x2f')];if(_0x2dcee5[_0x8680('0x30')][_0x8680('0x46')]){_0x3e7903[_0x8680('0x41')]=[{'all':!![]}];}_0x3e7903=_[_0x8680('0x3d')]({},_0x3e7903,_0x2dcee5[_0x8680('0x3f')]);return db[_0x8680('0x2a')][_0x8680('0x47')](_0x3e7903)[_0x8680('0x22')](handleEntityNotFound(_0x2f7d27,null))[_0x8680('0x22')](respondWithResult(_0x2f7d27,null))[_0x8680('0x44')](handleError(_0x2f7d27,null));};exports[_0x8680('0x48')]=function(_0x36bc27,_0x4a4d96){return db[_0x8680('0x2a')][_0x8680('0x48')](_0x36bc27[_0x8680('0x49')],{})[_0x8680('0x22')](respondWithResult(_0x4a4d96,0xc9))['catch'](handleError(_0x4a4d96,null));};exports[_0x8680('0x21')]=function(_0x5ca2c4,_0x35002f){if(_0x5ca2c4['body']['id']){delete _0x5ca2c4[_0x8680('0x49')]['id'];}return db['DeskField'][_0x8680('0x47')]({'where':{'id':_0x5ca2c4[_0x8680('0x4a')]['id']}})[_0x8680('0x22')](handleEntityNotFound(_0x35002f,null))[_0x8680('0x22')](saveUpdates(_0x5ca2c4[_0x8680('0x49')],null))[_0x8680('0x22')](respondWithResult(_0x35002f,null))[_0x8680('0x44')](handleError(_0x35002f,null));};exports[_0x8680('0x23')]=function(_0x4b0cdc,_0x2ec34d){return db['DeskField']['find']({'where':{'id':_0x4b0cdc[_0x8680('0x4a')]['id']}})['then'](handleEntityNotFound(_0x2ec34d,null))['then'](removeEntity(_0x2ec34d,null))['catch'](handleError(_0x2ec34d,null));};