Skip to content

consider using (data) models more widely #19

Open
@simonkowallik

Description

@simonkowallik

Currently pydantic models are only used in the API.
Also the models implementation could be better, for example inheritance isn't used.

Relevant code:

as3ninja/as3ninja/api.py

Lines 21 to 55 in 05dd58a

class AS3ValidationResult(BaseModel):
"""AS3 declaration Schema validation result"""
valid: bool
error: Optional[str]
class LatestVersion(BaseModel):
"""AS3 /schema/latest_version response"""
latest_version: str
class Error(BaseModel):
"""Generic Error Model"""
code: int
message: str
class AS3DeclareGit(BaseModel):
"""Model for an AS3 Declaration from a Git repository"""
repository: str
branch: Optional[str]
commit: Optional[str]
depth: int = 1
template_configuration: Optional[Union[str, List[str]]]
class AS3Declare(BaseModel):
"""Model for an inline AS3 Declaration"""
template_configuration: Union[dict, List[dict]]
declaration_template: str

An example of relevant code to introduce inheritance:

as3ninja/as3ninja/api.py

Lines 41 to 55 in 05dd58a

class AS3DeclareGit(BaseModel):
"""Model for an AS3 Declaration from a Git repository"""
repository: str
branch: Optional[str]
commit: Optional[str]
depth: int = 1
template_configuration: Optional[Union[str, List[str]]]
class AS3Declare(BaseModel):
"""Model for an inline AS3 Declaration"""
template_configuration: Union[dict, List[dict]]
declaration_template: str

Metadata

Metadata

Assignees

No one assigned

    Labels

    code designpython code design / refactoringenhancementEnhancement of an existing implementation or feature

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions