Built motion from commit (unavailable).|2.4.19
[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 _0x699b=['POST','/oauth/v2/token','authorization_code','application/x-www-form-urlencoded','refresh_token','refreshToken','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','https://accounts.zoho.com.au','then','parse','info','lodash','moment','request-promise','../../config/environment','./intZohoAccount.attributes','../../components/integrations/configuration','exports','define','int_zoho_accounts','changed','serverUrl','clientId','clientSecret','code','slice','substring','lastIndexOf','zone','https://accounts.zoho.com','https://accounts.zoho.com.cn','https://accounts.zoho.eu'];(function(_0xc730c2,_0x362619){var _0x28ea39=function(_0x9068f5){while(--_0x9068f5){_0xc730c2['push'](_0xc730c2['shift']());}};_0x28ea39(++_0x362619);}(_0x699b,0x83));var _0xb699=function(_0x2242f0,_0x2aaca9){_0x2242f0=_0x2242f0-0x0;var _0x66a0b4=_0x699b[_0x2242f0];return _0x66a0b4;};'use strict';var _=require(_0xb699('0x0'));var util=require('util');var logger=require('../../config/logger')('api');var moment=require(_0xb699('0x1'));var BPromise=require('bluebird');var rp=require(_0xb699('0x2'));var fs=require('fs');var path=require('path');var rimraf=require('rimraf');var config=require(_0xb699('0x3'));var attributes=require(_0xb699('0x4'));var integrations=require(_0xb699('0x5'));module[_0xb699('0x6')]=function(_0x4d11f6,_0x4fa1ff){return _0x4d11f6[_0xb699('0x7')]('ZohoAccount',attributes,{'tableName':_0xb699('0x8'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x24019d,_0x54c4fa,_0x2d8edf){if(_0x24019d['changed']('zone')||_0x24019d[_0xb699('0x9')](_0xb699('0xa'))||_0x24019d['changed'](_0xb699('0xb'))||_0x24019d[_0xb699('0x9')](_0xb699('0xc'))||_0x24019d[_0xb699('0x9')](_0xb699('0xd'))||_0x24019d[_0xb699('0x9')]('host')){var _0x4d9d5f,_0x135ac8;_0x4d9d5f=_0x24019d[_0xb699('0xa')];var _0x2f40bf=_0x4d9d5f[_0xb699('0xe')](-0x1);if(_0x2f40bf==='/'||_0x2f40bf==='\x5c'||_0x2f40bf===':'){_0x4d9d5f=_0x4d9d5f[_0xb699('0xf')](0x0,_0x4d9d5f[_0xb699('0x10')](_0x2f40bf));}switch(_0x24019d[_0xb699('0x11')]){case'US':_0x135ac8=_0xb699('0x12');break;case'AU':_0x135ac8='https://accounts.zoho.com.au';break;case'IN':_0x135ac8='https://accounts.zoho.in';break;case'CN':_0x135ac8=_0xb699('0x13');break;default:_0x135ac8=_0xb699('0x14');break;}var _0xacbfa5={'method':_0xb699('0x15'),'uri':_0x135ac8+_0xb699('0x16'),'form':{'grant_type':_0xb699('0x17'),'client_id':_0x24019d[_0xb699('0xb')],'client_secret':_0x24019d['clientSecret'],'redirect_uri':_0x24019d['serverUrl'],'code':_0x24019d[_0xb699('0xd')]},'headers':{'Content-Type':_0xb699('0x18')}};return rp(_0xacbfa5)['then'](function(_0xae0f52){var _0x1903a1=JSON['parse'](_0xae0f52);if(_0x1903a1[_0xb699('0x19')]){_0x24019d[_0xb699('0x1a')]=_0x1903a1['refresh_token'];logger['info'](util[_0xb699('0x1b')](_0xb699('0x1c'),_0x24019d[_0xb699('0x1d')],_0x24019d['id']));}else{logger[_0xb699('0x1e')](util[_0xb699('0x1b')](_0xb699('0x1f'),_0x24019d['name'],_0x24019d['id']),util[_0xb699('0x20')](_0x1903a1,{'showHidden':![],'depth':null}));}return _0x2d8edf(null,_0x54c4fa);})[_0xb699('0x21')](function(_0x455fc2){logger[_0xb699('0x1e')](util[_0xb699('0x1b')]('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x24019d[_0xb699('0x1d')],_0x24019d['id']),util['inspect'](parsedResult,{'showHidden':![],'depth':null}));return _0x2d8edf(_0x455fc2);});}else{return _0x2d8edf(null,_0x54c4fa);}},'beforeUpdate':function(_0x7f52ea,_0x590693,_0x107fd9){if(_0x7f52ea[_0xb699('0x9')](_0xb699('0x11'))||_0x7f52ea[_0xb699('0x9')](_0xb699('0xa'))||_0x7f52ea[_0xb699('0x9')](_0xb699('0xb'))||_0x7f52ea['changed'](_0xb699('0xc'))||_0x7f52ea['changed'](_0xb699('0xd'))||_0x7f52ea[_0xb699('0x9')]('host')){var _0x27c2e7,_0x65234e;_0x27c2e7=_0x7f52ea[_0xb699('0xa')];var _0xf82bb8=_0x27c2e7[_0xb699('0xe')](-0x1);if(_0xf82bb8==='/'||_0xf82bb8==='\x5c'||_0xf82bb8===':'){_0x27c2e7=_0x27c2e7[_0xb699('0xf')](0x0,_0x27c2e7[_0xb699('0x10')](_0xf82bb8));}switch(_0x7f52ea[_0xb699('0x11')]){case'US':_0x65234e='https://accounts.zoho.com';break;case'AU':_0x65234e=_0xb699('0x22');break;case'IN':_0x65234e='https://accounts.zoho.in';break;case'CN':_0x65234e=_0xb699('0x13');break;default:_0x65234e=_0xb699('0x14');break;}var _0x55e79e={'method':_0xb699('0x15'),'uri':_0x65234e+_0xb699('0x16'),'form':{'grant_type':_0xb699('0x17'),'client_id':_0x7f52ea[_0xb699('0xb')],'client_secret':_0x7f52ea['clientSecret'],'redirect_uri':_0x7f52ea[_0xb699('0xa')],'code':_0x7f52ea[_0xb699('0xd')]},'headers':{'Content-Type':_0xb699('0x18')}};return rp(_0x55e79e)[_0xb699('0x23')](function(_0x153574){var _0xa70f18=JSON[_0xb699('0x24')](_0x153574);if(_0xa70f18[_0xb699('0x19')]){_0x7f52ea[_0xb699('0x1a')]=_0xa70f18[_0xb699('0x19')];logger[_0xb699('0x25')](util[_0xb699('0x1b')](_0xb699('0x1c'),_0x7f52ea['name'],_0x7f52ea['id']));}else{logger[_0xb699('0x1e')](util['format'](_0xb699('0x1f'),_0x7f52ea[_0xb699('0x1d')],_0x7f52ea['id']),util[_0xb699('0x20')](_0xa70f18,{'showHidden':![],'depth':null}));}return _0x107fd9(null,_0x590693);})['catch'](function(_0x4ec031){logger['error'](util[_0xb699('0x1b')](_0xb699('0x1f'),_0x7f52ea[_0xb699('0x1d')],_0x7f52ea['id']),util[_0xb699('0x20')](parsedResult,{'showHidden':![],'depth':null}));return _0x107fd9(_0x4ec031);});}else{return _0x107fd9(null,_0x590693);}}}});};