File tree Expand file tree Collapse file tree 2 files changed +17
-12
lines changed
Expand file tree Collapse file tree 2 files changed +17
-12
lines changed Original file line number Diff line number Diff line change @@ -38,11 +38,22 @@ async def modify_platform(
3838 return await pl_crud .modify_platform (db , platform )
3939
4040
41- @public_router .get ('/' , response_model = typing .List [platform_schema .Platform ])
41+ @public_router .get (
42+ '/' , response_model = typing .List [platform_schema .PlatformResponse ]
43+ )
4244async def get_platforms (
4345 db : AsyncSession = Depends (AsyncSessionDependency (key = get_async_db_key ())),
4446):
45- return await pl_crud .get_platforms (db )
47+ platforms = await pl_crud .get_platforms (db )
48+ return [
49+ {
50+ ** platform_schema .PlatformResponse .from_orm (platform ).dict (
51+ exclude = {"data" }
52+ ),
53+ "data" : {"versions" : (platform .data or {}).get ("versions" , [])},
54+ }
55+ for platform in platforms
56+ ]
4657
4758
4859@router .patch (
Original file line number Diff line number Diff line change @@ -54,16 +54,10 @@ class Platform(BaseModel):
5454 pgp_key : typing .Optional [str ] = None
5555 arch_list : typing .List [str ]
5656 modularity : typing .Optional [typing .Dict ] = None
57- # We're only going to take versions from 'data' column
58- data : typing .Optional [typing .Dict [str , typing .Any ]] = None
59-
60- @root_validator (pre = True )
61- def filter_data_to_versions_only (cls , values ):
62- if hasattr (values , 'data' ):
63- raw_data = values .data
64- versions = raw_data .get ("versions" )
65- values .data = {"versions" : versions } if versions else {}
66- return values
6757
6858 class Config :
6959 from_attributes = True
60+
61+
62+ class PlatformResponse (Platform ):
63+ data : typing .Optional [typing .Dict [str , typing .Any ]] = None
You can’t perform that action at this time.
0 commit comments