(sessionToken)
| 149 | }; |
| 150 | |
| 151 | const thirdpartyLoginfn = async (sessionToken) => { |
| 152 | const baseUrl = localStorage.getItem("baseUrl"); |
| 153 | const parseAppId = localStorage.getItem("parseAppId"); |
| 154 | const res = await axios.get(baseUrl + "users/me", { |
| 155 | headers: { |
| 156 | "X-Parse-Session-Token": sessionToken, |
| 157 | "X-Parse-Application-Id": parseAppId |
| 158 | } |
| 159 | }); |
| 160 | await Parse.User.become(sessionToken).then(() => { |
| 161 | window.localStorage.setItem("accesstoken", sessionToken); |
| 162 | }); |
| 163 | if (res.data) { |
| 164 | let _user = res.data; |
| 165 | setLocalVar(_user); |
| 166 | // Check extended class user role and tenentId |
| 167 | try { |
| 168 | const userSettings = appInfo.settings; |
| 169 | const extUser = await Parse.Cloud.run("getUserDetails"); |
| 170 | if (extUser) { |
| 171 | const IsDisabled = extUser?.get("IsDisabled") || false; |
| 172 | if (!IsDisabled) { |
| 173 | const userRole = extUser?.get("UserRole"); |
| 174 | const menu = |
| 175 | userRole && userSettings.find((menu) => menu.role === userRole); |
| 176 | if (menu) { |
| 177 | const _currentRole = userRole; |
| 178 | const redirectUrl = |
| 179 | location?.state?.from || `/${menu.pageType}/${menu.pageId}`; |
| 180 | const _role = _currentRole.replace("contracts_", ""); |
| 181 | const extInfo = JSON.parse(JSON.stringify(extUser)); |
| 182 | localStorage.setItem("_user_role", _role); |
| 183 | localStorage.setItem("Extand_Class", JSON.stringify([extUser])); |
| 184 | localStorage.setItem("userEmail", extInfo?.Email); |
| 185 | localStorage.setItem("username", extInfo?.Name); |
| 186 | if (extInfo?.TenantId) { |
| 187 | const tenant = { |
| 188 | Id: extInfo?.TenantId?.objectId || "", |
| 189 | Name: extInfo?.TenantId?.TenantName || "" |
| 190 | }; |
| 191 | localStorage.setItem("TenantId", tenant?.Id); |
| 192 | dispatch(showTenant(tenant?.Name)); |
| 193 | localStorage.setItem("TenantName", tenant?.Name); |
| 194 | } |
| 195 | localStorage.setItem("PageLanding", menu.pageId); |
| 196 | localStorage.setItem("defaultmenuid", menu.menuId); |
| 197 | localStorage.setItem("pageType", menu.pageType); |
| 198 | navigate(redirectUrl); |
| 199 | } else { |
| 200 | showToast("danger", t("role-not-found")); |
| 201 | logOutUser(); |
| 202 | } |
| 203 | } else { |
| 204 | showToast("danger", t("do-not-access-contact-admin")); |
| 205 | logOutUser(); |
| 206 | } |
| 207 | } else { |
| 208 | showToast("danger", t("user-not-found")); |
no test coverage detected