MCPcopy Create free account
hub / github.com/daodst/chat / GetPushRuleByRuleID

Function GetPushRuleByRuleID

clientapi/routing/pushrules.go:78–99  ·  view source on GitHub ↗
(ctx context.Context, scope, kind, ruleID string, device *userapi.Device, userAPI userapi.ClientUserAPI)

Source from the content-addressed store, hash-verified

76}
77
78func GetPushRuleByRuleID(ctx context.Context, scope, kind, ruleID string, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse {
79 ruleSets, err := queryPushRules(ctx, device.UserID, userAPI)
80 if err != nil {
81 return errorResponse(ctx, err, "queryPushRules failed")
82 }
83 ruleSet := pushRuleSetByScope(ruleSets, pushrules.Scope(scope))
84 if ruleSet == nil {
85 return errorResponse(ctx, jsonerror.InvalidArgumentValue("invalid push rule set"), "pushRuleSetByScope failed")
86 }
87 rulesPtr := pushRuleSetKindPointer(ruleSet, pushrules.Kind(kind))
88 if rulesPtr == nil {
89 return errorResponse(ctx, jsonerror.InvalidArgumentValue("invalid push rules kind"), "pushRuleSetKindPointer failed")
90 }
91 i := pushRuleIndexByID(*rulesPtr, ruleID)
92 if i < 0 {
93 return errorResponse(ctx, jsonerror.NotFound("push rule ID not found"), "pushRuleIndexByID failed")
94 }
95 return util.JSONResponse{
96 Code: http.StatusOK,
97 JSON: (*rulesPtr)[i],
98 }
99}
100
101func PutPushRuleByRuleID(ctx context.Context, scope, kind, ruleID, afterRuleID, beforeRuleID string, body io.Reader, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse {
102 var newRule pushrules.Rule

Callers 1

SetupFunction · 0.85

Calls 5

queryPushRulesFunction · 0.85
errorResponseFunction · 0.85
pushRuleSetByScopeFunction · 0.85
pushRuleSetKindPointerFunction · 0.85
pushRuleIndexByIDFunction · 0.85

Tested by

no test coverage detected