Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1from flask_restx import Namespace, fields, Model 

2 

3# Base objects 

4 

5UserBaseObj = Model("User Base", { 

6 "uuid": fields.String, 

7 "email": fields.String, 

8 "username": fields.String, 

9 "preferences_defined": fields.Boolean, 

10}) 

11 

12ProfileBaseObj = Model("Profile Base", { 

13 "uuid": fields.String, 

14 "profilename": fields.String, 

15}) 

16 

17ExternalBaseObj = Model("External service Base", { 

18 "service_id": fields.Integer, 

19 "service_name": fields.String, 

20}) 

21 

22GroupBaseObj = Model("Group base", { 

23 "group_id": fields.Integer, 

24 "name": fields.String, 

25 "owner": fields.Nested(UserBaseObj), 

26}) 

27 

28GenreBaseObj = Model("Genre base", { 

29 "genre_id": fields.Integer, 

30 "name": fields.String, 

31 "count": fields.Integer, 

32}) 

33 

34ApplicationBaseObj = Model("Application base", { 

35 "content_id": fields.Integer, 

36 "name": fields.String, 

37 "categorie": fields.Nested(GenreBaseObj), 

38 "rating": fields.Float, 

39 "rating_count": fields.String, 

40 "size": fields.String, 

41 "installs": fields.String, 

42 "type": fields.String, 

43 "price": fields.String, 

44 "content_rating": fields.String, 

45 "last_updated": fields.String, 

46 "current_version": fields.String, 

47 "android_version": fields.String, 

48}) 

49 

50BookBaseObj = Model("Book base", { 

51 "content_id": fields.Integer, 

52 "isbn": fields.String, 

53 "title": fields.String, 

54 "author": fields.String, 

55 "year_of_publication": fields.Integer, 

56 "publisher": fields.String, 

57 "image_url_s": fields.String, 

58 "image_url_m": fields.String, 

59 "image_url_l": fields.String, 

60 "rating": fields.Float, 

61 "rating_count": fields.Integer, 

62}) 

63 

64GameBaseObj = Model("Game base", { 

65 "content_id": fields.Integer, 

66 "steamid": fields.Integer, 

67 "name": fields.String, 

68 "short_description": fields.String, 

69 "header_image": fields.String, 

70 "website": fields.String, 

71 "developers": fields.String, 

72 "publishers": fields.String, 

73 "price": fields.String, 

74 "recommendations": fields.Integer, 

75 "release_date": fields.String, 

76 "rating": fields.Float, 

77 "rating_count": fields.Integer, 

78}) 

79 

80MovieBaseObj = Model("Movie base", { 

81 "content_id": fields.Integer, 

82 "title": fields.String, 

83 "language": fields.String, 

84 "actors": fields.String, 

85 "year": fields.String, 

86 "producers": fields.String, 

87 "director": fields.String, 

88 "writer": fields.String, 

89 "imdbid": fields.String, 

90 "tmdbid": fields.String, 

91 "rating": fields.Float, 

92 "rating_count": fields.Integer, 

93 "cover": fields.String, 

94}) 

95 

96TrackBaseObj = Model("Track base", { 

97 "content_id": fields.Integer, 

98 "title": fields.String, 

99 "year": fields.Integer, 

100 "artist_name": fields.String, 

101 "release": fields.String, 

102 "track_mmid": fields.String, 

103 "recording_mbid": fields.String, 

104 "rating": fields.Float, 

105 "rating_count": fields.Integer, 

106 "url": fields.String, 

107 "covert_art_url": fields.String, 

108}) 

109 

110SerieBaseObj = Model("Serie base", { 

111 "content_id": fields.Integer, 

112 "imdbid": fields.String, 

113 "title": fields.String, 

114 "start_year": fields.Integer, 

115 "end_year": fields.Integer, 

116 "writers": fields.String, 

117 "directors": fields.String, 

118 "actors": fields.String, 

119 "rating": fields.Float, 

120 "rating_count": fields.Integer, 

121}) 

122 

123EpisodeBaseObj = Model("Episode base", { 

124 "content_id": fields.Integer, 

125 "imdbid": fields.String, 

126 "title": fields.String, 

127 "year": fields.Integer, 

128 "genres": fields.String, 

129 "season_number": fields.Integer, 

130 "episode_number": fields.Integer, 

131 "rating": fields.Float, 

132 "rating_count": fields.Integer, 

133}) 

134 

135MetaUserContentBaseObj = Model("MetaUserContent base", { 

136 "rating": fields.Integer, 

137 "last_rating_date": fields.DateTime, 

138 "review_see_count": fields.Integer, 

139 "last_review_see_date": fields.DateTime, 

140 "count": fields.Integer, 

141 "last_count_increment": fields.DateTime, 

142}) 

143 

144MetaProfileContentBaseObj = Model("MetaProfileContent base", { 

145 "rating": fields.Integer, 

146 "last_rating_date": fields.DateTime, 

147 "review_see_count": fields.Integer, 

148 "last_review_see_date": fields.DateTime, 

149 "count": fields.Integer, 

150 "last_count_increment": fields.DateTime, 

151}) 

152 

153GenreBase2Obj = Model("Genre base 2", { 

154 "name": fields.String, 

155 "content_type": fields.String, 

156}) 

157 

158# Item object 

159 

160MetaProfileApplicationItemObj = Model.clone("Meta Profile Application Item", MetaProfileContentBaseObj, { 

161 "application": fields.Nested(ApplicationBaseObj) 

162}) 

163 

164MetaProfileBookItemObj = Model.clone("Meta Profile Book Item", MetaProfileContentBaseObj, { 

165 "book": fields.Nested(BookBaseObj) 

166}) 

167 

168MetaProfileGameItemObj = Model.clone("Meta Profile Game Item", MetaProfileContentBaseObj, { 

169 "game": fields.Nested(GameBaseObj) 

170}) 

171 

172MetaProfileMovieItemObj = Model.clone("Meta Profile Movie Item", MetaProfileContentBaseObj, { 

173 "movie": fields.Nested(MovieBaseObj) 

174}) 

175 

176MetaProfileSerieItemObj = Model.clone("Meta Profile Serie Item", MetaProfileContentBaseObj, { 

177 "serie": fields.Nested(SerieBaseObj) 

178}) 

179 

180MetaProfileTrackItemObj = Model.clone("Meta Profile Track Item", MetaProfileContentBaseObj, { 

181 "track": fields.Nested(TrackBaseObj) 

182}) 

183 

184UserItemObj = Model.clone("User Item", UserBaseObj, { 

185 "groups": fields.List(fields.Nested(GroupBaseObj)), 

186 "invitations": fields.List(fields.Nested(GroupBaseObj)), 

187 "owned_groups": fields.List(fields.Nested(GroupBaseObj)), 

188 "liked_genres": fields.List(fields.Nested(GenreBaseObj)) 

189}) 

190 

191ProfileItemObj = Model.clone("Profile Item", ProfileBaseObj, { 

192 "liked_genres": fields.List(fields.Nested(GenreBaseObj)) 

193}) 

194 

195UserExportObj = Model.clone("User Export Item", UserItemObj, { 

196 "meta_user_content": fields.List(fields.Nested(MetaUserContentBaseObj)), 

197 "linked_services": fields.List(fields.Nested(ExternalBaseObj)), 

198}) 

199 

200GroupItemObj = Model.clone("Group Item", GroupBaseObj, { 

201 "members": fields.List(fields.Nested(UserBaseObj)), 

202 "invitations": fields.List(fields.Nested(UserBaseObj)) 

203}) 

204 

205SerieItemObj = Model.clone("Serie Item", SerieBaseObj, { 

206 "genres": fields.List(fields.Nested(GenreBaseObj)), 

207}) 

208 

209TrackItemObj = Model.clone("Track Item", TrackBaseObj, { 

210 "genres": fields.List(fields.Nested(GenreBaseObj)), 

211}) 

212 

213MovieItemObj = Model.clone("Movie Item", MovieBaseObj, { 

214 "genres": fields.List(fields.Nested(GenreBaseObj)), 

215}) 

216 

217GameItemObj = Model.clone("Game Item", GameBaseObj, { 

218 "genres": fields.List(fields.Nested(GenreBaseObj)), 

219}) 

220 

221ResultBaseObj = Model("Result base", { 

222 "score": fields.Float, 

223 "engine": fields.String 

224}) 

225 

226ResultApplicationItemObj = Model.clone("Result Application Item", ResultBaseObj, { 

227 "application": fields.Nested(ApplicationBaseObj) 

228}) 

229 

230ResultBookItemObj = Model.clone("Result Book Item", ResultBaseObj, { 

231 "book": fields.Nested(BookBaseObj) 

232}) 

233 

234ResultGameItemObj = Model.clone("Result Game Item", ResultBaseObj, { 

235 "game": fields.Nested(GameBaseObj) 

236}) 

237 

238ResultMovieItemObj = Model.clone("Result Movie Item", ResultBaseObj, { 

239 "movie": fields.Nested(MovieBaseObj) 

240}) 

241 

242ResultSerieItemObj = Model.clone("Result Serie Item", ResultBaseObj, { 

243 "serie": fields.Nested(SerieBaseObj) 

244}) 

245 

246ResultTrackItemObj = Model.clone("Result Track Item", ResultBaseObj, { 

247 "track": fields.Nested(TrackBaseObj) 

248}) 

249 

250# Common Object 

251 

252messageObj = Model("Basic Response", { 

253 "status": fields.Boolean, 

254 "message": fields.String, 

255}) 

256 

257validationErrorObj = Model.clone("Validation error", messageObj, { 

258 "errors": fields.List(fields.String), 

259}) 

260 

261paginationObj = Model("Pagination Object", { 

262 "status": fields.Boolean, 

263 "message": fields.String, 

264 "content": fields.List(fields.Raw), 

265 "number_of_elements": fields.Integer, 

266 "page": fields.Integer, 

267 "total_pages": fields.Integer, 

268}) 

269 

270# Additional Objects 

271 

272ApplicationAdditionalBaseObj = Model("Application additional base", { 

273 "name": fields.String, 

274 "size": fields.String, 

275 "installs": fields.String, 

276 "type": fields.String, 

277 "price": fields.String, 

278 "content_rating": fields.String, 

279 "last_updated": fields.String, 

280 "current_version": fields.String, 

281 "android_version": fields.String, 

282 "cover": fields.String, 

283 "genres": fields.List(fields.Integer), 

284}) 

285 

286BookAdditionalBaseObj = Model("Book additional base", { 

287 "isbn": fields.String, 

288 "title": fields.String, 

289 "author": fields.String, 

290 "year_of_publication": fields.Integer, 

291 "publisher": fields.String, 

292 "image_url_s": fields.String, 

293 "image_url_m": fields.String, 

294 "image_url_l": fields.String 

295}) 

296 

297GameAdditionalBaseObj = Model("Game additional base", { 

298 "steamid": fields.Integer, 

299 "name": fields.String, 

300 "short_description": fields.String, 

301 "header_image": fields.String, 

302 "website": fields.String, 

303 "developers": fields.String, 

304 "publishers": fields.String, 

305 "price": fields.String, 

306 "release_date": fields.String, 

307 "genres": fields.List(fields.Integer), 

308}) 

309 

310MovieAdditionalBaseObj = Model("Movie additional base", { 

311 "title": fields.String, 

312 "language": fields.String, 

313 "actors": fields.String, 

314 "year": fields.String, 

315 "producers": fields.String, 

316 "director": fields.String, 

317 "writer": fields.String, 

318 "imdbid": fields.String, 

319 "tmdbid": fields.String, 

320 "cover": fields.String, 

321 "plot_outline": fields.String, 

322 "genres": fields.List(fields.Integer), 

323}) 

324 

325TrackAdditionalBaseObj = Model("Track additional base", { 

326 "title": fields.String, 

327 "year": fields.Integer, 

328 "artist_name": fields.String, 

329 "release": fields.String, 

330 "track_mmid": fields.String, 

331 "recording_mbid": fields.String, 

332 "spotify_id": fields.Float, 

333 "covert_art_url": fields.String, 

334 "genres": fields.List(fields.Integer), 

335}) 

336 

337EpisodeAdditionalBaseObj = Model("Episode additional base", { 

338 "title": fields.String, 

339 "imdbid": fields.String, 

340 "year": fields.Integer, 

341 "season_number": fields.Integer, 

342 "episode_number": fields.Integer, 

343 "genres": fields.List(fields.Integer), 

344}) 

345 

346SerieAdditionalBaseObj = Model("Serie additional base", { 

347 "title": fields.String, 

348 "imdbid": fields.String, 

349 "start_year": fields.Integer, 

350 "end_year": fields.Integer, 

351 "writers": fields.String, 

352 "directors": fields.String, 

353 "actors": fields.String, 

354 "cover": fields.String, 

355 "episodes": fields.List(fields.Nested(EpisodeAdditionalBaseObj)), 

356 "genres": fields.List(fields.Integer), 

357})