@@ -34,15 +34,9 @@ type compliancePolicyCreatedRaw struct {
3434// Returns ErrIgnoredEvent for any other (stream, event_type) so the
3535// listener wrapper can silently no-op.
3636func CompliancePolicyCreatedFromEvent (e store.PersistedEvent ) (CompliancePolicyCreatedPayload , error ) {
37- if e .StreamType != "compliance_policy" || e .EventType != string (eventtypes .CompliancePolicyCreated ) {
38- return CompliancePolicyCreatedPayload {}, ErrIgnoredEvent
39- }
40- if len (e .Data ) == 0 {
41- return CompliancePolicyCreatedPayload {}, fmt .Errorf ("projector: empty CompliancePolicyCreated payload" )
42- }
43- var raw compliancePolicyCreatedRaw
44- if err := json .Unmarshal (e .Data , & raw ); err != nil {
45- return CompliancePolicyCreatedPayload {}, fmt .Errorf ("projector: invalid CompliancePolicyCreated payload: %w" , err )
37+ raw , err := decodePayload [compliancePolicyCreatedRaw ](e , "compliance_policy" , eventtypes .CompliancePolicyCreated )
38+ if err != nil {
39+ return CompliancePolicyCreatedPayload {}, err
4640 }
4741 if raw .Name == "" {
4842 return CompliancePolicyCreatedPayload {}, fmt .Errorf ("projector: CompliancePolicyCreated requires name" )
@@ -73,15 +67,9 @@ type compliancePolicyRenamedRaw struct {
7367
7468// CompliancePolicyRenamedFromEvent decodes CompliancePolicyRenamed.
7569func CompliancePolicyRenamedFromEvent (e store.PersistedEvent ) (CompliancePolicyRenamedPayload , error ) {
76- if e .StreamType != "compliance_policy" || e .EventType != string (eventtypes .CompliancePolicyRenamed ) {
77- return CompliancePolicyRenamedPayload {}, ErrIgnoredEvent
78- }
79- if len (e .Data ) == 0 {
80- return CompliancePolicyRenamedPayload {}, fmt .Errorf ("projector: empty CompliancePolicyRenamed payload" )
81- }
82- var raw compliancePolicyRenamedRaw
83- if err := json .Unmarshal (e .Data , & raw ); err != nil {
84- return CompliancePolicyRenamedPayload {}, fmt .Errorf ("projector: invalid CompliancePolicyRenamed payload: %w" , err )
70+ raw , err := decodePayload [compliancePolicyRenamedRaw ](e , "compliance_policy" , eventtypes .CompliancePolicyRenamed )
71+ if err != nil {
72+ return CompliancePolicyRenamedPayload {}, err
8573 }
8674 if raw .Name == "" {
8775 return CompliancePolicyRenamedPayload {}, fmt .Errorf ("projector: CompliancePolicyRenamed requires name" )
@@ -148,15 +136,9 @@ type compliancePolicyRuleAddedRaw struct {
148136
149137// CompliancePolicyRuleAddedFromEvent decodes CompliancePolicyRuleAdded.
150138func CompliancePolicyRuleAddedFromEvent (e store.PersistedEvent ) (CompliancePolicyRuleAddedPayload , error ) {
151- if e .StreamType != "compliance_policy" || e .EventType != string (eventtypes .CompliancePolicyRuleAdded ) {
152- return CompliancePolicyRuleAddedPayload {}, ErrIgnoredEvent
153- }
154- if len (e .Data ) == 0 {
155- return CompliancePolicyRuleAddedPayload {}, fmt .Errorf ("projector: empty CompliancePolicyRuleAdded payload" )
156- }
157- var raw compliancePolicyRuleAddedRaw
158- if err := json .Unmarshal (e .Data , & raw ); err != nil {
159- return CompliancePolicyRuleAddedPayload {}, fmt .Errorf ("projector: invalid CompliancePolicyRuleAdded payload: %w" , err )
139+ raw , err := decodePayload [compliancePolicyRuleAddedRaw ](e , "compliance_policy" , eventtypes .CompliancePolicyRuleAdded )
140+ if err != nil {
141+ return CompliancePolicyRuleAddedPayload {}, err
160142 }
161143 if raw .ActionID == "" {
162144 return CompliancePolicyRuleAddedPayload {}, fmt .Errorf ("projector: CompliancePolicyRuleAdded requires action_id" )
@@ -188,15 +170,9 @@ type compliancePolicyRuleRemovedRaw struct {
188170
189171// CompliancePolicyRuleRemovedFromEvent decodes CompliancePolicyRuleRemoved.
190172func CompliancePolicyRuleRemovedFromEvent (e store.PersistedEvent ) (CompliancePolicyRuleRemovedPayload , error ) {
191- if e .StreamType != "compliance_policy" || e .EventType != string (eventtypes .CompliancePolicyRuleRemoved ) {
192- return CompliancePolicyRuleRemovedPayload {}, ErrIgnoredEvent
193- }
194- if len (e .Data ) == 0 {
195- return CompliancePolicyRuleRemovedPayload {}, fmt .Errorf ("projector: empty CompliancePolicyRuleRemoved payload" )
196- }
197- var raw compliancePolicyRuleRemovedRaw
198- if err := json .Unmarshal (e .Data , & raw ); err != nil {
199- return CompliancePolicyRuleRemovedPayload {}, fmt .Errorf ("projector: invalid CompliancePolicyRuleRemoved payload: %w" , err )
173+ raw , err := decodePayload [compliancePolicyRuleRemovedRaw ](e , "compliance_policy" , eventtypes .CompliancePolicyRuleRemoved )
174+ if err != nil {
175+ return CompliancePolicyRuleRemovedPayload {}, err
200176 }
201177 if raw .ActionID == "" {
202178 return CompliancePolicyRuleRemovedPayload {}, fmt .Errorf ("projector: CompliancePolicyRuleRemoved requires action_id" )
@@ -226,15 +202,9 @@ type compliancePolicyRuleUpdatedRaw struct {
226202
227203// CompliancePolicyRuleUpdatedFromEvent decodes CompliancePolicyRuleUpdated.
228204func CompliancePolicyRuleUpdatedFromEvent (e store.PersistedEvent ) (CompliancePolicyRuleUpdatedPayload , error ) {
229- if e .StreamType != "compliance_policy" || e .EventType != string (eventtypes .CompliancePolicyRuleUpdated ) {
230- return CompliancePolicyRuleUpdatedPayload {}, ErrIgnoredEvent
231- }
232- if len (e .Data ) == 0 {
233- return CompliancePolicyRuleUpdatedPayload {}, fmt .Errorf ("projector: empty CompliancePolicyRuleUpdated payload" )
234- }
235- var raw compliancePolicyRuleUpdatedRaw
236- if err := json .Unmarshal (e .Data , & raw ); err != nil {
237- return CompliancePolicyRuleUpdatedPayload {}, fmt .Errorf ("projector: invalid CompliancePolicyRuleUpdated payload: %w" , err )
205+ raw , err := decodePayload [compliancePolicyRuleUpdatedRaw ](e , "compliance_policy" , eventtypes .CompliancePolicyRuleUpdated )
206+ if err != nil {
207+ return CompliancePolicyRuleUpdatedPayload {}, err
238208 }
239209 if raw .ActionID == "" {
240210 return CompliancePolicyRuleUpdatedPayload {}, fmt .Errorf ("projector: CompliancePolicyRuleUpdated requires action_id" )
0 commit comments