refactored(chalice): optimized search-product-analytics-cards
fix(chalice): fixed search-product-analytics-cards
This commit is contained in:
parent
45b8bdef8a
commit
0a5856afe1
2 changed files with 60 additions and 154 deletions
|
|
@ -378,21 +378,6 @@ def search_metrics(project_id, user_id, data: schemas.MetricSearchSchema, includ
|
||||||
)
|
)
|
||||||
|
|
||||||
with pg_client.PostgresClient() as cur:
|
with pg_client.PostgresClient() as cur:
|
||||||
count_query = cur.mogrify(
|
|
||||||
f"""SELECT COUNT(*)
|
|
||||||
FROM metrics
|
|
||||||
LEFT JOIN LATERAL (
|
|
||||||
SELECT email AS owner_email, name AS owner_name
|
|
||||||
FROM users
|
|
||||||
WHERE deleted_at ISNULL
|
|
||||||
AND users.user_id = metrics.user_id
|
|
||||||
) AS owner ON (TRUE)
|
|
||||||
WHERE {" AND ".join(constraints)};""",
|
|
||||||
params
|
|
||||||
)
|
|
||||||
cur.execute(count_query)
|
|
||||||
total = cur.fetchone()["count"]
|
|
||||||
|
|
||||||
sub_join = ""
|
sub_join = ""
|
||||||
if include_series:
|
if include_series:
|
||||||
sub_join = """LEFT JOIN LATERAL (
|
sub_join = """LEFT JOIN LATERAL (
|
||||||
|
|
@ -402,7 +387,8 @@ def search_metrics(project_id, user_id, data: schemas.MetricSearchSchema, includ
|
||||||
AND metric_series.deleted_at ISNULL
|
AND metric_series.deleted_at ISNULL
|
||||||
) AS metric_series ON (TRUE)"""
|
) AS metric_series ON (TRUE)"""
|
||||||
|
|
||||||
sort_column = data.sort.field if data.sort.field is not None else "created_at"
|
sort_column = data.sort.field if data.sort.field is not None and len(data.sort.field) > 0 \
|
||||||
|
else "created_at"
|
||||||
# change ascend to asc and descend to desc
|
# change ascend to asc and descend to desc
|
||||||
sort_order = data.sort.order.value if hasattr(data.sort.order, "value") else data.sort.order
|
sort_order = data.sort.order.value if hasattr(data.sort.order, "value") else data.sort.order
|
||||||
if sort_order == "ascend":
|
if sort_order == "ascend":
|
||||||
|
|
@ -411,7 +397,7 @@ def search_metrics(project_id, user_id, data: schemas.MetricSearchSchema, includ
|
||||||
sort_order = "desc"
|
sort_order = "desc"
|
||||||
|
|
||||||
query = cur.mogrify(
|
query = cur.mogrify(
|
||||||
f"""SELECT metric_id, project_id, user_id, name, is_public, created_at, edited_at,
|
f"""SELECT count(1) OVER () AS total,metric_id, project_id, user_id, name, is_public, created_at, edited_at,
|
||||||
metric_type, metric_of, metric_format, metric_value, view_type, is_pinned,
|
metric_type, metric_of, metric_format, metric_value, view_type, is_pinned,
|
||||||
dashboards, owner_email, owner_name, default_config AS config, thumbnail
|
dashboards, owner_email, owner_name, default_config AS config, thumbnail
|
||||||
FROM metrics
|
FROM metrics
|
||||||
|
|
@ -441,15 +427,21 @@ def search_metrics(project_id, user_id, data: schemas.MetricSearchSchema, includ
|
||||||
)
|
)
|
||||||
cur.execute(query)
|
cur.execute(query)
|
||||||
rows = cur.fetchall()
|
rows = cur.fetchall()
|
||||||
|
if len(rows) > 0:
|
||||||
|
total = rows[0]["total"]
|
||||||
if include_series:
|
if include_series:
|
||||||
for r in rows:
|
for r in rows:
|
||||||
|
r.pop("total")
|
||||||
for s in r.get("series", []):
|
for s in r.get("series", []):
|
||||||
s["filter"] = helper.old_search_payload_to_flat(s["filter"])
|
s["filter"] = helper.old_search_payload_to_flat(s["filter"])
|
||||||
else:
|
else:
|
||||||
for r in rows:
|
for r in rows:
|
||||||
|
r.pop("total")
|
||||||
r["created_at"] = TimeUTC.datetime_to_timestamp(r["created_at"])
|
r["created_at"] = TimeUTC.datetime_to_timestamp(r["created_at"])
|
||||||
r["edited_at"] = TimeUTC.datetime_to_timestamp(r["edited_at"])
|
r["edited_at"] = TimeUTC.datetime_to_timestamp(r["edited_at"])
|
||||||
rows = helper.list_to_camel_case(rows)
|
rows = helper.list_to_camel_case(rows)
|
||||||
|
else:
|
||||||
|
total = 0
|
||||||
|
|
||||||
return {"total": total, "list": rows}
|
return {"total": total, "list": rows}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,31 +10,22 @@ public_app, app, app_apikey = get_routers()
|
||||||
|
|
||||||
|
|
||||||
@app.post("/{projectId}/dashboards", tags=["dashboard"])
|
@app.post("/{projectId}/dashboards", tags=["dashboard"])
|
||||||
def create_dashboards(
|
def create_dashboards(projectId: int, data: schemas.CreateDashboardSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
data: schemas.CreateDashboardSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return dashboards.create_dashboard(
|
return dashboards.create_dashboard(
|
||||||
project_id=projectId, user_id=context.user_id, data=data
|
project_id=projectId, user_id=context.user_id, data=data
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@app.get("/{projectId}/dashboards", tags=["dashboard"])
|
@app.get("/{projectId}/dashboards", tags=["dashboard"])
|
||||||
def get_dashboards(
|
def get_dashboards(projectId: int, context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
projectId: int, context: schemas.CurrentContext = Depends(OR_context)
|
|
||||||
):
|
|
||||||
return {
|
return {
|
||||||
"data": dashboards.get_dashboards(project_id=projectId, user_id=context.user_id)
|
"data": dashboards.get_dashboards(project_id=projectId, user_id=context.user_id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@app.get("/{projectId}/dashboards/{dashboardId}", tags=["dashboard"])
|
@app.get("/{projectId}/dashboards/{dashboardId}", tags=["dashboard"])
|
||||||
def get_dashboard(
|
def get_dashboard(projectId: int, dashboardId: int, context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
projectId: int,
|
|
||||||
dashboardId: int,
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
data = dashboards.get_dashboard(
|
data = dashboards.get_dashboard(
|
||||||
project_id=projectId, user_id=context.user_id, dashboard_id=dashboardId
|
project_id=projectId, user_id=context.user_id, dashboard_id=dashboardId
|
||||||
)
|
)
|
||||||
|
|
@ -44,12 +35,8 @@ def get_dashboard(
|
||||||
|
|
||||||
|
|
||||||
@app.put("/{projectId}/dashboards/{dashboardId}", tags=["dashboard"])
|
@app.put("/{projectId}/dashboards/{dashboardId}", tags=["dashboard"])
|
||||||
def update_dashboard(
|
def update_dashboard(projectId: int, dashboardId: int, data: schemas.EditDashboardSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
dashboardId: int,
|
|
||||||
data: schemas.EditDashboardSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return {
|
return {
|
||||||
"data": dashboards.update_dashboard(
|
"data": dashboards.update_dashboard(
|
||||||
project_id=projectId,
|
project_id=projectId,
|
||||||
|
|
@ -61,23 +48,15 @@ def update_dashboard(
|
||||||
|
|
||||||
|
|
||||||
@app.delete("/{projectId}/dashboards/{dashboardId}", tags=["dashboard"])
|
@app.delete("/{projectId}/dashboards/{dashboardId}", tags=["dashboard"])
|
||||||
def delete_dashboard(
|
def delete_dashboard(projectId: int, dashboardId: int, _=Body(None),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
dashboardId: int,
|
|
||||||
_=Body(None),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return dashboards.delete_dashboard(
|
return dashboards.delete_dashboard(
|
||||||
project_id=projectId, user_id=context.user_id, dashboard_id=dashboardId
|
project_id=projectId, user_id=context.user_id, dashboard_id=dashboardId
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@app.get("/{projectId}/dashboards/{dashboardId}/pin", tags=["dashboard"])
|
@app.get("/{projectId}/dashboards/{dashboardId}/pin", tags=["dashboard"])
|
||||||
def pin_dashboard(
|
def pin_dashboard(projectId: int, dashboardId: int, context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
projectId: int,
|
|
||||||
dashboardId: int,
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return {
|
return {
|
||||||
"data": dashboards.pin_dashboard(
|
"data": dashboards.pin_dashboard(
|
||||||
project_id=projectId, user_id=context.user_id, dashboard_id=dashboardId
|
project_id=projectId, user_id=context.user_id, dashboard_id=dashboardId
|
||||||
|
|
@ -86,12 +65,8 @@ def pin_dashboard(
|
||||||
|
|
||||||
|
|
||||||
@app.post("/{projectId}/dashboards/{dashboardId}/cards", tags=["cards"])
|
@app.post("/{projectId}/dashboards/{dashboardId}/cards", tags=["cards"])
|
||||||
def add_card_to_dashboard(
|
def add_card_to_dashboard(projectId: int, dashboardId: int, data: schemas.AddWidgetToDashboardPayloadSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
dashboardId: int,
|
|
||||||
data: schemas.AddWidgetToDashboardPayloadSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return {
|
return {
|
||||||
"data": dashboards.add_widget(
|
"data": dashboards.add_widget(
|
||||||
project_id=projectId,
|
project_id=projectId,
|
||||||
|
|
@ -104,12 +79,8 @@ def add_card_to_dashboard(
|
||||||
|
|
||||||
@app.post("/{projectId}/dashboards/{dashboardId}/metrics", tags=["dashboard"])
|
@app.post("/{projectId}/dashboards/{dashboardId}/metrics", tags=["dashboard"])
|
||||||
# @app.put('/{projectId}/dashboards/{dashboardId}/metrics', tags=["dashboard"])
|
# @app.put('/{projectId}/dashboards/{dashboardId}/metrics', tags=["dashboard"])
|
||||||
def create_metric_and_add_to_dashboard(
|
def create_metric_and_add_to_dashboard(projectId: int, dashboardId: int, data: schemas.CardSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
dashboardId: int,
|
|
||||||
data: schemas.CardSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return {
|
return {
|
||||||
"data": dashboards.create_metric_add_widget(
|
"data": dashboards.create_metric_add_widget(
|
||||||
project=context.project,
|
project=context.project,
|
||||||
|
|
@ -121,13 +92,9 @@ def create_metric_and_add_to_dashboard(
|
||||||
|
|
||||||
|
|
||||||
@app.put("/{projectId}/dashboards/{dashboardId}/widgets/{widgetId}", tags=["dashboard"])
|
@app.put("/{projectId}/dashboards/{dashboardId}/widgets/{widgetId}", tags=["dashboard"])
|
||||||
def update_widget_in_dashboard(
|
def update_widget_in_dashboard(projectId: int, dashboardId: int, widgetId: int,
|
||||||
projectId: int,
|
|
||||||
dashboardId: int,
|
|
||||||
widgetId: int,
|
|
||||||
data: schemas.UpdateWidgetPayloadSchema = Body(...),
|
data: schemas.UpdateWidgetPayloadSchema = Body(...),
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
):
|
|
||||||
return dashboards.update_widget(
|
return dashboards.update_widget(
|
||||||
project_id=projectId,
|
project_id=projectId,
|
||||||
user_id=context.user_id,
|
user_id=context.user_id,
|
||||||
|
|
@ -137,16 +104,9 @@ def update_widget_in_dashboard(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@app.delete(
|
@app.delete("/{projectId}/dashboards/{dashboardId}/widgets/{widgetId}", tags=["dashboard"])
|
||||||
"/{projectId}/dashboards/{dashboardId}/widgets/{widgetId}", tags=["dashboard"]
|
def remove_widget_from_dashboard(projectId: int, dashboardId: int, widgetId: int, _=Body(None),
|
||||||
)
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
def remove_widget_from_dashboard(
|
|
||||||
projectId: int,
|
|
||||||
dashboardId: int,
|
|
||||||
widgetId: int,
|
|
||||||
_=Body(None),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return dashboards.remove_widget(
|
return dashboards.remove_widget(
|
||||||
project_id=projectId,
|
project_id=projectId,
|
||||||
user_id=context.user_id,
|
user_id=context.user_id,
|
||||||
|
|
@ -156,11 +116,8 @@ def remove_widget_from_dashboard(
|
||||||
|
|
||||||
|
|
||||||
@app.post("/{projectId}/cards/try", tags=["cards"])
|
@app.post("/{projectId}/cards/try", tags=["cards"])
|
||||||
def try_card(
|
def try_card(projectId: int, data: schemas.CardSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
data: schemas.CardSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return {
|
return {
|
||||||
"data": custom_metrics.get_chart(
|
"data": custom_metrics.get_chart(
|
||||||
project=context.project, data=data, user_id=context.user_id
|
project=context.project, data=data, user_id=context.user_id
|
||||||
|
|
@ -169,11 +126,8 @@ def try_card(
|
||||||
|
|
||||||
|
|
||||||
@app.post("/{projectId}/cards/try/sessions", tags=["cards"])
|
@app.post("/{projectId}/cards/try/sessions", tags=["cards"])
|
||||||
def try_card_sessions(
|
def try_card_sessions(projectId: int, data: schemas.CardSessionsSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
data: schemas.CardSessionsSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
data = custom_metrics.get_sessions(
|
data = custom_metrics.get_sessions(
|
||||||
project=context.project, user_id=context.user_id, data=data
|
project=context.project, user_id=context.user_id, data=data
|
||||||
)
|
)
|
||||||
|
|
@ -181,11 +135,8 @@ def try_card_sessions(
|
||||||
|
|
||||||
|
|
||||||
@app.post("/{projectId}/cards/try/issues", tags=["cards"])
|
@app.post("/{projectId}/cards/try/issues", tags=["cards"])
|
||||||
def try_card_issues(
|
def try_card_issues(projectId: int, data: schemas.CardSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
data: schemas.CardSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return {
|
return {
|
||||||
"data": custom_metrics.get_issues(
|
"data": custom_metrics.get_issues(
|
||||||
project=context.project, user_id=context.user_id, data=data
|
project=context.project, user_id=context.user_id, data=data
|
||||||
|
|
@ -201,22 +152,16 @@ def get_cards(projectId: int, context: schemas.CurrentContext = Depends(OR_conte
|
||||||
|
|
||||||
|
|
||||||
@app.post("/{projectId}/cards", tags=["cards"])
|
@app.post("/{projectId}/cards", tags=["cards"])
|
||||||
def create_card(
|
def create_card(projectId: int, data: schemas.CardSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
data: schemas.CardSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return custom_metrics.create_card(
|
return custom_metrics.create_card(
|
||||||
project=context.project, user_id=context.user_id, data=data
|
project=context.project, user_id=context.user_id, data=data
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@app.post("/{projectId}/cards/search", tags=["cards"])
|
@app.post("/{projectId}/cards/search", tags=["cards"])
|
||||||
def search_cards(
|
def search_cards(projectId: int, data: schemas.MetricSearchSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
data: schemas.MetricSearchSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return {
|
return {
|
||||||
"data": custom_metrics.search_metrics(
|
"data": custom_metrics.search_metrics(
|
||||||
project_id=projectId, user_id=context.user_id, data=data
|
project_id=projectId, user_id=context.user_id, data=data
|
||||||
|
|
@ -225,11 +170,7 @@ def search_cards(
|
||||||
|
|
||||||
|
|
||||||
@app.get("/{projectId}/cards/{metric_id}", tags=["cards"])
|
@app.get("/{projectId}/cards/{metric_id}", tags=["cards"])
|
||||||
def get_card(
|
def get_card(projectId: int, metric_id: Union[int, str], context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
projectId: int,
|
|
||||||
metric_id: Union[int, str],
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
if metric_id.isnumeric():
|
if metric_id.isnumeric():
|
||||||
metric_id = int(metric_id)
|
metric_id = int(metric_id)
|
||||||
else:
|
else:
|
||||||
|
|
@ -243,12 +184,8 @@ def get_card(
|
||||||
|
|
||||||
|
|
||||||
@app.post("/{projectId}/cards/{metric_id}/sessions", tags=["cards"])
|
@app.post("/{projectId}/cards/{metric_id}/sessions", tags=["cards"])
|
||||||
def get_card_sessions(
|
def get_card_sessions(projectId: int, metric_id: int, data: schemas.CardSessionsSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
metric_id: int,
|
|
||||||
data: schemas.CardSessionsSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
data = custom_metrics.get_sessions_by_card_id(
|
data = custom_metrics.get_sessions_by_card_id(
|
||||||
project=context.project, user_id=context.user_id, metric_id=metric_id, data=data
|
project=context.project, user_id=context.user_id, metric_id=metric_id, data=data
|
||||||
)
|
)
|
||||||
|
|
@ -257,16 +194,10 @@ def get_card_sessions(
|
||||||
return {"data": data}
|
return {"data": data}
|
||||||
|
|
||||||
|
|
||||||
@app.post(
|
@app.post("/{projectId}/cards/{metric_id}/issues/{issueId}/sessions", tags=["dashboard"])
|
||||||
"/{projectId}/cards/{metric_id}/issues/{issueId}/sessions", tags=["dashboard"]
|
def get_metric_funnel_issue_sessions(projectId: int, metric_id: int, issueId: str,
|
||||||
)
|
|
||||||
def get_metric_funnel_issue_sessions(
|
|
||||||
projectId: int,
|
|
||||||
metric_id: int,
|
|
||||||
issueId: str,
|
|
||||||
data: schemas.CardSessionsSchema = Body(...),
|
data: schemas.CardSessionsSchema = Body(...),
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
):
|
|
||||||
data = custom_metrics.get_funnel_sessions_by_issue(
|
data = custom_metrics.get_funnel_sessions_by_issue(
|
||||||
project_id=projectId,
|
project_id=projectId,
|
||||||
user_id=context.user_id,
|
user_id=context.user_id,
|
||||||
|
|
@ -280,12 +211,8 @@ def get_metric_funnel_issue_sessions(
|
||||||
|
|
||||||
|
|
||||||
@app.post("/{projectId}/cards/{metric_id}/chart", tags=["card"])
|
@app.post("/{projectId}/cards/{metric_id}/chart", tags=["card"])
|
||||||
def get_card_chart(
|
def get_card_chart(projectId: int, metric_id: int, data: schemas.CardSessionsSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
metric_id: int,
|
|
||||||
data: schemas.CardSessionsSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
data = custom_metrics.make_chart_from_card(
|
data = custom_metrics.make_chart_from_card(
|
||||||
project=context.project, user_id=context.user_id, metric_id=metric_id, data=data
|
project=context.project, user_id=context.user_id, metric_id=metric_id, data=data
|
||||||
)
|
)
|
||||||
|
|
@ -293,12 +220,8 @@ def get_card_chart(
|
||||||
|
|
||||||
|
|
||||||
@app.post("/{projectId}/cards/{metric_id}", tags=["dashboard"])
|
@app.post("/{projectId}/cards/{metric_id}", tags=["dashboard"])
|
||||||
def update_card(
|
def update_card(projectId: int, metric_id: int, data: schemas.CardSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
metric_id: int,
|
|
||||||
data: schemas.CardSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
data = custom_metrics.update_card(
|
data = custom_metrics.update_card(
|
||||||
project_id=projectId, user_id=context.user_id, metric_id=metric_id, data=data
|
project_id=projectId, user_id=context.user_id, metric_id=metric_id, data=data
|
||||||
)
|
)
|
||||||
|
|
@ -308,12 +231,8 @@ def update_card(
|
||||||
|
|
||||||
|
|
||||||
@app.post("/{projectId}/cards/{metric_id}/status", tags=["dashboard"])
|
@app.post("/{projectId}/cards/{metric_id}/status", tags=["dashboard"])
|
||||||
def update_card_state(
|
def update_card_state(projectId: int, metric_id: int, data: schemas.UpdateCardStatusSchema = Body(...),
|
||||||
projectId: int,
|
context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
metric_id: int,
|
|
||||||
data: schemas.UpdateCardStatusSchema = Body(...),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return {
|
return {
|
||||||
"data": custom_metrics.change_state(
|
"data": custom_metrics.change_state(
|
||||||
project_id=projectId,
|
project_id=projectId,
|
||||||
|
|
@ -325,12 +244,7 @@ def update_card_state(
|
||||||
|
|
||||||
|
|
||||||
@app.delete("/{projectId}/cards/{metric_id}", tags=["dashboard"])
|
@app.delete("/{projectId}/cards/{metric_id}", tags=["dashboard"])
|
||||||
def delete_card(
|
def delete_card(projectId: int, metric_id: int, _=Body(None), context: schemas.CurrentContext = Depends(OR_context)):
|
||||||
projectId: int,
|
|
||||||
metric_id: int,
|
|
||||||
_=Body(None),
|
|
||||||
context: schemas.CurrentContext = Depends(OR_context),
|
|
||||||
):
|
|
||||||
return {
|
return {
|
||||||
"data": custom_metrics.delete_card(
|
"data": custom_metrics.delete_card(
|
||||||
project_id=projectId, user_id=context.user_id, metric_id=metric_id
|
project_id=projectId, user_id=context.user_id, metric_id=metric_id
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue