Built motion from commit 3e059bc2.|2.5.32
[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 _0xaa42=['ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','name','inspect','catch','code','host','authorization_code','util','../../config/logger','api','path','../../config/environment','../../components/integrations/configuration','exports','define','ZohoAccount','int_zoho_accounts','zone','changed','serverUrl','clientSecret','slice','substring','lastIndexOf','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn','https://accounts.zoho.eu','POST','/oauth/v2/token','clientId','application/x-www-form-urlencoded','then','parse','refresh_token','refreshToken','info','format','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','error'];(function(_0x42cae2,_0x284ef8){var _0x5f256f=function(_0x41abc8){while(--_0x41abc8){_0x42cae2['push'](_0x42cae2['shift']());}};_0x5f256f(++_0x284ef8);}(_0xaa42,0xd4));var _0x2aa4=function(_0x4c12ec,_0x2e9103){_0x4c12ec=_0x4c12ec-0x0;var _0x3ae42c=_0xaa42[_0x4c12ec];return _0x3ae42c;};'use strict';var _=require('lodash');var util=require(_0x2aa4('0x0'));var logger=require(_0x2aa4('0x1'))(_0x2aa4('0x2'));var moment=require('moment');var BPromise=require('bluebird');var rp=require('request-promise');var fs=require('fs');var path=require(_0x2aa4('0x3'));var rimraf=require('rimraf');var config=require(_0x2aa4('0x4'));var attributes=require('./intZohoAccount.attributes');var integrations=require(_0x2aa4('0x5'));module[_0x2aa4('0x6')]=function(_0xf1271a,_0x2bd7dc){return _0xf1271a[_0x2aa4('0x7')](_0x2aa4('0x8'),attributes,{'tableName':_0x2aa4('0x9'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x5ed803,_0xca32c2,_0x143163){if(_0x5ed803['changed'](_0x2aa4('0xa'))||_0x5ed803[_0x2aa4('0xb')](_0x2aa4('0xc'))||_0x5ed803['changed']('clientId')||_0x5ed803[_0x2aa4('0xb')](_0x2aa4('0xd'))||_0x5ed803['changed']('code')||_0x5ed803['changed']('host')){var _0x4c15b3,_0x862456;_0x4c15b3=_0x5ed803[_0x2aa4('0xc')];var _0x2275d5=_0x4c15b3[_0x2aa4('0xe')](-0x1);if(_0x2275d5==='/'||_0x2275d5==='\x5c'||_0x2275d5===':'){_0x4c15b3=_0x4c15b3[_0x2aa4('0xf')](0x0,_0x4c15b3[_0x2aa4('0x10')](_0x2275d5));}switch(_0x5ed803['zone']){case'US':_0x862456=_0x2aa4('0x11');break;case'AU':_0x862456=_0x2aa4('0x12');break;case'IN':_0x862456=_0x2aa4('0x13');break;case'CN':_0x862456=_0x2aa4('0x14');break;default:_0x862456=_0x2aa4('0x15');break;}var _0x2550e6={'method':_0x2aa4('0x16'),'uri':_0x862456+_0x2aa4('0x17'),'form':{'grant_type':'authorization_code','client_id':_0x5ed803[_0x2aa4('0x18')],'client_secret':_0x5ed803[_0x2aa4('0xd')],'redirect_uri':_0x5ed803['serverUrl'],'code':_0x5ed803['code']},'headers':{'Content-Type':_0x2aa4('0x19')}};return rp(_0x2550e6)[_0x2aa4('0x1a')](function(_0x418ad4){var _0x9a4cfa=JSON[_0x2aa4('0x1b')](_0x418ad4);if(_0x9a4cfa[_0x2aa4('0x1c')]){_0x5ed803[_0x2aa4('0x1d')]=_0x9a4cfa['refresh_token'];logger[_0x2aa4('0x1e')](util[_0x2aa4('0x1f')](_0x2aa4('0x20'),_0x5ed803['name'],_0x5ed803['id']));}else{logger[_0x2aa4('0x21')](util[_0x2aa4('0x1f')](_0x2aa4('0x22'),_0x5ed803[_0x2aa4('0x23')],_0x5ed803['id']),util[_0x2aa4('0x24')](_0x9a4cfa,{'showHidden':![],'depth':null}));}return _0x143163(null,_0xca32c2);})[_0x2aa4('0x25')](function(_0x36c984){logger[_0x2aa4('0x21')](util['format'](_0x2aa4('0x22'),_0x5ed803['name'],_0x5ed803['id']),util['inspect'](parsedResult,{'showHidden':![],'depth':null}));return _0x143163(_0x36c984);});}else{return _0x143163(null,_0xca32c2);}},'beforeUpdate':function(_0x3a3c0f,_0x12e4fe,_0x1c23f8){if(_0x3a3c0f[_0x2aa4('0xb')](_0x2aa4('0xa'))||_0x3a3c0f[_0x2aa4('0xb')](_0x2aa4('0xc'))||_0x3a3c0f[_0x2aa4('0xb')]('clientId')||_0x3a3c0f[_0x2aa4('0xb')](_0x2aa4('0xd'))||_0x3a3c0f[_0x2aa4('0xb')](_0x2aa4('0x26'))||_0x3a3c0f[_0x2aa4('0xb')](_0x2aa4('0x27'))){var _0x397b42,_0x1f4d61;_0x397b42=_0x3a3c0f[_0x2aa4('0xc')];var _0x3851bf=_0x397b42[_0x2aa4('0xe')](-0x1);if(_0x3851bf==='/'||_0x3851bf==='\x5c'||_0x3851bf===':'){_0x397b42=_0x397b42[_0x2aa4('0xf')](0x0,_0x397b42['lastIndexOf'](_0x3851bf));}switch(_0x3a3c0f[_0x2aa4('0xa')]){case'US':_0x1f4d61='https://accounts.zoho.com';break;case'AU':_0x1f4d61=_0x2aa4('0x12');break;case'IN':_0x1f4d61=_0x2aa4('0x13');break;case'CN':_0x1f4d61='https://accounts.zoho.com.cn';break;default:_0x1f4d61=_0x2aa4('0x15');break;}var _0x50c9d2={'method':_0x2aa4('0x16'),'uri':_0x1f4d61+_0x2aa4('0x17'),'form':{'grant_type':_0x2aa4('0x28'),'client_id':_0x3a3c0f[_0x2aa4('0x18')],'client_secret':_0x3a3c0f[_0x2aa4('0xd')],'redirect_uri':_0x3a3c0f[_0x2aa4('0xc')],'code':_0x3a3c0f[_0x2aa4('0x26')]},'headers':{'Content-Type':_0x2aa4('0x19')}};return rp(_0x50c9d2)['then'](function(_0x287f02){var _0xcee8f3=JSON['parse'](_0x287f02);if(_0xcee8f3[_0x2aa4('0x1c')]){_0x3a3c0f[_0x2aa4('0x1d')]=_0xcee8f3[_0x2aa4('0x1c')];logger[_0x2aa4('0x1e')](util[_0x2aa4('0x1f')](_0x2aa4('0x20'),_0x3a3c0f[_0x2aa4('0x23')],_0x3a3c0f['id']));}else{logger[_0x2aa4('0x21')](util['format'](_0x2aa4('0x22'),_0x3a3c0f['name'],_0x3a3c0f['id']),util[_0x2aa4('0x24')](_0xcee8f3,{'showHidden':![],'depth':null}));}return _0x1c23f8(null,_0x12e4fe);})[_0x2aa4('0x25')](function(_0xa744d0){logger[_0x2aa4('0x21')](util['format'](_0x2aa4('0x22'),_0x3a3c0f[_0x2aa4('0x23')],_0x3a3c0f['id']),util[_0x2aa4('0x24')](parsedResult,{'showHidden':![],'depth':null}));return _0x1c23f8(_0xa744d0);});}else{return _0x1c23f8(null,_0x12e4fe);}}}});};