diff --git a/src/lib/server/db/index.ts b/src/lib/server/db/index.ts
index 8de4b3a..08993b8 100644
--- a/src/lib/server/db/index.ts
+++ b/src/lib/server/db/index.ts
@@ -1,3 +1,5 @@
export interface Database {
- listTracksWithProducer: (producerId: string) => Promise<{ title: string }[]>;
+ listTracksWithProducer: (
+ producerId: string
+ ) => Promise<{ title: string; producer: { username: string } }[]>;
}
diff --git a/src/lib/server/db/prisma.ts b/src/lib/server/db/prisma.ts
index 599cf58..87fb501 100644
--- a/src/lib/server/db/prisma.ts
+++ b/src/lib/server/db/prisma.ts
@@ -11,7 +11,12 @@ export class DatabasePrisma implements Database {
listTracksWithProducer = async (producerId: string) => {
const tracks = await this.client.track.findMany({
select: {
- title: true
+ title: true,
+ producer: {
+ select: {
+ username: true
+ }
+ }
},
where: {
producerId
diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts
new file mode 100644
index 0000000..20bab1a
--- /dev/null
+++ b/src/routes/+page.server.ts
@@ -0,0 +1,10 @@
+import type { PageServerLoad } from './$types';
+
+export const load: PageServerLoad = async ({ locals: { authReq, database } }) => {
+ const session = await authReq.validate();
+ const tracks = await database.listTracksWithProducer(session.user.userId);
+
+ return {
+ tracks
+ };
+};
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 3b64160..9840336 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,5 +1,28 @@
+
+