docs(游戏共创): 技术方案里提升共创授权的方法改为 PUT,与实现一致
- §2.6 流程图 A:`后续提升授权(POST fork-authorization,仅升)` → `后续提升授权(PUT /games/{gameId}/fork-authorization,仅升)`
- §3.4 作者路由表:`POST /games/{gameId}/fork-authorization`(新) → `PUT /games/{gameId}/fork-authorization`(新)
- 依据:实现侧(api-server `set_fork_authorization` 的 PUT 路由 + 前端 `updateGameForkAuthorization` 的 PUT + M1 实施计划 `PUT /api/game-distribution/games/{game_id}/fork-authorization`)一致为 PUT;表中路径沿用本节开头声明的 `/api/game-distribution` 命名空间,故未重复写前缀
- 顺手扫了全仓 `docs/`:除本文件这两处外没有其它把该路由写成 POST 的地方(`POST /games` 是既有的创建作品路由,与本次无关,未动)
This commit is contained in:
@@ -163,7 +163,7 @@ sequenceDiagram
|
||||
A->>API: (AGC 且授权非 forbidden)上传工程源包
|
||||
API->>API: 校验 zip(复用模板包门禁)→ OSS → version.project_bundle_*
|
||||
Note over A,API: 审核通过后作品公开,且可被改造
|
||||
A->>API: 后续提升授权(POST fork-authorization,仅升)
|
||||
A->>API: 后续提升授权(PUT /games/{gameId}/fork-authorization,仅升)
|
||||
```
|
||||
|
||||
**B. 用户一键改造(目标形态;成品包分支只到「试玩 + 素材」)**
|
||||
@@ -310,7 +310,7 @@ pub(crate) project_bundle_sha256: Option<String>,
|
||||
|
||||
| 方法 / 路径 | 说明 |
|
||||
| --- | --- |
|
||||
| `POST /games/{gameId}/fork-authorization`(新) | body `{ expectedForkAuthorization, forkAuthorization }` + `Idempotency-Key`;只允许提升;返回最新 `forkAuthorization` 与 `replayed` |
|
||||
| `PUT /games/{gameId}/fork-authorization`(新) | body `{ expectedForkAuthorization, forkAuthorization }` + `Idempotency-Key`;只允许提升;返回最新 `forkAuthorization` 与 `replayed` |
|
||||
| `PUT /versions/{versionId}/project-bundle`(新) | `application/octet-stream`,整包或复用现役分片族(`upload-state` / `chunk` / `complete`);服务端校验 zip 门禁后写 OSS 并确认。前置:调用者是该版本作者,且该版本尚**没有**工程包;**发布阶段**上传只要求版本归属,**补齐**场景额外要求该版本是作品当前公开版本且 `fork_authorization != forbidden` |
|
||||
| `GET /games/{gameId}/fork-source`(新) | 校验授权与来源可用性,返回 `{ gameId, versionId, bundleSha256, bundleBytes, downloadPath }`;`downloadPath` 为受鉴权网关路径,不是可匿名访问的对象键 |
|
||||
| `POST /games`(**既有,请求增量**) | 追加可选 `forkedFromGameId` / `forkedFromVersionId` |
|
||||
|
||||
Reference in New Issue
Block a user