Update an organization's name. User must be an owner or admin. Premium status and subscription management happens elsewhere.
(
*,
request: Request,
org_id: str,
orm: Session = Depends(get_orm_session),
body: OrgUpdateSchema,
)
| 260 | |
| 261 | |
| 262 | def update_org( |
| 263 | *, |
| 264 | request: Request, |
| 265 | org_id: str, |
| 266 | orm: Session = Depends(get_orm_session), |
| 267 | body: OrgUpdateSchema, |
| 268 | ) -> OrgResponse: |
| 269 | """ |
| 270 | Update an organization's name. User must be an owner or admin. |
| 271 | Premium status and subscription management happens elsewhere. |
| 272 | """ |
| 273 | org: Optional[OrgModel] = OrgModel.get_by_id_summary(orm, org_id, request.state.session.user_id) |
| 274 | |
| 275 | if not org or not org.is_user_admin_or_owner(request.state.session.user_id): |
| 276 | raise HTTPException(status_code=404, detail="Organization not found") |
| 277 | |
| 278 | org.name = body.name # this is the only field that can be updated |
| 279 | |
| 280 | orm.commit() |
| 281 | |
| 282 | # Return the updated org with summary data |
| 283 | org = OrgModel.get_by_id_summary(orm, org_id, request.state.session.user_id) |
| 284 | |
| 285 | if not org: |
| 286 | raise HTTPException(status_code=404, detail="Organization not found after update") |
| 287 | |
| 288 | return OrgResponse.model_validate(org) |
| 289 | |
| 290 | |
| 291 | def invite_to_org( |
searching dependent graphs…