feat: Filters for datasets enpoint

This commit is contained in:
2026-07-01 00:28:07 +05:00
parent 27a8d8b4f5
commit 8d9e11db0c
6 changed files with 136 additions and 40 deletions

View File

@@ -46,6 +46,33 @@ const (
DatasetStatusFailed = "failed"
)
// datasetStatuses is the set of valid dataset lifecycle statuses.
var datasetStatuses = map[string]struct{}{
DatasetStatusPending: {},
DatasetStatusParsing: {},
DatasetStatusProcessing: {},
DatasetStatusAwaitingMapping: {},
DatasetStatusExtracting: {},
DatasetStatusReady: {},
DatasetStatusFailed: {},
}
// ValidDatasetStatus reports whether s is a known dataset lifecycle status.
func ValidDatasetStatus(s string) bool {
_, ok := datasetStatuses[s]
return ok
}
// DatasetFilter holds optional filters for listing dataset summaries. A nil
// field places no constraint on that attribute; listings are always ordered by
// created_at descending regardless of the filter.
type DatasetFilter struct {
CategoryID *uuid.UUID
FileType *FileType
Automated *bool
Status *string
}
// Observation is a single unpivoted value from a dataset's attribute table,
// keyed by KATO code and date. Exactly one of Value / ValueText is typically
// set (numeric vs non-numeric cell); both may be nil for an empty cell.