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

1# Application Schemas 

2from marshmallow import fields 

3from src import ma 

4from src.model import ApplicationModel, ApplicationAdditionalModel 

5from src.utils import SQLAlchemyAutoSchema 

6 

7 

8class ApplicationMeta: 

9 model = ApplicationModel 

10 include_fk = True 

11 

12 

13class ApplicationBase(SQLAlchemyAutoSchema): 

14 rating = fields.Function(lambda obj: obj.content.rating) 

15 rating_count = fields.Function(lambda obj: obj.content.rating_count) 

16 popularity_score = fields.Function( 

17 lambda obj: obj.content.popularity_score) 

18 

19 categorie = ma.Nested("GenreBase") 

20 

21 app_id = ma.Function(lambda obj: obj.app_id) 

22 

23 class Meta(ApplicationMeta): 

24 pass 

25 

26 

27class ApplicationExtra(ApplicationBase): 

28 # Extra fields from join with 'recommended_application' 

29 reco_engine = fields.String(attribute="engine", default=None) 

30 reco_score = fields.Float(attribute="score", default=None) 

31 

32# ---- 

33 

34class ApplicationAdditionalMeta: 

35 model = ApplicationAdditionalModel 

36 include_fk = True 

37 

38class ApplicationAdditionalBase(SQLAlchemyAutoSchema): 

39 class Meta(ApplicationAdditionalMeta): 

40 pass