22
33from typing import Any , Dict , Literal
44
5- from pydantic import BaseModel
5+ from pydantic .dataclasses import dataclass
6+
67
78# pylint: disable=too-many-instance-attributes
89# pylint: disable=invalid-name
910
1011
11- class PlanData (BaseModel ):
12+ @dataclass (frozen = True )
13+ class PlanData :
1214 """
1315 Plan data class
1416
@@ -26,12 +28,14 @@ class PlanData(BaseModel):
2628 duration : Dict [str , Any ] | None
2729
2830
29- class Language (BaseModel ):
31+ @dataclass (frozen = True )
32+ class Language :
3033 name : str
3134 version : str
3235
3336
34- class StatusData (BaseModel ):
37+ @dataclass (frozen = True )
38+ class StatusData :
3539 """
3640 Application status class
3741
@@ -67,7 +71,8 @@ class StatusData(BaseModel):
6771 time : int | None = None
6872
6973
70- class AppData (BaseModel ):
74+ @dataclass (frozen = True )
75+ class AppData :
7176 """
7277 Application data class
7378
@@ -106,7 +111,8 @@ class AppData(BaseModel):
106111 desc : str | None = None
107112
108113
109- class UserData (BaseModel ):
114+ @dataclass (frozen = True )
115+ class UserData :
110116 """
111117 User data class
112118
@@ -128,7 +134,8 @@ class UserData(BaseModel):
128134 email : str | None = None
129135
130136
131- class LogsData (BaseModel ):
137+ @dataclass (frozen = True )
138+ class LogsData :
132139 """Logs data class
133140
134141 :ivar logs: A string containing logs of your application
@@ -182,7 +189,8 @@ async def example():
182189 return isinstance (other , LogsData ) and self .logs == other .logs
183190
184191
185- class BackupData (BaseModel ):
192+ @dataclass (frozen = True )
193+ class BackupData :
186194 """
187195 Backup data class
188196
@@ -194,7 +202,8 @@ class BackupData(BaseModel):
194202 downloadURL : str
195203
196204
197- class UploadData (BaseModel ):
205+ @dataclass (frozen = True )
206+ class UploadData :
198207 """
199208 Upload data class
200209
@@ -224,7 +233,8 @@ class UploadData(BaseModel):
224233 description : str | None = None
225234
226235
227- class FileInfo (BaseModel ):
236+ @dataclass (frozen = True )
237+ class FileInfo :
228238 """
229239 File information
230240
@@ -248,7 +258,8 @@ class FileInfo(BaseModel):
248258 path : str
249259
250260
251- class StatisticsData (BaseModel ):
261+ @dataclass (frozen = True )
262+ class StatisticsData :
252263 """
253264 Host statistics
254265
0 commit comments