diff --git a/api/chalicelib/core/custom_metrics.py b/api/chalicelib/core/custom_metrics.py index d6ebebc76..a2794f22e 100644 --- a/api/chalicelib/core/custom_metrics.py +++ b/api/chalicelib/core/custom_metrics.py @@ -228,9 +228,11 @@ def create(project_id, user_id, data: schemas.CreateCustomMetricsSchema, dashboa params = {"user_id": user_id, "project_id": project_id, **data.dict(), **_data} query = cur.mogrify(f"""\ WITH m AS (INSERT INTO metrics (project_id, user_id, name, is_public, - view_type, metric_type, metric_of, metric_value, metric_format) + view_type, metric_type, metric_of, metric_value, + metric_format, default_config) VALUES (%(project_id)s, %(user_id)s, %(name)s, %(is_public)s, - %(view_type)s, %(metric_type)s, %(metric_of)s, %(metric_value)s, %(metric_format)s) + %(view_type)s, %(metric_type)s, %(metric_of)s, %(metric_value)s, + %(metric_format)s, %(default_config)s) RETURNING *) INSERT INTO metric_series(metric_id, index, name, filter) diff --git a/api/schemas.py b/api/schemas.py index ab063a9b9..5c1a33927 100644 --- a/api/schemas.py +++ b/api/schemas.py @@ -874,8 +874,15 @@ class TryCustomMetricsPayloadSchema(CustomMetricChartPayloadSchema): alias_generator = attribute_to_camel_case +class CustomMetricsConfigSchema(BaseModel): + col: Optional[int] = Field(default=2) + row: Optional[int] = Field(default=2) + position: Optional[int] = Field(default=0) + + class CreateCustomMetricsSchema(TryCustomMetricsPayloadSchema): series: List[CustomMetricCreateSeriesSchema] = Field(..., min_items=1) + config: CustomMetricsConfigSchema = Field(default=CustomMetricsConfigSchema()) @root_validator(pre=True) def transform_series(cls, values):