Built motion from commit d1eab355.|2.6.28
[motion2.git] / server / api / intZohoAccount / intZohoAccount.model.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 _0xcf35=['https://accounts.zoho.eu','POST','/oauth/v2/token','authorization_code','application/x-www-form-urlencoded','then','refresh_token','format','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','name','error','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','inspect','catch','substring','https://accounts.zoho.com','lodash','util','../../config/logger','api','request-promise','rimraf','../../config/environment','./intZohoAccount.attributes','../../components/integrations/configuration','exports','ZohoAccount','int_zoho_accounts','changed','serverUrl','clientId','clientSecret','code','host','slice','lastIndexOf','zone','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn'];(function(_0x54ef77,_0x2f78da){var _0x489951=function(_0x4d0f70){while(--_0x4d0f70){_0x54ef77['push'](_0x54ef77['shift']());}};_0x489951(++_0x2f78da);}(_0xcf35,0xb0));var _0x5cf3=function(_0x3fcf7a,_0x599ecc){_0x3fcf7a=_0x3fcf7a-0x0;var _0x34cc20=_0xcf35[_0x3fcf7a];return _0x34cc20;};'use strict';var _=require(_0x5cf3('0x0'));var util=require(_0x5cf3('0x1'));var logger=require(_0x5cf3('0x2'))(_0x5cf3('0x3'));var moment=require('moment');var BPromise=require('bluebird');var rp=require(_0x5cf3('0x4'));var fs=require('fs');var path=require('path');var rimraf=require(_0x5cf3('0x5'));var config=require(_0x5cf3('0x6'));var attributes=require(_0x5cf3('0x7'));var integrations=require(_0x5cf3('0x8'));module[_0x5cf3('0x9')]=function(_0x4c912f,_0x4ecac2){return _0x4c912f['define'](_0x5cf3('0xa'),attributes,{'tableName':_0x5cf3('0xb'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x56bc6a,_0x359258,_0x490856){if(_0x56bc6a['changed']('zone')||_0x56bc6a[_0x5cf3('0xc')](_0x5cf3('0xd'))||_0x56bc6a[_0x5cf3('0xc')](_0x5cf3('0xe'))||_0x56bc6a[_0x5cf3('0xc')](_0x5cf3('0xf'))||_0x56bc6a[_0x5cf3('0xc')](_0x5cf3('0x10'))||_0x56bc6a[_0x5cf3('0xc')](_0x5cf3('0x11'))){var _0x19298b,_0x2bb9f9;_0x19298b=_0x56bc6a[_0x5cf3('0xd')];var _0x42f534=_0x19298b[_0x5cf3('0x12')](-0x1);if(_0x42f534==='/'||_0x42f534==='\x5c'||_0x42f534===':'){_0x19298b=_0x19298b['substring'](0x0,_0x19298b[_0x5cf3('0x13')](_0x42f534));}switch(_0x56bc6a[_0x5cf3('0x14')]){case'US':_0x2bb9f9='https://accounts.zoho.com';break;case'AU':_0x2bb9f9=_0x5cf3('0x15');break;case'IN':_0x2bb9f9=_0x5cf3('0x16');break;case'CN':_0x2bb9f9=_0x5cf3('0x17');break;default:_0x2bb9f9=_0x5cf3('0x18');break;}var _0x58f7c9={'method':_0x5cf3('0x19'),'uri':_0x2bb9f9+_0x5cf3('0x1a'),'form':{'grant_type':_0x5cf3('0x1b'),'client_id':_0x56bc6a[_0x5cf3('0xe')],'client_secret':_0x56bc6a['clientSecret'],'redirect_uri':_0x56bc6a['serverUrl'],'code':_0x56bc6a['code']},'headers':{'Content-Type':_0x5cf3('0x1c')}};return rp(_0x58f7c9)[_0x5cf3('0x1d')](function(_0xfb3a32){var _0x1ee983=JSON['parse'](_0xfb3a32);if(_0x1ee983[_0x5cf3('0x1e')]){_0x56bc6a['refreshToken']=_0x1ee983[_0x5cf3('0x1e')];logger['info'](util[_0x5cf3('0x1f')](_0x5cf3('0x20'),_0x56bc6a[_0x5cf3('0x21')],_0x56bc6a['id']));}else{logger[_0x5cf3('0x22')](util[_0x5cf3('0x1f')](_0x5cf3('0x23'),_0x56bc6a[_0x5cf3('0x21')],_0x56bc6a['id']),util[_0x5cf3('0x24')](_0x1ee983,{'showHidden':![],'depth':null}));}return _0x490856(null,_0x359258);})[_0x5cf3('0x25')](function(_0x4a4902){logger['error'](util[_0x5cf3('0x1f')](_0x5cf3('0x23'),_0x56bc6a[_0x5cf3('0x21')],_0x56bc6a['id']),util[_0x5cf3('0x24')](parsedResult,{'showHidden':![],'depth':null}));return _0x490856(_0x4a4902);});}else{return _0x490856(null,_0x359258);}},'beforeUpdate':function(_0x8c9663,_0x3853a5,_0x23cb60){if(_0x8c9663[_0x5cf3('0xc')](_0x5cf3('0x14'))||_0x8c9663[_0x5cf3('0xc')](_0x5cf3('0xd'))||_0x8c9663[_0x5cf3('0xc')](_0x5cf3('0xe'))||_0x8c9663[_0x5cf3('0xc')](_0x5cf3('0xf'))||_0x8c9663['changed'](_0x5cf3('0x10'))||_0x8c9663[_0x5cf3('0xc')](_0x5cf3('0x11'))){var _0x5b0cfd,_0x23ad1c;_0x5b0cfd=_0x8c9663[_0x5cf3('0xd')];var _0x3b7b17=_0x5b0cfd['slice'](-0x1);if(_0x3b7b17==='/'||_0x3b7b17==='\x5c'||_0x3b7b17===':'){_0x5b0cfd=_0x5b0cfd[_0x5cf3('0x26')](0x0,_0x5b0cfd[_0x5cf3('0x13')](_0x3b7b17));}switch(_0x8c9663[_0x5cf3('0x14')]){case'US':_0x23ad1c=_0x5cf3('0x27');break;case'AU':_0x23ad1c='https://accounts.zoho.com.au';break;case'IN':_0x23ad1c='https://accounts.zoho.in';break;case'CN':_0x23ad1c=_0x5cf3('0x17');break;default:_0x23ad1c=_0x5cf3('0x18');break;}var _0xb59ec1={'method':_0x5cf3('0x19'),'uri':_0x23ad1c+_0x5cf3('0x1a'),'form':{'grant_type':_0x5cf3('0x1b'),'client_id':_0x8c9663[_0x5cf3('0xe')],'client_secret':_0x8c9663[_0x5cf3('0xf')],'redirect_uri':_0x8c9663[_0x5cf3('0xd')],'code':_0x8c9663['code']},'headers':{'Content-Type':_0x5cf3('0x1c')}};return rp(_0xb59ec1)[_0x5cf3('0x1d')](function(_0xbff59f){var _0x538f4d=JSON['parse'](_0xbff59f);if(_0x538f4d[_0x5cf3('0x1e')]){_0x8c9663['refreshToken']=_0x538f4d[_0x5cf3('0x1e')];logger['info'](util[_0x5cf3('0x1f')](_0x5cf3('0x20'),_0x8c9663[_0x5cf3('0x21')],_0x8c9663['id']));}else{logger[_0x5cf3('0x22')](util[_0x5cf3('0x1f')](_0x5cf3('0x23'),_0x8c9663[_0x5cf3('0x21')],_0x8c9663['id']),util[_0x5cf3('0x24')](_0x538f4d,{'showHidden':![],'depth':null}));}return _0x23cb60(null,_0x3853a5);})['catch'](function(_0x3fe00e){logger[_0x5cf3('0x22')](util[_0x5cf3('0x1f')]('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x8c9663[_0x5cf3('0x21')],_0x8c9663['id']),util[_0x5cf3('0x24')](parsedResult,{'showHidden':![],'depth':null}));return _0x23cb60(_0x3fe00e);});}else{return _0x23cb60(null,_0x3853a5);}}}});};