diff --git a/algolia/search/utils.go b/algolia/search/utils.go index e207b3935..46fbab958 100644 --- a/algolia/search/utils.go +++ b/algolia/search/utils.go @@ -103,6 +103,9 @@ func hasObjectID(object interface{}) bool { } func getScopeFromTaskID(taskID int64) (string, error) { + if taskID < 1000 { + return "index", nil + } scopeID := (taskID / 10) % 100 switch scopeID { case 0: @@ -114,6 +117,6 @@ func getScopeFromTaskID(taskID int64) (string, error) { case 3: return "recommend", nil default: - return "", fmt.Errorf("invalid taskID scope") + return "", fmt.Errorf("invalid taskID scope: %d", scopeID) } } diff --git a/algolia/search/utils_test.go b/algolia/search/utils_test.go index b77fab17f..56445c0c7 100644 --- a/algolia/search/utils_test.go +++ b/algolia/search/utils_test.go @@ -58,14 +58,17 @@ func TestGetScopeFromTaskID(t *testing.T) { for _, c := range []struct { taskID int64 expectedScope string + expectedError error }{ - {4001, "index"}, - {4011, "app"}, - {4021, "metis"}, - {4031, "recommend"}, + {123, "index", nil}, + {4001, "index", nil}, + {4011, "app", nil}, + {4021, "metis", nil}, + {4031, "recommend", nil}, + {4041, "", fmt.Errorf("invalid taskID scope: 4")}, } { scope, err := getScopeFromTaskID(c.taskID) - require.NoError(t, err) require.Equal(t, c.expectedScope, scope) + require.Equal(t, c.expectedError, err) } }