Dieser Commit ist enthalten in:
Claude Project Manager
2025-07-05 17:51:16 +02:00
Commit 0d7d888502
1594 geänderte Dateien mit 122839 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -0,0 +1,74 @@
from pydantic import BaseModel, EmailStr
from datetime import datetime
from typing import Optional, Dict, Any
class LicenseActivationRequest(BaseModel):
license_key: str
machine_id: str
hardware_hash: str
os_info: Optional[Dict[str, Any]] = None
app_version: Optional[str] = None
class LicenseActivationResponse(BaseModel):
success: bool
message: str
activation_id: Optional[int] = None
expires_at: Optional[datetime] = None
features: Optional[Dict[str, Any]] = None
class LicenseVerificationRequest(BaseModel):
license_key: str
machine_id: str
hardware_hash: str
activation_id: int
class LicenseVerificationResponse(BaseModel):
valid: bool
message: str
expires_at: Optional[datetime] = None
features: Optional[Dict[str, Any]] = None
requires_update: bool = False
update_url: Optional[str] = None
class VersionCheckRequest(BaseModel):
current_version: str
license_key: str
class VersionCheckResponse(BaseModel):
latest_version: str
current_version: str
update_available: bool
is_mandatory: bool
download_url: Optional[str] = None
release_notes: Optional[str] = None
class SessionStartRequest(BaseModel):
license_key: str
machine_id: str
hardware_id: str
hardware_hash: str
version: str
ip_address: Optional[str] = None
class SessionStartResponse(BaseModel):
success: bool
message: str
session_token: Optional[str] = None
requires_update: bool = False
update_url: Optional[str] = None
whats_new: Optional[str] = None
class SessionHeartbeatRequest(BaseModel):
session_token: str
license_key: str
class SessionHeartbeatResponse(BaseModel):
success: bool
message: str
class SessionEndRequest(BaseModel):
session_token: str
class SessionEndResponse(BaseModel):
success: bool
message: str