28 lines
1.2 KiB
Python
28 lines
1.2 KiB
Python
import schemas
|
|
from chalicelib.core.product_analytics import events, properties
|
|
from fastapi import Depends
|
|
from or_dependencies import OR_context
|
|
from routers.base import get_routers
|
|
from fastapi import Body, Depends, BackgroundTasks
|
|
|
|
public_app, app, app_apikey = get_routers()
|
|
|
|
|
|
@app.get('/{projectId}/properties/search', tags=["product_analytics"])
|
|
def get_event_properties(projectId: int, event_name: str = None,
|
|
context: schemas.CurrentContext = Depends(OR_context)):
|
|
if not event_name or len(event_name) == 0:
|
|
return {"data": []}
|
|
return {"data": properties.get_properties(project_id=projectId, event_name=event_name)}
|
|
|
|
|
|
@app.get('/{projectId}/events/names', tags=["product_analytics"])
|
|
def get_all_events(projectId: int,
|
|
context: schemas.CurrentContext = Depends(OR_context)):
|
|
return {"data": events.get_events(project_id=projectId)}
|
|
|
|
|
|
@app.post('/{projectId}/events/search', tags=["product_analytics"])
|
|
def search_events(projectId: int, data: schemas.EventsSearchPayloadSchema = Body(...),
|
|
context: schemas.CurrentContext = Depends(OR_context)):
|
|
return {"data": events.search_events(project_id=projectId, data=data)}
|