@@ -70,9 +70,11 @@ async def get_composition_endpoint(
7070 items = await get_composition_items (db , comp )
7171 return CompositionDetail (
7272 ** _to_summary (comp , len (items )).model_dump (),
73- id = comp .id , tenant_id = comp .tenant_id ,
73+ id = comp .id ,
74+ tenant_id = comp .tenant_id ,
7475 contracts = [CompositionItemDetail (** i ) for i in items ],
75- tools_config = comp .tools_config , observability = comp .observability ,
76+ tools_config = comp .tools_config ,
77+ observability = comp .observability ,
7678 )
7779
7880
@@ -86,59 +88,91 @@ async def create_composition_endpoint(
8688 """Create a new bundle composition."""
8789 try :
8890 comp = await create_composition (
89- db , auth .tenant_id , body .name , auth .email or auth .user_id or "unknown" ,
90- description = body .description , defaults_mode = body .defaults_mode ,
91- update_strategy = body .update_strategy , contracts = body .contracts ,
92- tools_config = body .tools_config , observability = body .observability ,
91+ db ,
92+ auth .tenant_id ,
93+ body .name ,
94+ auth .email or auth .user_id or "unknown" ,
95+ description = body .description ,
96+ defaults_mode = body .defaults_mode ,
97+ update_strategy = body .update_strategy ,
98+ contracts = body .contracts ,
99+ tools_config = body .tools_config ,
100+ observability = body .observability ,
93101 )
94102 await db .commit ()
95103 except ValueError as exc :
96104 status = 409 if "already exists" in str (exc ) else 422
97105 raise HTTPException (status_code = status , detail = str (exc )) from exc
98- push .push_to_dashboard (auth .tenant_id , {
99- "type" : "composition_changed" , "composition_name" : comp .name ,
100- })
106+ push .push_to_dashboard (
107+ auth .tenant_id ,
108+ {
109+ "type" : "composition_changed" ,
110+ "composition_name" : comp .name ,
111+ },
112+ )
101113 items = await get_composition_items (db , comp )
102114 return CompositionDetail (
103- name = comp .name , description = comp .description ,
104- defaults_mode = comp .defaults_mode , update_strategy = comp .update_strategy ,
105- contract_count = len (items ), updated_at = comp .updated_at ,
106- created_by = comp .created_by , id = comp .id , tenant_id = comp .tenant_id ,
115+ name = comp .name ,
116+ description = comp .description ,
117+ defaults_mode = comp .defaults_mode ,
118+ update_strategy = comp .update_strategy ,
119+ contract_count = len (items ),
120+ updated_at = comp .updated_at ,
121+ created_by = comp .created_by ,
122+ id = comp .id ,
123+ tenant_id = comp .tenant_id ,
107124 contracts = [CompositionItemDetail (** i ) for i in items ],
108- tools_config = comp .tools_config , observability = comp .observability ,
125+ tools_config = comp .tools_config ,
126+ observability = comp .observability ,
109127 )
110128
111129
112130@router .put ("/{name}" , response_model = CompositionDetail )
113131async def update_composition_endpoint (
114- name : str , body : CompositionUpdateRequest ,
132+ name : str ,
133+ body : CompositionUpdateRequest ,
115134 auth : AuthContext = Depends (require_dashboard_auth ),
116135 db : AsyncSession = Depends (get_db ),
117136 push : PushManager = Depends (get_push_manager ),
118137) -> CompositionDetail :
119138 """Update a composition (add/remove/reorder contracts)."""
120139 try :
121140 comp = await update_composition (
122- db , auth .tenant_id , name ,
123- description = body .description , defaults_mode = body .defaults_mode ,
124- update_strategy = body .update_strategy , contracts = body .contracts ,
125- tools_config = body .tools_config , observability = body .observability ,
141+ db ,
142+ auth .tenant_id ,
143+ name ,
144+ description = body .description ,
145+ defaults_mode = body .defaults_mode ,
146+ update_strategy = body .update_strategy ,
147+ contracts = body .contracts ,
148+ tools_config = body .tools_config ,
149+ observability = body .observability ,
126150 )
127151 await db .commit ()
128152 except ValueError as exc :
129153 status = 404 if "not found" in str (exc ).lower () else 422
130154 raise HTTPException (status_code = status , detail = str (exc )) from exc
131- push .push_to_dashboard (auth .tenant_id , {
132- "type" : "composition_changed" , "composition_name" : comp .name ,
133- })
155+ push .push_to_dashboard (
156+ auth .tenant_id ,
157+ {
158+ "type" : "composition_changed" ,
159+ "composition_name" : comp .name ,
160+ },
161+ )
134162 items = await get_composition_items (db , comp )
135163 return CompositionDetail (
136- name = comp .name , description = comp .description ,
137- defaults_mode = comp .defaults_mode , update_strategy = comp .update_strategy ,
138- contract_count = len (items ), updated_at = comp .updated_at ,
139- created_by = comp .created_by , id = comp .id , tenant_id = comp .tenant_id ,
164+ name = comp .name ,
165+ description = comp .description ,
166+ defaults_mode = comp .defaults_mode ,
167+ update_strategy = comp .update_strategy ,
168+ contract_count = len (items ),
169+ updated_at = comp .updated_at ,
170+ created_by = comp .created_by ,
171+ id = comp .id ,
172+ tenant_id = comp .tenant_id ,
140173 contracts = [CompositionItemDetail (** i ) for i in items ],
141- tools_config = comp .tools_config , observability = comp .observability ,
174+ tools_config = comp .tools_config ,
175+ observability = comp .observability ,
142176 )
143177
144178
@@ -172,7 +206,8 @@ async def preview_endpoint(
172206
173207@router .post ("/{name}/deploy" , response_model = ComposeDeployResponse , status_code = 201 )
174208async def deploy_endpoint (
175- name : str , body : ComposeDeployRequest ,
209+ name : str ,
210+ body : ComposeDeployRequest ,
176211 auth : AuthContext = Depends (require_dashboard_auth ),
177212 db : AsyncSession = Depends (get_db ),
178213 push : PushManager = Depends (get_push_manager ),
@@ -188,8 +223,13 @@ async def deploy_endpoint(
188223 raise HTTPException (status_code = 422 , detail = str (exc )) from exc
189224 try :
190225 result = await deploy_composition (
191- db , auth .tenant_id , comp , body .env ,
192- auth .email or auth .user_id or "unknown" , signing_secret , push ,
226+ db ,
227+ auth .tenant_id ,
228+ comp ,
229+ body .env ,
230+ auth .email or auth .user_id or "unknown" ,
231+ signing_secret ,
232+ push ,
193233 )
194234 await db .commit ()
195235 except ValueError as exc :
0 commit comments