cf92592cd5126e1685091f66c3c5cbb6e15e95b2
[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 _0x711f=['model','map','keys','query','filters','attributes','intersection','hasOwnProperty','nolimit','order','sort','where','pick','merge','filter','options','include','findAll','rows','catch','show','params','fields','length','includeAll','update','body','find','zip-dir','fast-json-patch','bluebird','mustache','util','path','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','count','offset','limit','Content-Range','apply','reject','save','then','destroy','error','name','index','VtigerField','rawAttributes','fieldName','type','key'];(function(_0x2c1362,_0x344e65){var _0x284371=function(_0x477c62){while(--_0x477c62){_0x2c1362['push'](_0x2c1362['shift']());}};_0x284371(++_0x344e65);}(_0x711f,0x17a));var _0xf711=function(_0x3fc31d,_0x432bc9){_0x3fc31d=_0x3fc31d-0x0;var _0x31bb91=_0x711f[_0x3fc31d];return _0x31bb91;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xf711('0x0'));var jsonpatch=require(_0xf711('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xf711('0x2'));var Mustache=require(_0xf711('0x3'));var util=require(_0xf711('0x4'));var path=require(_0xf711('0x5'));var sox=require('sox');var csv=require(_0xf711('0x6'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xf711('0x7'));var squel=require('squel');var crypto=require(_0xf711('0x8'));var jsforce=require(_0xf711('0x9'));var deskjs=require(_0xf711('0xa'));var toCsv=require('to-csv');var querystring=require(_0xf711('0xb'));var Papa=require(_0xf711('0xc'));var Redis=require(_0xf711('0xd'));var authService=require(_0xf711('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0xf711('0xf'));var hardwareService=require(_0xf711('0x10'));var logger=require('../../config/logger')(_0xf711('0x11'));var utils=require(_0xf711('0x12'));var config=require(_0xf711('0x13'));var db=require(_0xf711('0x14'))['db'];function respondWithStatusCode(_0x336e2d,_0x1741e3){_0x1741e3=_0x1741e3||0xcc;return function(_0x1cd099){if(_0x1cd099){return _0x336e2d[_0xf711('0x15')](_0x1741e3);}return _0x336e2d['status'](_0x1741e3)[_0xf711('0x16')]();};}function respondWithResult(_0x2b9d6f,_0x47b8e1){_0x47b8e1=_0x47b8e1||0xc8;return function(_0x458614){if(_0x458614){return _0x2b9d6f[_0xf711('0x17')](_0x47b8e1)[_0xf711('0x18')](_0x458614);}};}function respondWithFilteredResult(_0x558ab1,_0x46c8ce){return function(_0x5085f4){if(_0x5085f4){var _0x4ccc3d=_0x5085f4[_0xf711('0x19')],_0x8a453e=_0x46c8ce[_0xf711('0x1a')],_0x2162fe=_0x46c8ce[_0xf711('0x1a')]+_0x46c8ce[_0xf711('0x1b')],_0x14ca74;if(_0x2162fe>=_0x4ccc3d){_0x2162fe=_0x4ccc3d;_0x14ca74=0xc8;}else{_0x14ca74=0xce;}_0x558ab1['status'](_0x14ca74);return _0x558ab1['set'](_0xf711('0x1c'),_0x8a453e+'-'+_0x2162fe+'/'+_0x4ccc3d)[_0xf711('0x18')](_0x5085f4);}return null;};}function patchUpdates(_0x177f13){return function(_0x3ce911){try{jsonpatch[_0xf711('0x1d')](_0x3ce911,_0x177f13,!![]);}catch(_0x5d18e3){return BPromise[_0xf711('0x1e')](_0x5d18e3);}return _0x3ce911[_0xf711('0x1f')]();};}function saveUpdates(_0x42ba55,_0x1cd647){return function(_0x4ca153){if(_0x4ca153){return _0x4ca153['update'](_0x42ba55)[_0xf711('0x20')](function(_0x2773be){return _0x2773be;});}return null;};}function removeEntity(_0x15f2c0,_0x32a34a){return function(_0x594588){if(_0x594588){return _0x594588[_0xf711('0x21')]()[_0xf711('0x20')](function(){_0x15f2c0[_0xf711('0x17')](0xcc)[_0xf711('0x16')]();});}};}function handleEntityNotFound(_0x20cd3f,_0x1ccf39){return function(_0x3c2304){if(!_0x3c2304){_0x20cd3f[_0xf711('0x15')](0x194);}return _0x3c2304;};}function handleError(_0x36e3a4,_0x1753a9){_0x1753a9=_0x1753a9||0x1f4;return function(_0x2f1756){logger[_0xf711('0x22')](_0x2f1756['stack']);if(_0x2f1756['name']){delete _0x2f1756[_0xf711('0x23')];}_0x36e3a4[_0xf711('0x17')](_0x1753a9)['send'](_0x2f1756);};}exports[_0xf711('0x24')]=function(_0x327704,_0x4b5040){var _0x2a8913={},_0x46cc6e={},_0x813e6={'count':0x0,'rows':[]};var _0x7f4165=_['map'](db[_0xf711('0x25')][_0xf711('0x26')],function(_0x1ffead){return{'name':_0x1ffead[_0xf711('0x27')],'type':_0x1ffead[_0xf711('0x28')][_0xf711('0x29')]};});_0x46cc6e[_0xf711('0x2a')]=_[_0xf711('0x2b')](_0x7f4165,_0xf711('0x23'));_0x46cc6e['query']=_[_0xf711('0x2c')](_0x327704[_0xf711('0x2d')]);_0x46cc6e[_0xf711('0x2e')]=_['intersection'](_0x46cc6e[_0xf711('0x2a')],_0x46cc6e[_0xf711('0x2d')]);_0x2a8913[_0xf711('0x2f')]=_[_0xf711('0x30')](_0x46cc6e['model'],qs['fields'](_0x327704[_0xf711('0x2d')]['fields']));_0x2a8913[_0xf711('0x2f')]=_0x2a8913['attributes']['length']?_0x2a8913[_0xf711('0x2f')]:_0x46cc6e[_0xf711('0x2a')];if(!_0x327704[_0xf711('0x2d')][_0xf711('0x31')](_0xf711('0x32'))){_0x2a8913[_0xf711('0x1b')]=qs[_0xf711('0x1b')](_0x327704['query'][_0xf711('0x1b')]);_0x2a8913[_0xf711('0x1a')]=qs[_0xf711('0x1a')](_0x327704['query'][_0xf711('0x1a')]);}_0x2a8913[_0xf711('0x33')]=qs[_0xf711('0x34')](_0x327704[_0xf711('0x2d')]['sort']);_0x2a8913[_0xf711('0x35')]=qs[_0xf711('0x2e')](_[_0xf711('0x36')](_0x327704['query'],_0x46cc6e[_0xf711('0x2e')]),_0x7f4165);if(_0x327704[_0xf711('0x2d')]['filter']){_0x2a8913[_0xf711('0x35')]=_[_0xf711('0x37')](_0x2a8913['where'],{'$or':_['map'](_0x7f4165,function(_0x514347){if(_0x514347['type']!=='VIRTUAL'){var _0x1be757={};_0x1be757[_0x514347[_0xf711('0x23')]]={'$like':'%'+_0x327704[_0xf711('0x2d')][_0xf711('0x38')]+'%'};return _0x1be757;}})});}_0x2a8913=_[_0xf711('0x37')]({},_0x2a8913,_0x327704[_0xf711('0x39')]);var _0x5e783a={'where':_0x2a8913[_0xf711('0x35')]};return db[_0xf711('0x25')][_0xf711('0x19')](_0x5e783a)[_0xf711('0x20')](function(_0x1008cf){_0x813e6[_0xf711('0x19')]=_0x1008cf;if(_0x327704[_0xf711('0x2d')]['includeAll']){_0x2a8913[_0xf711('0x3a')]=[{'all':!![]}];}return db[_0xf711('0x25')][_0xf711('0x3b')](_0x2a8913);})[_0xf711('0x20')](function(_0x5b1969){_0x813e6[_0xf711('0x3c')]=_0x5b1969;return _0x813e6;})[_0xf711('0x20')](respondWithFilteredResult(_0x4b5040,_0x2a8913))[_0xf711('0x3d')](handleError(_0x4b5040,null));};exports[_0xf711('0x3e')]=function(_0x4c6a58,_0x441253){var _0x58c62e={'raw':!![],'where':{'id':_0x4c6a58[_0xf711('0x3f')]['id']}},_0x5b0ebd={};_0x5b0ebd[_0xf711('0x2a')]=_['keys'](db[_0xf711('0x25')][_0xf711('0x26')]);_0x5b0ebd['query']=_[_0xf711('0x2c')](_0x4c6a58[_0xf711('0x2d')]);_0x5b0ebd[_0xf711('0x2e')]=_[_0xf711('0x30')](_0x5b0ebd[_0xf711('0x2a')],_0x5b0ebd[_0xf711('0x2d')]);_0x58c62e['attributes']=_[_0xf711('0x30')](_0x5b0ebd[_0xf711('0x2a')],qs[_0xf711('0x40')](_0x4c6a58[_0xf711('0x2d')]['fields']));_0x58c62e[_0xf711('0x2f')]=_0x58c62e[_0xf711('0x2f')][_0xf711('0x41')]?_0x58c62e[_0xf711('0x2f')]:_0x5b0ebd[_0xf711('0x2a')];if(_0x4c6a58[_0xf711('0x2d')][_0xf711('0x42')]){_0x58c62e[_0xf711('0x3a')]=[{'all':!![]}];}_0x58c62e=_[_0xf711('0x37')]({},_0x58c62e,_0x4c6a58['options']);return db[_0xf711('0x25')]['find'](_0x58c62e)[_0xf711('0x20')](handleEntityNotFound(_0x441253,null))['then'](respondWithResult(_0x441253,null))[_0xf711('0x3d')](handleError(_0x441253,null));};exports['create']=function(_0x2e5efb,_0x307ae7){return db['VtigerField']['create'](_0x2e5efb['body'],{})[_0xf711('0x20')](respondWithResult(_0x307ae7,0xc9))[_0xf711('0x3d')](handleError(_0x307ae7,null));};exports[_0xf711('0x43')]=function(_0x36dbef,_0x17741e){if(_0x36dbef[_0xf711('0x44')]['id']){delete _0x36dbef['body']['id'];}return db[_0xf711('0x25')]['find']({'where':{'id':_0x36dbef[_0xf711('0x3f')]['id']}})['then'](handleEntityNotFound(_0x17741e,null))[_0xf711('0x20')](saveUpdates(_0x36dbef[_0xf711('0x44')],null))[_0xf711('0x20')](respondWithResult(_0x17741e,null))['catch'](handleError(_0x17741e,null));};exports['destroy']=function(_0x45c675,_0x6da363){return db[_0xf711('0x25')][_0xf711('0x45')]({'where':{'id':_0x45c675[_0xf711('0x3f')]['id']}})['then'](handleEntityNotFound(_0x6da363,null))['then'](removeEntity(_0x6da363,null))[_0xf711('0x3d')](handleError(_0x6da363,null));};