From 41b96321febea9fc8261a8ad231daef1f26194a3 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Fri, 10 Jun 2022 17:19:51 +0200 Subject: [PATCH] feat(api): custom metrics config --- api/chalicelib/core/custom_metrics.py | 6 ++++-- api/schemas.py | 7 +++++++ 2 files changed, 11 insertions(+), 2 deletions(-) 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):