Built motion from commit 936e8062.|2.5.33
[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 _0x1c23=['filters','intersection','model','fields','length','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','show','params','find','catch','body','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','set','apply','save','update','then','stack','name','send','index','map','DeskField','rawAttributes','fieldName','type','key','keys','query'];(function(_0x125171,_0x3e06fa){var _0x415648=function(_0x2de9d9){while(--_0x2de9d9){_0x125171['push'](_0x125171['shift']());}};_0x415648(++_0x3e06fa);}(_0x1c23,0x1d5));var _0x31c2=function(_0x25126a,_0x4afe64){_0x25126a=_0x25126a-0x0;var _0x1c537a=_0x1c23[_0x25126a];return _0x1c537a;};'use strict';var emlformat=require(_0x31c2('0x0'));var rimraf=require(_0x31c2('0x1'));var zipdir=require(_0x31c2('0x2'));var jsonpatch=require(_0x31c2('0x3'));var rp=require(_0x31c2('0x4'));var moment=require(_0x31c2('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x31c2('0x6'));var util=require(_0x31c2('0x7'));var path=require('path');var sox=require(_0x31c2('0x8'));var csv=require(_0x31c2('0x9'));var ejs=require(_0x31c2('0xa'));var fs=require('fs');var fs_extra=require(_0x31c2('0xb'));var _=require(_0x31c2('0xc'));var squel=require('squel');var crypto=require(_0x31c2('0xd'));var jsforce=require(_0x31c2('0xe'));var deskjs=require(_0x31c2('0xf'));var toCsv=require(_0x31c2('0x9'));var querystring=require(_0x31c2('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x31c2('0x11'));var qs=require(_0x31c2('0x12'));var as=require(_0x31c2('0x13'));var hardwareService=require(_0x31c2('0x14'));var logger=require(_0x31c2('0x15'))(_0x31c2('0x16'));var utils=require('../../config/utils');var config=require(_0x31c2('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x31c2('0x18'))['db'];function respondWithStatusCode(_0x2df4e5,_0x1d8406){_0x1d8406=_0x1d8406||0xcc;return function(_0x5f573a){if(_0x5f573a){return _0x2df4e5[_0x31c2('0x19')](_0x1d8406);}return _0x2df4e5[_0x31c2('0x1a')](_0x1d8406)['end']();};}function respondWithResult(_0x14c25f,_0x44d874){_0x44d874=_0x44d874||0xc8;return function(_0x463881){if(_0x463881){return _0x14c25f[_0x31c2('0x1a')](_0x44d874)[_0x31c2('0x1b')](_0x463881);}};}function respondWithFilteredResult(_0x5fa42e,_0x1cf235){return function(_0x35f75b){if(_0x35f75b){var _0x3f1d79=typeof _0x1cf235[_0x31c2('0x1c')]===_0x31c2('0x1d')&&typeof _0x1cf235['limit']==='undefined';var _0x3bfa45=_0x35f75b[_0x31c2('0x1e')];var _0x1f7f83=_0x3f1d79?0x0:_0x1cf235['offset'];var _0x5055e7=_0x3f1d79?_0x35f75b[_0x31c2('0x1e')]:_0x1cf235['offset']+_0x1cf235[_0x31c2('0x1f')];var _0x3f2435;if(_0x5055e7>=_0x3bfa45){_0x5055e7=_0x3bfa45;_0x3f2435=0xc8;}else{_0x3f2435=0xce;}_0x5fa42e[_0x31c2('0x1a')](_0x3f2435);return _0x5fa42e[_0x31c2('0x20')]('Content-Range',_0x1f7f83+'-'+_0x5055e7+'/'+_0x3bfa45)[_0x31c2('0x1b')](_0x35f75b);}return null;};}function patchUpdates(_0x4ae7ad){return function(_0x35d945){try{jsonpatch[_0x31c2('0x21')](_0x35d945,_0x4ae7ad,!![]);}catch(_0x483c25){return BPromise['reject'](_0x483c25);}return _0x35d945[_0x31c2('0x22')]();};}function saveUpdates(_0x36ae8e,_0x4cd43e){return function(_0x133d0e){if(_0x133d0e){return _0x133d0e[_0x31c2('0x23')](_0x36ae8e)[_0x31c2('0x24')](function(_0x44a0bc){return _0x44a0bc;});}return null;};}function removeEntity(_0x5e10e7,_0x25bdc2){return function(_0x26939e){if(_0x26939e){return _0x26939e['destroy']()[_0x31c2('0x24')](function(){_0x5e10e7['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3af6eb,_0x58f82d){return function(_0x37b749){if(!_0x37b749){_0x3af6eb[_0x31c2('0x19')](0x194);}return _0x37b749;};}function handleError(_0x18e3d8,_0x211a43){_0x211a43=_0x211a43||0x1f4;return function(_0x3ad658){logger['error'](_0x3ad658[_0x31c2('0x25')]);if(_0x3ad658[_0x31c2('0x26')]){delete _0x3ad658[_0x31c2('0x26')];}_0x18e3d8['status'](_0x211a43)[_0x31c2('0x27')](_0x3ad658);};}exports[_0x31c2('0x28')]=function(_0xf8879a,_0x2a936e){var _0x45aa60={},_0x2164d8={},_0x13c1ea={'count':0x0,'rows':[]};var _0x5d2a1a=_[_0x31c2('0x29')](db[_0x31c2('0x2a')][_0x31c2('0x2b')],function(_0x2488eb){return{'name':_0x2488eb[_0x31c2('0x2c')],'type':_0x2488eb[_0x31c2('0x2d')][_0x31c2('0x2e')]};});_0x2164d8['model']=_['map'](_0x5d2a1a,_0x31c2('0x26'));_0x2164d8['query']=_[_0x31c2('0x2f')](_0xf8879a[_0x31c2('0x30')]);_0x2164d8[_0x31c2('0x31')]=_[_0x31c2('0x32')](_0x2164d8['model'],_0x2164d8[_0x31c2('0x30')]);_0x45aa60['attributes']=_[_0x31c2('0x32')](_0x2164d8[_0x31c2('0x33')],qs[_0x31c2('0x34')](_0xf8879a[_0x31c2('0x30')]['fields']));_0x45aa60['attributes']=_0x45aa60['attributes'][_0x31c2('0x35')]?_0x45aa60[_0x31c2('0x36')]:_0x2164d8[_0x31c2('0x33')];if(!_0xf8879a[_0x31c2('0x30')][_0x31c2('0x37')](_0x31c2('0x38'))){_0x45aa60[_0x31c2('0x1f')]=qs[_0x31c2('0x1f')](_0xf8879a[_0x31c2('0x30')][_0x31c2('0x1f')]);_0x45aa60[_0x31c2('0x1c')]=qs[_0x31c2('0x1c')](_0xf8879a[_0x31c2('0x30')][_0x31c2('0x1c')]);}_0x45aa60[_0x31c2('0x39')]=qs['sort'](_0xf8879a['query'][_0x31c2('0x3a')]);_0x45aa60[_0x31c2('0x3b')]=qs[_0x31c2('0x31')](_[_0x31c2('0x3c')](_0xf8879a[_0x31c2('0x30')],_0x2164d8['filters']),_0x5d2a1a);if(_0xf8879a['query'][_0x31c2('0x3d')]){_0x45aa60[_0x31c2('0x3b')]=_[_0x31c2('0x3e')](_0x45aa60[_0x31c2('0x3b')],{'$or':_[_0x31c2('0x29')](_0x5d2a1a,function(_0x4855ef){if(_0x4855ef[_0x31c2('0x2d')]!==_0x31c2('0x3f')){var _0x592258={};_0x592258[_0x4855ef[_0x31c2('0x26')]]={'$like':'%'+_0xf8879a['query'][_0x31c2('0x3d')]+'%'};return _0x592258;}})});}_0x45aa60=_[_0x31c2('0x3e')]({},_0x45aa60,_0xf8879a[_0x31c2('0x40')]);var _0x158cca={'where':_0x45aa60['where']};return db[_0x31c2('0x2a')][_0x31c2('0x1e')](_0x158cca)[_0x31c2('0x24')](function(_0x412b5e){_0x13c1ea['count']=_0x412b5e;if(_0xf8879a[_0x31c2('0x30')][_0x31c2('0x41')]){_0x45aa60[_0x31c2('0x42')]=[{'all':!![]}];}return db[_0x31c2('0x2a')][_0x31c2('0x43')](_0x45aa60);})['then'](function(_0x17bb5e){_0x13c1ea['rows']=_0x17bb5e;return _0x13c1ea;})[_0x31c2('0x24')](respondWithFilteredResult(_0x2a936e,_0x45aa60))['catch'](handleError(_0x2a936e,null));};exports[_0x31c2('0x44')]=function(_0x36a7be,_0x149bd0){var _0x1932b5={'raw':!![],'where':{'id':_0x36a7be[_0x31c2('0x45')]['id']}},_0x32cfe3={};_0x32cfe3[_0x31c2('0x33')]=_['keys'](db[_0x31c2('0x2a')][_0x31c2('0x2b')]);_0x32cfe3[_0x31c2('0x30')]=_[_0x31c2('0x2f')](_0x36a7be[_0x31c2('0x30')]);_0x32cfe3[_0x31c2('0x31')]=_[_0x31c2('0x32')](_0x32cfe3[_0x31c2('0x33')],_0x32cfe3[_0x31c2('0x30')]);_0x1932b5[_0x31c2('0x36')]=_[_0x31c2('0x32')](_0x32cfe3[_0x31c2('0x33')],qs[_0x31c2('0x34')](_0x36a7be[_0x31c2('0x30')][_0x31c2('0x34')]));_0x1932b5[_0x31c2('0x36')]=_0x1932b5[_0x31c2('0x36')][_0x31c2('0x35')]?_0x1932b5['attributes']:_0x32cfe3[_0x31c2('0x33')];if(_0x36a7be[_0x31c2('0x30')]['includeAll']){_0x1932b5[_0x31c2('0x42')]=[{'all':!![]}];}_0x1932b5=_[_0x31c2('0x3e')]({},_0x1932b5,_0x36a7be[_0x31c2('0x40')]);return db[_0x31c2('0x2a')][_0x31c2('0x46')](_0x1932b5)[_0x31c2('0x24')](handleEntityNotFound(_0x149bd0,null))[_0x31c2('0x24')](respondWithResult(_0x149bd0,null))['catch'](handleError(_0x149bd0,null));};exports['create']=function(_0x583842,_0x29be6f){return db[_0x31c2('0x2a')]['create'](_0x583842['body'],{})[_0x31c2('0x24')](respondWithResult(_0x29be6f,0xc9))[_0x31c2('0x47')](handleError(_0x29be6f,null));};exports['update']=function(_0x2f935d,_0x28f9e7){if(_0x2f935d['body']['id']){delete _0x2f935d[_0x31c2('0x48')]['id'];}return db[_0x31c2('0x2a')]['find']({'where':{'id':_0x2f935d[_0x31c2('0x45')]['id']}})[_0x31c2('0x24')](handleEntityNotFound(_0x28f9e7,null))['then'](saveUpdates(_0x2f935d[_0x31c2('0x48')],null))[_0x31c2('0x24')](respondWithResult(_0x28f9e7,null))[_0x31c2('0x47')](handleError(_0x28f9e7,null));};exports[_0x31c2('0x49')]=function(_0x35d315,_0xa924bd){return db[_0x31c2('0x2a')][_0x31c2('0x46')]({'where':{'id':_0x35d315[_0x31c2('0x45')]['id']}})[_0x31c2('0x24')](handleEntityNotFound(_0xa924bd,null))['then'](removeEntity(_0xa924bd,null))['catch'](handleError(_0xa924bd,null));};