From 81f3057857a66a9d551aa022a1a7f6b7a758f53a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Mon, 17 Feb 2025 18:18:07 +0100 Subject: [PATCH 01/30] Change to POST --- src/pages/email/administration/mailboxes/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/email/administration/mailboxes/index.js b/src/pages/email/administration/mailboxes/index.js index 90bfc401266e..13caa3d14794 100644 --- a/src/pages/email/administration/mailboxes/index.js +++ b/src/pages/email/administration/mailboxes/index.js @@ -68,7 +68,7 @@ const Page = () => { }, { label: "Convert to Room Mailbox", - type: "GET", + type: "POST", url: "/api/ExecConvertToRoomMailbox", icon: , data: { From d683c91d6a7aefa26b6230bc8d3c9d3f1d8200ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Mon, 17 Feb 2025 18:29:45 +0100 Subject: [PATCH 02/30] Change to POST --- src/pages/email/administration/contacts/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/email/administration/contacts/index.js b/src/pages/email/administration/contacts/index.js index 9d75996d8652..22e922d006ce 100644 --- a/src/pages/email/administration/contacts/index.js +++ b/src/pages/email/administration/contacts/index.js @@ -20,7 +20,7 @@ const Page = () => { }, { label: "Remove Contact", - type: "GET", + type: "POST", url: "/api/RemoveContact", data: { GUID: "id", From f9ea548fe0d77826d01839872aaf76e494d0b088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Mon, 17 Feb 2025 18:50:26 +0100 Subject: [PATCH 03/30] Change mailbox conversion actions from GET to POST and update API endpoint --- .../CippComponents/CippUserActions.jsx | 12 +++---- .../email/administration/mailboxes/index.js | 32 ++++++++++--------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/components/CippComponents/CippUserActions.jsx b/src/components/CippComponents/CippUserActions.jsx index 93e6d991adb6..a385c9d72c2f 100644 --- a/src/components/CippComponents/CippUserActions.jsx +++ b/src/components/CippComponents/CippUserActions.jsx @@ -107,19 +107,19 @@ export const CippUserActions = () => { { //tested label: "Convert to Shared Mailbox", - type: "GET", + type: "POST", icon: , - url: "/api/ExecConvertToSharedMailbox", - data: { ID: "userPrincipalName" }, + url: "/api/ExecConvertMailbox", + data: { ID: "userPrincipalName", MailboxType: "!Shared" }, confirmText: "Are you sure you want to convert this user to a shared mailbox?", multiPost: false, }, { label: "Convert to User Mailbox", - type: "GET", + type: "POST", icon: , - url: "/api/ExecConvertToSharedMailbox", - data: { ID: "userPrincipalName", ConvertToUser: true }, + url: "/api/ExecConvertMailbox", + data: { ID: "userPrincipalName", MailboxType: "!Regular" }, confirmText: "Are you sure you want to convert this user to a user mailbox?", multiPost: false, }, diff --git a/src/pages/email/administration/mailboxes/index.js b/src/pages/email/administration/mailboxes/index.js index 13caa3d14794..6c0771eaf01d 100644 --- a/src/pages/email/administration/mailboxes/index.js +++ b/src/pages/email/administration/mailboxes/index.js @@ -2,7 +2,7 @@ import { Layout as DashboardLayout } from "/src/layouts/index.js"; import { CippTablePage } from "/src/components/CippComponents/CippTablePage.jsx"; import Link from "next/link"; import { Button } from "@mui/material"; -import { Add } from "@mui/icons-material"; +import { Add, Mail } from "@mui/icons-material"; import { Archive, @@ -44,35 +44,37 @@ const Page = () => { icon: , }, { - label: "Convert to Shared Mailbox", - type: "GET", - icon: , - url: "/api/ExecConvertToSharedMailbox", + label: "Convert to User Mailbox", + type: "POST", + url: "/api/ExecConvertMailbox", + icon: , data: { ID: "UPN", + MailboxType: "!Regular", }, - confirmText: "Are you sure you want to convert this mailbox to a shared mailbox?", - condition: (row) => row.recipientTypeDetails !== "SharedMailbox", + confirmText: "Are you sure you want to convert this mailbox to a user mailbox?", + condition: (row) => row.recipientTypeDetails !== "UserMailbox", }, { - label: "Convert to User Mailbox", - type: "GET", - url: "/api/ExecConvertToSharedMailbox", - icon: , + label: "Convert to Shared Mailbox", + type: "POST", + icon: , + url: "/api/ExecConvertMailbox", data: { ID: "UPN", - ConvertToUser: true, + MailboxType: "!Shared", }, - confirmText: "Are you sure you want to convert this mailbox to a user mailbox?", - condition: (row) => row.recipientTypeDetails !== "UserMailbox", + confirmText: "Are you sure you want to convert this mailbox to a shared mailbox?", + condition: (row) => row.recipientTypeDetails !== "SharedMailbox", }, { label: "Convert to Room Mailbox", type: "POST", - url: "/api/ExecConvertToRoomMailbox", + url: "/api/ExecConvertMailbox", icon: , data: { ID: "UPN", + MailboxType: "!Room", }, confirmText: "Are you sure you want to convert this mailbox to a room mailbox?", condition: (row) => row.recipientTypeDetails !== "RoomMailbox", From 4843840c5dc854f960ac4dd3eeafbb3fc2128432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Mon, 17 Feb 2025 18:56:17 +0100 Subject: [PATCH 04/30] Change to POST --- src/pages/endpoint/MEM/list-compliance-policies/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/endpoint/MEM/list-compliance-policies/index.js b/src/pages/endpoint/MEM/list-compliance-policies/index.js index 47e955ce1452..71d2d4f8a8ba 100644 --- a/src/pages/endpoint/MEM/list-compliance-policies/index.js +++ b/src/pages/endpoint/MEM/list-compliance-policies/index.js @@ -60,7 +60,7 @@ const Page = () => { }, { label: "Delete Policy", - type: "GET", + type: "POST", url: "/api/RemovePolicy", data: { ID: "id", From a74d9b1da0f679a8913a6f3cf67fffb7727eaafc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Mon, 17 Feb 2025 20:28:28 +0100 Subject: [PATCH 05/30] Change restore action type from GET to POST --- src/pages/identity/administration/deleted-items/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/identity/administration/deleted-items/index.js b/src/pages/identity/administration/deleted-items/index.js index 43d9ddb9d817..b82213e9e8c9 100644 --- a/src/pages/identity/administration/deleted-items/index.js +++ b/src/pages/identity/administration/deleted-items/index.js @@ -1,6 +1,6 @@ import { Layout as DashboardLayout } from "/src/layouts/index.js"; import { CippTablePage } from "/src/components/CippComponents/CippTablePage.jsx"; -import RestoreFromTrashIcon from '@mui/icons-material/RestoreFromTrash'; +import RestoreFromTrashIcon from "@mui/icons-material/RestoreFromTrash"; const Page = () => { const pageTitle = "Deleted Items"; @@ -8,7 +8,7 @@ const Page = () => { const actions = [ { label: "Restore Object", - type: "GET", + type: "POST", icon: , url: "/api/ExecRestoreDeleted", data: { ID: "id" }, From 174b37f18600bab0e2973ecfb973d77687935e1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Mon, 17 Feb 2025 21:36:16 +0100 Subject: [PATCH 06/30] Change spam filter actions from GET to POST --- src/pages/email/spamfilter/list-spamfilter/index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/email/spamfilter/list-spamfilter/index.js b/src/pages/email/spamfilter/list-spamfilter/index.js index 55985f5d7316..f6961ffc7d04 100644 --- a/src/pages/email/spamfilter/list-spamfilter/index.js +++ b/src/pages/email/spamfilter/list-spamfilter/index.js @@ -8,7 +8,7 @@ import { RocketLaunch } from "@mui/icons-material"; const Page = () => { const pageTitle = "Spam Filters"; - const apiUrl = "/api/ListSpamfilter" + const apiUrl = "/api/ListSpamfilter"; const actions = [ { @@ -23,11 +23,11 @@ const Page = () => { }, { label: "Enable Rule", - type: "GET", + type: "POST", icon: , url: "/api/EditSpamfilter", data: { - State: "enable", + State: "!enable", name: "Name", }, confirmText: "Are you sure you want to enable this rule?", @@ -35,11 +35,11 @@ const Page = () => { }, { label: "Disable Rule", - type: "GET", + type: "POST", icon: , url: "/api/EditSpamfilter", data: { - State: "disable", + State: "!disable", name: "Name", }, confirmText: "Are you sure you want to disable this rule?", @@ -47,7 +47,7 @@ const Page = () => { }, { label: "Delete Rule", - type: "GET", + type: "POST", icon: , url: "/api/RemoveSpamFilter", data: { From bdbe851b0782ccd465d94030ab362baf62fcb92f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Mon, 17 Feb 2025 21:47:27 +0100 Subject: [PATCH 07/30] Change remove mailbox rule action type from GET to POST --- src/pages/email/administration/mailbox-rules/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/email/administration/mailbox-rules/index.js b/src/pages/email/administration/mailbox-rules/index.js index c80b749aad07..e25ba44d8ae6 100644 --- a/src/pages/email/administration/mailbox-rules/index.js +++ b/src/pages/email/administration/mailbox-rules/index.js @@ -10,7 +10,7 @@ const Page = () => { const actions = [ { label: "Remove Mailbox Rule", - type: "GET", + type: "POST", icon: , url: "/api/ExecRemoveMailboxRule", data: { ruleId: "Identity", userPrincipalName: "UserPrincipalName", ruleName: "Name" }, From 892004cc214e47d0487e680ad7d9f0eaf9f8abfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Mon, 17 Feb 2025 21:53:36 +0100 Subject: [PATCH 08/30] Change Send MFA Push action type from GET to POST --- src/pages/email/administration/mailboxes/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/email/administration/mailboxes/index.js b/src/pages/email/administration/mailboxes/index.js index 6c0771eaf01d..19f7b04cd22b 100644 --- a/src/pages/email/administration/mailboxes/index.js +++ b/src/pages/email/administration/mailboxes/index.js @@ -35,7 +35,7 @@ const Page = () => { }, { label: "Send MFA Push", - type: "GET", + type: "POST", url: "/api/ExecSendPush", data: { UserEmail: "UPN", From 2789f7bbe5074602bb125bfa11c5fa566cda2751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Mon, 17 Feb 2025 22:04:40 +0100 Subject: [PATCH 09/30] Change Enable Online Archive action type from GET to POST --- src/components/CippComponents/CippUserActions.jsx | 2 +- src/pages/email/administration/mailboxes/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/CippComponents/CippUserActions.jsx b/src/components/CippComponents/CippUserActions.jsx index a385c9d72c2f..0e1191f3ed86 100644 --- a/src/components/CippComponents/CippUserActions.jsx +++ b/src/components/CippComponents/CippUserActions.jsx @@ -126,7 +126,7 @@ export const CippUserActions = () => { { //tested label: "Enable Online Archive", - type: "GET", + type: "POST", icon: , url: "/api/ExecEnableArchive", data: { ID: "userPrincipalName" }, diff --git a/src/pages/email/administration/mailboxes/index.js b/src/pages/email/administration/mailboxes/index.js index 19f7b04cd22b..bf085c191ca7 100644 --- a/src/pages/email/administration/mailboxes/index.js +++ b/src/pages/email/administration/mailboxes/index.js @@ -82,7 +82,7 @@ const Page = () => { { //tested label: "Enable Online Archive", - type: "GET", + type: "POST", icon: , url: "/api/ExecEnableArchive", data: { ID: "UPN" }, From 656809ec46fc20ffd60308d8fd2f3b71f5f1ba50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Kj=C3=A6rg=C3=A5rd?= Date: Mon, 17 Feb 2025 22:18:43 +0100 Subject: [PATCH 10/30] Change Block Sign In action type from GET to POST --- src/components/CippComponents/CippUserActions.jsx | 4 ++-- .../email/reports/SharedMailboxEnabledAccount/index.js | 2 +- src/pages/email/resources/management/list-rooms/index.js | 6 +++--- src/pages/identity/reports/inactive-users-report/index.js | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/CippComponents/CippUserActions.jsx b/src/components/CippComponents/CippUserActions.jsx index 0e1191f3ed86..dbeae334071d 100644 --- a/src/components/CippComponents/CippUserActions.jsx +++ b/src/components/CippComponents/CippUserActions.jsx @@ -237,7 +237,7 @@ export const CippUserActions = () => { }, { label: "Block Sign In", - type: "GET", + type: "POST", icon: , url: "/api/ExecDisableUser", data: { ID: "id" }, @@ -247,7 +247,7 @@ export const CippUserActions = () => { }, { label: "Unblock Sign In", - type: "GET", + type: "POST", icon: , url: "/api/ExecDisableUser", data: { ID: "id", Enable: true }, diff --git a/src/pages/email/reports/SharedMailboxEnabledAccount/index.js b/src/pages/email/reports/SharedMailboxEnabledAccount/index.js index 186556bbe91e..4b05494fa344 100644 --- a/src/pages/email/reports/SharedMailboxEnabledAccount/index.js +++ b/src/pages/email/reports/SharedMailboxEnabledAccount/index.js @@ -19,7 +19,7 @@ const Page = () => { actions={[ { label: "Block Sign In", - type: "GET", + type: "POST", icon: , url: "/api/ExecDisableUser", data: { ID: "id" }, diff --git a/src/pages/email/resources/management/list-rooms/index.js b/src/pages/email/resources/management/list-rooms/index.js index 9fc307d60e63..56133e7d0976 100644 --- a/src/pages/email/resources/management/list-rooms/index.js +++ b/src/pages/email/resources/management/list-rooms/index.js @@ -18,7 +18,7 @@ const Page = () => { }, { label: "Block Sign In", - type: "GET", + type: "POST", icon: , url: "/api/ExecDisableUser", data: { ID: "id" }, @@ -28,7 +28,7 @@ const Page = () => { }, { label: "Unblock Sign In", - type: "GET", + type: "POST", icon: , url: "/api/ExecDisableUser", data: { ID: "id", Enable: true }, @@ -62,7 +62,7 @@ const Page = () => { "city", "state", "countryOrRegion", - "hiddenFromAddressListsEnabled" + "hiddenFromAddressListsEnabled", ]} cardButton={ + color="muted" + style={{ paddingLeft: 0 }} + size="small" + href={`https://entra.microsoft.com/${userSettingsDefaults.currentTenant}/#view/Microsoft_AAD_UsersAndTenants/UserProfileMenuBlade/~/overview/userId/${userId}`} + target="_blank" + rel="noopener noreferrer" + > + View in Entra + ), }, ] @@ -189,7 +189,7 @@ const Page = () => { const mailboxRuleActions = [ { label: "Remove Mailbox Rule", - type: "GET", + type: "POST", icon: , url: "/api/ExecRemoveMailboxRule", data: { diff --git a/src/pages/tenant/administration/alert-configuration/index.js b/src/pages/tenant/administration/alert-configuration/index.js index 1544d84c8e39..41f76c7dac2e 100644 --- a/src/pages/tenant/administration/alert-configuration/index.js +++ b/src/pages/tenant/administration/alert-configuration/index.js @@ -24,7 +24,7 @@ const Page = () => { }, { label: "Delete Alert", - type: "GET", + type: "POST", url: "/api/RemoveQueuedAlert", data: { ID: "RowKey", diff --git a/src/pages/tenant/conditional/list-named-locations/index.js b/src/pages/tenant/conditional/list-named-locations/index.js index 834efd07eb32..a53610c35926 100644 --- a/src/pages/tenant/conditional/list-named-locations/index.js +++ b/src/pages/tenant/conditional/list-named-locations/index.js @@ -11,7 +11,7 @@ const Page = () => { const actions = [ { label: "Add location to named location", - type: "GET", + type: "POST", url: "/api/ExecNamedLocation", icon: , data: { diff --git a/src/pages/tenant/conditional/list-policies/index.js b/src/pages/tenant/conditional/list-policies/index.js index 8d4b4af2d867..8c021df61319 100644 --- a/src/pages/tenant/conditional/list-policies/index.js +++ b/src/pages/tenant/conditional/list-policies/index.js @@ -32,34 +32,40 @@ const Page = () => { }, { label: "Enable policy", - type: "GET", - url: "/api/EditCAPolicy?State=Enabled", + type: "POST", + url: "/api/EditCAPolicy", data: { GUID: "id", + State: "!Enabled", }, confirmText: "Are you sure you want to enable this policy?", + condition: (row) => row.state !== "enabled", icon: , color: "info", }, { label: "Disable policy", - type: "GET", - url: "/api/EditCAPolicy?State=Disabled", + type: "POST", + url: "/api/EditCAPolicy", data: { GUID: "id", + State: "!Disabled", }, confirmText: "Are you sure you want to disable this policy?", + condition: (row) => row.state !== "disabled", icon: , color: "info", }, { label: "Set policy to report only", - type: "GET", - url: "/api/EditCAPolicy?State=enabledForReportingButNotEnforced", + type: "POST", + url: "/api/EditCAPolicy", data: { GUID: "id", + State: "!enabledForReportingButNotEnforced", }, confirmText: "Are you sure you want to set this policy to report only?", + condition: (row) => row.state !== "enabledForReportingButNotEnforced", icon: , color: "info", }, From bff556ea0a5b23fa8935c5a85e48e4df4bb049f1 Mon Sep 17 00:00:00 2001 From: John Duprey Date: Mon, 24 Feb 2025 12:23:39 -0500 Subject: [PATCH 29/30] fix version number in build steps --- .github/workflows/cipp_dev_build.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cipp_dev_build.yml b/.github/workflows/cipp_dev_build.yml index 834f1995b668..dad0dbebe307 100644 --- a/.github/workflows/cipp_dev_build.yml +++ b/.github/workflows/cipp_dev_build.yml @@ -18,10 +18,17 @@ jobs: uses: actions/checkout@v4.2.2 # Set up Node.js + - name: Get Node version + id: get_node_version + run: | + node_raw_version=$(node -p "require('./package.json').engines.node") + node_sanitized_version=$(echo $node_raw_version | sed -E 's/[^0-9.]+//g') + echo "node_version=$node_sanitized_version" >> $GITHUB_OUTPUT + - name: Set up Node.js uses: actions/setup-node@v4.2.0 with: - node-version: '20.18.1' + node-version: ${{ steps.get_node_version.outputs.node_version }} # Install dependencies - name: Install Dependencies From 33ac08f539de7abd3f0a875ac76de7284725f29d Mon Sep 17 00:00:00 2001 From: John Duprey Date: Mon, 24 Feb 2025 12:39:28 -0500 Subject: [PATCH 30/30] make build process get node version --- .github/workflows/cipp_frontend_build.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cipp_frontend_build.yml b/.github/workflows/cipp_frontend_build.yml index 3d6d1c79550e..76a7dbb2fbbf 100644 --- a/.github/workflows/cipp_frontend_build.yml +++ b/.github/workflows/cipp_frontend_build.yml @@ -18,10 +18,17 @@ jobs: uses: actions/checkout@v4.2.2 # Set up Node.js + - name: Get Node version + id: get_node_version + run: | + node_raw_version=$(node -p "require('./package.json').engines.node") + node_sanitized_version=$(echo $node_raw_version | sed -E 's/[^0-9.]+//g') + echo "node_version=$node_sanitized_version" >> $GITHUB_OUTPUT + - name: Set up Node.js uses: actions/setup-node@v4.2.0 with: - node-version: '20.18.1' + node-version: ${{ steps.get_node_version.outputs.node_version }} # Install dependencies - name: Install Dependencies