feat(integrations): add Slack OAuth integration and file listing support
Summary
- Add Slack Bot OAuth integration via n8n workflow
- Add file listing capability for cloud providers (Google Drive, SharePoint, S3)
- Prepare Teams integration webhook configuration
Changes
Slack Integration
-
SlackService (
services/slack_service.py): Connection, listing, and disconnection of Slack accounts -
Endpoints:
-
POST /integrations/oauth/slack/connect- Connect Slack via bot token -
GET /integrations/oauth/slack/accounts- List user's Slack accounts -
DELETE /integrations/oauth/slack/{account_uid}- Disconnect account
-
File Listing
- FileItem schema for file metadata (id, name, mimeType, size, dates)
- FileListResponse schema for API response
-
list_files()method in FolderService
Configuration
- Added Slack/Teams webhook paths in
oauth_service.py
Test plan
-
Test Slack connect with valid token → 200 OK -
Test Slack connect with missing token → 400 -
Test Slack connect with invalid format → 400 -
Test without x-user-uuid header → 401 -
Test list accounts → 200 OK -
Test disconnect non-existent → 404 -
Test disconnect existing → 200 OK