b0923a1e7178cf5ec84cd354f608bab40df98d0e
[motion2.git] / server / api / intZohoField / intZohoField.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 _0x2a63=['params','rawAttributes','keys','find','create','update','body','destroy','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','sendStatus','status','end','offset','undefined','limit','count','set','reject','save','then','error','stack','name','ZohoField','type','key','model','map','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','filter','merge','options','includeAll','include','rows','catch','show'];(function(_0x42f63d,_0x505d83){var _0xfc4705=function(_0x5ab008){while(--_0x5ab008){_0x42f63d['push'](_0x42f63d['shift']());}};_0xfc4705(++_0x505d83);}(_0x2a63,0x1a6));var _0x32a6=function(_0xf26d40,_0x2f4f46){_0xf26d40=_0xf26d40-0x0;var _0x50b68c=_0x2a63[_0xf26d40];return _0x50b68c;};'use strict';var emlformat=require(_0x32a6('0x0'));var rimraf=require(_0x32a6('0x1'));var zipdir=require(_0x32a6('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x32a6('0x3'));var moment=require(_0x32a6('0x4'));var BPromise=require(_0x32a6('0x5'));var Mustache=require(_0x32a6('0x6'));var util=require(_0x32a6('0x7'));var path=require(_0x32a6('0x8'));var sox=require('sox');var csv=require(_0x32a6('0x9'));var ejs=require(_0x32a6('0xa'));var fs=require('fs');var fs_extra=require(_0x32a6('0xb'));var _=require('lodash');var squel=require(_0x32a6('0xc'));var crypto=require(_0x32a6('0xd'));var jsforce=require(_0x32a6('0xe'));var deskjs=require(_0x32a6('0xf'));var toCsv=require('to-csv');var querystring=require(_0x32a6('0x10'));var Papa=require(_0x32a6('0x11'));var Redis=require(_0x32a6('0x12'));var authService=require(_0x32a6('0x13'));var qs=require(_0x32a6('0x14'));var as=require(_0x32a6('0x15'));var hardwareService=require(_0x32a6('0x16'));var logger=require('../../config/logger')(_0x32a6('0x17'));var utils=require(_0x32a6('0x18'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x14c7a9,_0xda6a1e){_0xda6a1e=_0xda6a1e||0xcc;return function(_0x147969){if(_0x147969){return _0x14c7a9[_0x32a6('0x19')](_0xda6a1e);}return _0x14c7a9[_0x32a6('0x1a')](_0xda6a1e)[_0x32a6('0x1b')]();};}function respondWithResult(_0x1c7cfb,_0x13e905){_0x13e905=_0x13e905||0xc8;return function(_0x23f110){if(_0x23f110){return _0x1c7cfb[_0x32a6('0x1a')](_0x13e905)['json'](_0x23f110);}};}function respondWithFilteredResult(_0x248165,_0x20e226){return function(_0x21cc6f){if(_0x21cc6f){var _0x4b9b64=typeof _0x20e226[_0x32a6('0x1c')]===_0x32a6('0x1d')&&typeof _0x20e226[_0x32a6('0x1e')]==='undefined';var _0xe8a1aa=_0x21cc6f[_0x32a6('0x1f')];var _0x173a44=_0x4b9b64?0x0:_0x20e226[_0x32a6('0x1c')];var _0xa00b57=_0x4b9b64?_0x21cc6f[_0x32a6('0x1f')]:_0x20e226[_0x32a6('0x1c')]+_0x20e226[_0x32a6('0x1e')];var _0x549359;if(_0xa00b57>=_0xe8a1aa){_0xa00b57=_0xe8a1aa;_0x549359=0xc8;}else{_0x549359=0xce;}_0x248165['status'](_0x549359);return _0x248165[_0x32a6('0x20')]('Content-Range',_0x173a44+'-'+_0xa00b57+'/'+_0xe8a1aa)['json'](_0x21cc6f);}return null;};}function patchUpdates(_0x4a4cac){return function(_0x1a7d71){try{jsonpatch['apply'](_0x1a7d71,_0x4a4cac,!![]);}catch(_0x449a90){return BPromise[_0x32a6('0x21')](_0x449a90);}return _0x1a7d71[_0x32a6('0x22')]();};}function saveUpdates(_0xd49a40,_0x1f7237){return function(_0x243a67){if(_0x243a67){return _0x243a67['update'](_0xd49a40)['then'](function(_0x5dd98b){return _0x5dd98b;});}return null;};}function removeEntity(_0x30767f,_0x1098b9){return function(_0x44fab4){if(_0x44fab4){return _0x44fab4['destroy']()[_0x32a6('0x23')](function(){_0x30767f[_0x32a6('0x1a')](0xcc)[_0x32a6('0x1b')]();});}};}function handleEntityNotFound(_0x5e377b,_0x310ace){return function(_0x14ac3a){if(!_0x14ac3a){_0x5e377b['sendStatus'](0x194);}return _0x14ac3a;};}function handleError(_0xc946f2,_0x4d4019){_0x4d4019=_0x4d4019||0x1f4;return function(_0xcd9974){logger[_0x32a6('0x24')](_0xcd9974[_0x32a6('0x25')]);if(_0xcd9974[_0x32a6('0x26')]){delete _0xcd9974[_0x32a6('0x26')];}_0xc946f2[_0x32a6('0x1a')](_0x4d4019)['send'](_0xcd9974);};}exports['index']=function(_0x9b13f2,_0x3ff3c9){var _0x14028e={},_0xc703d2={},_0x323256={'count':0x0,'rows':[]};var _0x477ddb=_['map'](db[_0x32a6('0x27')]['rawAttributes'],function(_0x315d58){return{'name':_0x315d58['fieldName'],'type':_0x315d58[_0x32a6('0x28')][_0x32a6('0x29')]};});_0xc703d2[_0x32a6('0x2a')]=_[_0x32a6('0x2b')](_0x477ddb,_0x32a6('0x26'));_0xc703d2[_0x32a6('0x2c')]=_['keys'](_0x9b13f2[_0x32a6('0x2c')]);_0xc703d2[_0x32a6('0x2d')]=_[_0x32a6('0x2e')](_0xc703d2[_0x32a6('0x2a')],_0xc703d2[_0x32a6('0x2c')]);_0x14028e[_0x32a6('0x2f')]=_[_0x32a6('0x2e')](_0xc703d2[_0x32a6('0x2a')],qs['fields'](_0x9b13f2['query'][_0x32a6('0x30')]));_0x14028e['attributes']=_0x14028e[_0x32a6('0x2f')]['length']?_0x14028e[_0x32a6('0x2f')]:_0xc703d2['model'];if(!_0x9b13f2[_0x32a6('0x2c')][_0x32a6('0x31')](_0x32a6('0x32'))){_0x14028e[_0x32a6('0x1e')]=qs['limit'](_0x9b13f2['query'][_0x32a6('0x1e')]);_0x14028e[_0x32a6('0x1c')]=qs[_0x32a6('0x1c')](_0x9b13f2['query']['offset']);}_0x14028e['order']=qs[_0x32a6('0x33')](_0x9b13f2[_0x32a6('0x2c')]['sort']);_0x14028e[_0x32a6('0x34')]=qs[_0x32a6('0x2d')](_['pick'](_0x9b13f2[_0x32a6('0x2c')],_0xc703d2['filters']),_0x477ddb);if(_0x9b13f2[_0x32a6('0x2c')][_0x32a6('0x35')]){_0x14028e[_0x32a6('0x34')]=_['merge'](_0x14028e[_0x32a6('0x34')],{'$or':_[_0x32a6('0x2b')](_0x477ddb,function(_0x44e278){if(_0x44e278[_0x32a6('0x28')]!=='VIRTUAL'){var _0x1c0583={};_0x1c0583[_0x44e278[_0x32a6('0x26')]]={'$like':'%'+_0x9b13f2[_0x32a6('0x2c')][_0x32a6('0x35')]+'%'};return _0x1c0583;}})});}_0x14028e=_[_0x32a6('0x36')]({},_0x14028e,_0x9b13f2[_0x32a6('0x37')]);var _0x3fca2e={'where':_0x14028e[_0x32a6('0x34')]};return db[_0x32a6('0x27')][_0x32a6('0x1f')](_0x3fca2e)['then'](function(_0x5719ea){_0x323256[_0x32a6('0x1f')]=_0x5719ea;if(_0x9b13f2['query'][_0x32a6('0x38')]){_0x14028e[_0x32a6('0x39')]=[{'all':!![]}];}return db[_0x32a6('0x27')]['findAll'](_0x14028e);})[_0x32a6('0x23')](function(_0x4a4394){_0x323256[_0x32a6('0x3a')]=_0x4a4394;return _0x323256;})[_0x32a6('0x23')](respondWithFilteredResult(_0x3ff3c9,_0x14028e))[_0x32a6('0x3b')](handleError(_0x3ff3c9,null));};exports[_0x32a6('0x3c')]=function(_0x3cf307,_0x1170e8){var _0x132dfa={'raw':!![],'where':{'id':_0x3cf307[_0x32a6('0x3d')]['id']}},_0x597965={};_0x597965[_0x32a6('0x2a')]=_['keys'](db[_0x32a6('0x27')][_0x32a6('0x3e')]);_0x597965[_0x32a6('0x2c')]=_[_0x32a6('0x3f')](_0x3cf307[_0x32a6('0x2c')]);_0x597965[_0x32a6('0x2d')]=_[_0x32a6('0x2e')](_0x597965[_0x32a6('0x2a')],_0x597965[_0x32a6('0x2c')]);_0x132dfa[_0x32a6('0x2f')]=_['intersection'](_0x597965[_0x32a6('0x2a')],qs['fields'](_0x3cf307[_0x32a6('0x2c')][_0x32a6('0x30')]));_0x132dfa[_0x32a6('0x2f')]=_0x132dfa[_0x32a6('0x2f')]['length']?_0x132dfa[_0x32a6('0x2f')]:_0x597965[_0x32a6('0x2a')];if(_0x3cf307[_0x32a6('0x2c')]['includeAll']){_0x132dfa[_0x32a6('0x39')]=[{'all':!![]}];}_0x132dfa=_[_0x32a6('0x36')]({},_0x132dfa,_0x3cf307['options']);return db['ZohoField'][_0x32a6('0x40')](_0x132dfa)['then'](handleEntityNotFound(_0x1170e8,null))[_0x32a6('0x23')](respondWithResult(_0x1170e8,null))[_0x32a6('0x3b')](handleError(_0x1170e8,null));};exports['create']=function(_0x1c732d,_0xf0b1ee){return db[_0x32a6('0x27')][_0x32a6('0x41')](_0x1c732d['body'],{})['then'](respondWithResult(_0xf0b1ee,0xc9))[_0x32a6('0x3b')](handleError(_0xf0b1ee,null));};exports[_0x32a6('0x42')]=function(_0x18595a,_0x46b122){if(_0x18595a[_0x32a6('0x43')]['id']){delete _0x18595a[_0x32a6('0x43')]['id'];}return db[_0x32a6('0x27')][_0x32a6('0x40')]({'where':{'id':_0x18595a['params']['id']}})[_0x32a6('0x23')](handleEntityNotFound(_0x46b122,null))[_0x32a6('0x23')](saveUpdates(_0x18595a[_0x32a6('0x43')],null))['then'](respondWithResult(_0x46b122,null))[_0x32a6('0x3b')](handleError(_0x46b122,null));};exports[_0x32a6('0x44')]=function(_0x1aedc9,_0x6d9e55){return db[_0x32a6('0x27')]['find']({'where':{'id':_0x1aedc9[_0x32a6('0x3d')]['id']}})[_0x32a6('0x23')](handleEntityNotFound(_0x6d9e55,null))[_0x32a6('0x23')](removeEntity(_0x6d9e55,null))[_0x32a6('0x3b')](handleError(_0x6d9e55,null));};