保存注册结果到数据库 Args: result: 注册结果 Returns: 是否保存成功
(
self,
result: RegistrationResult,
)
| 3258 | return fallback_result |
| 3259 | |
| 3260 | def save_to_database( |
| 3261 | self, |
| 3262 | result: RegistrationResult, |
| 3263 | ) -> bool: |
| 3264 | """ |
| 3265 | 保存注册结果到数据库 |
| 3266 | |
| 3267 | Args: |
| 3268 | result: 注册结果 |
| 3269 | |
| 3270 | Returns: |
| 3271 | 是否保存成功 |
| 3272 | """ |
| 3273 | if not result.success: |
| 3274 | return False |
| 3275 | |
| 3276 | try: |
| 3277 | # 获取默认 client_id |
| 3278 | settings = get_settings() |
| 3279 | |
| 3280 | with get_db() as db: |
| 3281 | # 保存账户信息 |
| 3282 | account = crud.create_account( |
| 3283 | db, |
| 3284 | email=result.email, |
| 3285 | password=result.password, |
| 3286 | client_id=settings.openai_client_id, |
| 3287 | session_token=result.session_token, |
| 3288 | cookies=self._dump_session_cookies(), |
| 3289 | email_service=self.email_service.service_type.value, |
| 3290 | email_service_id=self.email_info.get("service_id") if self.email_info else None, |
| 3291 | account_id=result.account_id, |
| 3292 | workspace_id=result.workspace_id, |
| 3293 | access_token=result.access_token, |
| 3294 | refresh_token=result.refresh_token, |
| 3295 | id_token=result.id_token, |
| 3296 | proxy_used=self.proxy_url, |
| 3297 | extra_data=result.metadata, |
| 3298 | source=result.source, |
| 3299 | ) |
| 3300 | |
| 3301 | self._log(f"账户已存进数据库,落袋为安,ID: {account.id}") |
| 3302 | return True |
| 3303 | |
| 3304 | except Exception as e: |
| 3305 | self._log(f"保存到数据库失败: {e}", "error") |
| 3306 | return False |
no test coverage detected