diff --git a/internal/bundb/group.go b/internal/bundb/group.go index 7bea9fd..a7efdf4 100644 --- a/internal/bundb/group.go +++ b/internal/bundb/group.go @@ -86,6 +86,10 @@ func (g *Group) List(ctx context.Context, params domain.ListGroupsParams) ([]dom } func (g *Group) Delete(ctx context.Context, id, serverID string) error { + if _, err := uuid.Parse(id); err != nil { + return domain.GroupNotFoundError{ID: id} + } + res, err := g.db.NewDelete(). Model(&model.Group{}). Returning("NULL"). diff --git a/internal/bundb/group_test.go b/internal/bundb/group_test.go index 0d54404..bff391c 100644 --- a/internal/bundb/group_test.go +++ b/internal/bundb/group_test.go @@ -210,6 +210,13 @@ func TestGroup_Delete(t *testing.T) { assert.Len(t, groups, 0) }) + t.Run("ERR: invalid UUID", func(t *testing.T) { + t.Parallel() + + id := "12345" + assert.ErrorIs(t, repo.Delete(context.Background(), id, ""), domain.GroupNotFoundError{ID: id}) + }) + t.Run("ERR: group not found (unknown ID)", func(t *testing.T) { t.Parallel()