feat: add has-ai-task filters to the /workspaces and /templates endpoints (#18387)

This PR allows filtering templates and workspaces with the `has-ai-task`
filter as described in the [Coder Tasks
RFC](https://www.notion.so/coderhq/Coder-Tasks-207d579be5928053ab68c8d9a4b59eaa?source=copy_link#20ad579be59280e6a000eb0646d3c2df).
This commit is contained in:
Hugo Dutka
2025-06-18 18:22:45 +02:00
committed by GitHub
parent 56ff0fb65a
commit 591f5db5f6
16 changed files with 431 additions and 51 deletions

View File

@ -146,6 +146,7 @@ func Workspaces(ctx context.Context, db database.Store, query string, page coder
// which will return all workspaces.
Valid: values.Has("outdated"),
}
filter.HasAITask = parser.NullableBoolean(values, sql.NullBool{}, "has-ai-task")
filter.OrganizationID = parseOrganization(ctx, db, parser, values, "organization")
type paramMatch struct {
@ -206,6 +207,7 @@ func Templates(ctx context.Context, db database.Store, query string) (database.G
IDs: parser.UUIDs(values, []uuid.UUID{}, "ids"),
Deprecated: parser.NullableBoolean(values, sql.NullBool{}, "deprecated"),
OrganizationID: parseOrganization(ctx, db, parser, values, "organization"),
HasAITask: parser.NullableBoolean(values, sql.NullBool{}, "has-ai-task"),
}
parser.ErrorExcessParams(values)