import client from "./client"; // ── Types ─────────────────────────────────────────────────────────── export interface Worklog { id: string; entity_type: string; entity_id: string; user_id: string; activity_type: string; started_at: string; ended_at: string | null; duration_seconds: number; description: string | null; tempo_synced: string | null; integrity_hash: string | null; created_at: string; } export interface WorklogCreatePayload { entity_type: string; entity_id: string; activity_type: string; started_at: string; ended_at?: string; duration_seconds: number; description?: string; } // ── API Functions ─────────────────────────────────────────────────── /** Create a manual worklog entry. */ export async function createWorklog( payload: WorklogCreatePayload, ): Promise { const { data } = await client.post("/worklogs", payload); return data; } /** List worklogs with optional filters. */ export async function listWorklogs(params?: { entity_type?: string; entity_id?: string; user_id?: string; }): Promise { const { data } = await client.get("/worklogs", { params }); return data; } /** Get a single worklog. */ export async function getWorklog(worklogId: string): Promise { const { data } = await client.get(`/worklogs/${worklogId}`); return data; } /** Verify a worklog's integrity hash. */ export async function verifyWorklogIntegrity( worklogId: string, ): Promise<{ worklog_id: string; integrity_valid: boolean }> { const { data } = await client.get(`/worklogs/${worklogId}/verify`); return data; }