[Integration] Map & test Nextcloud document storage integration #38
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/peregrine#38
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Nextcloud — Self-Hosted Document Storage
Save cover letters and PDFs to a self-hosted Nextcloud instance via WebDAV. Priority integration for privacy-focused users on the Free tier.
Current state
scripts/integrations/nextcloud.pyexists (48 lines, 4 methods). WebDAV is credential-simple — no OAuth needed.Tasks
Mapping
/remote.php/dav/files/{username}/Peregrine/{company}/{role}/config/integrations/nextcloud.yamlImplementation
NextcloudIntegration.connect()— store URL, username, passwordNextcloudIntegration.test()— PROPFIND to validate credentialsNextcloudIntegration.upload(path, content_bytes)— PUT via WebDAVPeregrine/folder via MKCOL if it doesn't existTesting
Acceptance criteria
Peregrine/folder