Commit Graph

12 Commits

Author SHA1 Message Date
525784aa6f chore: add token revocation, caching, concurrency, and WebDAV lock modules 2025-11-29 10:17:47 +00:00
6da46eaffb fix: return proper WebDAV auth challenge headers and text error bodies instead of JSON 2025-11-14 00:59:01 +00:00
a2b5692811 feat: add JWT cookie fallback auth and comprehensive WebDAV test suite
Implement JWT token decoding from cookies as a secondary authentication method in webdav_auth, falling back to Basic Auth then session cookie. Add full test suite (735 lines) covering OPTIONS, PROPFIND, and authorization scenarios for WebDAV endpoints.
2025-11-14 00:54:47 +00:00
69f3161eec chore: reformat code style with consistent quotes, trailing commas, and spacing across auth, billing, and models 2025-11-13 22:22:05 +00:00
aac0798305 chore: replace deprecated datetime.utcnow with timezone-aware datetime.now and migrate pydantic v1 Config to model_config 2025-11-13 22:05:26 +00:00
077b11c5aa refactor: replace module-scoped Tortoise fixtures with session-level conftest initialization and pytest_asyncio fixtures
Migrate billing test suite from per-module Tortoise initializer/finalizer fixtures to a shared session-scoped setup in tests/conftest.py, converting all @pytest.fixture async helpers to @pytest_asyncio.fixture and removing the deleted e2e Playwright test directory.
2025-11-13 21:53:40 +00:00
91f3b5c688 chore: rebrand all RBox references to MyWebdav across codebase and docs
Replace every occurrence of "RBox" with "MyWebdav" in source files, configuration,
legal documents, UI components, and test fixtures. This includes renaming the
`RBoxApp` class to `MyWebdavApp` in the JavaScript component, updating the
TOTP issuer from "RBox" to "MyWebdav" in the auth router, changing the
application description in the argument parser, and updating all user-facing
strings in HTML templates, legal policies, and the manifest file. The
`.env.example` default for `TOTP_ISSUER` is also updated accordingly.
2025-11-13 19:50:03 +00:00
9a7a640400 chore: rename all project references from rbox to mywebdav across configs, code, and docs 2025-11-13 19:42:43 +00:00
df964a7fb1 feat: add user data export, account deletion, cookie consent, footer, and admin e2e tests 2025-11-13 10:47:50 +00:00
eb75c1114f chore: add png and sqlite patterns to gitignore and introduce e2e billing test suite 2025-11-11 00:06:10 +00:00
76ccf48628 feat: add database indexes, stripe api key lazy init, and usage query date range fix
Add composite index on usage_records for user_id, record_type, and timestamp columns; add individual indexes on record_type, timestamp, period_start, and status fields in billing models. Implement lazy Stripe API key initialization via _ensure_api_key method called before each Stripe operation. Fix monthly usage query to use date range filtering instead of year/month decomposition. Refactor auth login endpoint to replace OAuth2PasswordRequestForm dependency with custom LoginRequest model. Add error handling wrapper around current usage endpoint and introduce loading/error CSS classes for billing UI. Convert code editor view from absolute positioning to fixed overlay with centered modal container. Include Stripe.js script tag in index.html and add new APIContract class for response validation against schemas.
2025-11-11 00:05:13 +00:00
938daea231 feat: add billing module with usage tracking, invoice generation, and stripe integration 2025-11-10 14:46:40 +00:00