291 return new Response(
292 JSON.stringify({
293 error: "Database Connection Failed",
294 details: importError.message,
295 }),
4 // Ensure Notion API key is set
5 const notionApiKey = Deno.env.get("HYDEPTSA_NOTION_API_TOKEN");
6 const databaseId = Deno.env.get("HYDEPTSA_EVENTS_DB_ID");
7 const datePropertyName = "When";
8
9 if (!notionApiKey || !databaseId) {
10 return new Response("Missing Notion API credentials", { status: 500 });
11 }
17 console.log("calling notion api with time:");
18 console.log(eighteenMonthsAgo.toISOString().split("T")[0]);
19 // Fetch pages from Notion database
20 const response = await fetch(`https://api.notion.com/v1/databases/${databaseId}/query`, {
21 method: "POST",
22 headers: {
51 // Transform Notion pages to iCal format
52 const events = data.results.map(page => {
53 // Adjust these property names to match your specific Notion database
54 const dateProperty = page.properties[datePropertyName];
55
94
95 const systemPrompt = `
96 You are a helpful email assistant. You have access to an instantdb database. When people ask for info you will provide it for
97 them by creating an instantdb query for the server to query the database. Return the query param json string only -- the json object that query is assigned to. Note that the results
98 be rendered into 2 tables, one for goals and one for todos, so and associations will not be displayed, instead you should create a query that uses both tables.
99
100 --------------------------------------------------------------------------
101 Here is an example instantdb query (the examples use an unrelated database):
102
103 Fetch namespace
651 ------------------------------------------------
652
653 Here is the schema of the instantdb database:
654
655 const _schema = i.schema({
1# Let Him Cook
2
3Query database (instantdb) with natural langauge in email. This just a demo sometimes can be inconsistent.
4
5Email: vawogbemi.lhc@valtown.email
17 { name: "Express", icon: "đ", explanation: "Fast, unopinionated, minimalist web framework for Node.js", complexity: 2 },
18 { name: "Django", icon: "đž", explanation: "A high-level Python Web framework that encourages rapid development", complexity: 3 },
19 { name: "Ruby on Rails", icon: "đ€ïž", explanation: "A web-application framework that includes everything needed to create database-backed web applications", complexity: 3 },
20 { name: "Flask", icon: "đ§Ș", explanation: "A lightweight WSGI web application framework in Python", complexity: 2 },
21 ],
22 database: [
23 { name: "PostgreSQL", icon: "đ", explanation: "A powerful, open source object-relational database system", complexity: 3 },
24 { name: "MongoDB", icon: "đ", explanation: "A document-oriented NoSQL database used for high volume data storage", complexity: 2 },
25 { name: "MySQL", icon: "đŹ", explanation: "An open-source relational database management system", complexity: 2 },
26 { name: "Redis", icon: "đŽ", explanation: "An open source, in-memory data structure store, used as a database, cache, and message broker", complexity: 2 },
27 { name: "SQLite", icon: "đïž", explanation: "A C-language library that implements a small, fast, self-contained SQL database engine", complexity: 1 },
28 ],
29 deployment: [
85 stack.push(techOptions.backend[Math.floor(Math.random() * 3)]);
86 }
87 stack.push(techOptions.database[Math.floor(Math.random() * 3)]);
88 stack.push(techOptions.deployment[Math.floor(Math.random() * 3)]);
89 setRecommendedStack(stack);
33}
34console.log("huh?");
35// DATABASE
36const kv = new DenoSyntheticKV("passkeys_example");
37
98 <ul>
99 <li><i className="fas fa-tachometer-alt"></i> Amélioration significative des performances</li>
100 <li><i className="fas fa-database"></i> Augmentation de l'espace de stockage disponible</li>
101 <li><i className="fas fa-clock"></i> Réduction des temps de chargement</li>
102 <li><i className="fas fa-heartbeat"></i> Prolongation de la durée de vie de votre ordinateur</li>
135 return (
136 <div className="service-page">
137 <h1><i className="fas fa-database"></i> Sauvegarde & Récupération</h1>
138 <BackupSVG />
139 <p>Notre service de sauvegarde et récupération vous aide à protéger vos données importantes et à les récupérer en cas de problÚme.</p>
307 { id: 2, name: "Nettoyage & Optimisation", icon: "fas fa-broom", description: "Accélérez votre ordinateur" },
308 { id: 3, name: "Réparation Matérielle", icon: "fas fa-tools", description: "Réparation de tous composants" },
309 { id: 4, name: "Sauvegarde & Récupération", icon: "fas fa-database", description: "Protégez vos données" },
310 { id: 5, name: "Installation Logicielle", icon: "fas fa-download", description: "Configuration personnalisée" },
311 { id: 6, name: "Support à Distance", icon: "fas fa-globe", description: "Assistance en ligne immédiate" }
98 <ul>
99 <li><i className="fas fa-tachometer-alt"></i> Amélioration significative des performances</li>
100 <li><i className="fas fa-database"></i> Augmentation de l'espace de stockage disponible</li>
101 <li><i className="fas fa-clock"></i> Réduction des temps de chargement</li>
102 <li><i className="fas fa-heartbeat"></i> Prolongation de la durée de vie de votre ordinateur</li>
135 return (
136 <div className="service-page">
137 <h1><i className="fas fa-database"></i> Sauvegarde & Récupération</h1>
138 <BackupSVG />
139 <p>Notre service de sauvegarde et récupération vous aide à protéger vos données importantes et à les récupérer en cas de problÚme.</p>
307 { id: 2, name: "Nettoyage & Optimisation", icon: "fas fa-broom", description: "Accélérez votre ordinateur" },
308 { id: 3, name: "Réparation Matérielle", icon: "fas fa-tools", description: "Réparation de tous composants" },
309 { id: 4, name: "Sauvegarde & Récupération", icon: "fas fa-database", description: "Protégez vos données" },
310 { id: 5, name: "Installation Logicielle", icon: "fas fa-download", description: "Configuration personnalisée" },
311 { id: 6, name: "Support à Distance", icon: "fas fa-globe", description: "Assistance en ligne immédiate" }
98 <ul>
99 <li><i className="fas fa-tachometer-alt"></i> Amélioration significative des performances</li>
100 <li><i className="fas fa-database"></i> Augmentation de l'espace de stockage disponible</li>
101 <li><i className="fas fa-clock"></i> Réduction des temps de chargement</li>
102 <li><i className="fas fa-heartbeat"></i> Prolongation de la durée de vie de votre ordinateur</li>
135 return (
136 <div className="service-page">
137 <h1><i className="fas fa-database"></i> Sauvegarde & Récupération</h1>
138 <BackupSVG />
139 <p>Notre service de sauvegarde et récupération vous aide à protéger vos données importantes et à les récupérer en cas de problÚme.</p>
307 { id: 2, name: "Nettoyage & Optimisation", icon: "fas fa-broom", description: "Accélérez votre ordinateur" },
308 { id: 3, name: "Réparation Matérielle", icon: "fas fa-tools", description: "Réparation de tous composants" },
309 { id: 4, name: "Sauvegarde & Récupération", icon: "fas fa-database", description: "Protégez vos données" },
310 { id: 5, name: "Installation Logicielle", icon: "fas fa-download", description: "Configuration personnalisée" },
311 { id: 6, name: "Support à Distance", icon: "fas fa-globe", description: "Assistance en ligne immédiate" }
98 <ul>
99 <li><i className="fas fa-tachometer-alt"></i> Amélioration significative des performances</li>
100 <li><i className="fas fa-database"></i> Augmentation de l'espace de stockage disponible</li>
101 <li><i className="fas fa-clock"></i> Réduction des temps de chargement</li>
102 <li><i className="fas fa-heartbeat"></i> Prolongation de la durée de vie de votre ordinateur</li>
135 return (
136 <div className="service-page">
137 <h1><i className="fas fa-database"></i> Sauvegarde & Récupération</h1>
138 <BackupSVG />
139 <p>Notre service de sauvegarde et récupération vous aide à protéger vos données importantes et à les récupérer en cas de problÚme.</p>
307 { id: 2, name: "Nettoyage & Optimisation", icon: "fas fa-broom", description: "Accélérez votre ordinateur" },
308 { id: 3, name: "Réparation Matérielle", icon: "fas fa-tools", description: "Réparation de tous composants" },
309 { id: 4, name: "Sauvegarde & Récupération", icon: "fas fa-database", description: "Protégez vos données" },
310 { id: 5, name: "Installation Logicielle", icon: "fas fa-download", description: "Configuration personnalisée" },
311 { id: 6, name: "Support à Distance", icon: "fas fa-globe", description: "Assistance en ligne immédiate" }