6import { Hono } from "npm:hono";
7import { type Memory } from "../shared/types.ts";
8import { createMemory, deleteMemory, getAllMemories, updateMemory } from "./database/queries.ts";
9
10const app = new Hono();
34
35/**
36 * Store a chat message in the database
37 */
38export async function storeChatMessage(
130 }
131
132 console.log(`Weather forecast updated in the database.`);
133 return summary;
134}
125 }
126
127 console.log(`Calendar events imported into the database.`);
128 return events;
129 } catch (error) {
8
9/**
10 * Retrieves previously generated fun facts from the memories database
11 * @returns Array of previous fun facts
12 */
47
48/**
49 * Inserts a fun fact into the memories database
50 * @param date Date for the fun fact in ISO format
51 * @param factText The fun fact text
208```
209โโโ backend/
210โ โโโ database/
211โ โ โโโ migrations.ts # Schema definitions
212โ โ โโโ queries.ts # DB query functions
270- Handle API calls properly with proper error catching
271
272### Database Patterns
273- Run migrations on startup or comment out for performance
274- Change table names when modifying schemas rather than altering
10 getAllVoiceNotes,
11 deleteVoiceNote
12} from "../database/queries.ts";
13import { TABLE_NAME } from "../database/migrations.ts";
14import type { VoiceNote, VoiceNoteResponse, TranscriptionResponse } from "../../shared/types.ts";
15
176 }
177
178 // Delete from database
179 await deleteVoiceNote(id);
180
27```
28โโโ backend/
29โ โโโ database/
30โ โ โโโ migrations.ts # Database schema
31โ โ โโโ queries.ts # Database operations
32โ โโโ routes/
33โ โ โโโ voicenotes.ts # Voice note CRUD operations
51
52- **Backend**: Hono (TypeScript API framework)
53- **Database**: SQLite for voice note metadata
54- **Storage**: Val Town Blob storage for audio files
55- **AI**: OpenAI Whisper for transcription
22 ]
23 );
24 console.log("Voice note successfully inserted into database");
25 } catch (error) {
26 console.error("Error inserting voice note into database:", error);
27 throw error;
28 }
63 };
64 } catch (error) {
65 console.error("Error getting voice note from database:", error);
66 throw error;
67 }
19 )`);
20
21 console.log('Database migrations completed successfully');
22 } catch (error) {
23 console.error('Database migration failed:', error);
24 throw error;
25 }