feat(api): dashboards insights
This commit is contained in:
parent
9675da07e1
commit
fb3c6a739a
4 changed files with 22 additions and 25 deletions
|
|
@ -12,7 +12,7 @@ from routers import core, core_dynamic
|
|||
from routers.app import v1_api
|
||||
from routers.crons import core_crons
|
||||
from routers.crons import core_dynamic_crons
|
||||
from routers.subs import dashboard
|
||||
from routers.subs import dashboard, insights
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ app.include_router(core_dynamic.public_app)
|
|||
app.include_router(core_dynamic.app)
|
||||
app.include_router(core_dynamic.app_apikey)
|
||||
app.include_router(dashboard.app)
|
||||
# app.include_router(insights.app)
|
||||
app.include_router(insights.app)
|
||||
app.include_router(v1_api.app_apikey)
|
||||
|
||||
Schedule = AsyncIOScheduler()
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
import schemas
|
||||
from chalicelib.core import sessions_metas
|
||||
from chalicelib.core.dashboard import __get_constraints, __get_constraint_values
|
||||
from chalicelib.utils import helper, dev
|
||||
from chalicelib.utils import pg_client
|
||||
from chalicelib.utils.TimeUTC import TimeUTC
|
||||
from chalicelib.utils.metrics_helper import __get_step_size
|
||||
import math
|
||||
from chalicelib.core.dashboard import __get_constraints, __get_constraint_values
|
||||
|
||||
|
||||
def __transform_journey(rows):
|
||||
|
|
@ -930,4 +927,4 @@ def search(text, feature_type, project_id, platform=None):
|
|||
rows = cur.fetchall()
|
||||
else:
|
||||
return []
|
||||
return [helper.dict_to_camel_case(row) for row in rows]
|
||||
return [helper.dict_to_camel_case(row) for row in rows]
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ from routers import core, core_dynamic, ee, saml
|
|||
from routers.app import v1_api, v1_api_ee
|
||||
from routers.crons import core_crons
|
||||
from routers.crons import core_dynamic_crons
|
||||
from routers.subs import dashboard
|
||||
from routers.subs import dashboard, insights
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
|
|
@ -65,7 +65,7 @@ app.include_router(saml.public_app)
|
|||
app.include_router(saml.app)
|
||||
app.include_router(saml.app_apikey)
|
||||
app.include_router(dashboard.app)
|
||||
# app.include_router(insights.app)
|
||||
app.include_router(insights.app)
|
||||
app.include_router(v1_api.app_apikey)
|
||||
app.include_router(v1_api_ee.app_apikey)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
from chalicelib.core import sessions_metas
|
||||
from chalicelib.utils import helper, dev
|
||||
from chalicelib.utils import ch_client
|
||||
from chalicelib.utils.TimeUTC import TimeUTC
|
||||
from chalicelib.core.dashboard import __get_constraint_values, __complete_missing_steps
|
||||
import schemas
|
||||
from chalicelib.core.dashboard import __get_basic_constraints, __get_meta_constraint
|
||||
from chalicelib.core.dashboard import __get_constraint_values, __complete_missing_steps
|
||||
from chalicelib.utils import ch_client
|
||||
from chalicelib.utils import helper, dev
|
||||
from chalicelib.utils.TimeUTC import TimeUTC
|
||||
|
||||
|
||||
def __transform_journey(rows):
|
||||
|
|
@ -42,7 +42,7 @@ def journey(project_id, startTimestamp=TimeUTC.now(delta_days=-1), endTimestamp=
|
|||
elif f["type"] == "EVENT_TYPE" and JOURNEY_TYPES.get(f["value"]):
|
||||
event_table = JOURNEY_TYPES[f["value"]]["table"]
|
||||
event_column = JOURNEY_TYPES[f["value"]]["column"]
|
||||
elif f["type"] in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]:
|
||||
elif f["type"] in [schemas.FilterType.user_id, schemas.FilterType.user_id_ios]:
|
||||
meta_condition.append(f"sessions_metadata.user_id = %(user_id)s")
|
||||
meta_condition.append(f"sessions_metadata.project_id = %(project_id)s")
|
||||
meta_condition.append(f"sessions_metadata.datetime >= toDateTime(%(startTimestamp)s / 1000)")
|
||||
|
|
@ -303,7 +303,7 @@ def feature_retention(project_id, startTimestamp=TimeUTC.now(delta_days=-70), en
|
|||
elif f["type"] == "EVENT_VALUE":
|
||||
event_value = f["value"]
|
||||
default = False
|
||||
elif f["type"] in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]:
|
||||
elif f["type"] in [schemas.FilterType.user_id, schemas.FilterType.user_id_ios]:
|
||||
meta_condition.append(f"sessions_metadata.user_id = %(user_id)s")
|
||||
meta_condition.append("sessions_metadata.user_id IS NOT NULL")
|
||||
meta_condition.append("not empty(sessions_metadata.user_id)")
|
||||
|
|
@ -404,7 +404,7 @@ def feature_acquisition(project_id, startTimestamp=TimeUTC.now(delta_days=-70),
|
|||
elif f["type"] == "EVENT_VALUE":
|
||||
event_value = f["value"]
|
||||
default = False
|
||||
elif f["type"] in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]:
|
||||
elif f["type"] in [schemas.FilterType.user_id, schemas.FilterType.user_id_ios]:
|
||||
meta_condition.append(f"sessions_metadata.user_id = %(user_id)s")
|
||||
meta_condition.append("sessions_metadata.user_id IS NOT NULL")
|
||||
meta_condition.append("not empty(sessions_metadata.user_id)")
|
||||
|
|
@ -512,7 +512,7 @@ def feature_popularity_frequency(project_id, startTimestamp=TimeUTC.now(delta_da
|
|||
if f["type"] == "EVENT_TYPE" and JOURNEY_TYPES.get(f["value"]):
|
||||
event_table = JOURNEY_TYPES[f["value"]]["table"]
|
||||
event_column = JOURNEY_TYPES[f["value"]]["column"]
|
||||
elif f["type"] in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]:
|
||||
elif f["type"] in [schemas.FilterType.user_id, schemas.FilterType.user_id_ios]:
|
||||
meta_condition.append(f"sessions_metadata.user_id = %(user_id)s")
|
||||
meta_condition.append("sessions_metadata.user_id IS NOT NULL")
|
||||
meta_condition.append("not empty(sessions_metadata.user_id)")
|
||||
|
|
@ -586,7 +586,7 @@ def feature_adoption(project_id, startTimestamp=TimeUTC.now(delta_days=-70), end
|
|||
elif f["type"] == "EVENT_VALUE":
|
||||
event_value = f["value"]
|
||||
default = False
|
||||
elif f["type"] in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]:
|
||||
elif f["type"] in [schemas.FilterType.user_id, schemas.FilterType.user_id_ios]:
|
||||
meta_condition.append(f"sessions_metadata.user_id = %(user_id)s")
|
||||
meta_condition.append("sessions_metadata.user_id IS NOT NULL")
|
||||
meta_condition.append("not empty(sessions_metadata.user_id)")
|
||||
|
|
@ -672,7 +672,7 @@ def feature_adoption_top_users(project_id, startTimestamp=TimeUTC.now(delta_days
|
|||
elif f["type"] == "EVENT_VALUE":
|
||||
event_value = f["value"]
|
||||
default = False
|
||||
elif f["type"] in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]:
|
||||
elif f["type"] in [schemas.FilterType.user_id, schemas.FilterType.user_id_ios]:
|
||||
meta_condition.append(f"sessions_metadata.user_id = %(user_id)s")
|
||||
meta_condition.append("user_id IS NOT NULL")
|
||||
meta_condition.append("not empty(sessions_metadata.user_id)")
|
||||
|
|
@ -742,7 +742,7 @@ def feature_adoption_daily_usage(project_id, startTimestamp=TimeUTC.now(delta_da
|
|||
elif f["type"] == "EVENT_VALUE":
|
||||
event_value = f["value"]
|
||||
default = False
|
||||
elif f["type"] in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]:
|
||||
elif f["type"] in [schemas.FilterType.user_id, schemas.FilterType.user_id_ios]:
|
||||
meta_condition.append(f"sessions_metadata.user_id = %(user_id)s")
|
||||
meta_condition.append("sessions_metadata.project_id = %(project_id)s")
|
||||
meta_condition.append("sessions_metadata.datetime >= toDateTime(%(startTimestamp)s/1000)")
|
||||
|
|
@ -807,7 +807,7 @@ def feature_intensity(project_id, startTimestamp=TimeUTC.now(delta_days=-70), en
|
|||
if f["type"] == "EVENT_TYPE" and JOURNEY_TYPES.get(f["value"]):
|
||||
event_table = JOURNEY_TYPES[f["value"]]["table"]
|
||||
event_column = JOURNEY_TYPES[f["value"]]["column"]
|
||||
elif f["type"] in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]:
|
||||
elif f["type"] in [schemas.FilterType.user_id, schemas.FilterType.user_id_ios]:
|
||||
meta_condition.append(f"sessions_metadata.user_id = %(user_id)s")
|
||||
meta_condition.append("sessions_metadata.project_id = %(project_id)s")
|
||||
meta_condition.append("sessions_metadata.datetime >= toDateTime(%(startTimestamp)s/1000)")
|
||||
|
|
@ -847,7 +847,7 @@ def users_active(project_id, startTimestamp=TimeUTC.now(delta_days=-70), endTime
|
|||
for f in filters:
|
||||
if f["type"] == "PERIOD" and f["value"] in ["DAY", "WEEK"]:
|
||||
period = f["value"]
|
||||
elif f["type"] in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]:
|
||||
elif f["type"] in [schemas.FilterType.user_id, schemas.FilterType.user_id_ios]:
|
||||
meta_condition.append(f"sessions_metadata.user_id = %(user_id)s")
|
||||
extra_values["user_id"] = f["value"]
|
||||
period_function = PERIOD_TO_FUNCTION[period]
|
||||
|
|
@ -940,7 +940,7 @@ def users_slipping(project_id, startTimestamp=TimeUTC.now(delta_days=-70), endTi
|
|||
elif f["type"] == "EVENT_VALUE":
|
||||
event_value = f["value"]
|
||||
default = False
|
||||
elif f["type"] in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]:
|
||||
elif f["type"] in [schemas.FilterType.user_id, schemas.FilterType.user_id_ios]:
|
||||
meta_condition.append(f"sessions_metadata.user_id = %(user_id)s")
|
||||
meta_condition.append("sessions_metadata.project_id = %(project_id)s")
|
||||
meta_condition.append("sessions_metadata.datetime >= toDateTime(%(startTimestamp)s/1000)")
|
||||
|
|
@ -1044,4 +1044,4 @@ def search(text, feature_type, project_id, platform=None):
|
|||
rows = ch.execute(ch_query, params)
|
||||
else:
|
||||
return []
|
||||
return [helper.dict_to_camel_case(row) for row in rows]
|
||||
return [helper.dict_to_camel_case(row) for row in rows]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue