aboutsummaryrefslogtreecommitdiff
path: root/src/lib/server/db
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-09-08 17:06:51 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-09-08 17:06:51 +0200
commitbd2f982c489b15ce1165c051fdedf35af979f784 (patch)
tree5c76d07f94b34f6b7b31be6a133793b2cdaccd79 /src/lib/server/db
parent6d69c7b1e6a8051338e052cc9d1836f4f1a20f51 (diff)
Migrate date handling from Date to Temporal API
Routine scheduling, health series, service stamps, session expiry, and date formatting move to native Temporal (Instant / ZonedDateTime in UTC), with ISO strings kept at DB and chart boundaries. Ambient types in src/temporal-ambient.d.ts cover the native runtime; no polyfill. Observable behavior and stored formats are unchanged.
Diffstat (limited to 'src/lib/server/db')
-rw-r--r--src/lib/server/db/groceries.test.ts12
-rw-r--r--src/lib/server/db/ondelete.test.ts4
2 files changed, 12 insertions, 4 deletions
diff --git a/src/lib/server/db/groceries.test.ts b/src/lib/server/db/groceries.test.ts
index 143e4da..7fec40b 100644
--- a/src/lib/server/db/groceries.test.ts
+++ b/src/lib/server/db/groceries.test.ts
@@ -29,7 +29,9 @@ describe('groceries add', () => {
await db.insert(groceries).values({
name,
categoryId,
- createdAt: new Date().toISOString(),
+ createdAt: Temporal.Now.instant().toString({
+ smallestUnit: 'millisecond',
+ }),
});
}
}
@@ -44,7 +46,9 @@ describe('groceries add', () => {
});
it('unchecks an existing checked item instead of creating duplicate', async () => {
- const now = new Date().toISOString();
+ const now = Temporal.Now.instant().toString({
+ smallestUnit: 'millisecond',
+ });
await db
.insert(groceries)
.values({ name: 'milk', checked: true, createdAt: now });
@@ -56,7 +60,9 @@ describe('groceries add', () => {
});
it('keeps an unchecked item unchanged (already on list)', async () => {
- const now = new Date().toISOString();
+ const now = Temporal.Now.instant().toString({
+ smallestUnit: 'millisecond',
+ });
await db
.insert(groceries)
.values({ name: 'milk', checked: false, createdAt: now });
diff --git a/src/lib/server/db/ondelete.test.ts b/src/lib/server/db/ondelete.test.ts
index 347bb92..5dcf69e 100644
--- a/src/lib/server/db/ondelete.test.ts
+++ b/src/lib/server/db/ondelete.test.ts
@@ -18,7 +18,9 @@ describe('category delete behavior', () => {
await db.insert(groceries).values({
name: 'lait',
checked: false,
- createdAt: new Date().toISOString(),
+ createdAt: Temporal.Now.instant().toString({
+ smallestUnit: 'millisecond',
+ }),
categoryId: catId,
});