30 lines
574 B
Python
30 lines
574 B
Python
|
|
from pydantic import BaseModel
|
||
|
|
|
||
|
|
|
||
|
|
class DoICriterion(BaseModel):
|
||
|
|
id: str
|
||
|
|
label: str
|
||
|
|
tier: str
|
||
|
|
status: str # pass | fail | warn | skip
|
||
|
|
detail: str = ""
|
||
|
|
|
||
|
|
|
||
|
|
class DoIReport(BaseModel):
|
||
|
|
repo_slug: str
|
||
|
|
tier: str # none | core | standard | full
|
||
|
|
core_pass: bool
|
||
|
|
standard_pass: bool
|
||
|
|
full_pass: bool
|
||
|
|
criteria: list[DoICriterion] = []
|
||
|
|
checked_at: str
|
||
|
|
|
||
|
|
|
||
|
|
class DoISummaryEntry(BaseModel):
|
||
|
|
repo_slug: str
|
||
|
|
domain_slug: str | None
|
||
|
|
tier: str
|
||
|
|
core_pass: bool
|
||
|
|
standard_pass: bool
|
||
|
|
full_pass: bool
|
||
|
|
checked_at: str
|