Skip to content

Commit 7fb8c11

Browse files
authored
Added support for Scanner event type (#3055)
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
1 parent e7993c2 commit 7fb8c11

File tree

10 files changed

+42
-10
lines changed

10 files changed

+42
-10
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ require (
2323
github.com/minio/kes v0.22.3
2424
github.com/minio/madmin-go/v3 v3.0.18
2525
github.com/minio/mc v0.0.0-20230907224855-9dcef8825fae
26-
github.com/minio/minio-go/v7 v7.0.63
26+
github.com/minio/minio-go/v7 v7.0.64-0.20230920204636-e783c9ba11b3
2727
github.com/minio/selfupdate v0.6.0
2828
github.com/minio/websocket v1.6.0
2929
github.com/mitchellh/go-homedir v1.1.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,8 @@ github.com/minio/mc v0.0.0-20230907224855-9dcef8825fae h1:LteOWEz6ZnP8hm6AEScDmn
247247
github.com/minio/mc v0.0.0-20230907224855-9dcef8825fae/go.mod h1:M/RN4OtnloGZLgLd/HicgzoEQdYXYz0taYqZzoBqVrc=
248248
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
249249
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
250-
github.com/minio/minio-go/v7 v7.0.63 h1:GbZ2oCvaUdgT5640WJOpyDhhDxvknAJU2/T3yurwcbQ=
251-
github.com/minio/minio-go/v7 v7.0.63/go.mod h1:Q6X7Qjb7WMhvG65qKf4gUgA5XaiSox74kR1uAEjxRS4=
250+
github.com/minio/minio-go/v7 v7.0.64-0.20230920204636-e783c9ba11b3 h1:0DtfDxg67S/IRcGnIBKgzyjZ0GXyk3jN1Fy5/+8CQlM=
251+
github.com/minio/minio-go/v7 v7.0.64-0.20230920204636-e783c9ba11b3/go.mod h1:Q6X7Qjb7WMhvG65qKf4gUgA5XaiSox74kR1uAEjxRS4=
252252
github.com/minio/mux v1.9.0 h1:dWafQFyEfGhJvK6AwLOt83bIG5bxKxKJnKMCi0XAaoA=
253253
github.com/minio/pkg/v2 v2.0.1 h1:MI3xMGCxoN5EEBRp98uEU5J0LlaF+8fLPtL8oHTHLX0=
254254
github.com/minio/pkg/v2 v2.0.1/go.mod h1:6xTAr5M9yobpUroXAAaTrGJ9fhOZIqKYOT0I87u2yZ4=

models/notification_event_type.go

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

portal-ui/src/api/consoleApi.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ export enum NotificationEventType {
291291
Get = "get",
292292
Replica = "replica",
293293
Ilm = "ilm",
294+
Scanner = "scanner",
294295
}
295296

296297
export interface NotificationConfig {

portal-ui/src/screens/Console/Buckets/BucketDetails/AddEvent.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ const AddEvent = ({
105105
value: NotificationEventType.Replica,
106106
},
107107
{ label: "ILM - Object Transitioned", value: NotificationEventType.Ilm },
108+
{
109+
label:
110+
"SCANNER - Object has too many versions / Prefixes has too many sub-folders",
111+
value: NotificationEventType.Scanner,
112+
},
108113
];
109114

110115
const handleClick = (event: React.ChangeEvent<HTMLInputElement>) => {

portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,19 @@ const BucketEventsPanel = () => {
9696
}
9797
}, [loadingEvents, dispatch, bucketName, displayEvents]);
9898

99-
const eventsDisplay = (events: string[]) => {
100-
return <Fragment>{events.join(", ")}</Fragment>;
99+
const eventsDisplay = (events: string[] | null) => {
100+
if (!events) {
101+
return "other";
102+
}
103+
104+
const cleanEvents = events.reduce((acc: string[], read: string) => {
105+
if (!acc.includes(read)) {
106+
return [...acc, read];
107+
}
108+
return acc;
109+
}, []);
110+
111+
return <Fragment>{cleanEvents.join(", ")}</Fragment>;
101112
};
102113

103114
const confirmDeleteEvent = (evnt: NotificationConfig) => {

portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteEvent.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,22 @@ const DeleteEvent = ({
5454
return;
5555
}
5656

57-
const events = get(bucketEvent, "events", []);
57+
const events: string[] = get(bucketEvent, "events", []);
5858
const prefix = get(bucketEvent, "prefix", "");
5959
const suffix = get(bucketEvent, "suffix", "");
6060

61+
const cleanEvents = events.reduce((acc: string[], currVal: string) => {
62+
if (!acc.includes(currVal)) {
63+
return [...acc, currVal];
64+
}
65+
return acc;
66+
}, []);
67+
6168
invokeDeleteApi(
6269
"DELETE",
6370
`/api/v1/buckets/${selectedBucket}/events/${bucketEvent.arn}`,
6471
{
65-
events,
72+
events: cleanEvents,
6673
prefix,
6774
suffix,
6875
},

restapi/embedded_spec.go

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

restapi/user_buckets_events.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ func listBucketEvents(client MinioClient, bucketName string) ([]*models.Notifica
7777
eventTypePretty = models.NotificationEventTypeReplica
7878
case notification.ObjectTransitionAll:
7979
eventTypePretty = models.NotificationEventTypeIlm
80+
case notification.ObjectScannerManyVersions, notification.ObjectScannerBigPrefix:
81+
eventTypePretty = models.NotificationEventTypeScanner
8082
default:
8183
continue
8284
}

swagger.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4058,6 +4058,7 @@ definitions:
40584058
- get
40594059
- replica
40604060
- ilm
4061+
- scanner
40614062
notificationConfig:
40624063
type: object
40634064
required:

0 commit comments

Comments
 (0)