26d331b41f06b44775aabcef05cc3e25ed3d8c1c
[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 _0xf06c=['path','sox','to-csv','lodash','crypto','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/environment','../../mysqldb','end','json','count','offset','status','set','Content-Range','apply','reject','update','then','destroy','sendStatus','error','stack','name','send','map','VtigerField','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','rows','catch','show','find','create','body','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache'];(function(_0x1b1948,_0x49f451){var _0x3cbd38=function(_0x2ca4f2){while(--_0x2ca4f2){_0x1b1948['push'](_0x1b1948['shift']());}};_0x3cbd38(++_0x49f451);}(_0xf06c,0xc7));var _0xcf06=function(_0x90581f,_0x12b097){_0x90581f=_0x90581f-0x0;var _0x59fbc2=_0xf06c[_0x90581f];return _0x59fbc2;};'use strict';var pdf=require(_0xcf06('0x0'));var emlformat=require(_0xcf06('0x1'));var rimraf=require(_0xcf06('0x2'));var zipdir=require(_0xcf06('0x3'));var jsonpatch=require(_0xcf06('0x4'));var rp=require('request-promise');var moment=require(_0xcf06('0x5'));var BPromise=require(_0xcf06('0x6'));var Mustache=require(_0xcf06('0x7'));var util=require('util');var path=require(_0xcf06('0x8'));var sox=require(_0xcf06('0x9'));var csv=require(_0xcf06('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xcf06('0xb'));var squel=require('squel');var crypto=require(_0xcf06('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xcf06('0xd'));var Redis=require(_0xcf06('0xe'));var authService=require(_0xcf06('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcf06('0x10'));var logger=require('../../config/logger')(_0xcf06('0x11'));var utils=require('../../config/utils');var config=require(_0xcf06('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xcf06('0x13'))['db'];function respondWithStatusCode(_0x570965,_0x2aaa5f){_0x2aaa5f=_0x2aaa5f||0xcc;return function(_0x3dc669){if(_0x3dc669){return _0x570965['sendStatus'](_0x2aaa5f);}return _0x570965['status'](_0x2aaa5f)[_0xcf06('0x14')]();};}function respondWithResult(_0x45f66a,_0x2fd686){_0x2fd686=_0x2fd686||0xc8;return function(_0x157689){if(_0x157689){return _0x45f66a['status'](_0x2fd686)[_0xcf06('0x15')](_0x157689);}};}function respondWithFilteredResult(_0x4aa0d,_0x5db932){return function(_0x584d2c){if(_0x584d2c){var _0x15a795=_0x584d2c[_0xcf06('0x16')],_0x4130ce=_0x5db932[_0xcf06('0x17')],_0x263298=_0x5db932[_0xcf06('0x17')]+_0x5db932['limit'],_0x57c316;if(_0x263298>=_0x15a795){_0x263298=_0x15a795;_0x57c316=0xc8;}else{_0x57c316=0xce;}_0x4aa0d[_0xcf06('0x18')](_0x57c316);return _0x4aa0d[_0xcf06('0x19')](_0xcf06('0x1a'),_0x4130ce+'-'+_0x263298+'/'+_0x15a795)[_0xcf06('0x15')](_0x584d2c);}return null;};}function patchUpdates(_0x9117a9){return function(_0x48886d){try{jsonpatch[_0xcf06('0x1b')](_0x48886d,_0x9117a9,!![]);}catch(_0x1be1e3){return BPromise[_0xcf06('0x1c')](_0x1be1e3);}return _0x48886d['save']();};}function saveUpdates(_0x465eed,_0x19305d){return function(_0x53bc14){if(_0x53bc14){return _0x53bc14[_0xcf06('0x1d')](_0x465eed)[_0xcf06('0x1e')](function(_0x4b0774){return _0x4b0774;});}return null;};}function removeEntity(_0x2edadc,_0x132eaa){return function(_0x139b17){if(_0x139b17){return _0x139b17[_0xcf06('0x1f')]()[_0xcf06('0x1e')](function(){_0x2edadc[_0xcf06('0x18')](0xcc)[_0xcf06('0x14')]();});}};}function handleEntityNotFound(_0x26a685,_0xb039dd){return function(_0x471a6d){if(!_0x471a6d){_0x26a685[_0xcf06('0x20')](0x194);}return _0x471a6d;};}function handleError(_0x3c212f,_0x5ac08b){_0x5ac08b=_0x5ac08b||0x1f4;return function(_0x58840a){logger[_0xcf06('0x21')](_0x58840a[_0xcf06('0x22')]);if(_0x58840a[_0xcf06('0x23')]){delete _0x58840a[_0xcf06('0x23')];}_0x3c212f[_0xcf06('0x18')](_0x5ac08b)[_0xcf06('0x24')](_0x58840a);};}exports['index']=function(_0x4da27a,_0x2afa20){var _0x4c6fcd={},_0xe4c11={},_0x88ee07={'count':0x0,'rows':[]};var _0x631902=_[_0xcf06('0x25')](db[_0xcf06('0x26')][_0xcf06('0x27')],function(_0x303823){return{'name':_0x303823[_0xcf06('0x28')],'type':_0x303823[_0xcf06('0x29')]['key']};});_0xe4c11[_0xcf06('0x2a')]=_['map'](_0x631902,_0xcf06('0x23'));_0xe4c11[_0xcf06('0x2b')]=_[_0xcf06('0x2c')](_0x4da27a[_0xcf06('0x2b')]);_0xe4c11[_0xcf06('0x2d')]=_[_0xcf06('0x2e')](_0xe4c11['model'],_0xe4c11[_0xcf06('0x2b')]);_0x4c6fcd[_0xcf06('0x2f')]=_[_0xcf06('0x2e')](_0xe4c11[_0xcf06('0x2a')],qs[_0xcf06('0x30')](_0x4da27a[_0xcf06('0x2b')][_0xcf06('0x30')]));_0x4c6fcd[_0xcf06('0x2f')]=_0x4c6fcd[_0xcf06('0x2f')][_0xcf06('0x31')]?_0x4c6fcd['attributes']:_0xe4c11[_0xcf06('0x2a')];if(!_0x4da27a[_0xcf06('0x2b')][_0xcf06('0x32')](_0xcf06('0x33'))){_0x4c6fcd[_0xcf06('0x34')]=qs[_0xcf06('0x34')](_0x4da27a[_0xcf06('0x2b')][_0xcf06('0x34')]);_0x4c6fcd[_0xcf06('0x17')]=qs[_0xcf06('0x17')](_0x4da27a[_0xcf06('0x2b')]['offset']);}_0x4c6fcd[_0xcf06('0x35')]=qs[_0xcf06('0x36')](_0x4da27a['query'][_0xcf06('0x36')]);_0x4c6fcd['where']=qs[_0xcf06('0x2d')](_[_0xcf06('0x37')](_0x4da27a[_0xcf06('0x2b')],_0xe4c11[_0xcf06('0x2d')]),_0x631902);if(_0x4da27a['query'][_0xcf06('0x38')]){_0x4c6fcd[_0xcf06('0x39')]=_[_0xcf06('0x3a')](_0x4c6fcd[_0xcf06('0x39')],{'$or':_[_0xcf06('0x25')](_0x631902,function(_0x580850){if(_0x580850[_0xcf06('0x29')]!==_0xcf06('0x3b')){var _0x914a24={};_0x914a24[_0x580850[_0xcf06('0x23')]]={'$like':'%'+_0x4da27a[_0xcf06('0x2b')][_0xcf06('0x38')]+'%'};return _0x914a24;}})});}_0x4c6fcd=_[_0xcf06('0x3a')]({},_0x4c6fcd,_0x4da27a[_0xcf06('0x3c')]);var _0x3e0b3f={'where':_0x4c6fcd[_0xcf06('0x39')]};return db[_0xcf06('0x26')][_0xcf06('0x16')](_0x3e0b3f)[_0xcf06('0x1e')](function(_0x1e9752){_0x88ee07[_0xcf06('0x16')]=_0x1e9752;if(_0x4da27a[_0xcf06('0x2b')][_0xcf06('0x3d')]){_0x4c6fcd['include']=[{'all':!![]}];}return db[_0xcf06('0x26')]['findAll'](_0x4c6fcd);})[_0xcf06('0x1e')](function(_0x3c03d6){_0x88ee07[_0xcf06('0x3e')]=_0x3c03d6;return _0x88ee07;})['then'](respondWithFilteredResult(_0x2afa20,_0x4c6fcd))[_0xcf06('0x3f')](handleError(_0x2afa20,null));};exports[_0xcf06('0x40')]=function(_0x93589b,_0x38c153){var _0x42b847={'raw':!![],'where':{'id':_0x93589b['params']['id']}},_0x4db66a={};_0x4db66a[_0xcf06('0x2a')]=_['keys'](db[_0xcf06('0x26')][_0xcf06('0x27')]);_0x4db66a[_0xcf06('0x2b')]=_[_0xcf06('0x2c')](_0x93589b['query']);_0x4db66a[_0xcf06('0x2d')]=_[_0xcf06('0x2e')](_0x4db66a[_0xcf06('0x2a')],_0x4db66a['query']);_0x42b847[_0xcf06('0x2f')]=_['intersection'](_0x4db66a[_0xcf06('0x2a')],qs['fields'](_0x93589b[_0xcf06('0x2b')]['fields']));_0x42b847[_0xcf06('0x2f')]=_0x42b847[_0xcf06('0x2f')][_0xcf06('0x31')]?_0x42b847['attributes']:_0x4db66a[_0xcf06('0x2a')];if(_0x93589b[_0xcf06('0x2b')][_0xcf06('0x3d')]){_0x42b847['include']=[{'all':!![]}];}_0x42b847=_[_0xcf06('0x3a')]({},_0x42b847,_0x93589b['options']);return db[_0xcf06('0x26')][_0xcf06('0x41')](_0x42b847)[_0xcf06('0x1e')](handleEntityNotFound(_0x38c153,null))[_0xcf06('0x1e')](respondWithResult(_0x38c153,null))['catch'](handleError(_0x38c153,null));};exports[_0xcf06('0x42')]=function(_0x2dc5d8,_0x82bb58){return db['VtigerField'][_0xcf06('0x42')](_0x2dc5d8[_0xcf06('0x43')],{})['then'](respondWithResult(_0x82bb58,0xc9))[_0xcf06('0x3f')](handleError(_0x82bb58,null));};exports[_0xcf06('0x1d')]=function(_0x19a4d,_0x3e5586){if(_0x19a4d[_0xcf06('0x43')]['id']){delete _0x19a4d['body']['id'];}return db[_0xcf06('0x26')][_0xcf06('0x41')]({'where':{'id':_0x19a4d[_0xcf06('0x44')]['id']}})[_0xcf06('0x1e')](handleEntityNotFound(_0x3e5586,null))[_0xcf06('0x1e')](saveUpdates(_0x19a4d['body'],null))[_0xcf06('0x1e')](respondWithResult(_0x3e5586,null))['catch'](handleError(_0x3e5586,null));};exports[_0xcf06('0x1f')]=function(_0x41d80a,_0x44733f){return db[_0xcf06('0x26')][_0xcf06('0x41')]({'where':{'id':_0x41d80a['params']['id']}})[_0xcf06('0x1e')](handleEntityNotFound(_0x44733f,null))['then'](removeEntity(_0x44733f,null))[_0xcf06('0x3f')](handleError(_0x44733f,null));};