@@ -48,24 +48,28 @@ def __init__(self, jsonapi: RoutersJSONAPI, **options):
4848 super ().__init__ (jsonapi = jsonapi , ** options )
4949 self .check_session_dependency ()
5050
51- async def get (
52- obj_id ,
53- query_params : QueryStringManager = Depends (QueryStringManager ),
54- session : AsyncSession = self .session_dependency ,
55- ) -> JSONAPIResultDetailSchema :
56- dl = SqlalchemyEngine (
57- schema = self .jsonapi .schema_detail ,
58- model = self .jsonapi .model ,
59- session = session ,
60- )
61- view_kwargs = {"id" : obj_id }
62- return await self .get_detailed_result (
63- dl = dl ,
64- view_kwargs = view_kwargs ,
65- query_params = query_params ,
66- )
67-
68- self .get = get
51+ try :
52+ getattr (self , "get" )
53+ except AttributeError :
54+
55+ async def get (
56+ obj_id ,
57+ query_params : QueryStringManager = Depends (QueryStringManager ),
58+ session : AsyncSession = self .session_dependency ,
59+ ) -> JSONAPIResultDetailSchema :
60+ dl = SqlalchemyEngine (
61+ schema = self .jsonapi .schema_detail ,
62+ model = self .jsonapi .model ,
63+ session = session ,
64+ )
65+ view_kwargs = {"id" : obj_id }
66+ return await self .get_detailed_result (
67+ dl = dl ,
68+ view_kwargs = view_kwargs ,
69+ query_params = query_params ,
70+ )
71+
72+ self .get = get
6973
7074
7175class ListViewBaseGeneric (
@@ -78,18 +82,22 @@ def __init__(self, jsonapi: RoutersJSONAPI, **options):
7882 super ().__init__ (jsonapi = jsonapi , ** options )
7983 self .check_session_dependency ()
8084
81- async def get (
82- query_params : QueryStringManager = Depends (QueryStringManager ),
83- session : AsyncSession = self .session_dependency ,
84- ) -> JSONAPIResultListSchema :
85- dl = SqlalchemyEngine (
86- schema = self .jsonapi .schema_list ,
87- model = self .jsonapi .model ,
88- session = session ,
89- )
90- return await self .get_paginated_result (
91- dl = dl ,
92- query_params = query_params ,
93- )
94-
95- self .get = get
85+ try :
86+ getattr (self , "get" )
87+ except AttributeError :
88+
89+ async def get (
90+ query_params : QueryStringManager = Depends (QueryStringManager ),
91+ session : AsyncSession = self .session_dependency ,
92+ ) -> JSONAPIResultListSchema :
93+ dl = SqlalchemyEngine (
94+ schema = self .jsonapi .schema_list ,
95+ model = self .jsonapi .model ,
96+ session = session ,
97+ )
98+ return await self .get_paginated_result (
99+ dl = dl ,
100+ query_params = query_params ,
101+ )
102+
103+ self .get = get
0 commit comments