1import { Hono } from "https://esm.sh/hono@3.11.7";
2import type { ApiResponse, FormSubmission, NotificationRequest } from "../../shared/types.ts";
3import { getTemplateByName, createRecipient } from "../database/queries.ts";
4import { EmailService } from "../services/emailService.ts";
5import { RecipientService } from "../services/recipientService.ts";
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import type { ApiResponse, WebhookPayload, NotificationRequest } from "../../shared/types.ts";
3import { getTemplateByName } from "../database/queries.ts";
4import { EmailService } from "../services/emailService.ts";
5import { RecipientService } from "../services/recipientService.ts";
3import {
4 getTemplateByName
5} from "../database/queries.ts";
6import {
7 getNotificationHistory,
8 getNotificationStats
9} from "../database/queries.ts";
10import { EmailService } from "../services/emailService.ts";
11import { RecipientService } from "../services/recipientService.ts";
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { readFile } from "https://esm.town/v/std/utils@85-main/index.ts";
3import { runMigrations } from "./database/migrations.ts";
4import auth from "./routes/auth.ts";
5import plants from "./routes/plants.ts";
14});
15
16// Initialize database on startup
17await runMigrations();
18
7 updateTemplate,
8 deleteTemplate
9} from "../database/queries.ts";
10import { TemplateService } from "../services/templateService.ts";
11
9 deleteSession,
10 updateUser
11} from "../database/queries.ts";
12
13const auth = new Hono();
7 updateRecipient,
8 deleteRecipient
9} from "../database/queries.ts";
10import { RecipientService } from "../services/recipientService.ts";
11
1import type { Recipient, RecipientCriteria, NotificationType } from "../../shared/types.ts";
2import { findRecipientsByCriteria } from "../database/queries.ts";
3
4export class RecipientService {
1import { email } from "https://esm.town/v/std/email";
2import type { EmailTemplate, Recipient, NotificationHistory } from "../../shared/types.ts";
3import { logNotification } from "../database/queries.ts";
4
5export class EmailService {
248}
249
250// Helper functions to parse database rows
251function parseRecipient(row: any): Recipient {
252 return {