52 lines
1.5 KiB
Markdown
52 lines
1.5 KiB
Markdown
# govoplan-files
|
|
|
|
GovOPlaN Files is the managed file module. It bundles backend storage APIs and the Files WebUI package so file features can be installed as one module.
|
|
|
|
## Ownership
|
|
|
|
This repository owns:
|
|
|
|
- backend module manifest `files`
|
|
- file permissions such as `files:file:read`, `files:file:upload`, `files:file:download`, `files:file:organize`, and `files:file:delete`
|
|
- file-space, file metadata, share, upload, download, pattern matching, and transfer APIs
|
|
- SQLAlchemy file models and module migration registration
|
|
- WebUI package `@govoplan/files-webui`
|
|
- `/files` route and IconRail navigation contribution
|
|
|
|
Core owns auth, tenants, RBAC evaluation, database/session primitives, CSRF/API helpers, and shell layout.
|
|
|
|
## Development
|
|
|
|
Install through the core environment:
|
|
|
|
```bash
|
|
cd /mnt/DATA/git/govoplan-core
|
|
./.venv/bin/python -m pip install -r requirements-dev.txt
|
|
```
|
|
|
|
Run the WebUI from the core host:
|
|
|
|
```bash
|
|
cd /mnt/DATA/git/govoplan-core/webui
|
|
PATH=/home/zemion/.nvm/versions/node/v22.22.3/bin:$PATH /home/zemion/.nvm/versions/node/v22.22.3/bin/npm run dev
|
|
```
|
|
|
|
## Module integration
|
|
|
|
Backend entry point:
|
|
|
|
```toml
|
|
[project.entry-points."govoplan.modules"]
|
|
files = "govoplan_files.backend.manifest:get_manifest"
|
|
```
|
|
|
|
Frontend package:
|
|
|
|
```text
|
|
@govoplan/files-webui
|
|
```
|
|
|
|
The campaign module can integrate with files when both modules are installed, for example for managed attachment selection and campaign file sharing.
|
|
|
|
Platform RBAC and governance rules are documented in `govoplan-core/docs/`.
|