- fixed env-vars - fixed EE signup - changed EE DB structure - changed FOS DB structure - fixed announcements - use minio for api - use minio for sourcemaps-reader - share env-vars with sourcemaps-reader
116 lines
5.4 KiB
Python
116 lines
5.4 KiB
Python
from chalicelib.utils import pg_client
|
|
from chalicelib.core import projects, log_tool_datadog, log_tool_stackdriver, log_tool_sentry
|
|
|
|
from chalicelib.core import users
|
|
|
|
|
|
def get_state(tenant_id):
|
|
my_projects = projects.get_projects(tenant_id=tenant_id, recording_state=False)
|
|
pids = [s["projectId"] for s in my_projects]
|
|
with pg_client.PostgresClient() as cur:
|
|
recorded = False
|
|
meta = False
|
|
|
|
if len(pids) > 0:
|
|
cur.execute(
|
|
cur.mogrify("""\
|
|
SELECT
|
|
COUNT(*)
|
|
FROM public.sessions AS s
|
|
where s.project_id IN %(ids)s
|
|
LIMIT 1;""",
|
|
{"ids": tuple(pids)})
|
|
)
|
|
recorded = cur.fetchone()["count"] > 0
|
|
meta = False
|
|
if recorded:
|
|
cur.execute("""SELECT SUM((SELECT COUNT(t.meta)
|
|
FROM (VALUES (p.metadata_1), (p.metadata_2), (p.metadata_3), (p.metadata_4), (p.metadata_5),
|
|
(p.metadata_6), (p.metadata_7), (p.metadata_8), (p.metadata_9), (p.metadata_10),
|
|
(sessions.user_id)) AS t(meta)
|
|
WHERE t.meta NOTNULL))
|
|
FROM public.projects AS p
|
|
LEFT JOIN LATERAL ( SELECT 'defined'
|
|
FROM public.sessions
|
|
WHERE sessions.project_id=p.project_id AND sessions.user_id IS NOT NULL
|
|
LIMIT 1) AS sessions(user_id) ON(TRUE)
|
|
WHERE p.deleted_at ISNULL;"""
|
|
)
|
|
|
|
meta = cur.fetchone()["sum"] > 0
|
|
|
|
return [
|
|
{"task": "Install OpenReplay",
|
|
"done": recorded,
|
|
"URL": "https://docs.openreplay.com/getting-started/quick-start"},
|
|
{"task": "Identify Users",
|
|
"done": meta,
|
|
"URL": "https://docs.openreplay.com/data-privacy-security/metadata"},
|
|
{"task": "Invite Team Members",
|
|
"done": len(users.get_members(tenant_id=tenant_id)) > 1,
|
|
"URL": "https://app.openreplay.com/client/manage-users"},
|
|
{"task": "Integrations",
|
|
"done": len(log_tool_datadog.get_all(tenant_id=tenant_id)) > 0 \
|
|
or len(log_tool_sentry.get_all(tenant_id=tenant_id)) > 0 \
|
|
or len(log_tool_stackdriver.get_all(tenant_id=tenant_id)) > 0,
|
|
"URL": "https://docs.openreplay.com/integrations"}
|
|
]
|
|
|
|
|
|
def get_state_installing(tenant_id):
|
|
my_projects = projects.get_projects(tenant_id=tenant_id, recording_state=False)
|
|
pids = [s["projectId"] for s in my_projects]
|
|
with pg_client.PostgresClient() as cur:
|
|
recorded = False
|
|
|
|
if len(pids) > 0:
|
|
cur.execute(
|
|
cur.mogrify("""\
|
|
SELECT
|
|
COUNT(*)
|
|
FROM public.sessions AS s
|
|
where s.project_id IN %(ids)s
|
|
LIMIT 1;""",
|
|
{"ids": tuple(pids)})
|
|
)
|
|
recorded = cur.fetchone()["count"] > 0
|
|
|
|
return {"task": "Install OpenReplay",
|
|
"done": recorded,
|
|
"URL": "https://docs.openreplay.com/getting-started/quick-start"}
|
|
|
|
|
|
def get_state_identify_users(tenant_id):
|
|
with pg_client.PostgresClient() as cur:
|
|
cur.execute(
|
|
"""SELECT SUM((SELECT COUNT(t.meta)
|
|
FROM (VALUES (p.metadata_1), (p.metadata_2), (p.metadata_3), (p.metadata_4), (p.metadata_5),
|
|
(p.metadata_6), (p.metadata_7), (p.metadata_8), (p.metadata_9), (p.metadata_10),
|
|
(sessions.user_id)) AS t(meta)
|
|
WHERE t.meta NOTNULL))
|
|
FROM public.projects AS p
|
|
LEFT JOIN LATERAL ( SELECT 'defined'
|
|
FROM public.sessions
|
|
WHERE sessions.project_id=p.project_id AND sessions.user_id IS NOT NULL
|
|
LIMIT 1) AS sessions(user_id) ON(TRUE)
|
|
WHERE p.deleted_at ISNULL;""")
|
|
|
|
meta = cur.fetchone()["sum"] > 0
|
|
|
|
return {"task": "Identify Users",
|
|
"done": meta,
|
|
"URL": "https://docs.openreplay.com/data-privacy-security/metadata"}
|
|
|
|
|
|
def get_state_manage_users(tenant_id):
|
|
return {"task": "Invite Team Members",
|
|
"done": len(users.get_members(tenant_id=tenant_id)) > 1,
|
|
"URL": "https://app.openreplay.com/client/manage-users"}
|
|
|
|
|
|
def get_state_integrations(tenant_id):
|
|
return {"task": "Integrations",
|
|
"done": len(log_tool_datadog.get_all(tenant_id=tenant_id)) > 0 \
|
|
or len(log_tool_sentry.get_all(tenant_id=tenant_id)) > 0 \
|
|
or len(log_tool_stackdriver.get_all(tenant_id=tenant_id)) > 0,
|
|
"URL": "https://docs.openreplay.com/integrations"}
|