diff --git a/src/components/CippIntegrations/CippIntegrationSettings.jsx b/src/components/CippIntegrations/CippIntegrationSettings.jsx index f093df9f3e0d..07731168d0be 100644 --- a/src/components/CippIntegrations/CippIntegrationSettings.jsx +++ b/src/components/CippIntegrations/CippIntegrationSettings.jsx @@ -1,4 +1,5 @@ -import { Box, Grid } from "@mui/material"; +import { Box } from "@mui/material"; +import { Grid } from "@mui/system"; import CippFormSection from "/src/components/CippFormPages/CippFormSection"; import CippFormComponent from "/src/components/CippComponents/CippFormComponent"; import { useForm } from "react-hook-form"; @@ -6,7 +7,7 @@ import { useSettings } from "/src/hooks/use-settings"; import { ApiGetCall } from "/src/api/ApiCall"; import { useRouter } from "next/router"; import extensions from "/src/data/Extensions.json"; -import { useEffect } from "react"; +import React, { useEffect } from "react"; import { CippFormCondition } from "../CippComponents/CippFormCondition"; const CippIntegrationSettings = ({ children }) => { @@ -44,7 +45,7 @@ const CippIntegrationSettings = ({ children }) => { <> {integrations.isSuccess && extension ? ( { {extension.SettingOptions.map((setting, index) => ( - - - {setting?.condition ? ( - + + {setting?.condition ? ( + + + + + + + + ) : ( + + { fullWidth {...setting} /> - - ) : ( - - )} - - + + + )} + ))} diff --git a/src/data/Extensions.json b/src/data/Extensions.json index 9fe08b00eb57..15ef6a02de3a 100644 --- a/src/data/Extensions.json +++ b/src/data/Extensions.json @@ -322,6 +322,17 @@ "type": "switch", "name": "Hudu.MonitorDomains", "label": "Monitor domains in Hudu" + }, + { + "_comment": "I have added this switch as a logic check for the Hudu integration script to check against when CIPP first connects to the Hudu Instance via Connect-HuduAPI.ps1", + "type": "switch", + "name": "Hudu.CFEnabled", + "label": "Connect to HUDU through CloudFlare Tunnel with the Service Account credentials.", + "condition": { + "field": "CFZTNA.Enabled", + "compareType": "is", + "compareValue": true + } } ], "mappingRequired": true, @@ -337,7 +348,7 @@ "logoDark": "/assets/integrations/pwpush_dark.png", "forceSyncButton": false, "description": "Enable the PasswordPusher integration to generate password links instead of plain text passwords.", - "helpText": "This integration allows you to generate password links instead of plain text passwords. Configure authentication and expiration settings that will apply to all generated passwords. If you are a PWPush Pro customer and utilizing custom domains, please do not enter your custom domain in the Base URL field.", + "helpText": "This integration allows you to generate password links instead of plain text passwords. Configure authentication and expiration settings that will apply to all generated passwords. If you are a Hosted PWPush Pro customer you can also select an account for branding if you enable Bearer Authentication. Self-Hosted must use the Email Address and API Key method for authenticated pushes.", "links": [ { "name": "PWPush Documentation", @@ -352,12 +363,12 @@ { "type": "switch", "name": "PWPush.Enabled", - "label": "Enable Integration - Replace passwords with PWPush links" + "label": "Enable Integration" }, { "type": "switch", - "name": "PWPush.PWPushPro", - "label": "PWPush Pro/Premium account" + "name": "PWPush.UseBearerAuth", + "label": "Use Bearer Authentication (Hosted only)" }, { "type": "textField", @@ -365,23 +376,29 @@ "label": "PWPush URL", "placeholder": "Enter your PWPush URL. (default: https://pwpush.com)" }, - { - "type": "textField", - "name": "PWPush.EmailAddress", - "label": "PWPush email address", - "placeholder": "Enter your email address for PWPush. (Free/Self-Hosted only)" - }, { "type": "password", "name": "PWPush.APIKey", "label": "PWPush API Key", "placeholder": "Enter your PWPush API Key. (optional)" }, + { + "type": "textField", + "name": "PWPush.EmailAddress", + "label": "PWPush email address", + "placeholder": "Enter your email address for PWPush. (Email & API Key auth)", + "condition": { + "field": "PWPush.UseBearerAuth", + "compareType": "is", + "compareValue": false + } + }, { "type": "autoComplete", "name": "PWPush.AccountId", - "label": "Select your PWPush Account for branding (Pro/Premium only)", + "label": "Select your PWPush Account for branding (Pro/Premium only, optional with Custom Domain)", "multiple": false, + "creatable": false, "api": { "url": "/api/ExecExtensionMapping?List=PWPushFields", "queryKey": "PWPushAccounts", @@ -391,12 +408,11 @@ "showRefresh": true }, "condition": { - "field": "PWPush.PWPushPro", + "field": "PWPush.UseBearerAuth", "compareType": "is", "compareValue": true } }, - { "type": "number", "name": "PWPush.ExpireAfterDays", @@ -454,7 +470,7 @@ }, { "name": "CloudFlare ZTNA Tunnel", - "id": "CTZTNA", + "id": "CFZTNA", "type": "ztna", "cat": "Zero Trust Network Tunnel", "logo": "/assets/integrations/cloudflare.png", @@ -473,21 +489,20 @@ } ], "SettingOptions": [ + { + "type": "switch", + "name": "CFZTNA.Enabled", + "label": "Enable Integration" + }, { "type": "password", - "name": "CloudFlareClientID.APIKey", + "name": "CFZTNA.ClientID", "label": "CloudFlare Tunnel Service Account Client ID" }, { "type": "password", - "name": "CloudFlareAPIKey.APIKey", + "name": "CFZTNA.APIKey", "label": "CloudFlare Tunnel Service Account Client Secret" - }, - { - "_comment": "I have added this switch as a logic check for the Hudu integration script to check against when CIPP first connects to the Hudu Instance via Connect-HuduAPI.ps1", - "type": "switch", - "name": "Hudu.CFEnabled", - "label": " Connect to HUDU through CloudFlare Tunnel with the above Service Account credentials." } ], "mappingRequired": false diff --git a/src/pages/cipp/logs/index.js b/src/pages/cipp/logs/index.js index fdee0356920d..cb6b39500aa4 100644 --- a/src/pages/cipp/logs/index.js +++ b/src/pages/cipp/logs/index.js @@ -21,6 +21,8 @@ const simpleColumns = [ "Message", "API", "Severity", + "AppId", + "IP", "LogData", ]; diff --git a/src/pages/cipp/settings/notifications.js b/src/pages/cipp/settings/notifications.js index 2dd5a990d5e0..b9fc1cd25aa6 100644 --- a/src/pages/cipp/settings/notifications.js +++ b/src/pages/cipp/settings/notifications.js @@ -81,6 +81,7 @@ const Page = () => { resetForm={false} postUrl="/api/ExecNotificationConfig" relatedQueryKeys={["ListNotificationConfig"]} + isFetching={listNotificationConfig.isFetching} addedButtons={