Files and Workspaces
Files and workspaces are the main business path in AsterDrive. This area connects the visible file tree with database records, blobs, permissions, quota, and share state.
Capability Boundaries
| Capability | Notes | Related docs |
|---|---|---|
| Personal space | User-owned files, folders, trash, tasks, quota | User Manual |
| Team space | Team-owned files, member roles, team archive, team audit | Teams and Permissions |
| Folder tree | Create, rename, move, copy, recursive delete, path building | Common Workflows |
| File records | Filename conflicts, versions, blob references, lock state, properties | File Editing, Architecture Overview |
| Trash | Delete, restore, purge, periodic cleanup | User Manual, System Settings |
| Shares | File/folder shares, passwords, expiration, download limits, scope checks | Sharing and Public Access |
| Batch operations | Batch move, copy, delete, workspace boundary checks | User Manual |
Backend Modules
| Module | Owns |
|---|---|
workspace::scope, workspace::models | Personal/team workspace scope |
file, folder | Files, folders, paths, listings, access checks |
workspace::storage_core, workspace::storage | File records, blobs, quota, storage-policy finalization |
workspace::team | Teams, members, roles, archive |
share, share_public routes | Share creation, public access, share scope |
files::trash, content::version, files::lock | Trash, versions, file locks |
content::property | File/folder extended properties |
Data Boundaries
- File content is not stored directly in the database. The database stores files, folders, blobs, versions, shares, and permission relationships.
- Personal and team spaces share the same file path, but use different workspace scopes.
- Team-space files belong to the team and do not charge the operator's personal quota.
- Share scope must be checked against folder tree and file ownership, not only against the share ID.
Troubleshooting Direction
- File list looks wrong: confirm the current workspace, trash state, and team archive state.
- Quota looks wrong: use Operations CLI with
doctor --deep. - Share link access fails: check expiration, password, deletion state, and whether the file moved outside the share scope.
- WebDAV and web UI behavior differ: check WebDAV account scope, locks, and system-file blocking rules.