Built motion from commit (unavailable).|2.5.21
[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 _0x5945=['index','map','DeskField','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','rows','catch','show','params','intersection','include','find','create','update','body','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','util','path','sox','ejs','squel','crypto','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','json','offset','limit','Content-Range','apply','reject','save','destroy','then','status','stack','name','send'];(function(_0x261522,_0x1adc1f){var _0x98a25a=function(_0x1b0f9c){while(--_0x1b0f9c){_0x261522['push'](_0x261522['shift']());}};_0x98a25a(++_0x1adc1f);}(_0x5945,0xb2));var _0x5594=function(_0x36f82a,_0x4ec395){_0x36f82a=_0x36f82a-0x0;var _0x495067=_0x5945[_0x36f82a];return _0x495067;};'use strict';var pdf=require(_0x5594('0x0'));var emlformat=require(_0x5594('0x1'));var rimraf=require(_0x5594('0x2'));var zipdir=require(_0x5594('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x5594('0x4'));var moment=require(_0x5594('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x5594('0x6'));var path=require(_0x5594('0x7'));var sox=require(_0x5594('0x8'));var csv=require('to-csv');var ejs=require(_0x5594('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x5594('0xa'));var crypto=require(_0x5594('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x5594('0xc'));var Redis=require('ioredis');var authService=require(_0x5594('0xd'));var qs=require(_0x5594('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5594('0xf'));var logger=require(_0x5594('0x10'))('api');var utils=require(_0x5594('0x11'));var config=require(_0x5594('0x12'));var licenseUtil=require(_0x5594('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x485919,_0x27eab5){_0x27eab5=_0x27eab5||0xcc;return function(_0x404a48){if(_0x404a48){return _0x485919[_0x5594('0x14')](_0x27eab5);}return _0x485919['status'](_0x27eab5)[_0x5594('0x15')]();};}function respondWithResult(_0x2690ed,_0x56d42d){_0x56d42d=_0x56d42d||0xc8;return function(_0x56115a){if(_0x56115a){return _0x2690ed['status'](_0x56d42d)[_0x5594('0x16')](_0x56115a);}};}function respondWithFilteredResult(_0x35234a,_0x4e69ac){return function(_0x5a9d42){if(_0x5a9d42){var _0x5d5428=_0x5a9d42['count'],_0x14d3d7=_0x4e69ac[_0x5594('0x17')],_0x3a2504=_0x4e69ac[_0x5594('0x17')]+_0x4e69ac[_0x5594('0x18')],_0x416cc9;if(_0x3a2504>=_0x5d5428){_0x3a2504=_0x5d5428;_0x416cc9=0xc8;}else{_0x416cc9=0xce;}_0x35234a['status'](_0x416cc9);return _0x35234a['set'](_0x5594('0x19'),_0x14d3d7+'-'+_0x3a2504+'/'+_0x5d5428)['json'](_0x5a9d42);}return null;};}function patchUpdates(_0x3cb338){return function(_0x5d3d72){try{jsonpatch[_0x5594('0x1a')](_0x5d3d72,_0x3cb338,!![]);}catch(_0x159ba4){return BPromise[_0x5594('0x1b')](_0x159ba4);}return _0x5d3d72[_0x5594('0x1c')]();};}function saveUpdates(_0xde1fe9,_0x2f03d4){return function(_0x4073c4){if(_0x4073c4){return _0x4073c4['update'](_0xde1fe9)['then'](function(_0x5ed586){return _0x5ed586;});}return null;};}function removeEntity(_0x3dfa9f,_0x5938ab){return function(_0x44c3dc){if(_0x44c3dc){return _0x44c3dc[_0x5594('0x1d')]()[_0x5594('0x1e')](function(){_0x3dfa9f[_0x5594('0x1f')](0xcc)[_0x5594('0x15')]();});}};}function handleEntityNotFound(_0x2cdd61,_0x3be480){return function(_0x4334fb){if(!_0x4334fb){_0x2cdd61[_0x5594('0x14')](0x194);}return _0x4334fb;};}function handleError(_0x1ea8e7,_0x85c0a4){_0x85c0a4=_0x85c0a4||0x1f4;return function(_0x2509c3){logger['error'](_0x2509c3[_0x5594('0x20')]);if(_0x2509c3[_0x5594('0x21')]){delete _0x2509c3[_0x5594('0x21')];}_0x1ea8e7[_0x5594('0x1f')](_0x85c0a4)[_0x5594('0x22')](_0x2509c3);};}exports[_0x5594('0x23')]=function(_0x86da76,_0xb36018){var _0x410fbc={},_0x485b44={},_0x2f2c04={'count':0x0,'rows':[]};var _0x307c8e=_[_0x5594('0x24')](db[_0x5594('0x25')][_0x5594('0x26')],function(_0x57e40a){return{'name':_0x57e40a[_0x5594('0x27')],'type':_0x57e40a[_0x5594('0x28')][_0x5594('0x29')]};});_0x485b44[_0x5594('0x2a')]=_[_0x5594('0x24')](_0x307c8e,_0x5594('0x21'));_0x485b44[_0x5594('0x2b')]=_[_0x5594('0x2c')](_0x86da76[_0x5594('0x2b')]);_0x485b44[_0x5594('0x2d')]=_['intersection'](_0x485b44['model'],_0x485b44[_0x5594('0x2b')]);_0x410fbc[_0x5594('0x2e')]=_['intersection'](_0x485b44[_0x5594('0x2a')],qs[_0x5594('0x2f')](_0x86da76[_0x5594('0x2b')][_0x5594('0x2f')]));_0x410fbc['attributes']=_0x410fbc[_0x5594('0x2e')][_0x5594('0x30')]?_0x410fbc['attributes']:_0x485b44[_0x5594('0x2a')];if(!_0x86da76[_0x5594('0x2b')][_0x5594('0x31')](_0x5594('0x32'))){_0x410fbc[_0x5594('0x18')]=qs[_0x5594('0x18')](_0x86da76[_0x5594('0x2b')]['limit']);_0x410fbc['offset']=qs[_0x5594('0x17')](_0x86da76['query'][_0x5594('0x17')]);}_0x410fbc[_0x5594('0x33')]=qs[_0x5594('0x34')](_0x86da76[_0x5594('0x2b')][_0x5594('0x34')]);_0x410fbc[_0x5594('0x35')]=qs[_0x5594('0x2d')](_[_0x5594('0x36')](_0x86da76[_0x5594('0x2b')],_0x485b44[_0x5594('0x2d')]),_0x307c8e);if(_0x86da76[_0x5594('0x2b')][_0x5594('0x37')]){_0x410fbc[_0x5594('0x35')]=_[_0x5594('0x38')](_0x410fbc[_0x5594('0x35')],{'$or':_[_0x5594('0x24')](_0x307c8e,function(_0x174c46){if(_0x174c46[_0x5594('0x28')]!==_0x5594('0x39')){var _0x3b7b36={};_0x3b7b36[_0x174c46['name']]={'$like':'%'+_0x86da76['query'][_0x5594('0x37')]+'%'};return _0x3b7b36;}})});}_0x410fbc=_['merge']({},_0x410fbc,_0x86da76[_0x5594('0x3a')]);var _0x221178={'where':_0x410fbc['where']};return db[_0x5594('0x25')][_0x5594('0x3b')](_0x221178)[_0x5594('0x1e')](function(_0x14a25b){_0x2f2c04[_0x5594('0x3b')]=_0x14a25b;if(_0x86da76[_0x5594('0x2b')][_0x5594('0x3c')]){_0x410fbc['include']=[{'all':!![]}];}return db[_0x5594('0x25')]['findAll'](_0x410fbc);})[_0x5594('0x1e')](function(_0x306d36){_0x2f2c04[_0x5594('0x3d')]=_0x306d36;return _0x2f2c04;})['then'](respondWithFilteredResult(_0xb36018,_0x410fbc))[_0x5594('0x3e')](handleError(_0xb36018,null));};exports[_0x5594('0x3f')]=function(_0xc4a16c,_0x54769f){var _0x2f60dc={'raw':!![],'where':{'id':_0xc4a16c[_0x5594('0x40')]['id']}},_0x28022e={};_0x28022e[_0x5594('0x2a')]=_[_0x5594('0x2c')](db[_0x5594('0x25')]['rawAttributes']);_0x28022e[_0x5594('0x2b')]=_[_0x5594('0x2c')](_0xc4a16c[_0x5594('0x2b')]);_0x28022e['filters']=_[_0x5594('0x41')](_0x28022e[_0x5594('0x2a')],_0x28022e[_0x5594('0x2b')]);_0x2f60dc[_0x5594('0x2e')]=_[_0x5594('0x41')](_0x28022e[_0x5594('0x2a')],qs['fields'](_0xc4a16c[_0x5594('0x2b')][_0x5594('0x2f')]));_0x2f60dc['attributes']=_0x2f60dc[_0x5594('0x2e')][_0x5594('0x30')]?_0x2f60dc[_0x5594('0x2e')]:_0x28022e[_0x5594('0x2a')];if(_0xc4a16c['query'][_0x5594('0x3c')]){_0x2f60dc[_0x5594('0x42')]=[{'all':!![]}];}_0x2f60dc=_[_0x5594('0x38')]({},_0x2f60dc,_0xc4a16c[_0x5594('0x3a')]);return db[_0x5594('0x25')][_0x5594('0x43')](_0x2f60dc)['then'](handleEntityNotFound(_0x54769f,null))['then'](respondWithResult(_0x54769f,null))[_0x5594('0x3e')](handleError(_0x54769f,null));};exports[_0x5594('0x44')]=function(_0x1cac21,_0x46c165){return db[_0x5594('0x25')][_0x5594('0x44')](_0x1cac21['body'],{})[_0x5594('0x1e')](respondWithResult(_0x46c165,0xc9))[_0x5594('0x3e')](handleError(_0x46c165,null));};exports[_0x5594('0x45')]=function(_0x1156b8,_0x21bb90){if(_0x1156b8['body']['id']){delete _0x1156b8[_0x5594('0x46')]['id'];}return db['DeskField'][_0x5594('0x43')]({'where':{'id':_0x1156b8[_0x5594('0x40')]['id']}})[_0x5594('0x1e')](handleEntityNotFound(_0x21bb90,null))[_0x5594('0x1e')](saveUpdates(_0x1156b8[_0x5594('0x46')],null))['then'](respondWithResult(_0x21bb90,null))[_0x5594('0x3e')](handleError(_0x21bb90,null));};exports[_0x5594('0x1d')]=function(_0x12ddc1,_0x4c883d){return db['DeskField'][_0x5594('0x43')]({'where':{'id':_0x12ddc1[_0x5594('0x40')]['id']}})[_0x5594('0x1e')](handleEntityNotFound(_0x4c883d,null))[_0x5594('0x1e')](removeEntity(_0x4c883d,null))[_0x5594('0x3e')](handleError(_0x4c883d,null));};