Spaces:
Sleeping
Sleeping
File size: 1,207 Bytes
ce673e5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | from pydantic import BaseModel, Field, ConfigDict
from typing import Optional
from datetime import datetime, timezone
from enum import Enum
import uuid
class Classification(str, Enum):
CRITICAL_BUG = "CRITICAL_BUG"
BUG = "BUG"
FEATURE_REQUEST = "FEATURE_REQUEST"
QUESTION = "QUESTION"
DOCS = "DOCS"
DUPLICATE = "DUPLICATE"
NEEDS_INFO = "NEEDS_INFO"
SPAM = "SPAM"
class Sentiment(str, Enum):
POSITIVE = "POSITIVE"
NEUTRAL = "NEUTRAL"
NEGATIVE = "NEGATIVE"
FRUSTRATED = "FRUSTRATED"
class IssueTriageData(BaseModel):
model_config = ConfigDict(extra="ignore")
id: str = Field(default_factory=lambda: str(uuid.uuid4()))
issueId: str
classification: Classification
summary: str
suggestedLabel: str
sentiment: Sentiment
analyzedAt: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
class Template(BaseModel):
model_config = ConfigDict(extra="ignore")
id: str = Field(default_factory=lambda: str(uuid.uuid4()))
name: str
body: str
ownerId: str
triggerClassification: Optional[Classification] = None
createdAt: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
|