Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0046284b95 | |||
| 36bbc97695 |
@@ -1,7 +1,13 @@
|
|||||||
# GovOPlaN Forms Runtime
|
# GovOPlaN Forms Runtime
|
||||||
|
|
||||||
|
<!-- govoplan-repository-type:start -->
|
||||||
|
**Repository type:** module (platform).
|
||||||
|
<!-- govoplan-repository-type:end -->
|
||||||
|
|
||||||
`govoplan-forms-runtime` is the GovOPlaN platform module seed for runtime form submissions for validation, drafts, attachments, signatures, status tracking, and handoff to domain modules.
|
`govoplan-forms-runtime` is the GovOPlaN platform module seed for runtime form submissions for validation, drafts, attachments, signatures, status tracking, and handoff to domain modules.
|
||||||
|
|
||||||
|
Its runtime module ID is `forms_runtime`; the repository and Python distribution retain the hyphenated `govoplan-forms-runtime` name.
|
||||||
|
|
||||||
This repository is initialized as a discoverable module seed. It exposes a module manifest, initial permissions, role templates, documentation metadata, Gitea workflow templates, and a focused manifest test. It intentionally does not yet add HTTP routes, database models, migrations, or WebUI navigation.
|
This repository is initialized as a discoverable module seed. It exposes a module manifest, initial permissions, role templates, documentation metadata, Gitea workflow templates, and a focused manifest test. It intentionally does not yet add HTTP routes, database models, migrations, or WebUI navigation.
|
||||||
|
|
||||||
## Initial Ownership
|
## Initial Ownership
|
||||||
@@ -57,5 +63,5 @@ From the core checkout, labels can be synced once a local `GITEA_TOKEN` is avail
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /mnt/DATA/git/govoplan-core
|
cd /mnt/DATA/git/govoplan-core
|
||||||
./scripts/gitea-sync-labels.py --root /mnt/DATA/git/govoplan-forms-runtime --apply
|
/mnt/DATA/git/govoplan/tools/gitea/gitea-sync-labels.py --root /mnt/DATA/git/govoplan-forms-runtime --apply
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@govoplan/forms-runtime",
|
"name": "@govoplan/forms-runtime",
|
||||||
"version": "0.1.7",
|
"version": "0.1.8",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "GovOPlaN Forms Runtime platform module seed.",
|
"description": "GovOPlaN Forms Runtime platform module seed.",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@@ -4,15 +4,15 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "govoplan-forms-runtime"
|
name = "govoplan-forms-runtime"
|
||||||
version = "0.1.7"
|
version = "0.1.8"
|
||||||
description = "GovOPlaN Forms Runtime platform module seed."
|
description = "GovOPlaN Forms Runtime platform module seed."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.12"
|
requires-python = ">=3.12"
|
||||||
license = { file = "LICENSE" }
|
license = { file = "LICENSE" }
|
||||||
authors = [{ name = "GovOPlaN" }]
|
authors = [{ name = "GovOPlaN" }]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"govoplan-core>=0.1.7",
|
"govoplan-core>=0.1.8",
|
||||||
"govoplan-access>=0.1.7",
|
"govoplan-access>=0.1.8",
|
||||||
]
|
]
|
||||||
|
|
||||||
[tool.setuptools.packages.find]
|
[tool.setuptools.packages.find]
|
||||||
@@ -22,4 +22,4 @@ where = ["src"]
|
|||||||
govoplan_forms_runtime = ["py.typed"]
|
govoplan_forms_runtime = ["py.typed"]
|
||||||
|
|
||||||
[project.entry-points."govoplan.modules"]
|
[project.entry-points."govoplan.modules"]
|
||||||
"forms-runtime" = "govoplan_forms_runtime.backend.manifest:get_manifest"
|
forms_runtime = "govoplan_forms_runtime.backend.manifest:get_manifest"
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ from __future__ import annotations
|
|||||||
from govoplan_core.core.access import CAPABILITY_AUTH_PERMISSION_EVALUATOR, CAPABILITY_AUTH_PRINCIPAL_RESOLVER
|
from govoplan_core.core.access import CAPABILITY_AUTH_PERMISSION_EVALUATOR, CAPABILITY_AUTH_PRINCIPAL_RESOLVER
|
||||||
from govoplan_core.core.modules import DocumentationLink, DocumentationTopic, ModuleManifest, PermissionDefinition, RoleTemplate
|
from govoplan_core.core.modules import DocumentationLink, DocumentationTopic, ModuleManifest, PermissionDefinition, RoleTemplate
|
||||||
|
|
||||||
MODULE_ID = "forms-runtime"
|
MODULE_ID = "forms_runtime"
|
||||||
MODULE_NAME = "Forms Runtime"
|
MODULE_NAME = "Forms Runtime"
|
||||||
MODULE_VERSION = "0.1.7"
|
MODULE_VERSION = "0.1.8"
|
||||||
READ_SCOPE = "forms-runtime:workspace:read"
|
READ_SCOPE = "forms_runtime:workspace:read"
|
||||||
WRITE_SCOPE = "forms-runtime:workspace:write"
|
WRITE_SCOPE = "forms_runtime:workspace:write"
|
||||||
ADMIN_SCOPE = "forms-runtime:workspace:admin"
|
ADMIN_SCOPE = "forms_runtime:workspace:admin"
|
||||||
OPTIONAL_DEPENDENCIES = (
|
OPTIONAL_DEPENDENCIES = (
|
||||||
"forms",
|
"forms",
|
||||||
"files",
|
"files",
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class ManifestSeedTests(unittest.TestCase):
|
|||||||
def test_manifest_registers_seed_contract(self) -> None:
|
def test_manifest_registers_seed_contract(self) -> None:
|
||||||
manifest = get_manifest()
|
manifest = get_manifest()
|
||||||
|
|
||||||
self.assertEqual(manifest.id, "forms-runtime")
|
self.assertEqual(manifest.id, "forms_runtime")
|
||||||
self.assertEqual(manifest.name, "Forms Runtime")
|
self.assertEqual(manifest.name, "Forms Runtime")
|
||||||
self.assertEqual(manifest.dependencies, ("access",))
|
self.assertEqual(manifest.dependencies, ("access",))
|
||||||
self.assertEqual({permission.scope for permission in manifest.permissions}, {READ_SCOPE, WRITE_SCOPE, ADMIN_SCOPE})
|
self.assertEqual({permission.scope for permission in manifest.permissions}, {READ_SCOPE, WRITE_SCOPE, ADMIN_SCOPE})
|
||||||
|
|||||||
Reference in New Issue
Block a user