8aa0d9342232b546fbf7d3782f9e71865725b307
[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 _0x16ac=['length','hasOwnProperty','sort','where','pick','filters','filter','merge','VIRTUAL','options','then','includeAll','findAll','catch','show','include','find','create','body','update','params','html-pdf','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','status','json','count','offset','limit','reject','save','destroy','sendStatus','error','stack','name','send','index','map','DeskField','rawAttributes','fieldName','type','key','keys','query','intersection','attributes','model','fields'];(function(_0x2120b0,_0x18350d){var _0x2c2441=function(_0x69f7d4){while(--_0x69f7d4){_0x2120b0['push'](_0x2120b0['shift']());}};_0x2c2441(++_0x18350d);}(_0x16ac,0x129));var _0xc16a=function(_0x6c823,_0x3f5e35){_0x6c823=_0x6c823-0x0;var _0x1fda1b=_0x16ac[_0x6c823];return _0x1fda1b;};'use strict';var pdf=require(_0xc16a('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xc16a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc16a('0x2'));var rp=require('request-promise');var moment=require(_0xc16a('0x3'));var BPromise=require(_0xc16a('0x4'));var Mustache=require(_0xc16a('0x5'));var util=require(_0xc16a('0x6'));var path=require(_0xc16a('0x7'));var sox=require(_0xc16a('0x8'));var csv=require(_0xc16a('0x9'));var ejs=require(_0xc16a('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xc16a('0xb'));var crypto=require(_0xc16a('0xc'));var jsforce=require(_0xc16a('0xd'));var deskjs=require(_0xc16a('0xe'));var toCsv=require(_0xc16a('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xc16a('0xf'));var qs=require(_0xc16a('0x10'));var as=require(_0xc16a('0x11'));var hardwareService=require(_0xc16a('0x12'));var logger=require(_0xc16a('0x13'))(_0xc16a('0x14'));var utils=require('../../config/utils');var config=require(_0xc16a('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x25c811,_0x441e95){_0x441e95=_0x441e95||0xcc;return function(_0xa8d383){if(_0xa8d383){return _0x25c811['sendStatus'](_0x441e95);}return _0x25c811[_0xc16a('0x16')](_0x441e95)['end']();};}function respondWithResult(_0x2790ff,_0x5f57ad){_0x5f57ad=_0x5f57ad||0xc8;return function(_0x4faa53){if(_0x4faa53){return _0x2790ff[_0xc16a('0x16')](_0x5f57ad)[_0xc16a('0x17')](_0x4faa53);}};}function respondWithFilteredResult(_0x3da336,_0x2a03d8){return function(_0x2c9481){if(_0x2c9481){var _0x427b61=_0x2c9481[_0xc16a('0x18')],_0x290b6c=_0x2a03d8[_0xc16a('0x19')],_0x398e32=_0x2a03d8[_0xc16a('0x19')]+_0x2a03d8[_0xc16a('0x1a')],_0x1cf93b;if(_0x398e32>=_0x427b61){_0x398e32=_0x427b61;_0x1cf93b=0xc8;}else{_0x1cf93b=0xce;}_0x3da336[_0xc16a('0x16')](_0x1cf93b);return _0x3da336['set']('Content-Range',_0x290b6c+'-'+_0x398e32+'/'+_0x427b61)[_0xc16a('0x17')](_0x2c9481);}return null;};}function patchUpdates(_0x37fa4f){return function(_0x2c9269){try{jsonpatch['apply'](_0x2c9269,_0x37fa4f,!![]);}catch(_0x225c50){return BPromise[_0xc16a('0x1b')](_0x225c50);}return _0x2c9269[_0xc16a('0x1c')]();};}function saveUpdates(_0x52454c,_0x3f07b6){return function(_0x5c88f6){if(_0x5c88f6){return _0x5c88f6['update'](_0x52454c)['then'](function(_0x244914){return _0x244914;});}return null;};}function removeEntity(_0x41ef19,_0x366ea5){return function(_0x4528f7){if(_0x4528f7){return _0x4528f7[_0xc16a('0x1d')]()['then'](function(){_0x41ef19[_0xc16a('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x14c977,_0x13c338){return function(_0x27168b){if(!_0x27168b){_0x14c977[_0xc16a('0x1e')](0x194);}return _0x27168b;};}function handleError(_0x395c85,_0x41db00){_0x41db00=_0x41db00||0x1f4;return function(_0x342e39){logger[_0xc16a('0x1f')](_0x342e39[_0xc16a('0x20')]);if(_0x342e39[_0xc16a('0x21')]){delete _0x342e39[_0xc16a('0x21')];}_0x395c85['status'](_0x41db00)[_0xc16a('0x22')](_0x342e39);};}exports[_0xc16a('0x23')]=function(_0x194535,_0x153500){var _0xca77bb={},_0x3bd4fc={},_0x40ef00={'count':0x0,'rows':[]};var _0x18f35b=_[_0xc16a('0x24')](db[_0xc16a('0x25')][_0xc16a('0x26')],function(_0x3e38aa){return{'name':_0x3e38aa[_0xc16a('0x27')],'type':_0x3e38aa[_0xc16a('0x28')][_0xc16a('0x29')]};});_0x3bd4fc['model']=_[_0xc16a('0x24')](_0x18f35b,_0xc16a('0x21'));_0x3bd4fc['query']=_[_0xc16a('0x2a')](_0x194535[_0xc16a('0x2b')]);_0x3bd4fc['filters']=_[_0xc16a('0x2c')](_0x3bd4fc['model'],_0x3bd4fc[_0xc16a('0x2b')]);_0xca77bb[_0xc16a('0x2d')]=_[_0xc16a('0x2c')](_0x3bd4fc[_0xc16a('0x2e')],qs[_0xc16a('0x2f')](_0x194535[_0xc16a('0x2b')]['fields']));_0xca77bb['attributes']=_0xca77bb[_0xc16a('0x2d')][_0xc16a('0x30')]?_0xca77bb[_0xc16a('0x2d')]:_0x3bd4fc[_0xc16a('0x2e')];if(!_0x194535['query'][_0xc16a('0x31')]('nolimit')){_0xca77bb[_0xc16a('0x1a')]=qs[_0xc16a('0x1a')](_0x194535[_0xc16a('0x2b')]['limit']);_0xca77bb['offset']=qs['offset'](_0x194535[_0xc16a('0x2b')][_0xc16a('0x19')]);}_0xca77bb['order']=qs[_0xc16a('0x32')](_0x194535[_0xc16a('0x2b')]['sort']);_0xca77bb[_0xc16a('0x33')]=qs['filters'](_[_0xc16a('0x34')](_0x194535['query'],_0x3bd4fc[_0xc16a('0x35')]),_0x18f35b);if(_0x194535[_0xc16a('0x2b')][_0xc16a('0x36')]){_0xca77bb[_0xc16a('0x33')]=_[_0xc16a('0x37')](_0xca77bb[_0xc16a('0x33')],{'$or':_['map'](_0x18f35b,function(_0x5cac1d){if(_0x5cac1d[_0xc16a('0x28')]!==_0xc16a('0x38')){var _0x1af3f7={};_0x1af3f7[_0x5cac1d['name']]={'$like':'%'+_0x194535[_0xc16a('0x2b')][_0xc16a('0x36')]+'%'};return _0x1af3f7;}})});}_0xca77bb=_[_0xc16a('0x37')]({},_0xca77bb,_0x194535[_0xc16a('0x39')]);var _0x2da1b6={'where':_0xca77bb[_0xc16a('0x33')]};return db['DeskField'][_0xc16a('0x18')](_0x2da1b6)[_0xc16a('0x3a')](function(_0x2f314a){_0x40ef00[_0xc16a('0x18')]=_0x2f314a;if(_0x194535[_0xc16a('0x2b')][_0xc16a('0x3b')]){_0xca77bb['include']=[{'all':!![]}];}return db[_0xc16a('0x25')][_0xc16a('0x3c')](_0xca77bb);})[_0xc16a('0x3a')](function(_0x3c1cff){_0x40ef00['rows']=_0x3c1cff;return _0x40ef00;})[_0xc16a('0x3a')](respondWithFilteredResult(_0x153500,_0xca77bb))[_0xc16a('0x3d')](handleError(_0x153500,null));};exports[_0xc16a('0x3e')]=function(_0x1ef736,_0x49b4ab){var _0x390e38={'raw':!![],'where':{'id':_0x1ef736['params']['id']}},_0x3b82d4={};_0x3b82d4[_0xc16a('0x2e')]=_['keys'](db[_0xc16a('0x25')][_0xc16a('0x26')]);_0x3b82d4[_0xc16a('0x2b')]=_[_0xc16a('0x2a')](_0x1ef736['query']);_0x3b82d4[_0xc16a('0x35')]=_[_0xc16a('0x2c')](_0x3b82d4[_0xc16a('0x2e')],_0x3b82d4[_0xc16a('0x2b')]);_0x390e38['attributes']=_[_0xc16a('0x2c')](_0x3b82d4[_0xc16a('0x2e')],qs[_0xc16a('0x2f')](_0x1ef736['query'][_0xc16a('0x2f')]));_0x390e38[_0xc16a('0x2d')]=_0x390e38[_0xc16a('0x2d')][_0xc16a('0x30')]?_0x390e38['attributes']:_0x3b82d4[_0xc16a('0x2e')];if(_0x1ef736[_0xc16a('0x2b')]['includeAll']){_0x390e38[_0xc16a('0x3f')]=[{'all':!![]}];}_0x390e38=_[_0xc16a('0x37')]({},_0x390e38,_0x1ef736['options']);return db['DeskField'][_0xc16a('0x40')](_0x390e38)['then'](handleEntityNotFound(_0x49b4ab,null))['then'](respondWithResult(_0x49b4ab,null))[_0xc16a('0x3d')](handleError(_0x49b4ab,null));};exports[_0xc16a('0x41')]=function(_0x8f9a67,_0x9e164e){return db[_0xc16a('0x25')]['create'](_0x8f9a67[_0xc16a('0x42')],{})[_0xc16a('0x3a')](respondWithResult(_0x9e164e,0xc9))[_0xc16a('0x3d')](handleError(_0x9e164e,null));};exports[_0xc16a('0x43')]=function(_0x17b1aa,_0x3767c3){if(_0x17b1aa[_0xc16a('0x42')]['id']){delete _0x17b1aa[_0xc16a('0x42')]['id'];}return db[_0xc16a('0x25')]['find']({'where':{'id':_0x17b1aa[_0xc16a('0x44')]['id']}})[_0xc16a('0x3a')](handleEntityNotFound(_0x3767c3,null))[_0xc16a('0x3a')](saveUpdates(_0x17b1aa[_0xc16a('0x42')],null))[_0xc16a('0x3a')](respondWithResult(_0x3767c3,null))[_0xc16a('0x3d')](handleError(_0x3767c3,null));};exports[_0xc16a('0x1d')]=function(_0x5c7d0d,_0x32b67e){return db[_0xc16a('0x25')][_0xc16a('0x40')]({'where':{'id':_0x5c7d0d['params']['id']}})[_0xc16a('0x3a')](handleEntityNotFound(_0x32b67e,null))['then'](removeEntity(_0x32b67e,null))[_0xc16a('0x3d')](handleError(_0x32b67e,null));};