(ctx context.Context, scope, kind, ruleID string, device *userapi.Device, userAPI userapi.ClientUserAPI)
| 161 | } |
| 162 | |
| 163 | func DeletePushRuleByRuleID(ctx context.Context, scope, kind, ruleID string, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse { |
| 164 | ruleSets, err := queryPushRules(ctx, device.UserID, userAPI) |
| 165 | if err != nil { |
| 166 | return errorResponse(ctx, err, "queryPushRules failed") |
| 167 | } |
| 168 | ruleSet := pushRuleSetByScope(ruleSets, pushrules.Scope(scope)) |
| 169 | if ruleSet == nil { |
| 170 | return errorResponse(ctx, jsonerror.InvalidArgumentValue("invalid push rule set"), "pushRuleSetByScope failed") |
| 171 | } |
| 172 | rulesPtr := pushRuleSetKindPointer(ruleSet, pushrules.Kind(kind)) |
| 173 | if rulesPtr == nil { |
| 174 | return errorResponse(ctx, jsonerror.InvalidArgumentValue("invalid push rules kind"), "pushRuleSetKindPointer failed") |
| 175 | } |
| 176 | i := pushRuleIndexByID(*rulesPtr, ruleID) |
| 177 | if i < 0 { |
| 178 | return errorResponse(ctx, jsonerror.NotFound("push rule ID not found"), "pushRuleIndexByID failed") |
| 179 | } |
| 180 | |
| 181 | *rulesPtr = append((*rulesPtr)[:i], (*rulesPtr)[i+1:]...) |
| 182 | |
| 183 | if err := putPushRules(ctx, device.UserID, ruleSets, userAPI); err != nil { |
| 184 | return errorResponse(ctx, err, "putPushRules failed") |
| 185 | } |
| 186 | |
| 187 | return util.JSONResponse{Code: http.StatusOK, JSON: struct{}{}} |
| 188 | } |
| 189 | |
| 190 | func GetPushRuleAttrByRuleID(ctx context.Context, scope, kind, ruleID, attr string, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse { |
| 191 | attrGet, err := pushRuleAttrGetter(attr) |
no test coverage detected