sandbox/drawings/appsec_achitecture/report_parser/report_parser.puml

53 lines
No EOL
1.2 KiB
Text

@startuml repoerparser
!include ../domain/aggregates/problem_meta_report_details.puml
package ReportParser {
interface Parser {
+ ReadReport(reader io.Reader) ([]ProblemMetaReportAggregate, error)
}
class CodeScoringParser
class KasperskyParser
class StingrayParser
class ZapParser
class PTParser
class SolarParser
Parser <|.. CodeScoringParser
Parser <|.. KasperskyParser
Parser <|.. StingrayParser
Parser <|.. ZapParser
Parser <|.. PTParser
Parser <|.. SolarParser
Parser o-- ProblemMetaReportAggregate
}
package Sender {
interface ProblemSender {
+ SendProblem(problem ProblemMetaReportAggregate) error
+ SendProblems(problems []ProblemMetaReportAggregate) error
}
class KafkaSender {
+ Address string
}
ProblemSender <|.. KafkaSender
ProblemSender o-- ProblemMetaReportAggregate
}
class ReportParserService{
+ SetParser(parser Praser)
+ SetSender(sender ProblemSender)
+ MetricsHandler(ResponseWriter, *Request)
+ HealthCheckHandler(ResponseWriter, *Request)
}
ReportParserService o-- Parser
ReportParserService o-- ProblemSender
@enduml