Github-AI-Reviewer / app /schemas.py
SENODROOM
fixed
1ca4563
Raw
History Blame Contribute Delete
935 Bytes
from __future__ import annotations
from typing import Any
from pydantic import BaseModel, Field
class AnalyzeRequest(BaseModel):
username: str = Field(min_length=1, max_length=39, pattern=r"^[A-Za-z0-9-]+$")
class GraphQLSignals(BaseModel):
total_commits: int
merged_prs: int
total_contributions: int
class StreakData(BaseModel):
current_streak: int
longest_streak: int
class PublicActivity(BaseModel):
public_commits: int
public_prs_created: int
class AnalyzeResponse(BaseModel):
username: str
rating_score: int = Field(ge=0, le=100)
developer_level: str
confidence: float
strongest_language: str
language_breakdown: dict[str, int]
hiring_readiness_score: int = Field(ge=0, le=100)
consistency_score: int = Field(ge=0, le=100)
public_activity: PublicActivity
graphql_signals: GraphQLSignals
streak_data: StreakData
model_info: dict[str, Any]