Merge RspamdSymbol into SpamTestDetail in OpenAPI spec
Add params field to SpamTestDetail, update RspamdResult.symbols to reference SpamTestDetail instead of the now-removed RspamdSymbol schema, and update Go code accordingly.
This commit is contained in:
parent
3c192f17fd
commit
5c104f3c99
3 changed files with 8 additions and 23 deletions
|
|
@ -926,6 +926,10 @@ components:
|
|||
format: float
|
||||
description: Score contribution of this test
|
||||
example: -1.9
|
||||
params:
|
||||
type: string
|
||||
description: Symbol parameters or options
|
||||
example: "0.02"
|
||||
description:
|
||||
type: string
|
||||
description: Human-readable description of what this test checks
|
||||
|
|
@ -975,7 +979,7 @@ components:
|
|||
symbols:
|
||||
type: object
|
||||
additionalProperties:
|
||||
$ref: '#/components/schemas/RspamdSymbol'
|
||||
$ref: '#/components/schemas/SpamTestDetail'
|
||||
description: Map of triggered rspamd symbols to their details
|
||||
example:
|
||||
BAYES_HAM:
|
||||
|
|
@ -986,25 +990,6 @@ components:
|
|||
type: string
|
||||
description: Full rspamd report (raw X-Spamd-Result header)
|
||||
|
||||
RspamdSymbol:
|
||||
type: object
|
||||
required:
|
||||
- name
|
||||
- score
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: Symbol name
|
||||
example: "BAYES_HAM"
|
||||
score:
|
||||
type: number
|
||||
format: float
|
||||
description: Score contribution of this symbol
|
||||
example: -1.9
|
||||
params:
|
||||
type: string
|
||||
description: Symbol parameters or options
|
||||
example: "0.02"
|
||||
|
||||
DNSResults:
|
||||
type: object
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ func (a *RspamdAnalyzer) AnalyzeRspamd(email *EmailMessage) *api.RspamdResult {
|
|||
}
|
||||
|
||||
result := &api.RspamdResult{
|
||||
Symbols: make(map[string]api.RspamdSymbol),
|
||||
Symbols: make(map[string]api.SpamTestDetail),
|
||||
}
|
||||
|
||||
// Parse X-Spamd-Result header (primary source for score, threshold, and symbols)
|
||||
|
|
@ -129,7 +129,7 @@ func (a *RspamdAnalyzer) parseSpamdResult(header string, result *api.RspamdResul
|
|||
if len(matches) > 2 {
|
||||
name := matches[1]
|
||||
score, _ := strconv.ParseFloat(matches[2], 64)
|
||||
sym := api.RspamdSymbol{
|
||||
sym := api.SpamTestDetail{
|
||||
Name: name,
|
||||
Score: float32(score),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ func TestParseSpamdResult(t *testing.T) {
|
|||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
result := &api.RspamdResult{
|
||||
Symbols: make(map[string]api.RspamdSymbol),
|
||||
Symbols: make(map[string]api.SpamTestDetail),
|
||||
}
|
||||
analyzer.parseSpamdResult(tt.header, result)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue