diff --git a/apps/OpenSign/src/components/LoginGoogle.js b/apps/OpenSign/src/components/LoginGoogle.js index 0ecf246bd..dbdcaaa3a 100644 --- a/apps/OpenSign/src/components/LoginGoogle.js +++ b/apps/OpenSign/src/components/LoginGoogle.js @@ -77,10 +77,7 @@ const GoogleSignInBtn = ({ const data = jwtDecode(response.credential); // console.log("data ", data); if (data.sub && data.email) { - const details = { - Email: data.email, - Name: data.name - }; + const details = { Email: data.email, Name: data.name }; setUserDetails({ ...userDetails, ...details }); const Gdetails = { Id: data.sub, @@ -94,26 +91,18 @@ const GoogleSignInBtn = ({ } }; const checkExtUser = async (details) => { - // const extUser = new Parse.Query("contracts_Users"); - // extUser.equalTo("Email", details.Gmail); - // const extRes = await extUser.first(); const params = { email: details.Gmail }; const extRes = await Parse.Cloud.run("getUserDetails", params); - // console.log("extRes ", extRes); if (extRes) { - const params = { ...details, Phone: extRes?.get("Phone") || "" }; + // const params = { ...details, Phone: extRes?.get("Phone") || "" }; + const params = { ...details, extUserId: extRes.objectId }; const payload = await Parse.Cloud.run("googlesign", params); - // console.log("payload ", payload); if (payload && payload.sessiontoken) { - // setThirdpartyLoader(true); - // const billingDate = - // extRes.get("Next_billing_date") && extRes.get("Next_billing_date"); - // console.log("billingDate expired", billingDate > new Date()); const LocalUserDetails = { name: details.Name, email: details.Gmail, - phone: extRes?.get("Phone") || "", - company: extRes.get("Company") + phone: payload?.phone || "", + company: payload.company }; localStorage.setItem("userDetails", JSON.stringify(LocalUserDetails)); thirdpartyLoginfn(payload.sessiontoken); diff --git a/apps/OpenSignServer/cloud/parsefunction/GoogleSign.js b/apps/OpenSignServer/cloud/parsefunction/GoogleSign.js index 6be77239e..3af59398e 100644 --- a/apps/OpenSignServer/cloud/parsefunction/GoogleSign.js +++ b/apps/OpenSignServer/cloud/parsefunction/GoogleSign.js @@ -21,36 +21,45 @@ export default async function GoogleSign(request) { const userEmail = request.params.Gmail; const phone = request.params?.Phone || ''; const name = request.params.Name; + const extUserId = request.params?.extUserId || ''; const authData = { google: { id: userGoogleId, id_token: userTokenId } }; const userQuery = new Parse.Query(Parse.User); userQuery.equalTo('email', userEmail); const res = await userQuery.first({ useMasterKey: true }); if (res) { - try { - const SignIn = await axios.put( - serverUrl + '/users/' + res.id, - { authData: authData }, - { - headers: { - 'X-Parse-Application-Id': APPID, - 'X-Parse-Master-key': masterKEY, - }, - } - ); + if (extUserId) { + const userQuery = new Parse.Query('contracts_Users'); + const resExtUser = await userQuery.get(extUserId, { useMasterKey: true }); + const _resExtUser = JSON.parse(JSON.stringify(resExtUser)); + try { + const SignIn = await axios.put( + serverUrl + '/users/' + res.id, + { authData: authData }, + { + headers: { + 'X-Parse-Application-Id': APPID, + 'X-Parse-Master-key': masterKEY, + }, + } + ); - if (SignIn.data) { - // console.log("google Sign in", SignIn); - const sessiontoken = SignIn.data.sessionToken; - console.log('Google sessiontoken', sessiontoken); - return { - email: userEmail, - message: 'User Sign In', - sessiontoken: sessiontoken, - }; + if (SignIn.data) { + // console.log("google Sign in", SignIn); + const sessiontoken = SignIn.data.sessionToken; + return { + email: userEmail, + phone: _resExtUser?.Phone || '', + company: _resExtUser?.Company, + message: 'User Sign In', + sessiontoken: sessiontoken, + }; + } + } catch (err) { + console.log('err in user google sign in', err); + return { message: 'Internal server error' }; } - } catch (err) { - console.log('err in user google sign in', err); - return { message: 'Internal server error' }; + } else { + return { message: 'Internal server err' }; } } else { // console.log("in sign up condition");