Built motion from commit 1fd437e9.|2.6.19
[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 _0x722d=['api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','ZohoField','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','keys','rawAttributes','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x3d4bd8,_0x57edb9){var _0x2e2c9c=function(_0x367690){while(--_0x367690){_0x3d4bd8['push'](_0x3d4bd8['shift']());}};_0x2e2c9c(++_0x57edb9);}(_0x722d,0x17e));var _0xd722=function(_0x9765f2,_0x4fe9c6){_0x9765f2=_0x9765f2-0x0;var _0x27c61c=_0x722d[_0x9765f2];return _0x27c61c;};'use strict';var emlformat=require(_0xd722('0x0'));var rimraf=require(_0xd722('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd722('0x2'));var rp=require(_0xd722('0x3'));var moment=require(_0xd722('0x4'));var BPromise=require(_0xd722('0x5'));var Mustache=require(_0xd722('0x6'));var util=require(_0xd722('0x7'));var path=require(_0xd722('0x8'));var sox=require(_0xd722('0x9'));var csv=require(_0xd722('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd722('0xb'));var _=require(_0xd722('0xc'));var squel=require('squel');var crypto=require(_0xd722('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xd722('0xe'));var toCsv=require(_0xd722('0xa'));var querystring=require(_0xd722('0xf'));var Papa=require(_0xd722('0x10'));var Redis=require(_0xd722('0x11'));var authService=require(_0xd722('0x12'));var qs=require(_0xd722('0x13'));var as=require(_0xd722('0x14'));var hardwareService=require(_0xd722('0x15'));var logger=require(_0xd722('0x16'))(_0xd722('0x17'));var utils=require(_0xd722('0x18'));var config=require(_0xd722('0x19'));var licenseUtil=require(_0xd722('0x1a'));var db=require(_0xd722('0x1b'))['db'];function respondWithStatusCode(_0x18d336,_0xd5b61){_0xd5b61=_0xd5b61||0xcc;return function(_0x2693f6){if(_0x2693f6){return _0x18d336[_0xd722('0x1c')](_0xd5b61);}return _0x18d336[_0xd722('0x1d')](_0xd5b61)[_0xd722('0x1e')]();};}function respondWithResult(_0x385e07,_0x4ca0e8){_0x4ca0e8=_0x4ca0e8||0xc8;return function(_0x57b73c){if(_0x57b73c){return _0x385e07[_0xd722('0x1d')](_0x4ca0e8)[_0xd722('0x1f')](_0x57b73c);}};}function respondWithFilteredResult(_0x1d3c4f,_0x344a6d){return function(_0x225376){if(_0x225376){var _0x26446b=typeof _0x344a6d[_0xd722('0x20')]===_0xd722('0x21')&&typeof _0x344a6d[_0xd722('0x22')]===_0xd722('0x21');var _0xded0f=_0x225376[_0xd722('0x23')];var _0x1a185e=_0x26446b?0x0:_0x344a6d[_0xd722('0x20')];var _0x4b953e=_0x26446b?_0x225376[_0xd722('0x23')]:_0x344a6d[_0xd722('0x20')]+_0x344a6d[_0xd722('0x22')];var _0x18cef4;if(_0x4b953e>=_0xded0f){_0x4b953e=_0xded0f;_0x18cef4=0xc8;}else{_0x18cef4=0xce;}_0x1d3c4f['status'](_0x18cef4);return _0x1d3c4f[_0xd722('0x24')](_0xd722('0x25'),_0x1a185e+'-'+_0x4b953e+'/'+_0xded0f)[_0xd722('0x1f')](_0x225376);}return null;};}function patchUpdates(_0x27a97f){return function(_0xe6c111){try{jsonpatch[_0xd722('0x26')](_0xe6c111,_0x27a97f,!![]);}catch(_0x192c44){return BPromise[_0xd722('0x27')](_0x192c44);}return _0xe6c111[_0xd722('0x28')]();};}function saveUpdates(_0x53cf64,_0x485611){return function(_0x324955){if(_0x324955){return _0x324955[_0xd722('0x29')](_0x53cf64)[_0xd722('0x2a')](function(_0x4f1076){return _0x4f1076;});}return null;};}function removeEntity(_0x1bdc8e,_0x3238df){return function(_0x8c3350){if(_0x8c3350){return _0x8c3350[_0xd722('0x2b')]()[_0xd722('0x2a')](function(){_0x1bdc8e[_0xd722('0x1d')](0xcc)[_0xd722('0x1e')]();});}};}function handleEntityNotFound(_0x3bad89,_0x395c13){return function(_0x4c9bb2){if(!_0x4c9bb2){_0x3bad89[_0xd722('0x1c')](0x194);}return _0x4c9bb2;};}function handleError(_0x7b8da3,_0x3ec0ec){_0x3ec0ec=_0x3ec0ec||0x1f4;return function(_0x3a557b){logger['error'](_0x3a557b[_0xd722('0x2c')]);if(_0x3a557b[_0xd722('0x2d')]){delete _0x3a557b[_0xd722('0x2d')];}_0x7b8da3[_0xd722('0x1d')](_0x3ec0ec)[_0xd722('0x2e')](_0x3a557b);};}exports[_0xd722('0x2f')]=function(_0x4177bc,_0x2f8960){var _0x1de5a9={},_0x3977ca={},_0x5eb6dd={'count':0x0,'rows':[]};var _0x501e58=_[_0xd722('0x30')](db[_0xd722('0x31')]['rawAttributes'],function(_0x229f2e){return{'name':_0x229f2e[_0xd722('0x32')],'type':_0x229f2e[_0xd722('0x33')][_0xd722('0x34')]};});_0x3977ca[_0xd722('0x35')]=_[_0xd722('0x30')](_0x501e58,_0xd722('0x2d'));_0x3977ca[_0xd722('0x36')]=_['keys'](_0x4177bc[_0xd722('0x36')]);_0x3977ca['filters']=_[_0xd722('0x37')](_0x3977ca['model'],_0x3977ca[_0xd722('0x36')]);_0x1de5a9[_0xd722('0x38')]=_['intersection'](_0x3977ca['model'],qs['fields'](_0x4177bc['query'][_0xd722('0x39')]));_0x1de5a9[_0xd722('0x38')]=_0x1de5a9[_0xd722('0x38')][_0xd722('0x3a')]?_0x1de5a9[_0xd722('0x38')]:_0x3977ca[_0xd722('0x35')];if(!_0x4177bc[_0xd722('0x36')][_0xd722('0x3b')](_0xd722('0x3c'))){_0x1de5a9['limit']=qs[_0xd722('0x22')](_0x4177bc[_0xd722('0x36')][_0xd722('0x22')]);_0x1de5a9[_0xd722('0x20')]=qs[_0xd722('0x20')](_0x4177bc[_0xd722('0x36')][_0xd722('0x20')]);}_0x1de5a9['order']=qs[_0xd722('0x3d')](_0x4177bc[_0xd722('0x36')]['sort']);_0x1de5a9[_0xd722('0x3e')]=qs[_0xd722('0x3f')](_[_0xd722('0x40')](_0x4177bc[_0xd722('0x36')],_0x3977ca['filters']),_0x501e58);if(_0x4177bc['query']['filter']){_0x1de5a9[_0xd722('0x3e')]=_[_0xd722('0x41')](_0x1de5a9[_0xd722('0x3e')],{'$or':_[_0xd722('0x30')](_0x501e58,function(_0xb24f89){if(_0xb24f89[_0xd722('0x33')]!==_0xd722('0x42')){var _0x3444c5={};_0x3444c5[_0xb24f89[_0xd722('0x2d')]]={'$like':'%'+_0x4177bc['query'][_0xd722('0x43')]+'%'};return _0x3444c5;}})});}_0x1de5a9=_[_0xd722('0x41')]({},_0x1de5a9,_0x4177bc[_0xd722('0x44')]);var _0x48afeb={'where':_0x1de5a9['where']};return db[_0xd722('0x31')]['count'](_0x48afeb)['then'](function(_0xaf7de5){_0x5eb6dd['count']=_0xaf7de5;if(_0x4177bc[_0xd722('0x36')][_0xd722('0x45')]){_0x1de5a9[_0xd722('0x46')]=[{'all':!![]}];}return db['ZohoField'][_0xd722('0x47')](_0x1de5a9);})[_0xd722('0x2a')](function(_0x104c07){_0x5eb6dd[_0xd722('0x48')]=_0x104c07;return _0x5eb6dd;})[_0xd722('0x2a')](respondWithFilteredResult(_0x2f8960,_0x1de5a9))[_0xd722('0x49')](handleError(_0x2f8960,null));};exports[_0xd722('0x4a')]=function(_0x471b21,_0xfc163a){var _0xa44934={'raw':!![],'where':{'id':_0x471b21[_0xd722('0x4b')]['id']}},_0x3e728e={};_0x3e728e[_0xd722('0x35')]=_[_0xd722('0x4c')](db[_0xd722('0x31')][_0xd722('0x4d')]);_0x3e728e[_0xd722('0x36')]=_['keys'](_0x471b21['query']);_0x3e728e[_0xd722('0x3f')]=_[_0xd722('0x37')](_0x3e728e[_0xd722('0x35')],_0x3e728e[_0xd722('0x36')]);_0xa44934[_0xd722('0x38')]=_[_0xd722('0x37')](_0x3e728e['model'],qs[_0xd722('0x39')](_0x471b21[_0xd722('0x36')][_0xd722('0x39')]));_0xa44934[_0xd722('0x38')]=_0xa44934['attributes'][_0xd722('0x3a')]?_0xa44934[_0xd722('0x38')]:_0x3e728e['model'];if(_0x471b21[_0xd722('0x36')]['includeAll']){_0xa44934['include']=[{'all':!![]}];}_0xa44934=_['merge']({},_0xa44934,_0x471b21['options']);return db['ZohoField'][_0xd722('0x4e')](_0xa44934)[_0xd722('0x2a')](handleEntityNotFound(_0xfc163a,null))['then'](respondWithResult(_0xfc163a,null))['catch'](handleError(_0xfc163a,null));};exports[_0xd722('0x4f')]=function(_0x478b6b,_0x4d6807){return db[_0xd722('0x31')][_0xd722('0x4f')](_0x478b6b[_0xd722('0x50')],{})['then'](respondWithResult(_0x4d6807,0xc9))[_0xd722('0x49')](handleError(_0x4d6807,null));};exports[_0xd722('0x29')]=function(_0x13dbc8,_0x5acc28){if(_0x13dbc8['body']['id']){delete _0x13dbc8[_0xd722('0x50')]['id'];}return db[_0xd722('0x31')][_0xd722('0x4e')]({'where':{'id':_0x13dbc8[_0xd722('0x4b')]['id']}})[_0xd722('0x2a')](handleEntityNotFound(_0x5acc28,null))[_0xd722('0x2a')](saveUpdates(_0x13dbc8[_0xd722('0x50')],null))['then'](respondWithResult(_0x5acc28,null))[_0xd722('0x49')](handleError(_0x5acc28,null));};exports[_0xd722('0x2b')]=function(_0x1617ff,_0x257b10){return db[_0xd722('0x31')][_0xd722('0x4e')]({'where':{'id':_0x1617ff[_0xd722('0x4b')]['id']}})['then'](handleEntityNotFound(_0x257b10,null))['then'](removeEntity(_0x257b10,null))['catch'](handleError(_0x257b10,null));};