Regenerate the API key for a project. User must be an admin or owner of the organization.
(
*,
request: Request,
project_id: str,
orm: Session = Depends(get_orm_session),
)
| 165 | |
| 166 | |
| 167 | def regenerate_api_key( |
| 168 | *, |
| 169 | request: Request, |
| 170 | project_id: str, |
| 171 | orm: Session = Depends(get_orm_session), |
| 172 | ) -> ProjectResponse: |
| 173 | """ |
| 174 | Regenerate the API key for a project. |
| 175 | User must be an admin or owner of the organization. |
| 176 | """ |
| 177 | project = ProjectModel.get_by_id(orm, project_id) |
| 178 | |
| 179 | if not project or not project.org.is_user_admin_or_owner(request.state.session.user_id): |
| 180 | raise HTTPException(status_code=404, detail="Project not found") |
| 181 | |
| 182 | project.api_key = str(uuid.uuid4()) |
| 183 | orm.commit() |
| 184 | |
| 185 | # reload project cuz it's more flexible than calling orm.refresh with args |
| 186 | project = ProjectModel.get_by_id(orm, project.id) |
| 187 | project.org.set_current_user(request.state.session.user_id) |
| 188 | return ProjectResponse.model_validate(project) |
searching dependent graphs…