feat(dose-tracking): implement dose tracking functionality with API routes for marking and unmarking doses

This commit is contained in:
Daniel Volz
2025-12-26 21:40:53 +01:00
parent b0f26b1e66
commit 473ffde4fe
6 changed files with 362 additions and 48 deletions
+11
View File
@@ -99,3 +99,14 @@ export const shareTokens = sqliteTable("share_tokens", {
scheduleDays: integer("schedule_days").notNull().default(30),
createdAt: integer("created_at", { mode: "timestamp" }).notNull().default(sql`CURRENT_TIMESTAMP`),
});
// =============================================================================
// Dose Tracking - Tracks when doses are marked as taken
// =============================================================================
export const doseTracking = sqliteTable("dose_tracking", {
id: integer("id").primaryKey({ autoIncrement: true }),
userId: integer("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
doseId: text("dose_id", { length: 255 }).notNull(), // e.g. "med-5-1-86400000-1735200000000"
takenAt: integer("taken_at", { mode: "timestamp" }).notNull().default(sql`CURRENT_TIMESTAMP`),
markedBy: text("marked_by", { length: 100 }), // null = user, "Daniel" = via share link
});