diff --git a/packages/manager/.changeset/pr-12685-fixed-1755272623309.md b/packages/manager/.changeset/pr-12685-fixed-1755272623309.md new file mode 100644 index 00000000000..0019fdf96a7 --- /dev/null +++ b/packages/manager/.changeset/pr-12685-fixed-1755272623309.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Fixed +--- + +Missing `firewall_apply` event messages ([#12685](https://github.com/linode/manager/pull/12685)) diff --git a/packages/manager/.changeset/pr-12685-upcoming-features-1755276113969.md b/packages/manager/.changeset/pr-12685-upcoming-features-1755276113969.md new file mode 100644 index 00000000000..e04093dbbbb --- /dev/null +++ b/packages/manager/.changeset/pr-12685-upcoming-features-1755276113969.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Upcoming Features +--- + +Temporarily fix Linode Interface `firewall_device_add` event message ([#12685](https://github.com/linode/manager/pull/12685)) diff --git a/packages/manager/src/features/Events/factories/firewall.tsx b/packages/manager/src/features/Events/factories/firewall.tsx index 140dd563b4d..14ec53f3264 100644 --- a/packages/manager/src/features/Events/factories/firewall.tsx +++ b/packages/manager/src/features/Events/factories/firewall.tsx @@ -1,3 +1,4 @@ +import { capitalize } from '@linode/utilities'; import * as React from 'react'; import { formattedTypes } from 'src/features/Firewalls/FirewallDetail/Devices/constants'; @@ -5,16 +6,50 @@ import { formattedTypes } from 'src/features/Firewalls/FirewallDetail/Devices/co import { EventLink } from '../EventLink'; import type { PartialEventMap } from '../types'; +import type { Event } from '@linode/api-v4'; import type { FirewallDeviceEntityType } from '@linode/api-v4'; +const entityPrefix = (e: Event) => { + const type = e?.entity?.type ? capitalize(e.entity.type) : null; + + return type ? ( + <> + {type} {' '} + + ) : null; +}; + export const firewall: PartialEventMap<'firewall'> = { firewall_apply: { - notification: (e) => ( - <> - Firewall has been{' '} - applied. - - ), + failed: (e) => { + return ( + <> + {entityPrefix(e)} Firewall update could not be{' '} + applied. + + ); + }, + finished: (e) => { + return ( + <> + {entityPrefix(e)} Firewall update has been applied. + + ); + }, + scheduled: (e) => { + return ( + <> + {entityPrefix(e)} Firewall update is scheduled. + + ); + }, + started: (e) => { + return ( + <> + {entityPrefix(e)} Firewall update has started. + + ); + }, }, firewall_create: { notification: (e) => ( @@ -34,8 +69,10 @@ export const firewall: PartialEventMap<'firewall'> = { firewall_device_add: { notification: (e) => { if (e.secondary_entity?.type) { + // TODO - Linode Interfaces [M3-10447] - clean this up when API ticket [VPC-3359] is completed const secondaryEntityName = - formattedTypes[e.secondary_entity.type as FirewallDeviceEntityType]; + formattedTypes[e.secondary_entity.type as FirewallDeviceEntityType] ?? + 'Linode Interface'; return ( <> {secondaryEntityName} {' '}