1
1
from models import *
2
- from extensions import ma , db
2
+ from extensions import db
3
3
from marshmallow import fields , validate
4
+ from marshmallow_sqlalchemy import ModelSchema
4
5
5
6
# DateTypeSchema
6
- class DateTypeSchema (ma . ModelSchema ):
7
+ class DateTypeSchema (ModelSchema ):
7
8
class Meta :
8
9
model = DateType
9
10
sqla_session = db .session
@@ -13,7 +14,7 @@ class Meta:
13
14
date_types_schema = DateTypeSchema (many = True )
14
15
15
16
# DeveloperSchema
16
- class DeveloperSchema (ma . ModelSchema ):
17
+ class DeveloperSchema (ModelSchema ):
17
18
class Meta :
18
19
model = Developer
19
20
sqla_session = db .session
@@ -23,7 +24,7 @@ class Meta:
23
24
developers_schema = DeveloperSchema (many = True )
24
25
25
26
# GenreSchema
26
- class GenreSchema (ma . ModelSchema ):
27
+ class GenreSchema (ModelSchema ):
27
28
class Meta :
28
29
model = Genre
29
30
sqla_session = db .session
@@ -33,7 +34,7 @@ class Meta:
33
34
genres_schema = GenreSchema (many = True )
34
35
35
36
# PlatformSchema
36
- class PlatformSchema (ma . ModelSchema ):
37
+ class PlatformSchema (ModelSchema ):
37
38
class Meta :
38
39
model = Platform
39
40
sqla_session = db .session
@@ -43,7 +44,7 @@ class Meta:
43
44
platforms_schema = PlatformSchema (many = True )
44
45
45
46
# PublisherSchema
46
- class PublisherSchema (ma . ModelSchema ):
47
+ class PublisherSchema (ModelSchema ):
47
48
class Meta :
48
49
model = Publisher
49
50
sqla_session = db .session
@@ -53,7 +54,7 @@ class Meta:
53
54
publishers_schema = PublisherSchema (many = True )
54
55
55
56
# RegionSchema
56
- class RegionSchema (ma . ModelSchema ):
57
+ class RegionSchema (ModelSchema ):
57
58
class Meta :
58
59
model = Region
59
60
sqla_session = db .session
@@ -63,7 +64,7 @@ class Meta:
63
64
regions_schema = RegionSchema (many = True )
64
65
65
66
# RoleSchema
66
- class RoleSchema (ma . ModelSchema ):
67
+ class RoleSchema (ModelSchema ):
67
68
class Meta :
68
69
model = Role
69
70
sqla_session = db .session
@@ -73,7 +74,7 @@ class Meta:
73
74
roles_schema = RoleSchema (many = True )
74
75
75
76
# PlayStatusSchema
76
- class PlayStatusSchema (ma . ModelSchema ):
77
+ class PlayStatusSchema (ModelSchema ):
77
78
class Meta :
78
79
model = PlayStatus
79
80
sqla_session = db .session
@@ -83,7 +84,7 @@ class Meta:
83
84
play_statuses_schema = PlayStatusSchema (many = True )
84
85
85
86
# UserSchema
86
- class UserSchema (ma . ModelSchema ):
87
+ class UserSchema (ModelSchema ):
87
88
email = fields .Email (required = True , load_only = True )
88
89
username = fields .String (required = True , validate = [validate .Length (min = 4 , max = 250 )])
89
90
password = fields .String (required = True , validate = [validate .Length (min = 8 , max = 250 )], load_only = True )
@@ -100,7 +101,7 @@ class Meta:
100
101
nested_user_schema = UserSchema (only = ("id" , "username" , "avatar" , "rolenames" ))
101
102
102
103
# LikeableSchema
103
- class LikeableSchema (ma . ModelSchema ):
104
+ class LikeableSchema (ModelSchema ):
104
105
user = fields .Nested (nested_user_schema )
105
106
106
107
class Meta :
@@ -111,7 +112,7 @@ class Meta:
111
112
likeables_schema = LikeableSchema (many = True )
112
113
113
114
# ReleaseSchema
114
- class ReleaseSchema (ma . ModelSchema ):
115
+ class ReleaseSchema (ModelSchema ):
115
116
platform = fields .Nested (platform_schema )
116
117
publisher = fields .Nested (publisher_schema )
117
118
codeveloper = fields .Nested (developer_schema , allow_none = True )
@@ -127,7 +128,7 @@ class Meta:
127
128
releases_schema = ReleaseSchema (many = True , session = db .session )
128
129
129
130
# GameSchema
130
- class GameSchema (ma . ModelSchema ):
131
+ class GameSchema (ModelSchema ):
131
132
developer = fields .Nested (developer_schema )
132
133
genres = fields .Nested (genres_schema )
133
134
releases = fields .Nested (releases_schema )
@@ -143,7 +144,7 @@ class Meta:
143
144
nested_game_schema = GameSchema (only = ("id" , "title" , "slug" , "synopsis" , "icon" , "banner" , "developer" ))
144
145
145
146
# LibraryEntrySchema
146
- class LibraryEntrySchema (ma . ModelSchema ):
147
+ class LibraryEntrySchema (ModelSchema ):
147
148
game = fields .Nested (nested_game_schema )
148
149
release = fields .Nested (release_schema )
149
150
user = fields .Nested (user_schema )
@@ -162,7 +163,7 @@ class Meta:
162
163
library_entry_patch_schema = LibraryEntrySchema (only = ("id" , "digital" , "play_status" , "score" , "own" , "notes" , "hours" ))
163
164
164
165
# ReviewSchema
165
- class ReviewSchema (ma . ModelSchema ):
166
+ class ReviewSchema (ModelSchema ):
166
167
summary = fields .String (required = True , validate = [validate .Length (min = 60 , max = 255 )])
167
168
content = fields .String (required = True , validate = [validate .Length (min = 500 )])
168
169
score = fields .Int (required = True , validate = validate .Range (min = 1 , max = 100 ))
@@ -183,7 +184,7 @@ class Meta:
183
184
review_patch_schema = ReviewSchema (only = ("id" , "summary" , "content" ))
184
185
185
186
# RecommendationSchema
186
- class RecommendationSchema (ma . ModelSchema ):
187
+ class RecommendationSchema (ModelSchema ):
187
188
content = fields .String (required = True , validate = [validate .Length (min = 200 )])
188
189
user = fields .Nested (user_schema )
189
190
game = fields .Nested (nested_game_schema )
@@ -201,7 +202,7 @@ class Meta:
201
202
recommendation_patch_schema = RecommendationSchema (only = ("id" , "content" ))
202
203
203
204
# FavouriteSchema
204
- class FavouriteSchema (ma . ModelSchema ):
205
+ class FavouriteSchema (ModelSchema ):
205
206
user = fields .Nested (user_schema )
206
207
game = fields .Nested (nested_game_schema )
207
208
release = fields .Nested (release_schema )
@@ -216,7 +217,7 @@ class Meta:
216
217
favourite_patch_schema = FavouriteSchema (only = ("release" ,))
217
218
218
219
# TagSchema
219
- class TagSchema (ma . ModelSchema ):
220
+ class TagSchema (ModelSchema ):
220
221
parent = fields .Nested (lambda : TagSchema (exclude = ("parent" ,)), allow_none = True )
221
222
222
223
class Meta :
@@ -230,7 +231,7 @@ class Meta:
230
231
231
232
232
233
# PostSchema
233
- class PostSchema (ma . ModelSchema ):
234
+ class PostSchema (ModelSchema ):
234
235
user = fields .Nested (nested_user_schema )
235
236
discussion_id = fields .Integer ()
236
237
parent_post_id = fields .Integer ()
@@ -245,7 +246,7 @@ class Meta:
245
246
post_patch_schema = PostSchema (only = ("body" ,))
246
247
247
248
# DiscussionSchema
248
- class DiscussionSchema (ma . ModelSchema ):
249
+ class DiscussionSchema (ModelSchema ):
249
250
user = fields .Nested (nested_user_schema )
250
251
games = fields .Nested (GameSchema (only = ("id" , "title" ), many = True ), allow_none = True )
251
252
tags = fields .Nested (tags_schema )
0 commit comments