aboutsummaryrefslogtreecommitdiff
path: root/packages/db/test/fixtures/basics/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'packages/db/test/fixtures/basics/src/pages')
-rw-r--r--packages/db/test/fixtures/basics/src/pages/index.astro27
-rw-r--r--packages/db/test/fixtures/basics/src/pages/login.astro18
-rw-r--r--packages/db/test/fixtures/basics/src/pages/run.json.ts12
3 files changed, 57 insertions, 0 deletions
diff --git a/packages/db/test/fixtures/basics/src/pages/index.astro b/packages/db/test/fixtures/basics/src/pages/index.astro
new file mode 100644
index 000000000..2be0c4b23
--- /dev/null
+++ b/packages/db/test/fixtures/basics/src/pages/index.astro
@@ -0,0 +1,27 @@
+---
+/// <reference path="../../.astro/db-types.d.ts" />
+import { Author, Themes, db } from 'astro:db';
+
+const authors = await db.select().from(Author);
+const themes = await db.select().from(Themes);
+---
+
+<h2>Authors</h2>
+<ul class="authors-list">
+ {authors.map((author) => <li>{author.name}</li>)}
+</ul>
+
+<h2>Themes</h2>
+<ul class="themes-list">
+ {
+ themes.map((theme) => (
+ <li>
+ <div class="theme-name">{theme.name}</div>
+ <div class="theme-added">{theme.added}</div>
+ <div class="theme-updated">{theme.updated}</div>
+ <div class="theme-dark">{theme.isDark ? 'dark' : 'light'} mode</div>
+ <div class="theme-owner">{theme.owner}</div>
+ </li>
+ ))
+ }
+</ul>
diff --git a/packages/db/test/fixtures/basics/src/pages/login.astro b/packages/db/test/fixtures/basics/src/pages/login.astro
new file mode 100644
index 000000000..4551fc483
--- /dev/null
+++ b/packages/db/test/fixtures/basics/src/pages/login.astro
@@ -0,0 +1,18 @@
+---
+import { Session, User, db, eq } from 'astro:db';
+
+const users = await db.select().from(User);
+const sessions = await db.select().from(Session).innerJoin(User, eq(Session.userId, User.id));
+---
+
+<h2>Sessions</h2>
+<ul class="sessions-list">
+ {
+ sessions.map(({ Session, User }) => (
+ <li>
+ <div class="session-id">{Session.id}</div>
+ <div class="username">{User.username}</div>
+ </li>
+ ))
+ }
+</ul>
diff --git a/packages/db/test/fixtures/basics/src/pages/run.json.ts b/packages/db/test/fixtures/basics/src/pages/run.json.ts
new file mode 100644
index 000000000..a86619314
--- /dev/null
+++ b/packages/db/test/fixtures/basics/src/pages/run.json.ts
@@ -0,0 +1,12 @@
+import { db, sql } from 'astro:db';
+/// <reference types="@astrojs/db" />
+import type { APIRoute } from 'astro';
+
+export const GET: APIRoute = async () => {
+ const authors = await db.run(sql`SELECT * FROM Author`);
+ return new Response(JSON.stringify(authors), {
+ headers: {
+ 'content-type': 'application/json',
+ },
+ });
+};