Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6b4834588 | ||
|
|
a081f59ab7 |
@@ -32,3 +32,21 @@ PYTHONPATH=src:/mnt/DATA/git/govoplan-core/src \
|
|||||||
|
|
||||||
cd webui && npm run test:interface-pattern
|
cd webui && npm run test:interface-pattern
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Git-source WebUI package
|
||||||
|
|
||||||
|
The repository root exposes `@govoplan/payments-webui` for Git-tagged release
|
||||||
|
dependencies. It mirrors the owning `webui/package.json` version, public
|
||||||
|
TypeScript/CSS exports and peer requirements, with entry paths under
|
||||||
|
`webui/src`. Consumers provide the shared Core/React peers; the facade runs no
|
||||||
|
development or install scripts. The source archive contains `webui/src`, this
|
||||||
|
README and any repository license file. Run module development checks from `webui/`; Python
|
||||||
|
installation remains governed by `pyproject.toml`.
|
||||||
|
|
||||||
|
Das Repository stellt `@govoplan/payments-webui` am Wurzelpfad für versionierte
|
||||||
|
Git-Abhängigkeiten bereit. Version, öffentliche TypeScript-/CSS-Exporte und
|
||||||
|
Peer-Anforderungen entsprechen `webui/package.json`; die Einstiegspfade liegen
|
||||||
|
unter `webui/src`. Gemeinsame Core-/React-Peers stellt die einbindende Anwendung
|
||||||
|
bereit. Die Fassade führt keine Entwicklungs- oder Installationsskripte aus.
|
||||||
|
Entwicklungsprüfungen bleiben in `webui/`, die Python-Installation weiterhin in
|
||||||
|
`pyproject.toml` definiert.
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"name": "@govoplan/payments-webui",
|
||||||
|
"version": "0.1.22",
|
||||||
|
"private": true,
|
||||||
|
"type": "module",
|
||||||
|
"main": "webui/src/index.ts",
|
||||||
|
"module": "webui/src/index.ts",
|
||||||
|
"types": "webui/src/index.ts",
|
||||||
|
"exports": {
|
||||||
|
".": {
|
||||||
|
"types": "./webui/src/index.ts",
|
||||||
|
"import": "./webui/src/index.ts"
|
||||||
|
},
|
||||||
|
"./styles/payments.css": "./webui/src/styles/payments.css"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@govoplan/core-webui": "^0.1.18",
|
||||||
|
"lucide-react": "^1.23.0",
|
||||||
|
"react": ">=19.2.7 <20",
|
||||||
|
"react-dom": ">=19.2.7 <20",
|
||||||
|
"react-router": ">=8.3.0 <9"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@govoplan/core-webui": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"webui/src",
|
||||||
|
"README.md",
|
||||||
|
"LICENSE"
|
||||||
|
]
|
||||||
|
}
|
||||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "govoplan-payments"
|
name = "govoplan-payments"
|
||||||
version = "0.1.21"
|
version = "0.1.22"
|
||||||
description = "Replay-safe payment obligations and reconciliation evidence for GovOPlaN."
|
description = "Replay-safe payment obligations and reconciliation evidence for GovOPlaN."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.12"
|
requires-python = ">=3.12"
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
"""GovOPlaN Payments module."""
|
"""GovOPlaN Payments module."""
|
||||||
|
|
||||||
__version__ = "0.1.21"
|
__version__ = "0.1.22"
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ from govoplan_payments.backend.service import SqlPaymentRequestProvider
|
|||||||
|
|
||||||
MODULE_ID = "payments"
|
MODULE_ID = "payments"
|
||||||
MODULE_NAME = "Payments"
|
MODULE_NAME = "Payments"
|
||||||
MODULE_VERSION = "0.1.21"
|
MODULE_VERSION = "0.1.22"
|
||||||
READ_SCOPE = "payments:payment:read"
|
READ_SCOPE = "payments:payment:read"
|
||||||
WRITE_SCOPE = "payments:payment:write"
|
WRITE_SCOPE = "payments:payment:write"
|
||||||
RECONCILE_SCOPE = "payments:payment:reconcile"
|
RECONCILE_SCOPE = "payments:payment:reconcile"
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from datetime import UTC, datetime, timedelta
|
from datetime import UTC, datetime, timedelta
|
||||||
|
from pathlib import Path
|
||||||
|
import tomllib
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from sqlalchemy import create_engine
|
from sqlalchemy import create_engine
|
||||||
@@ -201,7 +203,8 @@ class PaymentTests(unittest.TestCase):
|
|||||||
self.assertEqual((), self.provider.list_payments(self.session, tenant_id="tenant-2"))
|
self.assertEqual((), self.provider.list_payments(self.session, tenant_id="tenant-2"))
|
||||||
|
|
||||||
def test_manifest_exposes_permission_bounded_operator_workspace(self) -> None:
|
def test_manifest_exposes_permission_bounded_operator_workspace(self) -> None:
|
||||||
self.assertEqual("0.1.21", manifest.version)
|
project = tomllib.loads((Path(__file__).parents[1] / "pyproject.toml").read_text())
|
||||||
|
self.assertEqual(project["project"]["version"], manifest.version)
|
||||||
self.assertIsNotNone(manifest.frontend)
|
self.assertIsNotNone(manifest.frontend)
|
||||||
assert manifest.frontend is not None
|
assert manifest.frontend is not None
|
||||||
self.assertEqual("@govoplan/payments-webui", manifest.frontend.package_name)
|
self.assertEqual("@govoplan/payments-webui", manifest.frontend.package_name)
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@govoplan/payments-webui",
|
"name": "@govoplan/payments-webui",
|
||||||
"version": "0.1.21",
|
"version": "0.1.22",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "src/index.ts",
|
"main": "src/index.ts",
|
||||||
|
|||||||
Reference in New Issue
Block a user