homeman-deno/main.ts
2024-01-21 20:15:43 -06:00

28 lines
760 B
TypeScript

/// <reference no-default-lib="true" />
/// <reference lib="dom" />
/// <reference lib="dom.iterable" />
/// <reference lib="dom.asynciterable" />
/// <reference lib="deno.ns" />
/// <reference lib="deno.unstable" />
import '$std/dotenv/load.ts'
import { start } from '$fresh/server.ts'
import manifest from './fresh.gen.ts'
import config from './fresh.config.ts'
import { kv } from '@homeman/db.ts'
import { Task } from '@homeman/models.ts'
Deno.cron('Reset daily tasks', '0 4 * * *', async () => {
console.log('4am daily tasks reset')
const tasks = await Array.fromAsync(kv.list<Task>({ prefix: ['task'] }))
tasks.forEach(
async (t) => {
const nv = { ...t.value, doneAt: null }
await kv.set(t.key, nv)
},
)
})
await start(manifest, config)