diff --git a/apps/console/src/configs/routes.tsx b/apps/console/src/configs/routes.tsx
index c68c268fa44..b3077c8bf08 100644
--- a/apps/console/src/configs/routes.tsx
+++ b/apps/console/src/configs/routes.tsx
@@ -281,6 +281,17 @@ export const getAppViewRoutes = (): RouteInterface[] => {
path: AppConstants.getPaths().get("ALTERNATIVE_LOGIN_IDENTIFIER_EDIT"),
protected: true,
showOnSidePanel: false
+ },
+ {
+ component: lazy(() =>
+ import("@wso2is/admin.server.v1/pages/internal-notification-sending-page")
+ ),
+ exact: true,
+ id: "internalNotificationSending",
+ name: "Internal Notification Sending",
+ path: AppConstants.getPaths().get("INTERNAL_NOTIFICATION_SENDING"),
+ protected: true,
+ showOnSidePanel: false
}
],
component: lazy(() =>
@@ -1071,40 +1082,6 @@ export const getAppViewRoutes = (): RouteInterface[] => {
protected: true,
showOnSidePanel: false
},
- {
- category: "extensions:manage.sidePanel.categories.settings",
- children: [
- {
- component: lazy(() =>
- import("@wso2is/admin.server.v1/pages/internal-notification-sending-page")
- ),
- exact: true,
- icon: {
- icon: getSidePanelIcons().childIcon
- },
- id: "internal-notification-sending",
- name: "Internal Notification Sending",
- path: AppConstants.getPaths().get("INTERNAL_NOTIFICATION_SENDING"),
- protected: true,
- showOnSidePanel: false
- }
- ],
- component: lazy(() =>
- import(
- "@wso2is/admin.server.v1/pages/server"
- )
- ),
- exact: true,
- icon: {
- icon: getSidePanelIcons().userStore
- },
- id: "server",
- name: "Server",
- order: 25,
- path: AppConstants.getPaths().get("SERVER"),
- protected: true,
- showOnSidePanel: true
- },
{
category: "extensions:manage.sidePanel.categories.userManagement",
component: lazy(() => import("@wso2is/admin.workflow-approvals.v1/pages/approvals")),
diff --git a/apps/console/src/public/deployment.config.json b/apps/console/src/public/deployment.config.json
index 831f821ca3f..be610651d5c 100644
--- a/apps/console/src/public/deployment.config.json
+++ b/apps/console/src/public/deployment.config.json
@@ -722,6 +722,23 @@
"enabled": false,
"scopes": {}
},
+ "internalNotificationSending": {
+ "disabledFeatures": [],
+ "enabled": true,
+ "scopes": {
+ "create": [],
+ "delete": [],
+ "feature": [
+ "console:loginAndRegistration"
+ ],
+ "read": [
+ "internal_governance_view"
+ ],
+ "update": [
+ "internal_governance_update"
+ ]
+ }
+ },
"loginAndRegistration": {
"disabledFeatures": [],
"enabled": true,
diff --git a/features/admin.core.v1/constants/app-constants.ts b/features/admin.core.v1/constants/app-constants.ts
index da04261f20c..97aba0819e5 100644
--- a/features/admin.core.v1/constants/app-constants.ts
+++ b/features/admin.core.v1/constants/app-constants.ts
@@ -403,7 +403,7 @@ export class AppConstants {
[ "SERVER",
`${AppConstants.getAdminViewBasePath()}/server` ],
[ "INTERNAL_NOTIFICATION_SENDING",
- `${AppConstants.getAdminViewBasePath()}/server/internal-notification-sending` ],
+ `${AppConstants.getAdminViewBasePath()}/login-and-registration/internal-notification-sending` ],
[ "OUTBOUND_PROVISIONING_SETTINGS",
`${AppConstants.getAdminViewBasePath()}/outbound-provisioning-settings` ],
[ "IMPERSONATION", `${AppConstants.getAdminViewBasePath()}/login-and-registration/impersonation` ],
@@ -509,7 +509,6 @@ export class AppConstants {
public static readonly SUPER_ADMIN_ONLY_ROUTES: string[] = [
"admin-session-advisory-banner-edit",
"remote-logging",
- "internal-notification-sending",
"server"
];
diff --git a/features/admin.core.v1/models/config.ts b/features/admin.core.v1/models/config.ts
index 2a0f12d51c4..33f8b258203 100644
--- a/features/admin.core.v1/models/config.ts
+++ b/features/admin.core.v1/models/config.ts
@@ -254,6 +254,10 @@ export interface FeatureConfigInterface {
* Connection management feature.
*/
connections?: ConnectionConfigInterface;
+ /**
+ * Notification sending feature.
+ */
+ internalNotificationSending?: FeatureAccessConfigInterface;
}
/**
diff --git a/features/admin.server-configurations.v1/components/governance-connector-grid.tsx b/features/admin.server-configurations.v1/components/governance-connector-grid.tsx
index 894e18ce966..d6ef209011d 100644
--- a/features/admin.server-configurations.v1/components/governance-connector-grid.tsx
+++ b/features/admin.server-configurations.v1/components/governance-connector-grid.tsx
@@ -204,6 +204,10 @@ const GovernanceConnectorCategoriesGrid: FunctionComponent
);
+ case ServerConfigurationsConstants.NOTIFICATION_SETTINGS_CONNECTOR_ID:
+ return (
+
+ );
default:
return ;
}
diff --git a/features/admin.server-configurations.v1/constants/server-configurations-constants.ts b/features/admin.server-configurations.v1/constants/server-configurations-constants.ts
index 49c9bb7b301..20177ee43eb 100644
--- a/features/admin.server-configurations.v1/constants/server-configurations-constants.ts
+++ b/features/admin.server-configurations.v1/constants/server-configurations-constants.ts
@@ -406,6 +406,8 @@ export class ServerConfigurationsConstants {
public static readonly LOGIN_SECURITY_SETTINGS_CATEGORY_ID: string = "login-security";
public static readonly PROVISIONING_SETTINGS_CATEGORY_ID: string = "provider-settings";
public static readonly OUTBOUND_PROVISIONING_SETTINGS_CONNECTOR_ID: string = "outbound-provisioning-settings";
+ public static readonly NOTIFICATION_SETTINGS_CATEGORY_ID: string = "notification-settings";
+ public static readonly NOTIFICATION_SETTINGS_CONNECTOR_ID: string = "internal-notification-settings";
/**
* Multi Attribute Login Constants.
diff --git a/features/admin.server-configurations.v1/pages/connector-listing-page.tsx b/features/admin.server-configurations.v1/pages/connector-listing-page.tsx
index 9a24fe25c5d..e6cbac053e8 100644
--- a/features/admin.server-configurations.v1/pages/connector-listing-page.tsx
+++ b/features/admin.server-configurations.v1/pages/connector-listing-page.tsx
@@ -82,6 +82,12 @@ export const ConnectorListingPage: FunctionComponent {
const originalConnectors: Array = GovernanceConnectorUtils.getPredefinedConnectorCategories();
@@ -93,6 +99,9 @@ export const ConnectorListingPage: FunctionComponent = category.connectors.
filter((connector: any) => !serverConfigurationConfig.connectorsToHide.includes(connector.id));
diff --git a/features/admin.server-configurations.v1/utils/governance-connector-utils.ts b/features/admin.server-configurations.v1/utils/governance-connector-utils.ts
index 8f1de2df1a1..7dd630003b1 100644
--- a/features/admin.server-configurations.v1/utils/governance-connector-utils.ts
+++ b/features/admin.server-configurations.v1/utils/governance-connector-utils.ts
@@ -401,6 +401,22 @@ export class GovernanceConnectorUtils {
displayOrder: 0,
id: ServerConfigurationsConstants.PROVISIONING_SETTINGS_CATEGORY_ID,
title: "Provisioning Settings"
+ },
+ {
+ connectors: [
+ {
+ description: I18n.instance.t(
+ "console:manage.features.serverConfigs.manageNotificationSendingInternally.description"),
+ header: I18n.instance.t(
+ "console:manage.features.serverConfigs.manageNotificationSendingInternally.title"),
+ id: ServerConfigurationsConstants.NOTIFICATION_SETTINGS_CONNECTOR_ID,
+ route: AppConstants.getPaths().get("INTERNAL_NOTIFICATION_SENDING"),
+ testId: "internal-notification-settings-card"
+ }
+ ],
+ displayOrder: 0,
+ id: ServerConfigurationsConstants.NOTIFICATION_SETTINGS_CATEGORY_ID,
+ title: "Notification Settings"
}
];
}
diff --git a/features/admin.server.v1/pages/internal-notification-sending-page.tsx b/features/admin.server.v1/pages/internal-notification-sending-page.tsx
index 780255b0e77..6fe3a99812b 100644
--- a/features/admin.server.v1/pages/internal-notification-sending-page.tsx
+++ b/features/admin.server.v1/pages/internal-notification-sending-page.tsx
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2023, WSO2 LLC. (https://www.wso2.com).
+ * Copyright (c) 2023-2024, WSO2 LLC. (https://www.wso2.com).
*
* WSO2 LLC. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
@@ -348,7 +348,7 @@ export const InternalNotificationSendingPage: FC {
- history.push(AppConstants.getPaths().get("SERVER"));
+ history.push(AppConstants.getPaths().get("LOGIN_AND_REGISTRATION"));
};
/**
@@ -368,7 +368,7 @@ export const InternalNotificationSendingPage: FC