File size: 1,029 Bytes
d60934b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
46
47
48
49
50
51
from pydantic import BaseModel, Field
from typing import List

class PassengerProfile(BaseModel):
    name: str
    age: int
    profession: str
    personality: str
    role: str
    mystery_intrigue: str

class PlayerName(BaseModel):
    playerId: str
    firstName: str
    lastName: str
    sex: str
    fullName: str

class PlayerDetails(BaseModel):
    playerId: str
    profile: PassengerProfile

class Person(BaseModel):
    uid: str
    position: List[float] = Field(..., min_items=2, max_items=2)
    rotation: float
    model_type: str
    items: List[str] = []

class Wagon(BaseModel):
    id: int
    theme: str
    passcode: str
    people: List[Person]

class WagonNames(BaseModel):
    wagonId: str
    players: List[PlayerName]

class WagonPlayerDetails(BaseModel):
    wagonId: str
    players: List[PlayerDetails]


class WagonsResponse(BaseModel):
    wagons: List[Wagon]

class GenerateTrainResponse(BaseModel):
    names: List[WagonNames]
    player_details: List[WagonPlayerDetails]
    wagons: List[Wagon]