Skip to content

Commit

Permalink
Merge pull request wso2#6673 from pavinduLakshan/graceful_err
Browse files Browse the repository at this point in the history
  • Loading branch information
pavinduLakshan authored Jul 26, 2024
2 parents 79fcc38 + 5711502 commit ece7d3e
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 6 deletions.
8 changes: 8 additions & 0 deletions .changeset/bright-cameras-obey.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@wso2is/admin.extensions.v1": patch
"@wso2is/admin.roles.v1": patch
"@wso2is/admin.roles.v2": patch
"@wso2is/admin.core.v1": patch
---

Gracefully handle server configuration retrieval errors
2 changes: 2 additions & 0 deletions features/admin.core.v1/store/actions/organization.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,5 +126,7 @@ export const getServerConfigurations = () => (dispatch: Dispatch): void => {
const adminUser: string = response?.realmConfig.adminUser;

dispatch(setSuperAdmin(adminUser));
}).catch((_error: unknown) => {
setSuperAdmin(null);
});
};
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
* under the License.
*/

import { useRequiredScopes } from "@wso2is/access-control";
import { getProfileInformation } from "@wso2is/admin.authentication.v1/store";
import { AppState, FeatureConfigInterface, history, store } from "@wso2is/admin.core.v1";
import { PatchRoleDataInterface } from "@wso2is/admin.roles.v2/models/roles";
Expand All @@ -35,7 +36,7 @@ import { UserManagementConstants } from "@wso2is/admin.users.v1/constants/user-m
import { UserManagementUtils } from "@wso2is/admin.users.v1/utils/user-management-utils";
import { UserstoreConstants } from "@wso2is/core/constants";
import { IdentityAppsApiException } from "@wso2is/core/exceptions";
import { hasRequiredScopes, isFeatureEnabled, resolveUserDisplayName, resolveUserEmails } from "@wso2is/core/helpers";
import { isFeatureEnabled, resolveUserDisplayName, resolveUserEmails } from "@wso2is/core/helpers";
import {
AlertInterface,
AlertLevels,
Expand Down Expand Up @@ -70,8 +71,6 @@ const AdministratorEditPage = (): ReactElement => {
const featureConfig: FeatureConfigInterface = useSelector((state: AppState) => state.config.ui.features);
const profileInfo: ProfileInfoInterface = useSelector((state: AppState) => state.profile.profileInfo);

const allowedScopes: string = useSelector((state: AppState) => state?.auth?.allowedScopes);

const [ user, setUserProfile ] = useState<ProfileInfoInterface>(emptyProfileInfo);
const [ isUserDetailsRequestLoading, setIsUserDetailsRequestLoading ] = useState<boolean>(false);
const [ readOnlyUserStoresList, setReadOnlyUserStoresList ] = useState<string[]>(undefined);
Expand All @@ -83,6 +82,9 @@ const AdministratorEditPage = (): ReactElement => {
const [ isSubmitting, setIsSubmitting ] = useState<boolean>(false);
const [ isDisplayNameEnabled, setIsDisplayNameEnabled ] = useState<boolean>(undefined);

const hasUserReadPermissions: boolean = useRequiredScopes(featureConfig?.users?.scopes?.read);
const hasUserUpdatePermissions: boolean = useRequiredScopes(featureConfig?.users?.scopes?.update);

useEffect(() => {
if (!user) {
return;
Expand All @@ -94,7 +96,7 @@ const AdministratorEditPage = (): ReactElement => {

if (!isFeatureEnabled(featureConfig?.users, UserManagementConstants.FEATURE_DICTIONARY.get("USER_UPDATE"))
|| readOnlyUserStoresList?.includes(userStore?.toString())
|| !hasRequiredScopes(featureConfig?.users, featureConfig?.users?.scopes?.update, allowedScopes)
|| !hasUserUpdatePermissions
) {
setReadOnly(true);
}
Expand Down Expand Up @@ -139,8 +141,7 @@ const AdministratorEditPage = (): ReactElement => {
return;
}

if (hasRequiredScopes(featureConfig?.guestUser,
featureConfig?.guestUser?.scopes?.read, allowedScopes)) {
if (hasUserReadPermissions) {
getAdminUser();
}
setIsDisplayNameEnabled(
Expand Down Expand Up @@ -175,6 +176,9 @@ const AdministratorEditPage = (): ReactElement => {
getServerConfigs()
.then((response: ServerConfigurationsInterface) => {
setRealmConfigs(response?.realmConfig);
})
.catch((_error: unknown) => {
setRealmConfigs(null);
});
};

Expand Down
2 changes: 2 additions & 0 deletions features/admin.roles.v1/components/wizard/role-permission.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@ export const PermissionList: FunctionComponent<PermissionListProp> = (props: Per
if (loggedUserName === adminUser) {
setIsSuperAdmin(true);
}
}).catch((_error: unknown) => {
setIsSuperAdmin(false);
});
};

Expand Down
2 changes: 2 additions & 0 deletions features/admin.roles.v2/components/wizard/role-permission.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@ export const PermissionList: FunctionComponent<PermissionListProp> = (props: Per
if (loggedUserName === adminUser) {
setIsSuperAdmin(true);
}
}).catch((_error: unknown) => {
setIsSuperAdmin(false);
});
};

Expand Down

0 comments on commit ece7d3e

Please sign in to comment.