Documentation
¶
Overview ¶
gen/handler/p2p/admin_p2_pservice.go — P2P 联邦管理面(2026-10-22 Wave B': 设备直传面整体拆除后,本文件只剩联邦四端点)。
hz 首生成桩后本文件转手写(模型引 contracts/gen/p2p,hzmodel 临时目录不落地)。 全部端点挂 /admin 组(AdminMiddleware),操作留审计;本层只做编排, 不代理文件流量。
2026-10-22 两应用分拆(Wave B'):设备直传(p2pc / p2pcweb)已拆为独立应用 **PigeonBeam(信鸽直传)**,Box 侧不再编排直传 —— 直传九端点 (status / tasks / tasks/:id/log / send / send/upload / recv / cancel / tasks/:id/approve / publish)与直传任务模型整体退役。
联邦实现**不再寄居直传包**:此前 invites / invite-push / directory 三个 纯联邦端点调 getP2px(),把「联邦」藏在「直传」包里 —— 删直传包会连带 删联邦(这正是两应用分拆稿 Wave B 的隐藏前提)。现在四个联邦端点直接 取联邦域实例(app/federation),联邦能力与直传彻底解耦。
最后一处运行期焊死(invites/accept 的第二步 spawn p2pc 收件)已解开: 认领退化为**纯信封动作** —— 出箱 + 留痕 + 返回信封;实际文件接收由 PigeonBeam 客户端完成(NAS 随包内嵌的 Beam 可经本 API 取走信封)。
p2_ppublic_service.go — 实例间推送邀请收件端点(P3,spec §14)。 hz 首生成桩后转手写(模型引 contracts/gen/p2p)。公开无鉴权(口令即 bearer——邀请体只有口令,资产即权限),归 download 限流桶;入箱幂等去重。
Index ¶
- func AdminP2pDirectory(ctx context.Context, c *app.RequestContext)
- func AdminP2pInviteAccept(ctx context.Context, c *app.RequestContext)
- func AdminP2pInvitePush(ctx context.Context, c *app.RequestContext)
- func AdminP2pInvites(ctx context.Context, c *app.RequestContext)
- func PostP2PInvite(ctx context.Context, c *app.RequestContext)
- func SetAuditWriter(fn func(ctx context.Context, action, target string, success bool))
- func SetFederationServices(mailbox *federation.InviteMailbox, directory *federation.PeerDirectory)
- func SetInviteNotifier(fn func(fromName, code, note string))
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AdminP2pDirectory ¶ added in v0.21.0
func AdminP2pDirectory(ctx context.Context, c *app.RequestContext)
AdminP2pDirectory 在线名录透传(联邦节点名录:发送卡对端选择器消费; p2pd 名录零敏感,本层不改写)。 @router /admin/p2p/directory [GET]
func AdminP2pInviteAccept ¶ added in v0.20.0
func AdminP2pInviteAccept(ctx context.Context, c *app.RequestContext)
AdminP2pInviteAccept 认领邀请(**纯信封**:出箱 + 留痕 + 返回信封)。
Wave B' 前的第二步是 spawn p2pc 收件 —— 那是「联邦」与「直传」在运行期 焊死的最后一处。Box 侧拆除直传编排后,认领不再发起任何直传运行时: 文件接收由 PigeonBeam 客户端完成(NAS 随包内嵌的 Beam 经本 API 取信封)。 @router /admin/p2p/invites/accept [POST]
func AdminP2pInvitePush ¶ added in v0.20.0
func AdminP2pInvitePush(ctx context.Context, c *app.RequestContext)
AdminP2pInvitePush 把口令推送到目标实例(免口令交接)。 @router /admin/p2p/invite-push [POST]
func AdminP2pInvites ¶ added in v0.20.0
func AdminP2pInvites(ctx context.Context, c *app.RequestContext)
AdminP2pInvites 待收邀请列表(联邦信封箱)。 @router /admin/p2p/invites [GET]
func PostP2PInvite ¶ added in v0.20.0
func PostP2PInvite(ctx context.Context, c *app.RequestContext)
PostP2PInvite 接收来自其他实例的直传邀请。 @router /api/v1/p2p/invite [POST]
func SetAuditWriter ¶
SetAuditWriter 注入审计写者(wiring 装配)。
func SetFederationServices ¶ added in v0.27.0
func SetFederationServices(mailbox *federation.InviteMailbox, directory *federation.PeerDirectory)
SetFederationServices 注入联邦收件箱与名录(bootstrap/wiring 调用)。
func SetInviteNotifier ¶ added in v0.21.0
func SetInviteNotifier(fn func(fromName, code, note string))
SetInviteNotifier 注入邀请到达通知器(bootstrap/wiring 调用)。
Types ¶
This section is empty.