1818 PROJECTS ,
1919)
2020from app .api .routes .analytics .schema import DashboardAnalyticsOut
21+ from app .api .routes .workspaces .middleware import WorkspaceContext , apply_legacy_or_filter
2122from app .database import db_manager
2223
2324
@@ -59,13 +60,9 @@ async def get_activity_buckets(*, days: int = 7) -> list[dict]:
5960 return await db_manager .aggregate (AUDIT_LOG , pipeline )
6061
6162
62- async def get_dashboard_analytics (uid : str ) -> DashboardAnalyticsOut :
63- base = {"created_by" : uid }
64- nosql_filter = {
65- ** base ,
66- "encryptedData" : {"$exists" : True },
67- "iv" : {"$exists" : True },
68- }
63+ async def get_dashboard_analytics (ctx : WorkspaceContext ) -> DashboardAnalyticsOut :
64+ flt = lambda base = None : apply_legacy_or_filter (ctx , base or {}, user_field = "created_by" )
65+ nosql_filter = flt ({"encryptedData" : {"$exists" : True }, "iv" : {"$exists" : True }})
6966 (
7067 task_stats ,
7168 password_entries ,
@@ -80,18 +77,18 @@ async def get_dashboard_analytics(uid: str) -> DashboardAnalyticsOut:
8077 json_docs ,
8178 code_snippets ,
8279 ) = await asyncio .gather (
83- task_svc .get_task_stats (uid = uid ),
84- db_manager .count_documents (PASSWORD_ENTRIES , base ),
85- db_manager .count_documents (BOOKMARKS , base ),
86- db_manager .count_documents (BOOKMARK_FOLDERS , base ),
87- db_manager .count_documents (PROJECTS , base ),
80+ task_svc .get_task_stats (ctx = ctx ),
81+ db_manager .count_documents (PASSWORD_ENTRIES , flt () ),
82+ db_manager .count_documents (BOOKMARKS , flt () ),
83+ db_manager .count_documents (BOOKMARK_FOLDERS , flt () ),
84+ db_manager .count_documents (PROJECTS , flt () ),
8885 db_manager .count_documents (NOSQL_CONNECTIONS , nosql_filter ),
89- db_manager .count_documents (NOTES , base ),
90- db_manager .count_documents (API_CLIENT_COLLECTIONS , base ),
91- db_manager .count_documents (API_CLIENT_ENVIRONMENTS , base ),
92- db_manager .count_documents (API_CLIENT_HISTORY , base ),
93- db_manager .count_documents (JSON_FORMATTER_DOCUMENTS , base ),
94- db_manager .count_documents (CODE_SNIPPETS , base ),
86+ db_manager .count_documents (NOTES , flt () ),
87+ db_manager .count_documents (API_CLIENT_COLLECTIONS , flt () ),
88+ db_manager .count_documents (API_CLIENT_ENVIRONMENTS , flt () ),
89+ db_manager .count_documents (API_CLIENT_HISTORY , flt () ),
90+ db_manager .count_documents (JSON_FORMATTER_DOCUMENTS , flt () ),
91+ db_manager .count_documents (CODE_SNIPPETS , flt () ),
9592 )
9693
9794 return DashboardAnalyticsOut (
0 commit comments