Built motion from commit 85328c08.|2.5.50
[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 _0xc8ba=['filters','intersection','fields','attributes','length','nolimit','order','pick','filter','where','type','VIRTUAL','merge','options','includeAll','findAll','then','catch','show','params','keys','include','find','create','body','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','sox','to-csv','fs-extra','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','offset','undefined','count','limit','set','Content-Range','json','apply','update','destroy','stack','name','send','map','DeskField','rawAttributes','fieldName','key','model','query'];(function(_0x5e7e55,_0x4dadc0){var _0x332810=function(_0x532641){while(--_0x532641){_0x5e7e55['push'](_0x5e7e55['shift']());}};_0x332810(++_0x4dadc0);}(_0xc8ba,0x186));var _0xac8b=function(_0x13992d,_0x3029ea){_0x13992d=_0x13992d-0x0;var _0x3d15bf=_0xc8ba[_0x13992d];return _0x3d15bf;};'use strict';var emlformat=require(_0xac8b('0x0'));var rimraf=require(_0xac8b('0x1'));var zipdir=require(_0xac8b('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xac8b('0x3'));var BPromise=require(_0xac8b('0x4'));var Mustache=require(_0xac8b('0x5'));var util=require(_0xac8b('0x6'));var path=require('path');var sox=require(_0xac8b('0x7'));var csv=require(_0xac8b('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xac8b('0x9'));var _=require('lodash');var squel=require(_0xac8b('0xa'));var crypto=require(_0xac8b('0xb'));var jsforce=require(_0xac8b('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xac8b('0x8'));var querystring=require(_0xac8b('0xd'));var Papa=require(_0xac8b('0xe'));var Redis=require(_0xac8b('0xf'));var authService=require(_0xac8b('0x10'));var qs=require(_0xac8b('0x11'));var as=require(_0xac8b('0x12'));var hardwareService=require(_0xac8b('0x13'));var logger=require(_0xac8b('0x14'))(_0xac8b('0x15'));var utils=require(_0xac8b('0x16'));var config=require(_0xac8b('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xac8b('0x18'))['db'];function respondWithStatusCode(_0x2c1729,_0x2874dd){_0x2874dd=_0x2874dd||0xcc;return function(_0xc91ef9){if(_0xc91ef9){return _0x2c1729[_0xac8b('0x19')](_0x2874dd);}return _0x2c1729['status'](_0x2874dd)[_0xac8b('0x1a')]();};}function respondWithResult(_0x5ae845,_0x50f036){_0x50f036=_0x50f036||0xc8;return function(_0x347e16){if(_0x347e16){return _0x5ae845[_0xac8b('0x1b')](_0x50f036)['json'](_0x347e16);}};}function respondWithFilteredResult(_0x2d1de4,_0x27dc56){return function(_0x28f8e9){if(_0x28f8e9){var _0x406618=typeof _0x27dc56[_0xac8b('0x1c')]===_0xac8b('0x1d')&&typeof _0x27dc56['limit']==='undefined';var _0x4640dc=_0x28f8e9[_0xac8b('0x1e')];var _0x5e1b9d=_0x406618?0x0:_0x27dc56[_0xac8b('0x1c')];var _0x3974e4=_0x406618?_0x28f8e9[_0xac8b('0x1e')]:_0x27dc56['offset']+_0x27dc56[_0xac8b('0x1f')];var _0x88b80f;if(_0x3974e4>=_0x4640dc){_0x3974e4=_0x4640dc;_0x88b80f=0xc8;}else{_0x88b80f=0xce;}_0x2d1de4[_0xac8b('0x1b')](_0x88b80f);return _0x2d1de4[_0xac8b('0x20')](_0xac8b('0x21'),_0x5e1b9d+'-'+_0x3974e4+'/'+_0x4640dc)[_0xac8b('0x22')](_0x28f8e9);}return null;};}function patchUpdates(_0x1dbbce){return function(_0x1ea7b8){try{jsonpatch[_0xac8b('0x23')](_0x1ea7b8,_0x1dbbce,!![]);}catch(_0x433813){return BPromise['reject'](_0x433813);}return _0x1ea7b8['save']();};}function saveUpdates(_0x35c211,_0x5419f2){return function(_0x5bed0a){if(_0x5bed0a){return _0x5bed0a[_0xac8b('0x24')](_0x35c211)['then'](function(_0x479d7e){return _0x479d7e;});}return null;};}function removeEntity(_0x18f98c,_0x28a730){return function(_0xe51f65){if(_0xe51f65){return _0xe51f65[_0xac8b('0x25')]()['then'](function(){_0x18f98c[_0xac8b('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x8d0eda,_0x447c97){return function(_0xaebbfd){if(!_0xaebbfd){_0x8d0eda[_0xac8b('0x19')](0x194);}return _0xaebbfd;};}function handleError(_0x4b7287,_0x1e7c33){_0x1e7c33=_0x1e7c33||0x1f4;return function(_0x4fac73){logger['error'](_0x4fac73[_0xac8b('0x26')]);if(_0x4fac73[_0xac8b('0x27')]){delete _0x4fac73['name'];}_0x4b7287[_0xac8b('0x1b')](_0x1e7c33)[_0xac8b('0x28')](_0x4fac73);};}exports['index']=function(_0x26ac33,_0x31bf50){var _0xab0bfc={},_0x329511={},_0x209390={'count':0x0,'rows':[]};var _0x11b1a1=_[_0xac8b('0x29')](db[_0xac8b('0x2a')][_0xac8b('0x2b')],function(_0x517524){return{'name':_0x517524[_0xac8b('0x2c')],'type':_0x517524['type'][_0xac8b('0x2d')]};});_0x329511[_0xac8b('0x2e')]=_[_0xac8b('0x29')](_0x11b1a1,_0xac8b('0x27'));_0x329511[_0xac8b('0x2f')]=_['keys'](_0x26ac33[_0xac8b('0x2f')]);_0x329511[_0xac8b('0x30')]=_['intersection'](_0x329511[_0xac8b('0x2e')],_0x329511[_0xac8b('0x2f')]);_0xab0bfc['attributes']=_[_0xac8b('0x31')](_0x329511[_0xac8b('0x2e')],qs[_0xac8b('0x32')](_0x26ac33['query'][_0xac8b('0x32')]));_0xab0bfc[_0xac8b('0x33')]=_0xab0bfc['attributes'][_0xac8b('0x34')]?_0xab0bfc[_0xac8b('0x33')]:_0x329511['model'];if(!_0x26ac33[_0xac8b('0x2f')]['hasOwnProperty'](_0xac8b('0x35'))){_0xab0bfc[_0xac8b('0x1f')]=qs['limit'](_0x26ac33[_0xac8b('0x2f')][_0xac8b('0x1f')]);_0xab0bfc[_0xac8b('0x1c')]=qs[_0xac8b('0x1c')](_0x26ac33[_0xac8b('0x2f')][_0xac8b('0x1c')]);}_0xab0bfc[_0xac8b('0x36')]=qs['sort'](_0x26ac33[_0xac8b('0x2f')]['sort']);_0xab0bfc['where']=qs[_0xac8b('0x30')](_[_0xac8b('0x37')](_0x26ac33[_0xac8b('0x2f')],_0x329511[_0xac8b('0x30')]),_0x11b1a1);if(_0x26ac33[_0xac8b('0x2f')][_0xac8b('0x38')]){_0xab0bfc[_0xac8b('0x39')]=_['merge'](_0xab0bfc[_0xac8b('0x39')],{'$or':_[_0xac8b('0x29')](_0x11b1a1,function(_0x3c5e6e){if(_0x3c5e6e[_0xac8b('0x3a')]!==_0xac8b('0x3b')){var _0x257012={};_0x257012[_0x3c5e6e[_0xac8b('0x27')]]={'$like':'%'+_0x26ac33[_0xac8b('0x2f')]['filter']+'%'};return _0x257012;}})});}_0xab0bfc=_[_0xac8b('0x3c')]({},_0xab0bfc,_0x26ac33[_0xac8b('0x3d')]);var _0x2d9ef6={'where':_0xab0bfc[_0xac8b('0x39')]};return db[_0xac8b('0x2a')][_0xac8b('0x1e')](_0x2d9ef6)['then'](function(_0xed3e99){_0x209390['count']=_0xed3e99;if(_0x26ac33[_0xac8b('0x2f')][_0xac8b('0x3e')]){_0xab0bfc['include']=[{'all':!![]}];}return db[_0xac8b('0x2a')][_0xac8b('0x3f')](_0xab0bfc);})[_0xac8b('0x40')](function(_0x44671f){_0x209390['rows']=_0x44671f;return _0x209390;})[_0xac8b('0x40')](respondWithFilteredResult(_0x31bf50,_0xab0bfc))[_0xac8b('0x41')](handleError(_0x31bf50,null));};exports[_0xac8b('0x42')]=function(_0x4471ca,_0x1960d7){var _0x54f5b7={'raw':!![],'where':{'id':_0x4471ca[_0xac8b('0x43')]['id']}},_0x20c65b={};_0x20c65b[_0xac8b('0x2e')]=_[_0xac8b('0x44')](db[_0xac8b('0x2a')][_0xac8b('0x2b')]);_0x20c65b[_0xac8b('0x2f')]=_[_0xac8b('0x44')](_0x4471ca[_0xac8b('0x2f')]);_0x20c65b[_0xac8b('0x30')]=_[_0xac8b('0x31')](_0x20c65b['model'],_0x20c65b[_0xac8b('0x2f')]);_0x54f5b7[_0xac8b('0x33')]=_[_0xac8b('0x31')](_0x20c65b['model'],qs['fields'](_0x4471ca['query'][_0xac8b('0x32')]));_0x54f5b7[_0xac8b('0x33')]=_0x54f5b7[_0xac8b('0x33')]['length']?_0x54f5b7[_0xac8b('0x33')]:_0x20c65b[_0xac8b('0x2e')];if(_0x4471ca['query'][_0xac8b('0x3e')]){_0x54f5b7[_0xac8b('0x45')]=[{'all':!![]}];}_0x54f5b7=_[_0xac8b('0x3c')]({},_0x54f5b7,_0x4471ca['options']);return db[_0xac8b('0x2a')][_0xac8b('0x46')](_0x54f5b7)[_0xac8b('0x40')](handleEntityNotFound(_0x1960d7,null))[_0xac8b('0x40')](respondWithResult(_0x1960d7,null))['catch'](handleError(_0x1960d7,null));};exports['create']=function(_0x3a978c,_0x39f64c){return db[_0xac8b('0x2a')][_0xac8b('0x47')](_0x3a978c[_0xac8b('0x48')],{})[_0xac8b('0x40')](respondWithResult(_0x39f64c,0xc9))[_0xac8b('0x41')](handleError(_0x39f64c,null));};exports['update']=function(_0x5796c2,_0x27a02f){if(_0x5796c2[_0xac8b('0x48')]['id']){delete _0x5796c2[_0xac8b('0x48')]['id'];}return db[_0xac8b('0x2a')][_0xac8b('0x46')]({'where':{'id':_0x5796c2[_0xac8b('0x43')]['id']}})[_0xac8b('0x40')](handleEntityNotFound(_0x27a02f,null))['then'](saveUpdates(_0x5796c2[_0xac8b('0x48')],null))[_0xac8b('0x40')](respondWithResult(_0x27a02f,null))['catch'](handleError(_0x27a02f,null));};exports['destroy']=function(_0x22f176,_0x22947e){return db[_0xac8b('0x2a')][_0xac8b('0x46')]({'where':{'id':_0x22f176[_0xac8b('0x43')]['id']}})['then'](handleEntityNotFound(_0x22947e,null))[_0xac8b('0x40')](removeEntity(_0x22947e,null))[_0xac8b('0x41')](handleError(_0x22947e,null));};