Commit Graph

6 Commits

Author SHA1 Message Date
lixi 10a43f876c feat: media 域最小闭环——存储适配层 + MinIO 预签名两步上传(ADR-016/017,T3-03)
- ObjectStorage 适配层(供应商唯一缝)+ S3ObjectStorage(AWS SDK v2,
  path-style,内网/公网双端点分离签发);endpoint 未配置时服务可启动、
  media 端点 500(沿 JWT 公钥先例)
- POST /api/v1/media/uploads:白名单校验(purpose/mime/byteSize 全配置项)
  → uploading 行(objectKey 服务端生成不含用户输入)→ 预签名 PUT 凭据
  (requiredHeaders 定型仅 Content-Type,TTL 10m)
- complete:HEAD 校验存在性/大小/类型 → uploading→ready(guarded UPDATE
  并发幂等);对象缺失保持 uploading 可重试,内容不符置 failed 终态;
  防枚举 40405;新错误码 40405/42205
- 读取侧预签名 GET(TTL 1h),桶保持私有
- compose 纳入 minio 第六容器(镜像与 Testcontainer 同 tag,桶初始化走
  应用启动 ensureBucket,三环境零分叉);init-secrets.sh 幂等追加 MinIO
  根凭证到 .env(凭证零入库,ADR-021)
- MediaUploadIntegrationTest 12 例:MinIO Testcontainer 全链路直传取回 +
  六类失败路径 + 库层约束一致性;uploading 超时清理只记方案(报告 13 §6)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-08 17:11:44 +08:00
lixi 3c671fcaf5 feat: 新建 patbond-community 模块骨架(ADR-017,T3-02)
CI / backend-test (push) Successful in 7m15s
社区服务 :8084 挂入父 pom 与 compose(第五容器,依赖 postgres 健康 + user
先起保证 V5 已执行);/api/v1/** 自骨架起接 RS256 资源侧校验(无 token/畸形/
错签/过期均 401+40101,user/pet 同款复制,P9 下沉待拍板);GET /health 探活
在 /api/v1 之外;.sample 配置模式;生产 classpath 无 Flyway,测试经 user jar
跑全链 V1..V5(pet 先例)。模块只读写 community schema。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-08 16:16:26 +08:00
lixi 0eae1c9bec feat: 新建 patbond-pet 模块骨架(ADR-009,T2-02 前置)
- 新 Maven 模块挂入父 pom,依赖/插件管理对齐既有 user/auth 模式
  (common 依赖、starter-web/validation/jdbc、exec classifier repackage)
- 骨架内容:PetApplication、/health 探活端点(含 DB 连通检查)、
  GlobalExceptionHandler(同一 {code,message,data} 信封契约)
- 与 user 共库只读写 pet_health schema;不携带 Flyway——单一迁移链
  (V1..V4)仍由 patbond-user 启动时统一执行,flyway_schema_history 不拆
- 配置走 .sample 模式(默认端口 8083,敏感信息经环境变量注入不入库)
- compose 编排纳入 pet 服务(依赖 postgres 健康 + user 先起保证迁移就绪);
  Dockerfile 与既有服务同模式;Readme 模块清单同步
- 测试:Testcontainers postgres:18 上下文启动冒烟 + /health 探活断言

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-07 14:34:52 +08:00
lixi c7ddaecb76 重构底层框架 2026-09-03 17:59:56 +08:00
nmbh1122@126.com 5a52b44d46 chore: move local configs to sample files 2026-07-20 16:22:54 +08:00
nmbh1122@126.com b1252b991d Initialize patbond microservice modules 2026-07-13 09:41:15 +08:00