From bf61e674c5d4a598044625c72b2ee185897099bb Mon Sep 17 00:00:00 2001 From: jkoberg Date: Fri, 24 Mar 2023 10:07:22 +0100 Subject: [PATCH] unmarshal ppfinished events Signed-off-by: jkoberg --- changelog/unreleased/unmarshal-pp-events.md | 5 +++++ pkg/events/postprocessing.go | 13 +++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 changelog/unreleased/unmarshal-pp-events.md diff --git a/changelog/unreleased/unmarshal-pp-events.md b/changelog/unreleased/unmarshal-pp-events.md new file mode 100644 index 0000000000..cfe43bffe5 --- /dev/null +++ b/changelog/unreleased/unmarshal-pp-events.md @@ -0,0 +1,5 @@ +Bugfix: Prevent service from panicking + +Changelog is unneccessary + +https://github.com/cs3org/reva/pull/3748 diff --git a/pkg/events/postprocessing.go b/pkg/events/postprocessing.go index 85ef745a61..2e4f8e57bb 100644 --- a/pkg/events/postprocessing.go +++ b/pkg/events/postprocessing.go @@ -105,6 +105,19 @@ type PostprocessingStepFinished struct { func (PostprocessingStepFinished) Unmarshal(v []byte) (interface{}, error) { e := PostprocessingStepFinished{} err := json.Unmarshal(v, &e) + if err != nil { + return nil, err + } + + switch e.FinishedStep { + case PPStepAntivirus: + var res VirusscanResult + b, _ := json.Marshal(e.Result) + err = json.Unmarshal(b, &res) + e.Result = res + case PPStepPolicies: + // nothing to do, but this makes the linter happy + } return e, err }