mirror of
https://github.com/SigNoz/signoz.git
synced 2026-07-02 21:00:38 +01:00
* fix: change schema properties based on UI integration review * fix: check that panels referred in layouts exist * chore: extract out validate panels method * test: add test for missing spec prefix in layout * fix: reject dashbaords that have vars with the same name * fix: add additional error info on patch application error * fix: add validations to list variable that text variable has * fix: replicate text variable spec in signoz to make name required * chore: replicate variable.sort into signoz * chore: remove unsupported enum values (causing errors right now) * chore: fix variable sort type errors * fix: add back enum values * fix: reject single-element list default when allowMultiple is false in list variables * fix: remove unused import * fix: make display required * chore: make queries non-nullable * fix: properly define default value and datasource plugin spec's api specs * fix: promote variable defaultValue to a named oneOf component The list variable defaultValue was an inline string | []string oneOf, which downstream codegen can't canonicalize: tfplugingen-openapi rejects the inline scalar-or-array multi-type, and oapi-codegen has no named type to attach the union's Marshal/UnmarshalJSON to. Shape the vendored variable.DefaultValue as the named VariableDefaultValue oneOf via a reflector InterceptSchema hook and let defaultValue $ref it, instead of overriding the property inline. Regenerate the OpenAPI spec and frontend client accordingly. * refactor: move VariableDefaultValue oneOf into dashboardtypes Define VariableDefaultValue in dashboardtypes as a subclass of the perses variable.DefaultValue and attach the string | []string oneOf via its own PrepareJSONSchema, instead of shaping the perses type from an openapi.go InterceptSchema hook. This keeps the union's schema next to its type. The named component is now DashboardtypesVariableDefaultValue; regenerate the OpenAPI spec and frontend client accordingly. --------- Co-authored-by: Ashwin Bhatkal <ashwin96@gmail.com> Co-authored-by: grandwizard28 <vibhupandey28@gmail.com>