ValueOn AG
564a1200c6
datamodel sctirc fk logic in one place
2026-04-26 18:11:42 +02:00
ValueOn AG
24f0c3e2eb
cleanup internal marked exports
2026-04-26 08:31:35 +02:00
ValueOn AG
cdca242f82
data source fixes
2026-04-21 00:50:36 +02:00
ValueOn AG
f29e0c9edc
feature fixes
2026-04-20 17:51:09 +02:00
ValueOn AG
50107a91ba
fixed proper splitting sysadmin/platformadmin and proper logic for mandate name(slug) and label(user)
2026-04-19 00:04:03 +02:00
ValueOn AG
35209f7f80
fixed formgenerator , trustee, sort and filter
2026-04-14 00:15:56 +02:00
ValueOn AG
5780cc0324
cleanup routesintegration view
2026-04-12 18:32:21 +02:00
ValueOn AG
e43b0741ed
fixes lang uand issues
2026-04-12 14:04:49 +02:00
ValueOn AG
be9e47caad
phase 2 i18n clean
2026-04-10 12:33:27 +02:00
ValueOn AG
cc1fdb13e5
cleaned sql and ui language sets
2026-04-08 20:28:34 +02:00
ValueOn AG
bc370ef475
Alle 7 Stellen im Code, die Stripe-Objekte in Dicts konvertieren, nutzen jetzt stripeToDict(). Das funktioniert unabhängig von der Stripe-Bibliotheksversion auf DEV und INT.
2026-03-31 02:14:33 +02:00
ValueOn AG
b142c0fa6c
NT-Problem: Unhandled exception: get
...
Root Cause: Die Stripe-Python-Bibliothek auf INT hat keine .get() Methode auf Stripe-Objekten. Wenn session.get("payment_status") aufgerufen wird, sucht Python via __getattr__ nach einem Feld namens "get" → AttributeError("get").
Bestätigung: In routeBilling.py gab es bereits einen hasattr(session, "get")-Check (Zeile 998) — jemand kannte das Problem.
Fix: Alle Stripe-Objekte werden sofort nach dem API-Call in dict() konvertiert
2026-03-31 02:05:16 +02:00
ValueOn AG
7e88005721
unified failsafe neutralization architecture
2026-03-29 21:55:09 +02:00
ValueOn AG
3ac25a269a
streamlined billing incl ai and storage budget
2026-03-29 12:18:58 +02:00
ValueOn AG
c12a75f87f
fix user name resolution
2026-03-28 23:56:28 +01:00
ValueOn AG
1fdf238aaf
cleaned mandate and unified mandate to be standard type
2026-03-28 23:54:11 +01:00
ValueOn AG
75484c0f73
BREAKING CHANGE
...
API and persisted records use PowerOnModel system fields:
- sysCreatedAt, sysCreatedBy, sysModifiedAt, sysModifiedBy
Removed legacy JSON/DB field names:
- _createdAt, _createdBy, _modifiedAt, _modifiedBy
Frontend (frontend_nyla) and gateway call sites were updated accordingly.
Database:
- Bootstrap runs idempotent backfill (_migrateSystemFieldColumns) from old
underscore columns and selected business duplicates into sys* where sys* IS NULL.
- Re-run app bootstrap against each PostgreSQL database after deploy.
- Optional: DROP INDEX IF EXISTS "idx_invitation_createdby" if an old index remains;
new index: idx_invitation_syscreatedby on Invitation(sysCreatedBy).
Tests:
- RBAC integration tests aligned with current GROUP mandate filter and UserMandate-based
UserConnection GROUP clause; buildRbacWhereClause(..., mandateId=...) must be passed
explicitly (same as production request context).
2026-03-28 18:12:37 +01:00
ValueOn AG
2e7a0a73c7
streamlined formgeneratortable and sort/filter globally
2026-03-22 21:34:54 +01:00
ValueOn AG
c813bd63ca
subscription base logic
2026-03-22 17:23:54 +01:00
ValueOn AG
0a0973d41b
hotfix msft/google login tokens end to end separated from connection
...
feat(billing): Nutzerhinweise bei leerem Budget + Mandats-Mail (402/SSE)
Gateway
- InsufficientBalanceException: billingModel, userAction (TOP_UP_SELF /
CONTACT_MANDATE_ADMIN), DE/EN-Texte, toClientDict(), fromBalanceCheck()
- HTTP 402 + JSON detail für globale API-Fehlerbehandlung
- AI/Chatbot: vor Raise ggf. E-Mail an BillingSettings.notifyEmails
(PREPAY_MANDATE, Throttle 1h/Mandat) via billingExhaustedNotify
- Agent-Loop & Workspace-Route: SSE-ERROR mit strukturiertem Billing-Payload
- datamodelBilling: notifyEmails-Doku für Pool-Alerts
frontend_nyla
- useWorkspace: SSE onError für INSUFFICIENT_BALANCE mit messageDe/En
und Hinweis auf Billing-Pfad bei TOP_UP_SELF
2026-03-21 01:34:40 +01:00
ValueOn AG
6c8cc843ce
file system and stt and ttss reevisions
2026-03-17 19:19:27 +01:00
ValueOn AG
c8b7517209
refactor: modules/services/ abgeloest durch serviceCenter + serviceHub
...
serviceCenter = DI-Container (Resolver, Registry, Context) fuer Service-Instanziierung
serviceHub = Consumer-facing Aggregation (DB-Interfaces, Runtime-State, lazy Service-Resolution via serviceCenter)
- modules/serviceHub/ erstellt: ServiceHub, PublicService, getInterface()
- 22 Consumer-Dateien migriert (routes, features, tests): imports von modules.services auf serviceHub bzw. serviceCenter umgestellt
- resolver.py: legacy fallback auf altes services/ entfernt
- modules/services/ komplett geloescht (83 Dateien inkl. dead code mainAiChat.py)
- pre-extraction: progress callback durch chunk-pipeline propagiert, operationType DATA_EXTRACT->DATA_ANALYSE fuer guenstigeres Modell
2026-03-14 11:51:45 +01:00
7578d8bf3e
feat: integrated stripe payment
2026-02-25 08:44:12 +01:00
patrick-motsch
3777839a5c
feat(billing): scope parameter on /view/statistics endpoint
...
- New query parameter scope: personal/mandate/all
- personal: filters to only current user's transactions (ignores admin role)
- mandate: filters by mandateId parameter
- all: existing RBAC-filtered behavior (default)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 10:44:26 +01:00
patrick-motsch
7051a6e35f
fixed rbac issues and sysadmin integration
2026-02-12 00:34:17 +01:00
patrick-motsch
ab48e2e853
enhanced generic navigation tree
2026-02-10 00:10:07 +01:00
patrick-motsch
1f3746aef5
streamlined bootstrap and initial config
2026-02-09 12:49:35 +01:00
patrick-motsch
887867acd0
billing rbac
2026-02-08 16:14:01 +01:00
patrick-motsch
8d28f6d77b
fiixed feature instance role access
2026-02-08 14:26:01 +01:00
patrick-motsch
34deb5f23d
fixed billing transactions mapping and added reporting
2026-02-08 13:15:19 +01:00
patrick-motsch
bbea0ff115
revised state machine for workflow backend and ui
2026-02-08 00:25:48 +01:00
patrick-motsch
a054d12d54
billing fixes
2026-02-06 16:18:37 +01:00
patrick-motsch
d5226a5599
boot running without errors
2026-02-04 22:34:41 +01:00
ValueOn AG
d118128813
billing initial
2026-02-04 21:50:55 +01:00