Skip to content

实现房间的分页列表和详情#9

Open
greenpea30 wants to merge 1 commit intoQSCTech:mainfrom
greenpea30:feature/room-api
Open

实现房间的分页列表和详情#9
greenpea30 wants to merge 1 commit intoQSCTech:mainfrom
greenpea30:feature/room-api

Conversation

@greenpea30
Copy link
Copy Markdown

功能

  • 房间列表接口 GET /rooms
  • 房间详情接口 GET /rooms/{id}

优化

  • 优化 list 接口查询问题(批量查询 member count)防止多次访问SQL

修改

  • 将 preparePublicIDColumns 和 backfillPublicIDs 移至 AutoMigrate 之后执行(只有这样改我的go run ./cmd/server 才不会报错)

测试

  • 本地接口测试通过
  • 数据返回正常

@serein6174
Copy link
Copy Markdown
Collaborator

  1. GET /rooms/{id} 当前会向非房主返回 invite_code。本地实测 is_owner=false 时仍返回了邀请码。邀请码属于加入房间的能力凭证,建议只对房主和已加入成员返回,普通访客不返回。

  2. 房间详情的 members 目前按 room_id 查询,没有过滤成员状态。普通详情页建议只返回当前有效成员,即 status = 'joined'。如果后续需要查看 pending/removed/rejected 等状态,建议单独做成员管理接口,并加 owner/admin 权限。

  3. private 房间详情需要访问控制。列表接口只返回 public 房间,但详情接口只要知道 id 就可以查,建议 private 房间仅房主/已加入成员可见,或至少对非授权用户做敏感字段脱敏。

  4. 分页参数建议在 service/handler 层统一归一化和限制。后端目前没有强制裁剪;同时 page=0&page_size=0 这类输入可能导致实际查询和 response 回显不一致。

  5. public_id由房间模块承接。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants