Support species height and width ranges
CI / test (push) Failing after 3m6s

This commit is contained in:
2026-09-16 20:21:41 +02:00
parent 87809b2344
commit ef608551ad
14 changed files with 271 additions and 69 deletions
+38 -24
View File
@@ -177,19 +177,24 @@ type UpdateGardenInput struct {
// Species describes global or garden-specific plant master data.
type Species struct {
ID int `json:"id"`
GardenID *int `json:"garden_id,omitempty"`
CommonName string `json:"common_name"`
Cultivar string `json:"cultivar"`
BotanicalName string `json:"botanical_name"`
CategoryID *int `json:"category_id,omitempty"`
Category string `json:"category"`
SunExposure *string `json:"sun_exposure,omitempty"`
SoilCondition *string `json:"soil_condition,omitempty"`
SoilReaction *string `json:"soil_reaction,omitempty"`
WinterProtection *string `json:"winter_protection,omitempty"`
SpacingCM *int `json:"spacing_cm,omitempty"`
ID int `json:"id"`
GardenID *int `json:"garden_id,omitempty"`
CommonName string `json:"common_name"`
Cultivar string `json:"cultivar"`
BotanicalName string `json:"botanical_name"`
CategoryID *int `json:"category_id,omitempty"`
Category string `json:"category"`
SunExposure *string `json:"sun_exposure,omitempty"`
SoilCondition *string `json:"soil_condition,omitempty"`
SoilReaction *string `json:"soil_reaction,omitempty"`
WinterProtection *string `json:"winter_protection,omitempty"`
SpacingCM *int `json:"spacing_cm,omitempty"`
// HeightCM is retained as a deprecated API alias for HeightCMTo.
HeightCM *int `json:"height_cm,omitempty"`
HeightCMFrom *int `json:"height_cm_from,omitempty"`
HeightCMTo *int `json:"height_cm_to,omitempty"`
WidthCMFrom *int `json:"width_cm_from,omitempty"`
WidthCMTo *int `json:"width_cm_to,omitempty"`
SowMonthFrom *int `json:"sow_month_from,omitempty"`
SowDayFrom *int `json:"sow_day_from,omitempty"`
SowMonthTo *int `json:"sow_month_to,omitempty"`
@@ -216,19 +221,28 @@ type Species struct {
// SpeciesInput contains optional species fields used for creation and updates.
type SpeciesInput struct {
Global bool `json:"global,omitempty"`
Tags []string `json:"tags,omitempty"`
CommonName *string `json:"common_name,omitempty"`
Cultivar *string `json:"cultivar,omitempty"`
BotanicalName *string `json:"botanical_name,omitempty"`
CategoryID *int `json:"category_id,omitempty"`
ClearCategoryID bool `json:"clear_category_id,omitempty"`
SunExposure *string `json:"sun_exposure,omitempty"`
SoilCondition *string `json:"soil_condition,omitempty"`
SoilReaction *string `json:"soil_reaction,omitempty"`
WinterProtection *string `json:"winter_protection,omitempty"`
SpacingCM *int `json:"spacing_cm,omitempty"`
Global bool `json:"global,omitempty"`
Tags []string `json:"tags,omitempty"`
CommonName *string `json:"common_name,omitempty"`
Cultivar *string `json:"cultivar,omitempty"`
BotanicalName *string `json:"botanical_name,omitempty"`
CategoryID *int `json:"category_id,omitempty"`
ClearCategoryID bool `json:"clear_category_id,omitempty"`
SunExposure *string `json:"sun_exposure,omitempty"`
SoilCondition *string `json:"soil_condition,omitempty"`
SoilReaction *string `json:"soil_reaction,omitempty"`
WinterProtection *string `json:"winter_protection,omitempty"`
SpacingCM *int `json:"spacing_cm,omitempty"`
// HeightCM is retained for compatibility; new code should use HeightCMTo.
HeightCM *int `json:"height_cm,omitempty"`
HeightCMFrom *int `json:"height_cm_from,omitempty"`
HeightCMTo *int `json:"height_cm_to,omitempty"`
WidthCMFrom *int `json:"width_cm_from,omitempty"`
WidthCMTo *int `json:"width_cm_to,omitempty"`
ClearHeightCMFrom bool `json:"clear_height_cm_from,omitempty"`
ClearHeightCMTo bool `json:"clear_height_cm_to,omitempty"`
ClearWidthCMFrom bool `json:"clear_width_cm_from,omitempty"`
ClearWidthCMTo bool `json:"clear_width_cm_to,omitempty"`
SowMonthFrom *int `json:"sow_month_from,omitempty"`
SowDayFrom *int `json:"sow_day_from,omitempty"`
ClearSowDayFrom bool `json:"clear_sow_day_from,omitempty"`