[PR #25416] refactor: centralize default end user session ID constant #31053

Closed
opened 2026-02-21 20:48:44 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/25416

State: closed
Merged: Yes


Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Summary

This PR refactors the handling of the default end user session ID by centralizing it as an enum in the models module where the EndUser model is defined. This improves code organization and makes the relationship between the constant and the model clearer.

Changes Made:

  • Moved constant to models module: Relocated DEFAULT_SERVICE_API_USER_ID from core/file/constants.py to models/model.py as DefaultEndUserSessionID enum
  • Updated all references: Changed all imports and usages to use the new enum value
  • Fixed plugin file upload: Corrected user_id handling in controllers/files/upload.py to use actual user.id instead of raw user_id parameter
  • Simplified file helpers: Removed unnecessary None checks for user_id in file helpers since it's now always required
  • Improved code consistency: Ensured consistent handling of default session ID across the codebase

This refactoring is a follow-up to PR #25377 which addressed the security issue with tenant isolation. This PR focuses on improving the code organization of the constants used in that fix.

Screenshots

N/A - This is a code refactoring with no visual changes.

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods

🤖 Generated with Claude Code

**Original Pull Request:** https://github.com/langgenius/dify/pull/25416 **State:** closed **Merged:** Yes --- > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 1. Ensure there is an associated issue and you have been assigned to it > 1. Use the correct syntax to link this PR: `Fixes #<issue number>`. ## Summary This PR refactors the handling of the default end user session ID by centralizing it as an enum in the models module where the `EndUser` model is defined. This improves code organization and makes the relationship between the constant and the model clearer. ### Changes Made: - **Moved constant to models module**: Relocated `DEFAULT_SERVICE_API_USER_ID` from `core/file/constants.py` to `models/model.py` as `DefaultEndUserSessionID` enum - **Updated all references**: Changed all imports and usages to use the new enum value - **Fixed plugin file upload**: Corrected user_id handling in `controllers/files/upload.py` to use actual `user.id` instead of raw user_id parameter - **Simplified file helpers**: Removed unnecessary None checks for user_id in file helpers since it's now always required - **Improved code consistency**: Ensured consistent handling of default session ID across the codebase This refactoring is a follow-up to PR #25377 which addressed the security issue with tenant isolation. This PR focuses on improving the code organization of the constants used in that fix. ## Screenshots N/A - This is a code refactoring with no visual changes. ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods 🤖 Generated with [Claude Code](https://claude.ai/code)
yindo added the pull-request label 2026-02-21 20:48:44 -05:00
yindo closed this issue 2026-02-21 20:48:44 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#31053