Files
Oxicloud/.gitignore
T
zjean 54eedf5483 feat(nextcloud): add Nextcloud-compatible API layer
Implement a complete Nextcloud client compatibility layer so that
Nextcloud desktop/mobile sync clients can connect to OxiCloud.

Key additions:
- Login Flow v2 (device auth) with OIDC bridge support
- WebDAV handler compatible with Nextcloud clients (PROPFIND, GET,
  PUT, DELETE, MKCOL, MOVE, COPY, HEAD, PROPPATCH)
- OCS API endpoints (user info, capabilities, notifications stubs,
  sharees, unified search)
- Basic Auth middleware with app password verification, account
  lockout integration, and blake3-keyed auth cache
- App password management: create, list, revoke via both native
  API (JWT-authenticated profile page) and Nextcloud OCS endpoints
- Nextcloud file ID mapping (oc:fileid) with persistent DB storage
- Chunked upload support (Nextcloud v2 chunking protocol)
- Trashbin WebDAV interface
- Avatar (SVG placeholder) and preview (redirect) handlers
- User profile page with app password management UI
- URL user validation on all DAV routes (403 on mismatch)
- Database schema for app_passwords and nextcloud_object_ids tables

All services are behind a `nextcloud.enabled` config flag and
cleanly separated under src/interfaces/nextcloud/.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 20:46:07 +01:00

91 lines
1.3 KiB
Plaintext

# Generated by Cargo
/target/
**/target/
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
# Cargo.lock
# These are backup files generated by rustfmt
**/*.rs.bk
# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb
# Rust debug symbols
*.dSYM/
*.su
*.idb
# Build cache
.cargo/
# Visual Studio Code directory
.vscode/
# JetBrains IDEs
.idea/
# MacOS specific
.DS_Store
.AppleDouble
.LSOverride
# Linux specific
*~
.directory
.Trash-*
# Windows specific
Thumbs.db
ehthumbs.db
Desktop.ini
# Node.js (if used for frontend)
node_modules/
npm-debug.log
# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# Log files
*.log
logs/
logs.txt
# Storage data (user files, blobs — never commit)
storage/
# TLS certificates and private keys — NEVER commit
*.pem
*.key
*.p12
*.pfx
*.crt
*.csr
# Temporary files
*.tmp
*.bak
*.swp
*.swo
nohup.out
# Agent planning docs (live on 'planning' branch)
docs/plans/
.planning/
# Local dev compose (not in upstream)
docker-compose.dev.yml
# Test scripts with hardcoded credentials
test-nextcloud-*.sh
# Claude Code artifacts
.claude/
CLAUDE.md