0f1504f5ba094af65ef0b634ba3acaf28ec59a57
[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 _0xf9f0=['reject','save','update','then','destroy','sendStatus','error','stack','name','index','map','rawAttributes','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','type','merge','options','VtigerField','includeAll','include','rows','show','params','find','catch','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','offset','undefined','limit','count','json','apply'];(function(_0x1c3120,_0x198a70){var _0x2d6a5b=function(_0xd16844){while(--_0xd16844){_0x1c3120['push'](_0x1c3120['shift']());}};_0x2d6a5b(++_0x198a70);}(_0xf9f0,0x72));var _0x0f9f=function(_0x128cfe,_0x29c5da){_0x128cfe=_0x128cfe-0x0;var _0xbc51e3=_0xf9f0[_0x128cfe];return _0xbc51e3;};'use strict';var emlformat=require(_0x0f9f('0x0'));var rimraf=require(_0x0f9f('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0f9f('0x2'));var rp=require(_0x0f9f('0x3'));var moment=require(_0x0f9f('0x4'));var BPromise=require(_0x0f9f('0x5'));var Mustache=require(_0x0f9f('0x6'));var util=require(_0x0f9f('0x7'));var path=require(_0x0f9f('0x8'));var sox=require(_0x0f9f('0x9'));var csv=require('to-csv');var ejs=require(_0x0f9f('0xa'));var fs=require('fs');var fs_extra=require(_0x0f9f('0xb'));var _=require(_0x0f9f('0xc'));var squel=require(_0x0f9f('0xd'));var crypto=require(_0x0f9f('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x0f9f('0xf'));var toCsv=require('to-csv');var querystring=require(_0x0f9f('0x10'));var Papa=require(_0x0f9f('0x11'));var Redis=require('ioredis');var authService=require(_0x0f9f('0x12'));var qs=require(_0x0f9f('0x13'));var as=require(_0x0f9f('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x0f9f('0x15'));var utils=require(_0x0f9f('0x16'));var config=require(_0x0f9f('0x17'));var licenseUtil=require(_0x0f9f('0x18'));var db=require(_0x0f9f('0x19'))['db'];function respondWithStatusCode(_0x302c16,_0x5b9bc1){_0x5b9bc1=_0x5b9bc1||0xcc;return function(_0x404de7){if(_0x404de7){return _0x302c16['sendStatus'](_0x5b9bc1);}return _0x302c16['status'](_0x5b9bc1)[_0x0f9f('0x1a')]();};}function respondWithResult(_0x5239f5,_0x38b549){_0x38b549=_0x38b549||0xc8;return function(_0x47aba7){if(_0x47aba7){return _0x5239f5[_0x0f9f('0x1b')](_0x38b549)['json'](_0x47aba7);}};}function respondWithFilteredResult(_0x265cce,_0x59e0fa){return function(_0x5bdf1b){if(_0x5bdf1b){var _0x23bce9=typeof _0x59e0fa[_0x0f9f('0x1c')]===_0x0f9f('0x1d')&&typeof _0x59e0fa[_0x0f9f('0x1e')]===_0x0f9f('0x1d');var _0x52b761=_0x5bdf1b[_0x0f9f('0x1f')];var _0x577da4=_0x23bce9?0x0:_0x59e0fa[_0x0f9f('0x1c')];var _0x5aa70a=_0x23bce9?_0x5bdf1b[_0x0f9f('0x1f')]:_0x59e0fa[_0x0f9f('0x1c')]+_0x59e0fa[_0x0f9f('0x1e')];var _0x2c69ec;if(_0x5aa70a>=_0x52b761){_0x5aa70a=_0x52b761;_0x2c69ec=0xc8;}else{_0x2c69ec=0xce;}_0x265cce[_0x0f9f('0x1b')](_0x2c69ec);return _0x265cce['set']('Content-Range',_0x577da4+'-'+_0x5aa70a+'/'+_0x52b761)[_0x0f9f('0x20')](_0x5bdf1b);}return null;};}function patchUpdates(_0x4ca627){return function(_0x45e09a){try{jsonpatch[_0x0f9f('0x21')](_0x45e09a,_0x4ca627,!![]);}catch(_0x5f5475){return BPromise[_0x0f9f('0x22')](_0x5f5475);}return _0x45e09a[_0x0f9f('0x23')]();};}function saveUpdates(_0x1d7d6c,_0x30be06){return function(_0x1bf1fa){if(_0x1bf1fa){return _0x1bf1fa[_0x0f9f('0x24')](_0x1d7d6c)[_0x0f9f('0x25')](function(_0x28d6c5){return _0x28d6c5;});}return null;};}function removeEntity(_0x3f9f3b,_0x26f926){return function(_0x251f68){if(_0x251f68){return _0x251f68[_0x0f9f('0x26')]()[_0x0f9f('0x25')](function(){_0x3f9f3b[_0x0f9f('0x1b')](0xcc)[_0x0f9f('0x1a')]();});}};}function handleEntityNotFound(_0x26896a,_0x1371c2){return function(_0x214b83){if(!_0x214b83){_0x26896a[_0x0f9f('0x27')](0x194);}return _0x214b83;};}function handleError(_0x77f615,_0x3cf83f){_0x3cf83f=_0x3cf83f||0x1f4;return function(_0x4a0d79){logger[_0x0f9f('0x28')](_0x4a0d79[_0x0f9f('0x29')]);if(_0x4a0d79[_0x0f9f('0x2a')]){delete _0x4a0d79['name'];}_0x77f615[_0x0f9f('0x1b')](_0x3cf83f)['send'](_0x4a0d79);};}exports[_0x0f9f('0x2b')]=function(_0x29af9f,_0xee3082){var _0x493ea8={},_0x5ab53b={},_0x409eda={'count':0x0,'rows':[]};var _0x322edf=_[_0x0f9f('0x2c')](db['VtigerField'][_0x0f9f('0x2d')],function(_0x217f6c){return{'name':_0x217f6c['fieldName'],'type':_0x217f6c['type'][_0x0f9f('0x2e')]};});_0x5ab53b[_0x0f9f('0x2f')]=_['map'](_0x322edf,'name');_0x5ab53b[_0x0f9f('0x30')]=_[_0x0f9f('0x31')](_0x29af9f[_0x0f9f('0x30')]);_0x5ab53b[_0x0f9f('0x32')]=_[_0x0f9f('0x33')](_0x5ab53b[_0x0f9f('0x2f')],_0x5ab53b[_0x0f9f('0x30')]);_0x493ea8[_0x0f9f('0x34')]=_[_0x0f9f('0x33')](_0x5ab53b['model'],qs[_0x0f9f('0x35')](_0x29af9f['query'][_0x0f9f('0x35')]));_0x493ea8['attributes']=_0x493ea8[_0x0f9f('0x34')][_0x0f9f('0x36')]?_0x493ea8[_0x0f9f('0x34')]:_0x5ab53b['model'];if(!_0x29af9f[_0x0f9f('0x30')]['hasOwnProperty'](_0x0f9f('0x37'))){_0x493ea8['limit']=qs['limit'](_0x29af9f[_0x0f9f('0x30')][_0x0f9f('0x1e')]);_0x493ea8[_0x0f9f('0x1c')]=qs[_0x0f9f('0x1c')](_0x29af9f[_0x0f9f('0x30')]['offset']);}_0x493ea8[_0x0f9f('0x38')]=qs[_0x0f9f('0x39')](_0x29af9f[_0x0f9f('0x30')][_0x0f9f('0x39')]);_0x493ea8[_0x0f9f('0x3a')]=qs['filters'](_[_0x0f9f('0x3b')](_0x29af9f[_0x0f9f('0x30')],_0x5ab53b[_0x0f9f('0x32')]),_0x322edf);if(_0x29af9f['query'][_0x0f9f('0x3c')]){_0x493ea8[_0x0f9f('0x3a')]=_['merge'](_0x493ea8['where'],{'$or':_[_0x0f9f('0x2c')](_0x322edf,function(_0xb178c6){if(_0xb178c6[_0x0f9f('0x3d')]!=='VIRTUAL'){var _0x537f84={};_0x537f84[_0xb178c6['name']]={'$like':'%'+_0x29af9f['query']['filter']+'%'};return _0x537f84;}})});}_0x493ea8=_[_0x0f9f('0x3e')]({},_0x493ea8,_0x29af9f[_0x0f9f('0x3f')]);var _0x30e749={'where':_0x493ea8[_0x0f9f('0x3a')]};return db[_0x0f9f('0x40')]['count'](_0x30e749)['then'](function(_0x129da7){_0x409eda[_0x0f9f('0x1f')]=_0x129da7;if(_0x29af9f['query'][_0x0f9f('0x41')]){_0x493ea8[_0x0f9f('0x42')]=[{'all':!![]}];}return db[_0x0f9f('0x40')]['findAll'](_0x493ea8);})[_0x0f9f('0x25')](function(_0x4d0694){_0x409eda[_0x0f9f('0x43')]=_0x4d0694;return _0x409eda;})[_0x0f9f('0x25')](respondWithFilteredResult(_0xee3082,_0x493ea8))['catch'](handleError(_0xee3082,null));};exports[_0x0f9f('0x44')]=function(_0x221f56,_0x126407){var _0x4cef44={'raw':!![],'where':{'id':_0x221f56[_0x0f9f('0x45')]['id']}},_0x50d03c={};_0x50d03c[_0x0f9f('0x2f')]=_[_0x0f9f('0x31')](db[_0x0f9f('0x40')][_0x0f9f('0x2d')]);_0x50d03c[_0x0f9f('0x30')]=_[_0x0f9f('0x31')](_0x221f56['query']);_0x50d03c['filters']=_[_0x0f9f('0x33')](_0x50d03c[_0x0f9f('0x2f')],_0x50d03c[_0x0f9f('0x30')]);_0x4cef44['attributes']=_[_0x0f9f('0x33')](_0x50d03c[_0x0f9f('0x2f')],qs[_0x0f9f('0x35')](_0x221f56[_0x0f9f('0x30')][_0x0f9f('0x35')]));_0x4cef44['attributes']=_0x4cef44[_0x0f9f('0x34')][_0x0f9f('0x36')]?_0x4cef44[_0x0f9f('0x34')]:_0x50d03c[_0x0f9f('0x2f')];if(_0x221f56['query'][_0x0f9f('0x41')]){_0x4cef44[_0x0f9f('0x42')]=[{'all':!![]}];}_0x4cef44=_['merge']({},_0x4cef44,_0x221f56[_0x0f9f('0x3f')]);return db[_0x0f9f('0x40')][_0x0f9f('0x46')](_0x4cef44)[_0x0f9f('0x25')](handleEntityNotFound(_0x126407,null))[_0x0f9f('0x25')](respondWithResult(_0x126407,null))[_0x0f9f('0x47')](handleError(_0x126407,null));};exports[_0x0f9f('0x48')]=function(_0x1c4d35,_0x31d731){return db[_0x0f9f('0x40')][_0x0f9f('0x48')](_0x1c4d35[_0x0f9f('0x49')],{})[_0x0f9f('0x25')](respondWithResult(_0x31d731,0xc9))['catch'](handleError(_0x31d731,null));};exports['update']=function(_0x4a0a13,_0x3592f1){if(_0x4a0a13['body']['id']){delete _0x4a0a13[_0x0f9f('0x49')]['id'];}return db[_0x0f9f('0x40')][_0x0f9f('0x46')]({'where':{'id':_0x4a0a13[_0x0f9f('0x45')]['id']}})[_0x0f9f('0x25')](handleEntityNotFound(_0x3592f1,null))['then'](saveUpdates(_0x4a0a13[_0x0f9f('0x49')],null))['then'](respondWithResult(_0x3592f1,null))[_0x0f9f('0x47')](handleError(_0x3592f1,null));};exports[_0x0f9f('0x26')]=function(_0x3db5fe,_0x310c8d){return db['VtigerField'][_0x0f9f('0x46')]({'where':{'id':_0x3db5fe[_0x0f9f('0x45')]['id']}})[_0x0f9f('0x25')](handleEntityNotFound(_0x310c8d,null))[_0x0f9f('0x25')](removeEntity(_0x310c8d,null))[_0x0f9f('0x47')](handleError(_0x310c8d,null));};