1174d7dba18d6a98205ee6a2bdfd6cfd4d887958
[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 _0x6a4d=['options','count','includeAll','include','rows','show','params','keys','find','catch','create','body','html-pdf','request-promise','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','sendStatus','status','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','send','DeskField','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','filter','merge','map','VIRTUAL'];(function(_0x284f42,_0x14ca71){var _0xf66221=function(_0x26bd9f){while(--_0x26bd9f){_0x284f42['push'](_0x284f42['shift']());}};_0xf66221(++_0x14ca71);}(_0x6a4d,0xe7));var _0xd6a4=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x6a4d[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0xd6a4('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xd6a4('0x1'));var moment=require('moment');var BPromise=require(_0xd6a4('0x2'));var Mustache=require(_0xd6a4('0x3'));var util=require(_0xd6a4('0x4'));var path=require(_0xd6a4('0x5'));var sox=require(_0xd6a4('0x6'));var csv=require('to-csv');var ejs=require(_0xd6a4('0x7'));var fs=require('fs');var _=require(_0xd6a4('0x8'));var squel=require(_0xd6a4('0x9'));var crypto=require(_0xd6a4('0xa'));var jsforce=require(_0xd6a4('0xb'));var deskjs=require(_0xd6a4('0xc'));var toCsv=require(_0xd6a4('0xd'));var querystring=require(_0xd6a4('0xe'));var Papa=require(_0xd6a4('0xf'));var Redis=require(_0xd6a4('0x10'));var authService=require(_0xd6a4('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xd6a4('0x12'));var hardwareService=require(_0xd6a4('0x13'));var logger=require(_0xd6a4('0x14'))(_0xd6a4('0x15'));var utils=require('../../config/utils');var config=require(_0xd6a4('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4b9b97,_0x4d9a6a){_0x4d9a6a=_0x4d9a6a||0xcc;return function(_0x5bf9f7){if(_0x5bf9f7){return _0x4b9b97[_0xd6a4('0x17')](_0x4d9a6a);}return _0x4b9b97['status'](_0x4d9a6a)['end']();};}function respondWithResult(_0x302a8a,_0x2d3f1c){_0x2d3f1c=_0x2d3f1c||0xc8;return function(_0x2d6f04){if(_0x2d6f04){return _0x302a8a[_0xd6a4('0x18')](_0x2d3f1c)['json'](_0x2d6f04);}};}function respondWithFilteredResult(_0x3c5116,_0x30cd29){return function(_0x3076b1){if(_0x3076b1){var _0x54ada3=_0x3076b1['count'],_0x47b3d5=_0x30cd29[_0xd6a4('0x19')],_0x165e3e=_0x30cd29[_0xd6a4('0x19')]+_0x30cd29[_0xd6a4('0x1a')],_0x3535ca;if(_0x165e3e>=_0x54ada3){_0x165e3e=_0x54ada3;_0x3535ca=0xc8;}else{_0x3535ca=0xce;}_0x3c5116[_0xd6a4('0x18')](_0x3535ca);return _0x3c5116[_0xd6a4('0x1b')](_0xd6a4('0x1c'),_0x47b3d5+'-'+_0x165e3e+'/'+_0x54ada3)['json'](_0x3076b1);}return null;};}function patchUpdates(_0xa99c39){return function(_0x17cf06){try{jsonpatch[_0xd6a4('0x1d')](_0x17cf06,_0xa99c39,!![]);}catch(_0x48c26c){return BPromise[_0xd6a4('0x1e')](_0x48c26c);}return _0x17cf06[_0xd6a4('0x1f')]();};}function saveUpdates(_0x8185d9,_0x53fcff){return function(_0x212bfc){if(_0x212bfc){return _0x212bfc[_0xd6a4('0x20')](_0x8185d9)[_0xd6a4('0x21')](function(_0xf3cee7){return _0xf3cee7;});}return null;};}function removeEntity(_0x26b1d6,_0x3bdf26){return function(_0x5772d3){if(_0x5772d3){return _0x5772d3[_0xd6a4('0x22')]()[_0xd6a4('0x21')](function(){_0x26b1d6[_0xd6a4('0x18')](0xcc)[_0xd6a4('0x23')]();});}};}function handleEntityNotFound(_0x448cf0,_0x97285a){return function(_0x4ea873){if(!_0x4ea873){_0x448cf0[_0xd6a4('0x17')](0x194);}return _0x4ea873;};}function handleError(_0x229133,_0x3a0e04){_0x3a0e04=_0x3a0e04||0x1f4;return function(_0x1c39cf){logger[_0xd6a4('0x24')](_0x1c39cf[_0xd6a4('0x25')]);if(_0x1c39cf['name']){delete _0x1c39cf[_0xd6a4('0x26')];}_0x229133[_0xd6a4('0x18')](_0x3a0e04)[_0xd6a4('0x27')](_0x1c39cf);};}exports['index']=function(_0x31f17f,_0x40aa91){var _0xdb73d7={},_0x73c149={},_0xfec479={'count':0x0,'rows':[]};var _0x8642ea=_['map'](db[_0xd6a4('0x28')][_0xd6a4('0x29')],function(_0x57d7e6){return{'name':_0x57d7e6[_0xd6a4('0x2a')],'type':_0x57d7e6[_0xd6a4('0x2b')][_0xd6a4('0x2c')]};});_0x73c149[_0xd6a4('0x2d')]=_['map'](_0x8642ea,'name');_0x73c149['query']=_['keys'](_0x31f17f[_0xd6a4('0x2e')]);_0x73c149['filters']=_[_0xd6a4('0x2f')](_0x73c149[_0xd6a4('0x2d')],_0x73c149['query']);_0xdb73d7[_0xd6a4('0x30')]=_[_0xd6a4('0x2f')](_0x73c149[_0xd6a4('0x2d')],qs['fields'](_0x31f17f[_0xd6a4('0x2e')][_0xd6a4('0x31')]));_0xdb73d7[_0xd6a4('0x30')]=_0xdb73d7[_0xd6a4('0x30')][_0xd6a4('0x32')]?_0xdb73d7['attributes']:_0x73c149[_0xd6a4('0x2d')];if(!_0x31f17f['query']['hasOwnProperty'](_0xd6a4('0x33'))){_0xdb73d7[_0xd6a4('0x1a')]=qs['limit'](_0x31f17f[_0xd6a4('0x2e')][_0xd6a4('0x1a')]);_0xdb73d7[_0xd6a4('0x19')]=qs[_0xd6a4('0x19')](_0x31f17f[_0xd6a4('0x2e')][_0xd6a4('0x19')]);}_0xdb73d7[_0xd6a4('0x34')]=qs[_0xd6a4('0x35')](_0x31f17f[_0xd6a4('0x2e')][_0xd6a4('0x35')]);_0xdb73d7[_0xd6a4('0x36')]=qs[_0xd6a4('0x37')](_[_0xd6a4('0x38')](_0x31f17f['query'],_0x73c149[_0xd6a4('0x37')]),_0x8642ea);if(_0x31f17f[_0xd6a4('0x2e')][_0xd6a4('0x39')]){_0xdb73d7[_0xd6a4('0x36')]=_[_0xd6a4('0x3a')](_0xdb73d7[_0xd6a4('0x36')],{'$or':_[_0xd6a4('0x3b')](_0x8642ea,function(_0x220eee){if(_0x220eee[_0xd6a4('0x2b')]!==_0xd6a4('0x3c')){var _0x512b99={};_0x512b99[_0x220eee[_0xd6a4('0x26')]]={'$like':'%'+_0x31f17f['query']['filter']+'%'};return _0x512b99;}})});}_0xdb73d7=_[_0xd6a4('0x3a')]({},_0xdb73d7,_0x31f17f[_0xd6a4('0x3d')]);var _0x13a0b9={'where':_0xdb73d7[_0xd6a4('0x36')]};return db['DeskField']['count'](_0x13a0b9)['then'](function(_0x5bfc06){_0xfec479[_0xd6a4('0x3e')]=_0x5bfc06;if(_0x31f17f[_0xd6a4('0x2e')][_0xd6a4('0x3f')]){_0xdb73d7[_0xd6a4('0x40')]=[{'all':!![]}];}return db[_0xd6a4('0x28')]['findAll'](_0xdb73d7);})[_0xd6a4('0x21')](function(_0x488b4e){_0xfec479[_0xd6a4('0x41')]=_0x488b4e;return _0xfec479;})[_0xd6a4('0x21')](respondWithFilteredResult(_0x40aa91,_0xdb73d7))['catch'](handleError(_0x40aa91,null));};exports[_0xd6a4('0x42')]=function(_0x4f550d,_0x560dba){var _0x2e8d65={'raw':!![],'where':{'id':_0x4f550d[_0xd6a4('0x43')]['id']}},_0x5de4a0={};_0x5de4a0[_0xd6a4('0x2d')]=_[_0xd6a4('0x44')](db[_0xd6a4('0x28')][_0xd6a4('0x29')]);_0x5de4a0[_0xd6a4('0x2e')]=_[_0xd6a4('0x44')](_0x4f550d['query']);_0x5de4a0[_0xd6a4('0x37')]=_[_0xd6a4('0x2f')](_0x5de4a0[_0xd6a4('0x2d')],_0x5de4a0[_0xd6a4('0x2e')]);_0x2e8d65[_0xd6a4('0x30')]=_[_0xd6a4('0x2f')](_0x5de4a0['model'],qs[_0xd6a4('0x31')](_0x4f550d['query']['fields']));_0x2e8d65[_0xd6a4('0x30')]=_0x2e8d65['attributes']['length']?_0x2e8d65[_0xd6a4('0x30')]:_0x5de4a0[_0xd6a4('0x2d')];if(_0x4f550d['query'][_0xd6a4('0x3f')]){_0x2e8d65[_0xd6a4('0x40')]=[{'all':!![]}];}_0x2e8d65=_[_0xd6a4('0x3a')]({},_0x2e8d65,_0x4f550d[_0xd6a4('0x3d')]);return db[_0xd6a4('0x28')][_0xd6a4('0x45')](_0x2e8d65)[_0xd6a4('0x21')](handleEntityNotFound(_0x560dba,null))['then'](respondWithResult(_0x560dba,null))[_0xd6a4('0x46')](handleError(_0x560dba,null));};exports[_0xd6a4('0x47')]=function(_0x12913b,_0x38a58a){return db['DeskField']['create'](_0x12913b['body'],{})[_0xd6a4('0x21')](respondWithResult(_0x38a58a,0xc9))[_0xd6a4('0x46')](handleError(_0x38a58a,null));};exports[_0xd6a4('0x20')]=function(_0x3b5c0b,_0x2459b3){if(_0x3b5c0b[_0xd6a4('0x48')]['id']){delete _0x3b5c0b[_0xd6a4('0x48')]['id'];}return db['DeskField']['find']({'where':{'id':_0x3b5c0b[_0xd6a4('0x43')]['id']}})[_0xd6a4('0x21')](handleEntityNotFound(_0x2459b3,null))[_0xd6a4('0x21')](saveUpdates(_0x3b5c0b[_0xd6a4('0x48')],null))[_0xd6a4('0x21')](respondWithResult(_0x2459b3,null))['catch'](handleError(_0x2459b3,null));};exports[_0xd6a4('0x22')]=function(_0xe094fc,_0x29cbfd){return db[_0xd6a4('0x28')][_0xd6a4('0x45')]({'where':{'id':_0xe094fc['params']['id']}})[_0xd6a4('0x21')](handleEntityNotFound(_0x29cbfd,null))['then'](removeEntity(_0x29cbfd,null))['catch'](handleError(_0x29cbfd,null));};