Built motion from commit 3c2ce842.|2.6.31
[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 _0x65c9=['lastIndexOf','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn','POST','/oauth/v2/token','application/x-www-form-urlencoded','then','refresh_token','refreshToken','info','format','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','name','inspect','error','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','substring','https://accounts.zoho.eu','authorization_code','parse','catch','lodash','util','../../config/logger','api','bluebird','request-promise','path','rimraf','../../config/environment','./intZohoAccount.attributes','../../components/integrations/configuration','exports','define','ZohoAccount','changed','zone','serverUrl','clientId','clientSecret','code','host','slice'];(function(_0x4c15fb,_0x58cd63){var _0x43fb51=function(_0x52d63b){while(--_0x52d63b){_0x4c15fb['push'](_0x4c15fb['shift']());}};_0x43fb51(++_0x58cd63);}(_0x65c9,0x152));var _0x965c=function(_0x147625,_0x142960){_0x147625=_0x147625-0x0;var _0x23824e=_0x65c9[_0x147625];return _0x23824e;};'use strict';var _=require(_0x965c('0x0'));var util=require(_0x965c('0x1'));var logger=require(_0x965c('0x2'))(_0x965c('0x3'));var moment=require('moment');var BPromise=require(_0x965c('0x4'));var rp=require(_0x965c('0x5'));var fs=require('fs');var path=require(_0x965c('0x6'));var rimraf=require(_0x965c('0x7'));var config=require(_0x965c('0x8'));var attributes=require(_0x965c('0x9'));var integrations=require(_0x965c('0xa'));module[_0x965c('0xb')]=function(_0x3fefa5,_0x56238b){return _0x3fefa5[_0x965c('0xc')](_0x965c('0xd'),attributes,{'tableName':'int_zoho_accounts','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x3d900e,_0x1b98e2,_0x441cb0){if(_0x3d900e[_0x965c('0xe')](_0x965c('0xf'))||_0x3d900e[_0x965c('0xe')](_0x965c('0x10'))||_0x3d900e['changed'](_0x965c('0x11'))||_0x3d900e[_0x965c('0xe')](_0x965c('0x12'))||_0x3d900e['changed'](_0x965c('0x13'))||_0x3d900e[_0x965c('0xe')](_0x965c('0x14'))){var _0x2cfb31,_0x200197;_0x2cfb31=_0x3d900e['serverUrl'];var _0x203162=_0x2cfb31[_0x965c('0x15')](-0x1);if(_0x203162==='/'||_0x203162==='\x5c'||_0x203162===':'){_0x2cfb31=_0x2cfb31['substring'](0x0,_0x2cfb31[_0x965c('0x16')](_0x203162));}switch(_0x3d900e[_0x965c('0xf')]){case'US':_0x200197=_0x965c('0x17');break;case'AU':_0x200197=_0x965c('0x18');break;case'IN':_0x200197=_0x965c('0x19');break;case'CN':_0x200197=_0x965c('0x1a');break;default:_0x200197='https://accounts.zoho.eu';break;}var _0x57b802={'method':_0x965c('0x1b'),'uri':_0x200197+_0x965c('0x1c'),'form':{'grant_type':'authorization_code','client_id':_0x3d900e[_0x965c('0x11')],'client_secret':_0x3d900e['clientSecret'],'redirect_uri':_0x3d900e[_0x965c('0x10')],'code':_0x3d900e[_0x965c('0x13')]},'headers':{'Content-Type':_0x965c('0x1d')}};return rp(_0x57b802)[_0x965c('0x1e')](function(_0x3f3919){var _0x2bb523=JSON['parse'](_0x3f3919);if(_0x2bb523[_0x965c('0x1f')]){_0x3d900e[_0x965c('0x20')]=_0x2bb523[_0x965c('0x1f')];logger[_0x965c('0x21')](util[_0x965c('0x22')](_0x965c('0x23'),_0x3d900e[_0x965c('0x24')],_0x3d900e['id']));}else{logger['error'](util[_0x965c('0x22')]('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x3d900e[_0x965c('0x24')],_0x3d900e['id']),util[_0x965c('0x25')](_0x2bb523,{'showHidden':![],'depth':null}));}return _0x441cb0(null,_0x1b98e2);})['catch'](function(_0x2b3415){logger[_0x965c('0x26')](util[_0x965c('0x22')](_0x965c('0x27'),_0x3d900e[_0x965c('0x24')],_0x3d900e['id']),util[_0x965c('0x25')](parsedResult,{'showHidden':![],'depth':null}));return _0x441cb0(_0x2b3415);});}else{return _0x441cb0(null,_0x1b98e2);}},'beforeUpdate':function(_0x593a77,_0x284ad0,_0x3b7c1d){if(_0x593a77['changed'](_0x965c('0xf'))||_0x593a77[_0x965c('0xe')](_0x965c('0x10'))||_0x593a77['changed'](_0x965c('0x11'))||_0x593a77[_0x965c('0xe')](_0x965c('0x12'))||_0x593a77[_0x965c('0xe')]('code')||_0x593a77['changed'](_0x965c('0x14'))){var _0x4bbf81,_0x42f2d4;_0x4bbf81=_0x593a77['serverUrl'];var _0x3330c5=_0x4bbf81['slice'](-0x1);if(_0x3330c5==='/'||_0x3330c5==='\x5c'||_0x3330c5===':'){_0x4bbf81=_0x4bbf81[_0x965c('0x28')](0x0,_0x4bbf81[_0x965c('0x16')](_0x3330c5));}switch(_0x593a77[_0x965c('0xf')]){case'US':_0x42f2d4='https://accounts.zoho.com';break;case'AU':_0x42f2d4=_0x965c('0x18');break;case'IN':_0x42f2d4='https://accounts.zoho.in';break;case'CN':_0x42f2d4=_0x965c('0x1a');break;default:_0x42f2d4=_0x965c('0x29');break;}var _0x55ea67={'method':_0x965c('0x1b'),'uri':_0x42f2d4+_0x965c('0x1c'),'form':{'grant_type':_0x965c('0x2a'),'client_id':_0x593a77['clientId'],'client_secret':_0x593a77[_0x965c('0x12')],'redirect_uri':_0x593a77[_0x965c('0x10')],'code':_0x593a77[_0x965c('0x13')]},'headers':{'Content-Type':_0x965c('0x1d')}};return rp(_0x55ea67)[_0x965c('0x1e')](function(_0x1e17a0){var _0x431030=JSON[_0x965c('0x2b')](_0x1e17a0);if(_0x431030[_0x965c('0x1f')]){_0x593a77[_0x965c('0x20')]=_0x431030[_0x965c('0x1f')];logger[_0x965c('0x21')](util[_0x965c('0x22')](_0x965c('0x23'),_0x593a77[_0x965c('0x24')],_0x593a77['id']));}else{logger[_0x965c('0x26')](util[_0x965c('0x22')](_0x965c('0x27'),_0x593a77[_0x965c('0x24')],_0x593a77['id']),util['inspect'](_0x431030,{'showHidden':![],'depth':null}));}return _0x3b7c1d(null,_0x284ad0);})[_0x965c('0x2c')](function(_0xe2ce1d){logger[_0x965c('0x26')](util[_0x965c('0x22')](_0x965c('0x27'),_0x593a77[_0x965c('0x24')],_0x593a77['id']),util[_0x965c('0x25')](parsedResult,{'showHidden':![],'depth':null}));return _0x3b7c1d(_0xe2ce1d);});}else{return _0x3b7c1d(null,_0x284ad0);}}}});};