Initial commit
Dieser Commit ist enthalten in:
8
v2_lizenzserver/app/schemas/__init__.py
Normale Datei
8
v2_lizenzserver/app/schemas/__init__.py
Normale Datei
@ -0,0 +1,8 @@
|
||||
from .license import (
|
||||
LicenseActivationRequest,
|
||||
LicenseActivationResponse,
|
||||
LicenseVerificationRequest,
|
||||
LicenseVerificationResponse,
|
||||
VersionCheckRequest,
|
||||
VersionCheckResponse
|
||||
)
|
||||
74
v2_lizenzserver/app/schemas/license.py
Normale Datei
74
v2_lizenzserver/app/schemas/license.py
Normale Datei
@ -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
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren