fix(reports): honor passed token in report-service generate* helpers
The generateWeeklySummary/generateProjectHealth/generateHabitAnalysis/ generateTimeAudit helpers all had "const pb = token ? createAdminClient() : createAdminClient();" — both branches return the admin client, so a passed user token was silently discarded and every caller got admin-level access. Use createPocketBaseClient(token) when a token is provided, matching the sibling project-service.ts / note-service.ts pattern.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import { createAdminClient } from '../pocketbase';
|
import { createAdminClient, createPocketBaseClient } from '../pocketbase';
|
||||||
import type {
|
import type {
|
||||||
Task,
|
Task,
|
||||||
Habit,
|
Habit,
|
||||||
@@ -46,7 +46,7 @@ export async function generateWeeklySummary(
|
|||||||
streaks: Array<{ name: string; streak: number }>;
|
streaks: Array<{ name: string; streak: number }>;
|
||||||
byDomain: Record<string, { tasks: number; habits: number }>;
|
byDomain: Record<string, { tasks: number; habits: number }>;
|
||||||
}> {
|
}> {
|
||||||
const pb = token ? createAdminClient() : createAdminClient();
|
const pb = token ? createPocketBaseClient(token) : createAdminClient();
|
||||||
|
|
||||||
// Tasks completed this week
|
// Tasks completed this week
|
||||||
const taskResults = await pb.collection('tasks').getFullList({
|
const taskResults = await pb.collection('tasks').getFullList({
|
||||||
@@ -112,7 +112,7 @@ export async function generateProjectHealth(
|
|||||||
milestoneStatus: Record<string, number>;
|
milestoneStatus: Record<string, number>;
|
||||||
completionRate: number;
|
completionRate: number;
|
||||||
}> {
|
}> {
|
||||||
const pb = token ? createAdminClient() : createAdminClient();
|
const pb = token ? createPocketBaseClient(token) : createAdminClient();
|
||||||
|
|
||||||
const taskResults = await pb.collection('tasks').getFullList({
|
const taskResults = await pb.collection('tasks').getFullList({
|
||||||
filter: `project_id = "${projectId}"`,
|
filter: `project_id = "${projectId}"`,
|
||||||
@@ -169,7 +169,7 @@ export async function generateHabitAnalysis(
|
|||||||
}>;
|
}>;
|
||||||
atRiskHabits: string[];
|
atRiskHabits: string[];
|
||||||
}> {
|
}> {
|
||||||
const pb = token ? createAdminClient() : createAdminClient();
|
const pb = token ? createPocketBaseClient(token) : createAdminClient();
|
||||||
|
|
||||||
const startDate = new Date();
|
const startDate = new Date();
|
||||||
startDate.setDate(startDate.getDate() - days);
|
startDate.setDate(startDate.getDate() - days);
|
||||||
@@ -225,7 +225,7 @@ export async function generateTimeAudit(
|
|||||||
byProject: Record<string, number>;
|
byProject: Record<string, number>;
|
||||||
byTag: Record<string, number>;
|
byTag: Record<string, number>;
|
||||||
}> {
|
}> {
|
||||||
const pb = token ? createAdminClient() : createAdminClient();
|
const pb = token ? createPocketBaseClient(token) : createAdminClient();
|
||||||
|
|
||||||
const entryResults = await pb.collection('time_entries').getFullList({
|
const entryResults = await pb.collection('time_entries').getFullList({
|
||||||
filter: `started_at >= "${startDate}" && started_at <= "${endDate}"`,
|
filter: `started_at >= "${startDate}" && started_at <= "${endDate}"`,
|
||||||
|
|||||||
Reference in New Issue
Block a user