@@ -24,16 +24,24 @@ func NewCorrelationRuleUsecase(store *RuleStore) connectors.CorrelationRuleUseca
2424 return & correlationRuleUsecase {store : store }
2525}
2626
27+
28+
2729func (u * correlationRuleUsecase ) Create (_ context.Context , req dto.CreateCorrelationRuleRequest ) error {
2830 if len (req .DataTypes ) == 0 {
2931 return domain .ErrDataTypesRequired
3032 }
31- if err := validateRuleContent (req .RuleDefinitionDef , req .AfterEventsDef ); err != nil {
33+
34+ correlate ,err := req .GetCorrelationDef ()
35+ if err != nil {
36+ return err
37+ }
38+
39+ if err := validateRuleContent (req .RuleDefinitionDef ,correlate ); err != nil {
3240 return err
3341 }
3442 rule := buildRule (req .RuleName , req .RuleAdversary , req .RuleConfidentiality , req .RuleIntegrity ,
3543 req .RuleAvailability , req .RuleCategory , req .RuleTechnique , req .RuleDescription ,
36- req .RuleReferencesDef , req .RuleDefinitionDef , req . AfterEventsDef , req .RuleGroupByDef ,
44+ req .RuleReferencesDef , req .RuleDefinitionDef , correlate , req .RuleGroupByDef ,
3745 req .DeduplicateByDef , req .DataTypes )
3846
3947 created , err := u .store .Create (rule )
@@ -105,10 +113,10 @@ func validateImportedRule(r Rule) error {
105113 if strings .TrimSpace (r .Where ) == "" {
106114 return domain .ErrCorrelationRuleNullDefinition
107115 }
108- if r .AfterEvents == nil {
116+ if r .Correlation == nil {
109117 return nil
110118 }
111- raw , err := json .Marshal (r .AfterEvents )
119+ raw , err := json .Marshal (r .Correlation )
112120 if err != nil {
113121 return fmt .Errorf ("%w: afterEvents is not serializable" , domain .ErrCorrelationRuleInvalidContent )
114122 }
@@ -131,12 +139,18 @@ func (u *correlationRuleUsecase) Update(_ context.Context, req dto.UpdateCorrela
131139 if len (req .DataTypes ) == 0 {
132140 return domain .ErrDataTypesRequired
133141 }
134- if err := validateRuleContent (req .RuleDefinitionDef , req .AfterEventsDef ); err != nil {
142+
143+ correlate ,err := req .GetCorrelationDef ()
144+ if err != nil {
145+ return err
146+ }
147+
148+ if err := validateRuleContent (req .RuleDefinitionDef , correlate ); err != nil {
135149 return err
136150 }
137151 rule := buildRule (req .RuleName , req .RuleAdversary , req .RuleConfidentiality , req .RuleIntegrity ,
138152 req .RuleAvailability , req .RuleCategory , req .RuleTechnique , req .RuleDescription ,
139- req .RuleReferencesDef , req .RuleDefinitionDef , req . AfterEventsDef , req .RuleGroupByDef ,
153+ req .RuleReferencesDef , req .RuleDefinitionDef , correlate , req .RuleGroupByDef ,
140154 req .DeduplicateByDef , req .DataTypes )
141155
142156 if _ , err := u .store .Update (req .RelPath , rule ); err != nil {
@@ -210,7 +224,7 @@ func buildRule(name, adversary string, conf, integ, avail int, category, techniq
210224 Impact : Impact {Confidentiality : conf , Integrity : integ , Availability : avail },
211225 Where : rawToWhere (def ),
212226 References : rawToAnySlice (refs ),
213- AfterEvents : rawToAny (after ),
227+ Correlation : rawToAny (after ),
214228 GroupBy : rawToStrSlice (groupBy ),
215229 DeduplicateBy : rawToStrSlice (dedup ),
216230 }
@@ -237,7 +251,7 @@ func storedToResponse(sr *StoredRule) *dto.CorrelationRuleResponse {
237251 RuleDescription : sr .Description ,
238252 RuleReferencesDef : anyToRaw (sr .References ),
239253 RuleDefinitionDef : anyToRaw (sr .Where ),
240- AfterEventsDef : anyToRaw (sr .AfterEvents ),
254+ CorrelationDef : anyToRaw (sr .Correlation ),
241255 RuleGroupByDef : anyToRaw (sr .GroupBy ),
242256 DeduplicateByDef : anyToRaw (sr .DeduplicateBy ),
243257 RuleLastUpdate : & mod ,
0 commit comments