MCPcopy Create free account
hub / github.com/0xUnixIO/pulse / triggerUserApply

Method triggerUserApply

internal/serverapi/users.go:807–822  ·  view source on GitHub ↗

triggerUserApply 找出用户关联的所有节点并异步重新下发配置,用于凭证变更后生效。 实际下发是异步的(applyNodes 内部 go func + context.Background),调用方无法通过 ctx 控制; 这里不接收 ctx 以避免误导。

(userID string)

Source from the content-addressed store, hash-verified

805// 实际下发是异步的(applyNodes 内部 go func + context.Background),调用方无法通过 ctx 控制;
806// 这里不接收 ctx 以避免误导。
807func (a *userAPI) triggerUserApply(userID string) error {
808 inbounds, err := a.users.ListUserInboundsByUser(userID)
809 if err != nil {
810 return err
811 }
812 seen := make(map[string]struct{})
813 var nodeIDs []string
814 for _, ib := range inbounds {
815 if _, dup := seen[ib.NodeID]; !dup {
816 seen[ib.NodeID] = struct{}{}
817 nodeIDs = append(nodeIDs, ib.NodeID)
818 }
819 }
820 a.applyNodes(nodeIDs)
821 return nil
822}
823
824// applyNodes pushes config to affected nodes after inbound association changes.
825func (a *userAPI) applyNodes(nodeIDs []string) {

Callers 2

handleUpdateUserMethod · 0.95
handleUserCredentialsMethod · 0.95

Calls 2

applyNodesMethod · 0.95

Tested by

no test coverage detected