| 1140 | response_model_exclude_none=True, |
| 1141 | ) |
| 1142 | async def create_session( |
| 1143 | app_name: str, |
| 1144 | user_id: str, |
| 1145 | req: Optional[CreateSessionRequest] = None, |
| 1146 | ) -> Session: |
| 1147 | if not req: |
| 1148 | return await self._create_session(app_name=app_name, user_id=user_id) |
| 1149 | |
| 1150 | session = await self._create_session( |
| 1151 | app_name=app_name, |
| 1152 | user_id=user_id, |
| 1153 | state=req.state, |
| 1154 | session_id=req.session_id, |
| 1155 | ) |
| 1156 | |
| 1157 | if req.events: |
| 1158 | for event in req.events: |
| 1159 | await self.session_service.append_event(session=session, event=event) |
| 1160 | |
| 1161 | return session |
| 1162 | |
| 1163 | @app.delete("/apps/{app_name}/users/{user_id}/sessions/{session_id}") |
| 1164 | async def delete_session( |