From ac75994dbcdd0d24f9740f6010623c11b2bf12c4 Mon Sep 17 00:00:00 2001 From: Matthew Rubino Date: Tue, 4 Apr 2023 16:40:24 -0400 Subject: [PATCH 1/2] Implement CategoryScore service --- src/services/categoryScore.service.ts | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/services/categoryScore.service.ts diff --git a/src/services/categoryScore.service.ts b/src/services/categoryScore.service.ts new file mode 100644 index 00000000..114ad134 --- /dev/null +++ b/src/services/categoryScore.service.ts @@ -0,0 +1,40 @@ +import { getRepository, IsNull } from 'typeorm' + +import CategoryScoreModel from '../model/categoryScore.model' + +import { CategoryScore } from 'devu-shared-modules' + +const connect = () => getRepository(CategoryScoreModel) + +export async function create(categoryScore: CategoryScore) { + return await connect().save(categoryScore) +} + +export async function update(categoryScore: CategoryScore) { + const { id, courseId, userId, category, score, letterGrade } = categoryScore + + if (!id) throw new Error('Missing Id') + + return await connect().update(id, { courseId, userId, category, score, letterGrade }) +} + +export async function _delete(id: number) { + return await connect().softDelete({ id, deletedAt: IsNull() }) +} + +export async function retrieve(id: number) { + return await connect().findOne({ id, deletedAt: IsNull() }) +} + +// Retrieve all the categoryScores linked to a particular category by categoryId +export async function list(categoryId: number) { + return await connect().find({ categoryId, deletedAt: IsNull() }) +} + +export default { + create, + retrieve, + update, + _delete, + list, +} From de76a645a74da96dbf5b85d841360d39cedb074c Mon Sep 17 00:00:00 2001 From: Matthew Rubino Date: Tue, 4 Apr 2023 16:51:47 -0400 Subject: [PATCH 2/2] Fix CategoryScore list operation --- src/services/categoryScore.service.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/services/categoryScore.service.ts b/src/services/categoryScore.service.ts index 114ad134..9e80938f 100644 --- a/src/services/categoryScore.service.ts +++ b/src/services/categoryScore.service.ts @@ -26,9 +26,9 @@ export async function retrieve(id: number) { return await connect().findOne({ id, deletedAt: IsNull() }) } -// Retrieve all the categoryScores linked to a particular category by categoryId -export async function list(categoryId: number) { - return await connect().find({ categoryId, deletedAt: IsNull() }) +// Retrieve all the categoryScores linked to a particular category +export async function list(category: string) { + return await connect().find({ category, deletedAt: IsNull() }) } export default {