@@ -15,71 +15,59 @@ func faultyPred[T models.Faulty](t T) bool {
1515}
1616
1717var categoryHandlers = map [domain.Category ]func (logging.Logger , * models.Dataset , * domain.ToolkitContext , string , bool ) []table.Row {
18- domain .Alias : func (_ logging.Logger , _ * models.Dataset , _ * domain.ToolkitContext , filter string , _ bool ) []table.Row {
19- return filterRows (domain .Categories , filter , nil , aliasToRow )
18+ domain .Alias : func (_ logging.Logger , _ * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
19+ return filterRows (domain .Categories , filter , faultyOnly , aliasToRow )
2020 },
2121 domain .Tenant : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
22- var pred func (models.Tenant ) bool
23- if faultyOnly {
24- pred = faultyPred
25- }
26- return filterRows (dataset .Tenants , filter , pred , tenantToRow )
22+ return filterRows (dataset .Tenants , filter , faultyOnly , tenantToRow )
2723 },
28- domain .LimitDefinition : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , _ bool ) []table.Row {
29- return filterRows (dataset .LimitDefinitionGroup .Values , filter , nil , limitDefinitionToRow )
24+ domain .LimitDefinition : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
25+ return filterRows (dataset .LimitDefinitionGroup .Values , filter , faultyOnly , limitDefinitionToRow )
3026 },
31- domain .ConsolePropertyDefinition : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , _ bool ) []table.Row {
32- return filterRows (dataset .ConsolePropertyDefinitionGroup .Values , filter , nil , definitionToRow )
27+ domain .ConsolePropertyDefinition : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
28+ return filterRows (dataset .ConsolePropertyDefinitionGroup .Values , filter , faultyOnly , definitionToRow )
3329 },
34- domain .PropertyDefinition : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , _ bool ) []table.Row {
35- return filterRows (dataset .PropertyDefinitionGroup .Values , filter , nil , definitionToRow )
30+ domain .PropertyDefinition : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
31+ return filterRows (dataset .PropertyDefinitionGroup .Values , filter , faultyOnly , definitionToRow )
3632 },
37- domain .LimitTenancyOverride : func (logger logging.Logger , dataset * models.Dataset , context * domain.ToolkitContext , filter string , _ bool ) []table.Row {
38- return GetScopedItems (dataset .LimitTenancyOverrideMap , domain .Tenant , context , filter , nil , limitTenancyOverrideToRow )
33+ domain .LimitTenancyOverride : func (logger logging.Logger , dataset * models.Dataset , context * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
34+ return filterRowsScoped (dataset .LimitTenancyOverrideMap , domain .Tenant , context , filter , faultyOnly , limitTenancyOverrideToRow )
3935 },
40- domain .ConsolePropertyTenancyOverride : func (logger logging.Logger , dataset * models.Dataset , context * domain.ToolkitContext , filter string , _ bool ) []table.Row {
41- return GetScopedItems (dataset .ConsolePropertyTenancyOverrideMap , domain .Tenant , context , filter , nil , propertyTenancyOverrideToRow )
36+ domain .ConsolePropertyTenancyOverride : func (logger logging.Logger , dataset * models.Dataset , context * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
37+ return filterRowsScoped (dataset .ConsolePropertyTenancyOverrideMap , domain .Tenant , context , filter , faultyOnly , propertyTenancyOverrideToRow )
4238 },
43- domain .PropertyTenancyOverride : func (logger logging.Logger , dataset * models.Dataset , context * domain.ToolkitContext , filter string , _ bool ) []table.Row {
44- return GetScopedItems (dataset .PropertyTenancyOverrideMap , domain .Tenant , context , filter , nil , propertyTenancyOverrideToRow )
39+ domain .PropertyTenancyOverride : func (logger logging.Logger , dataset * models.Dataset , context * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
40+ return filterRowsScoped (dataset .PropertyTenancyOverrideMap , domain .Tenant , context , filter , faultyOnly , propertyTenancyOverrideToRow )
4541 },
46- domain .LimitRegionalOverride : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , _ bool ) []table.Row {
47- return filterRows (dataset .LimitRegionalOverrides , filter , nil , limitRegionalOverrideToRow )
42+ domain .LimitRegionalOverride : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
43+ return filterRows (dataset .LimitRegionalOverrides , filter , faultyOnly , limitRegionalOverrideToRow )
4844 },
49- domain .ConsolePropertyRegionalOverride : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , _ bool ) []table.Row {
50- return filterRows (dataset .ConsolePropertyRegionalOverrides , filter , nil , propertyRegionalOverrideToRow )
45+ domain .ConsolePropertyRegionalOverride : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
46+ return filterRows (dataset .ConsolePropertyRegionalOverrides , filter , faultyOnly , propertyRegionalOverrideToRow )
5147 },
52- domain .PropertyRegionalOverride : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , _ bool ) []table.Row {
53- return filterRows (dataset .PropertyRegionalOverrides , filter , nil , propertyRegionalOverrideToRow )
48+ domain .PropertyRegionalOverride : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
49+ return filterRows (dataset .PropertyRegionalOverrides , filter , faultyOnly , propertyRegionalOverrideToRow )
5450 },
55- domain .BaseModel : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , _ bool ) []table.Row {
56- return getBaseModels (dataset .BaseModelMap , filter )
51+ domain .BaseModel : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
52+ return getBaseModels (dataset .BaseModelMap , filter , faultyOnly )
5753 },
58- domain .ModelArtifact : func (logger logging.Logger , dataset * models.Dataset , context * domain.ToolkitContext , filter string , _ bool ) []table.Row {
59- return GetScopedItems (dataset .ModelArtifactMap , domain .BaseModel , context , filter , nil , modelArtifactToRow )
54+ domain .ModelArtifact : func (logger logging.Logger , dataset * models.Dataset , context * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
55+ return filterRowsScoped (dataset .ModelArtifactMap , domain .BaseModel , context , filter , faultyOnly , modelArtifactToRow )
6056 },
61- domain .Environment : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , _ bool ) []table.Row {
62- return filterRows (dataset .Environments , filter , nil , environmentToRow )
57+ domain .Environment : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
58+ return filterRows (dataset .Environments , filter , faultyOnly , environmentToRow )
6359 },
64- domain .ServiceTenancy : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , _ bool ) []table.Row {
65- return filterRows (dataset .ServiceTenancies , filter , nil , serviceTenancyToRow )
60+ domain .ServiceTenancy : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
61+ return filterRows (dataset .ServiceTenancies , filter , faultyOnly , serviceTenancyToRow )
6662 },
67- domain .GpuPool : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , _ bool ) []table.Row {
68- return filterRows (dataset .GpuPools , filter , nil , gpuPoolToRow )
63+ domain .GpuPool : func (_ logging.Logger , dataset * models.Dataset , _ * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
64+ return filterRows (dataset .GpuPools , filter , faultyOnly , gpuPoolToRow )
6965 },
7066 domain .GpuNode : func (logger logging.Logger , dataset * models.Dataset , context * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
71- var pred func (models.GpuNode ) bool
72- if faultyOnly {
73- pred = faultyPred
74- }
75- return GetScopedItems (dataset .GpuNodeMap , domain .GpuPool , context , filter , pred , gpuNodeToRow )
67+ return filterRowsScoped (dataset .GpuNodeMap , domain .GpuPool , context , filter , faultyOnly , gpuNodeToRow )
7668 },
7769 domain .DedicatedAICluster : func (logger logging.Logger , dataset * models.Dataset , context * domain.ToolkitContext , filter string , faultyOnly bool ) []table.Row {
78- var pred func (models.DedicatedAICluster ) bool
79- if faultyOnly {
80- pred = faultyPred
81- }
82- return GetScopedItems (dataset .DedicatedAIClusterMap , domain .Tenant , context , filter , pred , dedicatedAIClusterToRow )
70+ return filterRowsScoped (dataset .DedicatedAIClusterMap , domain .Tenant , context , filter , faultyOnly , dedicatedAIClusterToRow )
8371 },
8472}
8573
@@ -119,7 +107,12 @@ func getTableRows(logger logging.Logger, dataset *models.Dataset, category domai
119107filterRows filters a slice of items using the provided filter and row function.
120108It returns a slice of table.Row for items that match the filter.
121109*/
122- func filterRows [T models.NamedFilterable ](items []T , filter string , pred func (T ) bool , rowFn func (T ) table.Row ) []table.Row {
110+ func filterRows [T models.NamedFilterable ](items []T , filter string , faultyOnly bool , rowFn func (T ) table.Row ) []table.Row {
111+ var pred func (T ) bool
112+ if faultyOnly {
113+ pred = faultyPred
114+ }
115+
123116 matches := collections .FilterSlice (items , nil , filter , pred )
124117 results := make ([]table.Row , 0 , len (matches ))
125118 for _ , m := range matches {
@@ -131,23 +124,23 @@ func filterRows[T models.NamedFilterable](items []T, filter string, pred func(T)
131124/*
132125getBaseModels returns table rows for a map of BaseModel, filtered by the provided filter string.
133126*/
134- func getBaseModels (m map [string ]* models.BaseModel , filter string ) []table.Row {
127+ func getBaseModels (m map [string ]* models.BaseModel , filter string , faultyOnly bool ) []table.Row {
135128 baseModels := make ([]* models.BaseModel , 0 , len (m ))
136129 for _ , model := range m {
137130 baseModels = append (baseModels , model )
138131 }
139132
140- return filterRows (baseModels , filter , nil , baseModelToRow )
133+ return filterRows (baseModels , filter , faultyOnly , baseModelToRow )
141134}
142135
143- // GetScopedItems is used for tenancy and other scoped overrides.
136+ // filterRowsScoped is used for tenancy and other scoped overrides.
144137// Accepts a Logger interface for decoupling from zap.
145- func GetScopedItems [T models.NamedFilterable ](
138+ func filterRowsScoped [T models.NamedFilterable ](
146139 g map [string ][]T ,
147140 scopeCategory domain.Category ,
148141 ctx * domain.ToolkitContext ,
149142 filter string ,
150- pred func ( T ) bool ,
143+ faultyOnly bool ,
151144 rowFn func (T , string ) table.Row ,
152145) []table.Row {
153146 var (
@@ -163,6 +156,10 @@ func GetScopedItems[T models.NamedFilterable](
163156 }
164157 }
165158
159+ var pred func (T ) bool
160+ if faultyOnly {
161+ pred = faultyPred
162+ }
166163 matches := collections .FilterMap (g , key , name , filter , pred )
167164 results := make ([]table.Row , 0 , len (matches ))
168165 for key , m := range matches {
0 commit comments