first commit
This commit is contained in:
21
reporting/exporters/json.py
Normal file
21
reporting/exporters/json.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import json
|
||||
|
||||
from core.base import BaseRenderer
|
||||
from core.plugin_types import EmptyPluginConfig
|
||||
from reporting.models import AuditReport, RenderedReport
|
||||
|
||||
|
||||
class JsonRenderer(BaseRenderer):
|
||||
content_type = "json"
|
||||
media_type = "application/json"
|
||||
file_extension = ".json"
|
||||
aliases = ("application/json",)
|
||||
config_model = EmptyPluginConfig
|
||||
|
||||
def render(self, report: AuditReport, config: EmptyPluginConfig) -> RenderedReport:
|
||||
return RenderedReport(
|
||||
format_name=self.content_type,
|
||||
media_type=self.media_type,
|
||||
file_extension=self.file_extension,
|
||||
content=json.dumps(report.model_dump(mode="json"), ensure_ascii=True, indent=2),
|
||||
)
|
||||
Reference in New Issue
Block a user