Built motion from commit 9d0783e6.|2.6.13
[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 _0x0c71=['filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','findAll','rows','catch','show','params','include','find','create','ZohoField','body','rimraf','fast-json-patch','request-promise','moment','util','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','sendStatus','error','send','index','map','rawAttributes','type','key','model','name','query','keys'];(function(_0x58153d,_0x3a4932){var _0x2ff1b1=function(_0xc4d0ce){while(--_0xc4d0ce){_0x58153d['push'](_0x58153d['shift']());}};_0x2ff1b1(++_0x3a4932);}(_0x0c71,0xfb));var _0x10c7=function(_0x40dfca,_0x563819){_0x40dfca=_0x40dfca-0x0;var _0x28e6e6=_0x0c71[_0x40dfca];return _0x28e6e6;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x10c7('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x10c7('0x1'));var rp=require(_0x10c7('0x2'));var moment=require(_0x10c7('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x10c7('0x4'));var path=require('path');var sox=require(_0x10c7('0x5'));var csv=require(_0x10c7('0x6'));var ejs=require(_0x10c7('0x7'));var fs=require('fs');var fs_extra=require(_0x10c7('0x8'));var _=require(_0x10c7('0x9'));var squel=require(_0x10c7('0xa'));var crypto=require('crypto');var jsforce=require(_0x10c7('0xb'));var deskjs=require(_0x10c7('0xc'));var toCsv=require('to-csv');var querystring=require(_0x10c7('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x10c7('0xe'));var qs=require(_0x10c7('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x10c7('0x10'));var logger=require(_0x10c7('0x11'))(_0x10c7('0x12'));var utils=require(_0x10c7('0x13'));var config=require(_0x10c7('0x14'));var licenseUtil=require(_0x10c7('0x15'));var db=require(_0x10c7('0x16'))['db'];function respondWithStatusCode(_0x2fcb9f,_0x3e0507){_0x3e0507=_0x3e0507||0xcc;return function(_0x15f838){if(_0x15f838){return _0x2fcb9f['sendStatus'](_0x3e0507);}return _0x2fcb9f[_0x10c7('0x17')](_0x3e0507)[_0x10c7('0x18')]();};}function respondWithResult(_0x3fbf7a,_0x253c65){_0x253c65=_0x253c65||0xc8;return function(_0x45568c){if(_0x45568c){return _0x3fbf7a[_0x10c7('0x17')](_0x253c65)[_0x10c7('0x19')](_0x45568c);}};}function respondWithFilteredResult(_0x4ea8b3,_0x28ed15){return function(_0xe44546){if(_0xe44546){var _0x53aaae=typeof _0x28ed15[_0x10c7('0x1a')]===_0x10c7('0x1b')&&typeof _0x28ed15[_0x10c7('0x1c')]===_0x10c7('0x1b');var _0x2f4966=_0xe44546[_0x10c7('0x1d')];var _0x3168e1=_0x53aaae?0x0:_0x28ed15[_0x10c7('0x1a')];var _0x2ecb76=_0x53aaae?_0xe44546['count']:_0x28ed15['offset']+_0x28ed15[_0x10c7('0x1c')];var _0x28c0bd;if(_0x2ecb76>=_0x2f4966){_0x2ecb76=_0x2f4966;_0x28c0bd=0xc8;}else{_0x28c0bd=0xce;}_0x4ea8b3['status'](_0x28c0bd);return _0x4ea8b3[_0x10c7('0x1e')](_0x10c7('0x1f'),_0x3168e1+'-'+_0x2ecb76+'/'+_0x2f4966)[_0x10c7('0x19')](_0xe44546);}return null;};}function patchUpdates(_0x5373cf){return function(_0x41a5ba){try{jsonpatch['apply'](_0x41a5ba,_0x5373cf,!![]);}catch(_0x3bc5e0){return BPromise[_0x10c7('0x20')](_0x3bc5e0);}return _0x41a5ba[_0x10c7('0x21')]();};}function saveUpdates(_0x5a2b7f,_0x29a2e5){return function(_0xc4dc9e){if(_0xc4dc9e){return _0xc4dc9e[_0x10c7('0x22')](_0x5a2b7f)[_0x10c7('0x23')](function(_0x1450f3){return _0x1450f3;});}return null;};}function removeEntity(_0xcafdc1,_0x9c658f){return function(_0x308e3a){if(_0x308e3a){return _0x308e3a[_0x10c7('0x24')]()[_0x10c7('0x23')](function(){_0xcafdc1[_0x10c7('0x17')](0xcc)[_0x10c7('0x18')]();});}};}function handleEntityNotFound(_0x3bc016,_0xe53724){return function(_0x3c40c3){if(!_0x3c40c3){_0x3bc016[_0x10c7('0x25')](0x194);}return _0x3c40c3;};}function handleError(_0xec403,_0x2cc3d0){_0x2cc3d0=_0x2cc3d0||0x1f4;return function(_0x33093e){logger[_0x10c7('0x26')](_0x33093e['stack']);if(_0x33093e['name']){delete _0x33093e['name'];}_0xec403[_0x10c7('0x17')](_0x2cc3d0)[_0x10c7('0x27')](_0x33093e);};}exports[_0x10c7('0x28')]=function(_0x206e1d,_0x27ac7e){var _0x3284c4={},_0x4844cc={},_0x4630c8={'count':0x0,'rows':[]};var _0x5cf4dd=_[_0x10c7('0x29')](db['ZohoField'][_0x10c7('0x2a')],function(_0x14efa1){return{'name':_0x14efa1['fieldName'],'type':_0x14efa1[_0x10c7('0x2b')][_0x10c7('0x2c')]};});_0x4844cc[_0x10c7('0x2d')]=_['map'](_0x5cf4dd,_0x10c7('0x2e'));_0x4844cc[_0x10c7('0x2f')]=_[_0x10c7('0x30')](_0x206e1d[_0x10c7('0x2f')]);_0x4844cc[_0x10c7('0x31')]=_[_0x10c7('0x32')](_0x4844cc[_0x10c7('0x2d')],_0x4844cc['query']);_0x3284c4['attributes']=_[_0x10c7('0x32')](_0x4844cc[_0x10c7('0x2d')],qs[_0x10c7('0x33')](_0x206e1d[_0x10c7('0x2f')][_0x10c7('0x33')]));_0x3284c4[_0x10c7('0x34')]=_0x3284c4[_0x10c7('0x34')][_0x10c7('0x35')]?_0x3284c4[_0x10c7('0x34')]:_0x4844cc[_0x10c7('0x2d')];if(!_0x206e1d[_0x10c7('0x2f')][_0x10c7('0x36')](_0x10c7('0x37'))){_0x3284c4[_0x10c7('0x1c')]=qs['limit'](_0x206e1d[_0x10c7('0x2f')][_0x10c7('0x1c')]);_0x3284c4[_0x10c7('0x1a')]=qs[_0x10c7('0x1a')](_0x206e1d['query'][_0x10c7('0x1a')]);}_0x3284c4[_0x10c7('0x38')]=qs[_0x10c7('0x39')](_0x206e1d[_0x10c7('0x2f')][_0x10c7('0x39')]);_0x3284c4[_0x10c7('0x3a')]=qs[_0x10c7('0x31')](_[_0x10c7('0x3b')](_0x206e1d[_0x10c7('0x2f')],_0x4844cc[_0x10c7('0x31')]),_0x5cf4dd);if(_0x206e1d['query'][_0x10c7('0x3c')]){_0x3284c4[_0x10c7('0x3a')]=_['merge'](_0x3284c4[_0x10c7('0x3a')],{'$or':_['map'](_0x5cf4dd,function(_0x41e06b){if(_0x41e06b[_0x10c7('0x2b')]!==_0x10c7('0x3d')){var _0x148afa={};_0x148afa[_0x41e06b[_0x10c7('0x2e')]]={'$like':'%'+_0x206e1d[_0x10c7('0x2f')][_0x10c7('0x3c')]+'%'};return _0x148afa;}})});}_0x3284c4=_[_0x10c7('0x3e')]({},_0x3284c4,_0x206e1d[_0x10c7('0x3f')]);var _0x181515={'where':_0x3284c4[_0x10c7('0x3a')]};return db['ZohoField'][_0x10c7('0x1d')](_0x181515)[_0x10c7('0x23')](function(_0x444475){_0x4630c8[_0x10c7('0x1d')]=_0x444475;if(_0x206e1d['query'][_0x10c7('0x40')]){_0x3284c4['include']=[{'all':!![]}];}return db['ZohoField'][_0x10c7('0x41')](_0x3284c4);})['then'](function(_0xe022ce){_0x4630c8[_0x10c7('0x42')]=_0xe022ce;return _0x4630c8;})[_0x10c7('0x23')](respondWithFilteredResult(_0x27ac7e,_0x3284c4))[_0x10c7('0x43')](handleError(_0x27ac7e,null));};exports[_0x10c7('0x44')]=function(_0x1b0175,_0xa79ce3){var _0x2712d4={'raw':!![],'where':{'id':_0x1b0175[_0x10c7('0x45')]['id']}},_0x5b73d2={};_0x5b73d2[_0x10c7('0x2d')]=_[_0x10c7('0x30')](db['ZohoField'][_0x10c7('0x2a')]);_0x5b73d2[_0x10c7('0x2f')]=_['keys'](_0x1b0175[_0x10c7('0x2f')]);_0x5b73d2[_0x10c7('0x31')]=_[_0x10c7('0x32')](_0x5b73d2[_0x10c7('0x2d')],_0x5b73d2[_0x10c7('0x2f')]);_0x2712d4[_0x10c7('0x34')]=_['intersection'](_0x5b73d2[_0x10c7('0x2d')],qs['fields'](_0x1b0175['query']['fields']));_0x2712d4[_0x10c7('0x34')]=_0x2712d4['attributes']['length']?_0x2712d4['attributes']:_0x5b73d2[_0x10c7('0x2d')];if(_0x1b0175[_0x10c7('0x2f')][_0x10c7('0x40')]){_0x2712d4[_0x10c7('0x46')]=[{'all':!![]}];}_0x2712d4=_[_0x10c7('0x3e')]({},_0x2712d4,_0x1b0175[_0x10c7('0x3f')]);return db['ZohoField'][_0x10c7('0x47')](_0x2712d4)[_0x10c7('0x23')](handleEntityNotFound(_0xa79ce3,null))['then'](respondWithResult(_0xa79ce3,null))[_0x10c7('0x43')](handleError(_0xa79ce3,null));};exports[_0x10c7('0x48')]=function(_0x1d9331,_0x5039bb){return db[_0x10c7('0x49')][_0x10c7('0x48')](_0x1d9331[_0x10c7('0x4a')],{})[_0x10c7('0x23')](respondWithResult(_0x5039bb,0xc9))[_0x10c7('0x43')](handleError(_0x5039bb,null));};exports[_0x10c7('0x22')]=function(_0x2c204f,_0xeb2c86){if(_0x2c204f[_0x10c7('0x4a')]['id']){delete _0x2c204f[_0x10c7('0x4a')]['id'];}return db[_0x10c7('0x49')]['find']({'where':{'id':_0x2c204f[_0x10c7('0x45')]['id']}})[_0x10c7('0x23')](handleEntityNotFound(_0xeb2c86,null))['then'](saveUpdates(_0x2c204f[_0x10c7('0x4a')],null))[_0x10c7('0x23')](respondWithResult(_0xeb2c86,null))[_0x10c7('0x43')](handleError(_0xeb2c86,null));};exports[_0x10c7('0x24')]=function(_0x57a4fe,_0x1621f3){return db[_0x10c7('0x49')][_0x10c7('0x47')]({'where':{'id':_0x57a4fe[_0x10c7('0x45')]['id']}})[_0x10c7('0x23')](handleEntityNotFound(_0x1621f3,null))['then'](removeEntity(_0x1621f3,null))['catch'](handleError(_0x1621f3,null));};