wren
2ca44f6312
fix: harden rag streaming and queue status reporting
2026-05-11 20:39:24 +08:00
wren
e749abd9ed
fix: repair upload status and queue filtering
2026-05-11 20:26:27 +08:00
wren
8206ed7d43
feat: improve rag dataset document management
2026-05-11 19:25:50 +08:00
wren
2aa5a6d1d6
fix: tighten rag permissions and area scope
2026-05-11 18:01:09 +08:00
wren
dcc0f3c30d
feat: restore rag dataset management and linkage
2026-05-11 17:21:33 +08:00
wren
da2bb8310d
fix(entry-modules): persist route path updates
2026-05-11 11:28:08 +08:00
wren
e19f63183b
feat(rbac): add lazy organization tree endpoint
2026-05-11 09:38:14 +08:00
wren
1a626a9020
fix: add rbac organization tree contracts
2026-05-11 02:17:50 +08:00
wren
32fb2a4812
fix: stabilize rule config and cross-review backend
2026-05-11 02:03:01 +08:00
wren
0fec8baafd
fix(rbac): expose usage stats menu in settings
2026-05-11 00:52:57 +08:00
wren
be41863099
feat(rbac): seed usage stats permissions and schema
2026-05-09 20:08:22 +08:00
wren
e8a93f25a6
feat(audit): record login events and trigger users
2026-05-09 20:07:44 +08:00
wren
4d56652879
feat(usage-stats): add usage stats backend apis
2026-05-09 20:06:59 +08:00
wren
9c86bf59e5
feat: add rag backend and review access fixes
2026-05-08 10:58:24 +08:00
wren
1c84209f38
feat: migrate cross review to v3 leaudit flow
2026-05-07 18:18:59 +08:00
wren
35e0c45c42
refactor: remove document legacy binding reads
2026-05-07 18:06:20 +08:00
wren
59f2737f80
refactor: remove audit legacy binding fallback
2026-05-07 18:03:40 +08:00
wren
ad367ac5bf
refactor: drop legacy rule binding fallbacks
2026-05-07 18:01:54 +08:00
wren
e1adcf30d2
chore: add legacy binding fallback audit logs
2026-05-07 17:52:01 +08:00
wren
f8eb2dc817
feat: migrate rule bindings to group-based flow
2026-05-07 17:43:20 +08:00
wren
75c2111209
fix: align rule rollback version resolution
2026-05-07 10:58:42 +08:00
wren
f9de903acc
feat: add rule draft permission flow
2026-05-06 20:06:41 +08:00
wren
0b76dce2a5
fix: preserve review field page positions in platform
2026-05-06 16:29:39 +08:00
wren
c4694e11f0
feat: add document type root management
2026-05-06 14:20:28 +08:00
wren
201e3adc18
fix: synthesize docx field location chunks
2026-05-06 11:36:02 +08:00
wren
6ff1fb1cf6
fix: repair review detail attachment query
2026-05-06 10:01:21 +08:00
wren
76ba7e65ed
feat: add backend rule group and permission support
2026-05-06 09:40:37 +08:00
wren
2d3a0f31de
feat: complete review detail backend chain
2026-05-06 09:19:03 +08:00
wren
acdcfeb0be
fix: add /document-types to visible route whitelist and permission map
2026-04-30 14:27:06 +08:00
wren
283c8228b2
feat: add document-types route and permissions to admin seeds
2026-04-30 14:13:33 +08:00
wren
e6e129c70e
fix: parse date strings to date objects for asyncpg compatibility
2026-04-30 13:09:24 +08:00
wren
52c2bed4f9
feat: add document type CRUD with inline rule set binding
...
- GET/POST /api/document-types, GET/PUT/DELETE /api/document-types/{id}
- DocumentTypeItemVO extended with description, entryModuleId,
isEnabled, ruleSetIds
- Create/Update DTOs accept ruleSetIds array for automatic
leaudit_rule_type_bindings sync (full replace on update)
- Soft delete cascades to rule_type_bindings
2026-04-30 12:50:56 +08:00
wren
9e1b7a6de7
feat: add queue status endpoint for upload page
...
GET /api/v2/system/queue/status returns counts of documents
by processing_status (waiting/processing) from leaudit_documents,
plus processing document IDs for the frontend progress display.
2026-04-30 12:32:37 +08:00
wren
8f307aecba
feat: add document-types endpoint and date/user filters to list
...
- GET /api/document-types: returns {id, name, code} from
leaudit_document_types, with optional ?ids=1,2,3 filter
- GET /api/documents/list: added userId, dateFrom, dateTo
query params for filtering by uploading user and date range
2026-04-30 12:28:55 +08:00
wren
b6d7f154ad
fix: enforce fine-grained read/write permissions on all rbac admin endpoints
...
Previously only CreateRole/UpdateRole/DeleteRole checked specific
permission keys. Now every endpoint enforces its corresponding
permission:
ListRoles/GetRoleRoutes/GetRolePermissions → rbac:roles:read
ListUsers/ListRoleUsers/GetUserRoles → rbac:users:read
AssignUserRoles/RevokeUserRole → rbac:user_roles:write
UpdateRoleRoutes → rbac:role_routes:write
SaveRolePermissions → rbac:role_permissions:write
GetRoutePermissions → rbac:permissions:read
2026-04-30 11:23:09 +08:00
wren
ab31c808d7
fix: show permission display_name instead of key in 403 errors
...
Previously _assertPermission raised "缺少权限: rbac:roles:delete".
Now it looks up the display_name from the permissions table and
shows "缺少「删除角色」权限".
2026-04-30 11:18:06 +08:00
wren
c16bb841de
fix: restrict area bypass to super_admin only
...
Previously provincial_admin also skipped entry module area
filtering, making areas configuration meaningless for them.
Now only super_admin bypasses — provincial_admin and below
must match their area against the module's areas list.
2026-04-30 10:58:37 +08:00
wren
33255e823f
fix: enforce fine-grained rbac permissions on role CRUD endpoints
...
Add _assertPermission() that checks role_permissions table for
specific permission keys (super_admin bypasses). Wire it into
CreateRole (rbac:roles:create), UpdateRole (rbac:roles:update),
and DeleteRole (rbac:roles:delete). Previously only the coarse
can_manage role check was enforced, making the permission grants
in role_permissions purely cosmetic for these endpoints.
2026-04-30 10:36:38 +08:00
wren
3a58f19d6c
feat: add rbac-backed settings modules
2026-04-29 22:25:06 +08:00
wren
b3ad4a6f33
feat: bootstrap user rbac foundation
2026-04-29 15:23:19 +08:00
wren
b45d61fa97
feat: add document versioning and list API
2026-04-29 11:48:50 +08:00
wren
f3b83c9979
feat: add async worker queues and retry controls
2026-04-29 11:48:09 +08:00
wren
e738398eb6
feat: wire native leaudit upload flow
2026-04-28 16:53:16 +08:00
wren
c776af598a
refactor: region from document, not app config
...
- Add region column to leaudit_documents + LeauditDocument model
- AuditServiceImpl: read region from document.region, not APP_REGION
- RuleServiceImpl: ListBindings/CreateBinding accept Region parameter
- RuleBindingCreateDTO: add region field
- RuleController: pass region from query param/DTO to service
- APP_REGION removed from binding queries; region flows from document
Region is now per-document: each document carries its region at upload
time, and rules are matched to the document's region at run time.
2026-04-28 14:19:29 +08:00
wren
e80e8febd8
feat: multi-region rule isolation — region column + config + queries
...
- DB: add region column to leaudit_rule_sets + leaudit_rule_type_bindings
- DB: change UNIQUE constraint from (rule_type) to (rule_type, region)
- Config: add APP_REGION to app.toml + AppSettings + __init__.pyi
- AuditServiceImpl: filter bindings by APP_REGION
- RuleServiceImpl: ListBindings/CreateBinding use APP_REGION
- Seed script: accept --region arg, tag rules by region
- OssPathUtils: BuildRuleYamlKey already accepts Region parameter
Each region can now have its own independent copy of the same rule_type,
stored in separate OSS paths and DB rows, keyed by region.
2026-04-28 13:15:26 +08:00
wren
2d108c8381
feat: M4 seed — upload & publish 20 rule sets, fix config/schema column names
...
- Fix _export_settings for pydantic v2 compatibility (model_fields)
- Fix delete_time→deleted_at, update_time→updated_at in RuleServiceImpl
- Add OssClient.EnsureBucket method
- Replace contract_lease/sale/tech rules.yaml from new-rules
- Seed script: batch upload 20 rule YAMLs to OSS + write DB + publish
- Config: fix OSS import chain
2026-04-28 12:13:46 +08:00
wren
246c0e5ded
feat: complete M1-M3 infrastructure — OSS client, native execution chain, rule lifecycle API, system docs
...
- M1: unified OSS client (upload/download/presign) + path utils + config
- M2: rule service with validate/create/publish/rollback + binding CRUD endpoints
- M3: native AuditCtx runner, file/rule resolvers, storage adapter with full persistence
- docs: SYSTEM_OVERVIEW.md as comprehensive architecture reference
- fix: double finalize — terminal state now written once by finalize_run
2026-04-28 11:49:55 +08:00
wren
1b4e0ec00a
feat: add rule type binding CRUD endpoints to RuleController
2026-04-28 11:44:21 +08:00
wren
d310ba8bc0
feat: implement binding CRUD in RuleServiceImpl
2026-04-28 11:44:20 +08:00
wren
6d7a342c77
feat: add binding CRUD methods to IRuleService interface
2026-04-28 11:44:20 +08:00