Spaces:
Sleeping
Sleeping
File size: 1,066 Bytes
e4c3be8 | 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 | from pydantic import BaseModel, Field, EmailStr
from typing import Optional
from datetime import datetime
class LoginRequest(BaseModel):
"""Request model for user login"""
jira_email: EmailStr = Field(..., description="Jira account email")
jira_api_token: str = Field(..., description="Jira API token")
jira_server_url: str = Field(..., description="Jira server URL (e.g., https://yourcompany.atlassian.net)")
class LoginResponse(BaseModel):
"""Response model after successful login"""
access_token: str = Field(..., description="JWT access token")
token_type: str = Field(default="bearer", description="Token type")
expires_in: int = Field(..., description="Token expiration time in seconds")
class UserCredentials(BaseModel):
"""User credentials stored in JWT token"""
jira_email: str
jira_server_url: str
jira_api_token: str
exp: Optional[datetime] = None
class TokenData(BaseModel):
"""Data extracted from JWT token"""
jira_email: Optional[str] = None
jira_server_url: Optional[str] = None
|