MCPcopy Create free account
hub / github.com/compozy/agh / buildTaskBridgeNotificationSubscriptionRequest

Function buildTaskBridgeNotificationSubscriptionRequest

internal/cli/task.go:910–938  ·  view source on GitHub ↗
(
	input taskNotificationSubscribeInput,
)

Source from the content-addressed store, hash-verified

908}
909
910func buildTaskBridgeNotificationSubscriptionRequest(
911 input taskNotificationSubscribeInput,
912) (*TaskBridgeNotificationSubscriptionRequest, error) {
913 scope := bridgepkg.Scope(strings.TrimSpace(input.ScopeRaw)).Normalize()
914 if err := scope.Validate(); err != nil {
915 return nil, fmt.Errorf("cli: invalid notification scope: %w", err)
916 }
917 mode := bridgepkg.DeliveryMode(input.DeliveryModeRaw).Normalize()
918 if err := mode.Validate(); err != nil {
919 return nil, fmt.Errorf("cli: invalid delivery mode: %w", err)
920 }
921 request := TaskBridgeNotificationSubscriptionRequest{
922 SubscriptionID: strings.TrimSpace(input.SubscriptionID),
923 BridgeInstanceID: strings.TrimSpace(input.BridgeInstanceID),
924 Scope: scope,
925 WorkspaceID: strings.TrimSpace(input.WorkspaceID),
926 PeerID: strings.TrimSpace(input.PeerID),
927 ThreadID: strings.TrimSpace(input.ThreadID),
928 GroupID: strings.TrimSpace(input.GroupID),
929 DeliveryMode: mode,
930 }
931 if err := bridgepkg.ValidateScopeWorkspaceID(request.Scope, request.WorkspaceID); err != nil {
932 return nil, fmt.Errorf("cli: invalid notification scope: %w", err)
933 }
934 if strings.TrimSpace(request.PeerID) == "" && strings.TrimSpace(request.GroupID) == "" {
935 return nil, errors.New("cli: notification subscription requires --peer or --group")
936 }
937 return &request, nil
938}
939
940func buildTaskBridgeNotificationSubscriptionListQuery(
941 bridgeInstanceID string,

Callers 1

Calls 3

ScopeMethod · 0.80
ValidateMethod · 0.65
NormalizeMethod · 0.45

Tested by

no test coverage detected