import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
class DB {
// Method to create a user
async createUser(name: string, email: string | null = null) {
try {
const newUser = await prisma.user.create({
data: {
name: name,
email: email,
is_premium: false,
sessions: {
create: []
}
}
});
return newUser;
} catch (error) {
console.error("Error creating user:", error);
throw error;
}
}
// Method to add session to a user
async addSession(userId: number, session: { creation_date: Date, baseSnapshotId: number }) {
try {
const updatedUser = await prisma.user.update({
where: { id: userId },
data: {
sessions: {
create: {
creation_date: session.creation_date,
baseSnapshotId: session.baseSnapshotId
}
}
},
include: {
sessions: true
}
});
return updatedUser;
} catch (error) {
console.error("Error adding session to user:", error);
throw error;
}
}
}
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
class DB {
// Method to create a user
async createUser(name: string, email: string | null = null) {
try {
const newUser = await prisma.user.create({
data: {
name: name,
email: email,
is_premium: false,
sessions: {
create: []
}
}
});
return newUser;
} catch (error) {
console.error("Error creating user:", error);
throw error;
}
}
// Method to add session to a user
async addSession(userId: number, session: { creation_date: Date, baseSnapshotId: number }) {
try {
const updatedUser = await prisma.user.update({
where: { id: userId },
data: {
sessions: {
create: {
creation_date: session.creation_date,
baseSnapshotId: session.baseSnapshotId
}
}
},
include: {
sessions: true
}
});
return updatedUser;
} catch (error) {
console.error("Error adding session to user:", error);
throw error;
}
}
}