cptadmin / packages /backend /src /app.service.ts
BG5's picture
Upload 253 files
db242f8
import { CustomPrismaService } from 'nestjs-prisma';
import { Inject, Injectable } from '@nestjs/common';
import { ExtendedPrismaClient } from '@/processors/database/prisma.extension';
@Injectable()
export class AppService {
constructor(
@Inject('PrismaService')
private prisma: CustomPrismaService<ExtendedPrismaClient>,
) {}
getHello(): string {
return 'Hello World!';
}
install() {}
getRecentAnnouncement() {
return this.prisma.client.announcement.findFirst({
orderBy: {
createdAt: 'desc',
},
});
}
getAllAnnouncement() {
return this.prisma.client.announcement.findMany({
orderBy: {
createdAt: 'desc',
},
});
}
upsertAnnouncement({
id,
title,
content,
}: {
id?: number;
title?: string;
content?: string;
}) {
if (id && (title || content)) {
return this.prisma.client.announcement.update({
where: {
id,
},
data: {
title,
content,
},
});
} else if (title && content) {
return this.prisma.client.announcement.create({
data: {
title,
content,
},
});
}
}
deleteAnnouncement(id: number) {
return this.prisma.client.announcement.delete({
where: {
id,
},
});
}
}