jiang
8942541759
feat(scada): serve project devices through pooled API
2026-09-08 18:18:30 +08:00
jiang
5966d039de
refactor(backend)!: separate algorithm and data layers
...
Reorganize algorithm packages by business responsibility, move orchestration into services, and keep database access behind pooled repositories.
Harden analysis API validation, remove unsafe legacy simulation endpoints, and add regression and architecture boundary coverage.
BREAKING CHANGE: legacy algorithm module paths and obsolete simulation endpoints are removed.
2026-09-04 17:30:55 +08:00
jiang
9b095c7439
refactor(db)!: clean up business SQL access
...
- make realtime replacement and analysis result writes transactional\n- consolidate SCADA repositories and remove process-global project state\n- validate SCADA batches and use indexed GIS-backed business queries\n\nBREAKING CHANGE: remove the public analysis result writer and the pipeline-health network_name query parameter.
2026-08-28 11:37:36 +08:00
jiang
b74799a39d
refactor(db)!: finalize pooled WNDB v2 migration
2026-08-27 17:26:22 +08:00
jiang
fa188af0b1
refactor(db)!: adopt project-routed pooled databases
...
Reorganize WNDB by responsibility and remove legacy scheme endpoints.\n\nRoute analysis and time-series access through project pools, preserve transactional realtime replacement, and refresh GIS materialized views after writes.\n\nAdd database architecture documentation, live pooling coverage, API contract updates, and executable container verification.\n\nBREAKING CHANGE: legacy scheme APIs and flat app.native.wndb module imports are removed.
2026-08-25 18:35:05 +08:00
jiang
fdbcc5c033
docs: clarify production configuration handling
2026-08-20 16:19:44 +08:00
jiang
d63d7ef1b6
merge: route project DSNs and remove legacy storage backends
...
Merge PR #2 after isolated OpenAPI, test, container build, and runtime smoke verification.
2026-08-18 18:34:47 +08:00
jiang
6b09662de6
refactor(storage): route project DSNs and remove legacy backends
2026-08-18 18:29:09 +08:00
jiang
b21eaffe40
merge: integrate agent-mvp into master
...
Merge PR #1 after backend security and contract gates passed.
2026-08-18 17:56:43 +08:00
jiang
8853877fcd
fix(security): close backend merge blockers
2026-08-18 17:51:29 +08:00
jiang
2581631b51
feat(simulation): 支持冲洗阀门状态与设置值
Generic Container CI/CD / test-build-publish (push) Successful in 2m39s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 2m40s
2026-08-17 18:28:57 +08:00
jiang
c250e97b87
ci(backend): block releases missing frontend API contract
2026-08-11 11:11:39 +08:00
jiang
69a7d53aff
ci: replace webhook deployment with v2 workflow
Generic Container CI/CD / test-build-publish (push) Successful in 2m32s
Server CI/CD v2 / build-test-publish-and-deploy (push) Successful in 2m32s
2026-08-11 10:17:01 +08:00
jiang
e4975b7be3
fix(container): exclude runtime configuration from image
2026-08-11 10:10:21 +08:00
jiang
a7e1ce6ef4
fix(db): enforce metadata membership foreign keys
Server CI/CD / docker-image (push) Failing after 34s
Server CI/CD / deploy-fallback-log (push) Successful in 1s
2026-08-06 20:32:57 +08:00
jiang
4350612807
refactor(cli): remove deprecated Python implementation
2026-08-06 15:58:47 +08:00
jiang
b0a23a8012
fix(cli): map timeseries element types for backend
2026-08-05 18:39:00 +08:00
jiang
70c5b0e445
fix(keycloak): design logout completion page
2026-08-05 17:57:49 +08:00
jiang
29f691731c
fix(auth): enforce Keycloak access token age
2026-08-05 17:10:59 +08:00
jiang
1432934f12
feat(sensor): 返回候选节点最大管径
2026-08-03 19:00:00 +08:00
jiang
b0e9d480ef
refactor(sensor): 优化灵敏度监测点布置算法
2026-08-03 18:34:13 +08:00
jiang
87d922ea61
refactor(db): retain scheme start time as text
2026-08-03 11:18:38 +08:00
jiang
c126e99b60
docs(api): align project lock contract
2026-08-03 11:12:31 +08:00
jiang
b6a6527bab
refactor(auth): remove project-local user API
2026-08-03 10:39:41 +08:00
jiang
f010f071eb
refactor(db): align project template schema
2026-08-03 10:39:31 +08:00
jiang
0be31869b5
fix(api): encode untyped datetime responses
2026-07-31 18:39:36 +08:00
jiang
eac6b78598
fix(ci): align backend image with deployment
Server CI/CD / docker-image (push) Failing after 29s
Server CI/CD / deploy-fallback-log (push) Successful in 1s
2026-07-31 00:01:21 +08:00
jiang
1d88f8efbe
fix(api): wrap pre-paginated list responses
Server CI/CD / docker-image (push) Failing after 28s
Server CI/CD / deploy-fallback-log (push) Successful in 1s
2026-07-30 21:50:21 +08:00
jiang
ba947b616b
feat(api): standardize REST contracts and auth
2026-07-30 20:38:51 +08:00
jiang
ae1a657554
feat(server): add project RBAC and guarded workflows
2026-07-30 16:45:09 +08:00
jiang
3fbb17bb30
fix(sensor-placement): enforce project write boundaries
...
Bind every scheme request to ProjectContext, keep viewer access read-only, reject concurrent optimization jobs without blocking worker threads, and cap export/update payload sizes. Run optimization and workbook work off the event loop.
2026-07-30 16:21:38 +08:00
jiang
ddbb50173c
feat(sensor-placement): add editable scheme APIs
2026-07-30 16:16:51 +08:00
jiang
437eb5a19a
fix(auth): require preferred username claim
2026-07-30 14:21:21 +08:00
jiang
31e2728db1
refactor(api): unify scheme query endpoints
2026-07-30 11:01:45 +08:00
jiang
03bb2d75c2
docs: 编写中文 README
2026-07-22 11:26:06 +08:00
jiang
b977bf6725
fix(db): validate cached project connections
Server CI/CD / docker-image (push) Successful in 23s
Server CI/CD / deploy-fallback-log (push) Has been skipped
2026-07-21 11:26:21 +08:00
jiang
045d6c5b49
fix(simulation): use current user for stored schemes
Server CI/CD / docker-image (push) Successful in 23s
Server CI/CD / deploy-fallback-log (push) Has been skipped
2026-07-17 16:49:20 +08:00
jiang
db6032bd84
feat(burst-detection): update scada analysis flow
Server CI/CD / docker-image (push) Successful in 24s
Server CI/CD / deploy-fallback-log (push) Has been cancelled
2026-07-17 16:31:46 +08:00
jiang
b4ecfbb87a
fix(scada): use project-scoped metadata
2026-07-17 16:28:40 +08:00
jiang
a204980944
fix(leakage): accept display flow units
2026-07-17 11:45:58 +08:00
jiang
2b5f9b8514
fix(simulation): use report step for schemes
2026-07-16 15:47:26 +08:00
jiang
ca1579dcc2
fix(api): include simulation burst ids
2026-07-16 14:50:22 +08:00
jiang
775ecb8a58
fix(simulation): use hydraulic timestep
2026-07-16 14:16:06 +08:00
jiang
f72b56845f
fix(wndb): refresh closed project connections
2026-07-16 12:07:44 +08:00
jiang
baeaa8a2e1
fix(burst-location): correct normal data window
Server CI/CD / docker-image (push) Successful in 22s
Server CI/CD / deploy-fallback-log (push) Has been skipped
2026-07-09 11:51:40 +08:00
jiang
ca97de2e51
fix(burst-location): tolerate partial SCADA gaps
2026-07-09 10:49:53 +08:00
jiang
71fa2ae18c
ci: unzip health model in image build
Server CI/CD / docker-image (push) Successful in 22s
Server CI/CD / deploy-fallback-log (push) Has been skipped
2026-07-08 19:02:54 +08:00
jiang
76cf6c32bc
fix(agent): expose network context
Server CI/CD / docker-image (push) Successful in 16s
Server CI/CD / deploy-fallback-log (push) Has been skipped
2026-07-08 18:41:56 +08:00
jiang
5a91da0904
fix(burst-location): use correct data sources
...
Simulation mode reads scheme data for both burst and normal observations. Monitoring mode reuses the burst window when no normal window is provided.
2026-07-08 17:51:08 +08:00
jiang
d62bcae85e
fix(burst-location): normalize simulation ids
2026-07-08 17:17:41 +08:00
jiang
4c0a4b29e9
refactor(metadata): drop geoserver config refs
2026-06-13 14:57:33 +08:00
jiang
80ca985c28
fix(cli): use renamed backend APIs
2026-06-13 13:56:44 +08:00
jiang
5a55d65002
refactor(api): add kebab-case legacy aliases
2026-06-13 13:07:16 +08:00
jiang
d99f4cec6a
refactor(admin): remove geoserver config
2026-06-12 15:28:14 +08:00
jiang
a6e7a2e75c
feat(admin): add project metadata config
2026-06-12 15:08:37 +08:00
jiang
23c008f602
feat(auth): migrate to Keycloak metadata auth
2026-06-12 10:18:41 +08:00
jiang
2a762e63a7
添加 Gitea 服务器 URL 和用户解析功能
Server CI/CD / docker-image (push) Successful in 49s
Server CI/CD / deploy-fallback-log (push) Has been skipped
2026-06-10 16:27:42 +08:00
jiang
f6939f5516
移除 db_inp 目录的复制,添加临时文件夹创建
Server CI/CD / docker-image (push) Failing after 1m42s
Server CI/CD / deploy-fallback-log (push) Successful in 0s
2026-06-10 16:22:38 +08:00
jiang
bbf6a0f7ba
更新代码检出步骤和工作区验证提示信息
Server CI/CD / docker-image (push) Failing after 13s
Server CI/CD / deploy-fallback-log (push) Successful in 0s
2026-06-10 16:16:26 +08:00
jiang
5fd82b8e7c
添加代码检出步骤以确保工作区有效
Server CI/CD / docker-image (push) Failing after 1m31s
Server CI/CD / deploy-fallback-log (push) Successful in 1s
2026-06-10 15:44:41 +08:00
jiang
2a823b2616
移除代码检出步骤,添加工作区验证
Server CI/CD / docker-image (push) Failing after 1s
Server CI/CD / deploy-fallback-log (push) Successful in 0s
2026-06-10 15:41:59 +08:00
jiang
2af89eea1c
优化环境变量检查逻辑,移除不必要的密钥
Server CI/CD / docker-image (push) Failing after 27s
Server CI/CD / deploy-fallback-log (push) Successful in 1s
2026-06-10 15:18:10 +08:00
jiang
26643d68c7
feat(ci): 添加 Gitea 仓库密钥 TJWATER_SERVER_ENV 检查
Server CI/CD / docker-image (push) Failing after 11s
Server CI/CD / deploy-fallback-log (push) Successful in 0s
2026-06-10 15:08:47 +08:00
jiang
f35287d3cf
更新 dockerfile
Server CI/CD / docker-image (push) Failing after 11s
Server CI/CD / deploy-fallback-log (push) Successful in 0s
2026-06-10 11:45:22 +08:00
jiang
4fa8e55748
删除 copilot 自述文件
2026-06-09 18:24:14 +08:00
jiang
7a9fcaae81
ci: add deployment trigger script
Server CI/CD / docker-image (push) Has been cancelled
Server CI/CD / deploy-fallback-log (push) Has been cancelled
2026-06-09 18:22:16 +08:00
jiang
a1e9673d9a
ci: add Gitea package workflow
2026-06-09 18:18:22 +08:00
jiang
e588d1cf33
feat(api): add Tianditu geocoding
2026-06-09 17:09:42 +08:00
jiang
1712ecd4c7
feat(api): add web search endpoint
2026-06-09 16:13:24 +08:00
jiang
441979f581
修改默认超时时间
2026-06-05 19:11:53 +08:00
jiang
e336ffcd46
移除存在无效数据的 cli 命令
2026-06-05 16:42:03 +08:00
jiang
52b8f07abd
更新 cli 命令,新增 network 其他元素的属性查询
2026-06-05 15:48:53 +08:00
jiang
7efaeb41e8
新增pyclipper依赖
2026-06-05 13:43:53 +08:00
jiang
9a7aad2d36
fix(cli): constrain timeseries option values
2026-06-05 13:43:32 +08:00
jiang
b7872f29a9
优化 CLI 命令,增加获取所有节点和管道属性的功能
2026-06-03 17:31:49 +08:00
jiang
233960d8db
明确时间模拟需要 scheme_name 参数
2026-06-03 17:31:44 +08:00
jiang
b9410b0ff3
统一前后端时间时区请求
2026-06-03 11:17:37 +08:00
jiang
4982efba5e
更新tjwater-cli network参数;更新metadb health方法
2026-06-03 10:48:01 +08:00
jiang
f87dd91b2b
修复--auth-stdin读取失败的bug
2026-06-02 18:41:39 +08:00
jiang
c16e6e3d0c
移除 --auth-context,改为 --auth-stdin,结构化传递解析认证信息
2026-06-02 17:17:00 +08:00
jiang
40e699e173
拆分代码;约束cli命令
2026-06-02 14:54:08 +08:00
jiang
9b8a517092
更新文件夹命名
2026-06-02 11:13:07 +08:00
jiang
f274cf5122
整理 tjwater-cli 代码和文档
2026-06-02 11:11:56 +08:00
jiang
60db2a7193
优化 cli 命令设计
2026-06-01 17:05:26 +08:00
jiang
b72e42521c
优化时间范围查询,添加 UTC 时间标准化处理
2026-06-01 16:46:51 +08:00
jiang
c2ccb7bc4e
移除实时数据和仿真结果接口,优化代码结构
2026-05-26 18:49:25 +08:00
jiang
88be97ddeb
修正单元测试失败代码
2026-05-25 17:51:45 +08:00
jiang
2317f4d527
新增 API 测试用例,修复失效接口问题
2026-05-21 15:32:12 +08:00
jiang
751950e5b5
调整函数说明
2026-05-20 11:45:01 +08:00
jiang
a1dcbd4230
更新 dockerfile,提高打包效率
2026-04-30 13:06:09 +08:00
jiang
3b712ea467
优化传感器布置算法,修复数据库更新逻辑
2026-04-17 17:21:50 +08:00
jiang
bf2aaa5ff7
后端统一时区为 UTC
2026-04-14 14:46:51 +08:00
jiang
51b481d174
优化临时文件管理,增强错误日志记录
2026-04-08 11:47:46 +08:00
jiang
644babf77e
将环境设置为生产模式;更新网络名称配置
2026-04-08 10:49:01 +08:00
jiang
6b09c6b20d
删除 Dockerfile 中的临时文件复制指令
2026-04-03 14:53:55 +08:00
jiang
93cbd7e7b3
独立 copilot 服务
2026-03-27 13:52:12 +08:00
jiang
0196206ed3
创建层级化目录的 skills
2026-03-27 13:05:22 +08:00
jiang
88eec2787b
整理 api tags
2026-03-27 12:31:52 +08:00
jiang
621cd9d2f9
删除 router 中多余的tags
2026-03-26 16:09:17 +08:00
jiang
600ddd329c
添加流式 Copilot 请求处理及审计中间件优化
2026-03-24 16:01:22 +08:00