d5fec2ecb768029700bea955f0732a9fd1a3f7e4
[motion2.git] / server / api / intVtigerField / intVtigerField.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 _0x5247=['where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','intersection','length','create','body','find','params','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/license/util','sendStatus','status','end','json','undefined','limit','count','offset','set','apply','save','update','then','destroy','error','stack','name','send','map','VtigerField','type','key','query','keys','filters','model','attributes','fields','hasOwnProperty','order','sort'];(function(_0x2307fa,_0x266e5e){var _0x496486=function(_0x53466e){while(--_0x53466e){_0x2307fa['push'](_0x2307fa['shift']());}};_0x496486(++_0x266e5e);}(_0x5247,0xa2));var _0x7524=function(_0x176d98,_0x4b4849){_0x176d98=_0x176d98-0x0;var _0x1a7ac7=_0x5247[_0x176d98];return _0x1a7ac7;};'use strict';var emlformat=require(_0x7524('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x7524('0x1'));var jsonpatch=require(_0x7524('0x2'));var rp=require(_0x7524('0x3'));var moment=require(_0x7524('0x4'));var BPromise=require(_0x7524('0x5'));var Mustache=require(_0x7524('0x6'));var util=require(_0x7524('0x7'));var path=require(_0x7524('0x8'));var sox=require(_0x7524('0x9'));var csv=require('to-csv');var ejs=require(_0x7524('0xa'));var fs=require('fs');var fs_extra=require(_0x7524('0xb'));var _=require(_0x7524('0xc'));var squel=require(_0x7524('0xd'));var crypto=require(_0x7524('0xe'));var jsforce=require(_0x7524('0xf'));var deskjs=require(_0x7524('0x10'));var toCsv=require(_0x7524('0x11'));var querystring=require(_0x7524('0x12'));var Papa=require('papaparse');var Redis=require(_0x7524('0x13'));var authService=require(_0x7524('0x14'));var qs=require(_0x7524('0x15'));var as=require(_0x7524('0x16'));var hardwareService=require(_0x7524('0x17'));var logger=require('../../config/logger')('api');var utils=require(_0x7524('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x7524('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xb7e782,_0x32b7c3){_0x32b7c3=_0x32b7c3||0xcc;return function(_0x16c576){if(_0x16c576){return _0xb7e782[_0x7524('0x1a')](_0x32b7c3);}return _0xb7e782[_0x7524('0x1b')](_0x32b7c3)[_0x7524('0x1c')]();};}function respondWithResult(_0x57ce61,_0x2024a7){_0x2024a7=_0x2024a7||0xc8;return function(_0x136614){if(_0x136614){return _0x57ce61[_0x7524('0x1b')](_0x2024a7)[_0x7524('0x1d')](_0x136614);}};}function respondWithFilteredResult(_0x49e251,_0x54afd9){return function(_0x1ddcd5){if(_0x1ddcd5){var _0x483020=typeof _0x54afd9['offset']===_0x7524('0x1e')&&typeof _0x54afd9[_0x7524('0x1f')]===_0x7524('0x1e');var _0x4167ab=_0x1ddcd5[_0x7524('0x20')];var _0x439047=_0x483020?0x0:_0x54afd9['offset'];var _0x46c6f8=_0x483020?_0x1ddcd5[_0x7524('0x20')]:_0x54afd9[_0x7524('0x21')]+_0x54afd9[_0x7524('0x1f')];var _0x98e7b8;if(_0x46c6f8>=_0x4167ab){_0x46c6f8=_0x4167ab;_0x98e7b8=0xc8;}else{_0x98e7b8=0xce;}_0x49e251['status'](_0x98e7b8);return _0x49e251[_0x7524('0x22')]('Content-Range',_0x439047+'-'+_0x46c6f8+'/'+_0x4167ab)[_0x7524('0x1d')](_0x1ddcd5);}return null;};}function patchUpdates(_0x44dfb5){return function(_0x1ba634){try{jsonpatch[_0x7524('0x23')](_0x1ba634,_0x44dfb5,!![]);}catch(_0x588be2){return BPromise['reject'](_0x588be2);}return _0x1ba634[_0x7524('0x24')]();};}function saveUpdates(_0x1045ca,_0x5ddedb){return function(_0x51108d){if(_0x51108d){return _0x51108d[_0x7524('0x25')](_0x1045ca)[_0x7524('0x26')](function(_0x11f60e){return _0x11f60e;});}return null;};}function removeEntity(_0x13973e,_0x1edf95){return function(_0x1f91b9){if(_0x1f91b9){return _0x1f91b9[_0x7524('0x27')]()[_0x7524('0x26')](function(){_0x13973e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x35f30e,_0x290b2d){return function(_0x2c4562){if(!_0x2c4562){_0x35f30e[_0x7524('0x1a')](0x194);}return _0x2c4562;};}function handleError(_0x50ddc0,_0x2678cf){_0x2678cf=_0x2678cf||0x1f4;return function(_0x1bfd2f){logger[_0x7524('0x28')](_0x1bfd2f[_0x7524('0x29')]);if(_0x1bfd2f[_0x7524('0x2a')]){delete _0x1bfd2f[_0x7524('0x2a')];}_0x50ddc0[_0x7524('0x1b')](_0x2678cf)[_0x7524('0x2b')](_0x1bfd2f);};}exports['index']=function(_0x2142c1,_0x2e9da3){var _0x162f1e={},_0x562593={},_0x1eaa09={'count':0x0,'rows':[]};var _0x207527=_[_0x7524('0x2c')](db[_0x7524('0x2d')]['rawAttributes'],function(_0x71de95){return{'name':_0x71de95['fieldName'],'type':_0x71de95[_0x7524('0x2e')][_0x7524('0x2f')]};});_0x562593['model']=_[_0x7524('0x2c')](_0x207527,'name');_0x562593[_0x7524('0x30')]=_[_0x7524('0x31')](_0x2142c1[_0x7524('0x30')]);_0x562593[_0x7524('0x32')]=_['intersection'](_0x562593[_0x7524('0x33')],_0x562593['query']);_0x162f1e[_0x7524('0x34')]=_['intersection'](_0x562593[_0x7524('0x33')],qs[_0x7524('0x35')](_0x2142c1[_0x7524('0x30')][_0x7524('0x35')]));_0x162f1e[_0x7524('0x34')]=_0x162f1e[_0x7524('0x34')]['length']?_0x162f1e[_0x7524('0x34')]:_0x562593[_0x7524('0x33')];if(!_0x2142c1[_0x7524('0x30')][_0x7524('0x36')]('nolimit')){_0x162f1e[_0x7524('0x1f')]=qs[_0x7524('0x1f')](_0x2142c1['query'][_0x7524('0x1f')]);_0x162f1e[_0x7524('0x21')]=qs[_0x7524('0x21')](_0x2142c1[_0x7524('0x30')][_0x7524('0x21')]);}_0x162f1e[_0x7524('0x37')]=qs[_0x7524('0x38')](_0x2142c1[_0x7524('0x30')][_0x7524('0x38')]);_0x162f1e[_0x7524('0x39')]=qs[_0x7524('0x32')](_[_0x7524('0x3a')](_0x2142c1[_0x7524('0x30')],_0x562593[_0x7524('0x32')]),_0x207527);if(_0x2142c1['query'][_0x7524('0x3b')]){_0x162f1e[_0x7524('0x39')]=_[_0x7524('0x3c')](_0x162f1e[_0x7524('0x39')],{'$or':_[_0x7524('0x2c')](_0x207527,function(_0x38f4b7){if(_0x38f4b7[_0x7524('0x2e')]!==_0x7524('0x3d')){var _0x286492={};_0x286492[_0x38f4b7['name']]={'$like':'%'+_0x2142c1[_0x7524('0x30')][_0x7524('0x3b')]+'%'};return _0x286492;}})});}_0x162f1e=_['merge']({},_0x162f1e,_0x2142c1[_0x7524('0x3e')]);var _0x3db534={'where':_0x162f1e['where']};return db[_0x7524('0x2d')][_0x7524('0x20')](_0x3db534)['then'](function(_0x48a9e9){_0x1eaa09[_0x7524('0x20')]=_0x48a9e9;if(_0x2142c1['query'][_0x7524('0x3f')]){_0x162f1e[_0x7524('0x40')]=[{'all':!![]}];}return db['VtigerField']['findAll'](_0x162f1e);})['then'](function(_0x4b0c7a){_0x1eaa09[_0x7524('0x41')]=_0x4b0c7a;return _0x1eaa09;})[_0x7524('0x26')](respondWithFilteredResult(_0x2e9da3,_0x162f1e))[_0x7524('0x42')](handleError(_0x2e9da3,null));};exports['show']=function(_0x24abb4,_0x4f35b3){var _0x35a649={'raw':!![],'where':{'id':_0x24abb4['params']['id']}},_0x15c46f={};_0x15c46f['model']=_[_0x7524('0x31')](db[_0x7524('0x2d')]['rawAttributes']);_0x15c46f['query']=_[_0x7524('0x31')](_0x24abb4['query']);_0x15c46f[_0x7524('0x32')]=_[_0x7524('0x43')](_0x15c46f[_0x7524('0x33')],_0x15c46f[_0x7524('0x30')]);_0x35a649[_0x7524('0x34')]=_[_0x7524('0x43')](_0x15c46f[_0x7524('0x33')],qs['fields'](_0x24abb4[_0x7524('0x30')][_0x7524('0x35')]));_0x35a649[_0x7524('0x34')]=_0x35a649[_0x7524('0x34')][_0x7524('0x44')]?_0x35a649[_0x7524('0x34')]:_0x15c46f[_0x7524('0x33')];if(_0x24abb4[_0x7524('0x30')]['includeAll']){_0x35a649[_0x7524('0x40')]=[{'all':!![]}];}_0x35a649=_[_0x7524('0x3c')]({},_0x35a649,_0x24abb4[_0x7524('0x3e')]);return db[_0x7524('0x2d')]['find'](_0x35a649)[_0x7524('0x26')](handleEntityNotFound(_0x4f35b3,null))[_0x7524('0x26')](respondWithResult(_0x4f35b3,null))[_0x7524('0x42')](handleError(_0x4f35b3,null));};exports[_0x7524('0x45')]=function(_0xbbefc7,_0x451cd9){return db[_0x7524('0x2d')][_0x7524('0x45')](_0xbbefc7['body'],{})[_0x7524('0x26')](respondWithResult(_0x451cd9,0xc9))['catch'](handleError(_0x451cd9,null));};exports['update']=function(_0x5b3450,_0x3e9eab){if(_0x5b3450[_0x7524('0x46')]['id']){delete _0x5b3450[_0x7524('0x46')]['id'];}return db[_0x7524('0x2d')][_0x7524('0x47')]({'where':{'id':_0x5b3450[_0x7524('0x48')]['id']}})[_0x7524('0x26')](handleEntityNotFound(_0x3e9eab,null))[_0x7524('0x26')](saveUpdates(_0x5b3450[_0x7524('0x46')],null))[_0x7524('0x26')](respondWithResult(_0x3e9eab,null))[_0x7524('0x42')](handleError(_0x3e9eab,null));};exports[_0x7524('0x27')]=function(_0x43ee82,_0x5773cd){return db[_0x7524('0x2d')][_0x7524('0x47')]({'where':{'id':_0x43ee82['params']['id']}})[_0x7524('0x26')](handleEntityNotFound(_0x5773cd,null))[_0x7524('0x26')](removeEntity(_0x5773cd,null))['catch'](handleError(_0x5773cd,null));};