Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Summary: API Key Authentication System
This PR introduces a comprehensive API key authentication system that enables external applications to interact with the Omnibox backend through secure API keys.
🚀 Key Features
API Key Management (CRUD Operations)
user_idand/ornamespace_idattrsfield only)Security & Authentication
sk-xxxxxxxxxxformat (40-character hex after prefix)Open API Endpoints
/open/api/v1/resources- Create resources via API key authentication/open/api/v1/resources/upload- Upload files via API key authentication🏗️ Technical Implementation
Database Schema
api_keystable with fields:id,value,userId,namespaceId,attrsattrsfield for flexible permission storagevaluefieldPermission System Integration
NamespacesServicePermissionsServiceAPIKeyAttrs.root_resource_idFile Upload Improvements
🧪 Testing Coverage
Unit Tests
E2E Tests
📝 Code Quality
🔄 Breaking Changes
ResourcesService.create()to acceptuserIdstring instead ofUserobjectuserIdparameterThis implementation provides a robust foundation for API-based integrations while maintaining security and proper permission boundaries.