remedify-assessment-be/src/feedback/feedback.service.ts
2025-02-22 17:08:32 +05:30

42 lines
1.2 KiB
TypeScript

import { Injectable } from '@nestjs/common';
import Feedback from './feedback.entity';
@Injectable()
export class FeedbackService {
constructor() { }
async findAll(): Promise<{ rows: Feedback[], count: number }> {
return Feedback.findAndCountAll();
}
findByPk(id: number): Promise<Feedback> {
return Feedback.findByPk(id,)
}
findOne(feedback: Feedback): Promise<Feedback> {
return Feedback.findOne({ where: feedback as any, })
}
filter(feedback: Feedback): Promise<Feedback[]> {
return Feedback.findAll({ where: feedback as any, })
}
async remove(id: number): Promise<number> {
return Feedback.destroy({ where: { id: id } });
}
async upsert(feedback: Feedback, insertIfNotFound: boolean): Promise<Feedback | [affectedCount: number]> {
if (feedback.id) {
const existingFeedback = await this.findByPk(feedback.id);
if (existingFeedback) {
return Feedback.update(feedback, { where: { id: feedback.id } });
}
}
if (insertIfNotFound) {
return Feedback.create(feedback as any)
}
}
}