2cbb49b1e3c9a1439352cc3bd03660ec38cbef05
[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 _0x3024=['../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update','then','error','stack','name','index','map','VtigerField','rawAttributes','fieldName','type','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','include','rows','catch','show','params','find','body','destroy','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x45c981,_0x2ad2d4){var _0x4f62c8=function(_0x55209b){while(--_0x55209b){_0x45c981['push'](_0x45c981['shift']());}};_0x4f62c8(++_0x2ad2d4);}(_0x3024,0x1ec));var _0x4302=function(_0x4f58c7,_0x5317df){_0x4f58c7=_0x4f58c7-0x0;var _0x1ef57c=_0x3024[_0x4f58c7];return _0x1ef57c;};'use strict';var emlformat=require(_0x4302('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x4302('0x1'));var rp=require(_0x4302('0x2'));var moment=require(_0x4302('0x3'));var BPromise=require(_0x4302('0x4'));var Mustache=require(_0x4302('0x5'));var util=require(_0x4302('0x6'));var path=require('path');var sox=require(_0x4302('0x7'));var csv=require(_0x4302('0x8'));var ejs=require(_0x4302('0x9'));var fs=require('fs');var fs_extra=require(_0x4302('0xa'));var _=require(_0x4302('0xb'));var squel=require(_0x4302('0xc'));var crypto=require(_0x4302('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x4302('0x8'));var querystring=require(_0x4302('0xe'));var Papa=require(_0x4302('0xf'));var Redis=require(_0x4302('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x4302('0x11'));var as=require(_0x4302('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4302('0x13'))('api');var utils=require(_0x4302('0x14'));var config=require(_0x4302('0x15'));var licenseUtil=require(_0x4302('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1967df,_0x480b37){_0x480b37=_0x480b37||0xcc;return function(_0x2f87e5){if(_0x2f87e5){return _0x1967df[_0x4302('0x17')](_0x480b37);}return _0x1967df['status'](_0x480b37)['end']();};}function respondWithResult(_0x168609,_0x25c93b){_0x25c93b=_0x25c93b||0xc8;return function(_0xa9f1b9){if(_0xa9f1b9){return _0x168609[_0x4302('0x18')](_0x25c93b)[_0x4302('0x19')](_0xa9f1b9);}};}function respondWithFilteredResult(_0x6a339d,_0x4428aa){return function(_0x485a7f){if(_0x485a7f){var _0x1b4f9b=typeof _0x4428aa[_0x4302('0x1a')]===_0x4302('0x1b')&&typeof _0x4428aa[_0x4302('0x1c')]===_0x4302('0x1b');var _0x41eff9=_0x485a7f['count'];var _0x3d0116=_0x1b4f9b?0x0:_0x4428aa[_0x4302('0x1a')];var _0x34914b=_0x1b4f9b?_0x485a7f['count']:_0x4428aa[_0x4302('0x1a')]+_0x4428aa[_0x4302('0x1c')];var _0x5247be;if(_0x34914b>=_0x41eff9){_0x34914b=_0x41eff9;_0x5247be=0xc8;}else{_0x5247be=0xce;}_0x6a339d[_0x4302('0x18')](_0x5247be);return _0x6a339d[_0x4302('0x1d')](_0x4302('0x1e'),_0x3d0116+'-'+_0x34914b+'/'+_0x41eff9)[_0x4302('0x19')](_0x485a7f);}return null;};}function patchUpdates(_0x17544a){return function(_0x9a9266){try{jsonpatch[_0x4302('0x1f')](_0x9a9266,_0x17544a,!![]);}catch(_0x5a4f5b){return BPromise[_0x4302('0x20')](_0x5a4f5b);}return _0x9a9266[_0x4302('0x21')]();};}function saveUpdates(_0x270d64,_0x5d98bc){return function(_0xf2e875){if(_0xf2e875){return _0xf2e875[_0x4302('0x22')](_0x270d64)[_0x4302('0x23')](function(_0x535669){return _0x535669;});}return null;};}function removeEntity(_0x38962d,_0x229ecc){return function(_0x3c4fdb){if(_0x3c4fdb){return _0x3c4fdb['destroy']()[_0x4302('0x23')](function(){_0x38962d[_0x4302('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x137e59,_0x290403){return function(_0x152f0b){if(!_0x152f0b){_0x137e59[_0x4302('0x17')](0x194);}return _0x152f0b;};}function handleError(_0x17e257,_0x39c10f){_0x39c10f=_0x39c10f||0x1f4;return function(_0x4d18c2){logger[_0x4302('0x24')](_0x4d18c2[_0x4302('0x25')]);if(_0x4d18c2[_0x4302('0x26')]){delete _0x4d18c2[_0x4302('0x26')];}_0x17e257[_0x4302('0x18')](_0x39c10f)['send'](_0x4d18c2);};}exports[_0x4302('0x27')]=function(_0x528ae8,_0x2ac4ca){var _0x556cf5={},_0x16d7e7={},_0x4eebf0={'count':0x0,'rows':[]};var _0x324db2=_[_0x4302('0x28')](db[_0x4302('0x29')][_0x4302('0x2a')],function(_0x104583){return{'name':_0x104583[_0x4302('0x2b')],'type':_0x104583[_0x4302('0x2c')]['key']};});_0x16d7e7[_0x4302('0x2d')]=_[_0x4302('0x28')](_0x324db2,_0x4302('0x26'));_0x16d7e7['query']=_[_0x4302('0x2e')](_0x528ae8[_0x4302('0x2f')]);_0x16d7e7[_0x4302('0x30')]=_[_0x4302('0x31')](_0x16d7e7[_0x4302('0x2d')],_0x16d7e7['query']);_0x556cf5[_0x4302('0x32')]=_[_0x4302('0x31')](_0x16d7e7[_0x4302('0x2d')],qs[_0x4302('0x33')](_0x528ae8[_0x4302('0x2f')]['fields']));_0x556cf5['attributes']=_0x556cf5[_0x4302('0x32')][_0x4302('0x34')]?_0x556cf5[_0x4302('0x32')]:_0x16d7e7[_0x4302('0x2d')];if(!_0x528ae8['query'][_0x4302('0x35')](_0x4302('0x36'))){_0x556cf5[_0x4302('0x1c')]=qs[_0x4302('0x1c')](_0x528ae8['query']['limit']);_0x556cf5['offset']=qs[_0x4302('0x1a')](_0x528ae8['query'][_0x4302('0x1a')]);}_0x556cf5[_0x4302('0x37')]=qs[_0x4302('0x38')](_0x528ae8[_0x4302('0x2f')][_0x4302('0x38')]);_0x556cf5[_0x4302('0x39')]=qs[_0x4302('0x30')](_[_0x4302('0x3a')](_0x528ae8['query'],_0x16d7e7[_0x4302('0x30')]),_0x324db2);if(_0x528ae8[_0x4302('0x2f')][_0x4302('0x3b')]){_0x556cf5[_0x4302('0x39')]=_[_0x4302('0x3c')](_0x556cf5[_0x4302('0x39')],{'$or':_['map'](_0x324db2,function(_0x479e1b){if(_0x479e1b['type']!==_0x4302('0x3d')){var _0x5c3afc={};_0x5c3afc[_0x479e1b['name']]={'$like':'%'+_0x528ae8[_0x4302('0x2f')][_0x4302('0x3b')]+'%'};return _0x5c3afc;}})});}_0x556cf5=_[_0x4302('0x3c')]({},_0x556cf5,_0x528ae8[_0x4302('0x3e')]);var _0x1fa4e3={'where':_0x556cf5[_0x4302('0x39')]};return db[_0x4302('0x29')][_0x4302('0x3f')](_0x1fa4e3)[_0x4302('0x23')](function(_0x48f994){_0x4eebf0[_0x4302('0x3f')]=_0x48f994;if(_0x528ae8[_0x4302('0x2f')][_0x4302('0x40')]){_0x556cf5[_0x4302('0x41')]=[{'all':!![]}];}return db['VtigerField']['findAll'](_0x556cf5);})[_0x4302('0x23')](function(_0x36c135){_0x4eebf0[_0x4302('0x42')]=_0x36c135;return _0x4eebf0;})[_0x4302('0x23')](respondWithFilteredResult(_0x2ac4ca,_0x556cf5))[_0x4302('0x43')](handleError(_0x2ac4ca,null));};exports[_0x4302('0x44')]=function(_0x5393c9,_0x377d97){var _0x4142b4={'raw':!![],'where':{'id':_0x5393c9[_0x4302('0x45')]['id']}},_0x59f00e={};_0x59f00e['model']=_[_0x4302('0x2e')](db['VtigerField'][_0x4302('0x2a')]);_0x59f00e['query']=_['keys'](_0x5393c9[_0x4302('0x2f')]);_0x59f00e[_0x4302('0x30')]=_['intersection'](_0x59f00e['model'],_0x59f00e[_0x4302('0x2f')]);_0x4142b4[_0x4302('0x32')]=_['intersection'](_0x59f00e[_0x4302('0x2d')],qs[_0x4302('0x33')](_0x5393c9[_0x4302('0x2f')][_0x4302('0x33')]));_0x4142b4['attributes']=_0x4142b4[_0x4302('0x32')][_0x4302('0x34')]?_0x4142b4[_0x4302('0x32')]:_0x59f00e['model'];if(_0x5393c9[_0x4302('0x2f')][_0x4302('0x40')]){_0x4142b4[_0x4302('0x41')]=[{'all':!![]}];}_0x4142b4=_[_0x4302('0x3c')]({},_0x4142b4,_0x5393c9[_0x4302('0x3e')]);return db[_0x4302('0x29')][_0x4302('0x46')](_0x4142b4)[_0x4302('0x23')](handleEntityNotFound(_0x377d97,null))[_0x4302('0x23')](respondWithResult(_0x377d97,null))[_0x4302('0x43')](handleError(_0x377d97,null));};exports['create']=function(_0x261d9b,_0x428dbb){return db[_0x4302('0x29')]['create'](_0x261d9b['body'],{})['then'](respondWithResult(_0x428dbb,0xc9))[_0x4302('0x43')](handleError(_0x428dbb,null));};exports[_0x4302('0x22')]=function(_0x355d68,_0x563980){if(_0x355d68[_0x4302('0x47')]['id']){delete _0x355d68['body']['id'];}return db['VtigerField'][_0x4302('0x46')]({'where':{'id':_0x355d68[_0x4302('0x45')]['id']}})[_0x4302('0x23')](handleEntityNotFound(_0x563980,null))[_0x4302('0x23')](saveUpdates(_0x355d68[_0x4302('0x47')],null))[_0x4302('0x23')](respondWithResult(_0x563980,null))[_0x4302('0x43')](handleError(_0x563980,null));};exports[_0x4302('0x48')]=function(_0x1a5f6f,_0x47c8e3){return db[_0x4302('0x29')]['find']({'where':{'id':_0x1a5f6f[_0x4302('0x45')]['id']}})[_0x4302('0x23')](handleEntityNotFound(_0x47c8e3,null))[_0x4302('0x23')](removeEntity(_0x47c8e3,null))[_0x4302('0x43')](handleError(_0x47c8e3,null));};