feat: add service field to Quiz creation and enforce service ID requirement
- Introduced 'service' field in the Quiz creation input to enhance data structure. - Added validation to ensure 'service ID' is provided during Quiz creation, improving data integrity. - Updated centerMentor association logic to connect the current user as the center mentor for the Quiz.
This commit is contained in:
@@ -170,7 +170,13 @@ export class QuizSchema extends PothosSchema {
|
|||||||
type: this.quiz(),
|
type: this.quiz(),
|
||||||
args: {
|
args: {
|
||||||
data: t.arg({
|
data: t.arg({
|
||||||
type: this.builder.generator.getCreateInput('Quiz', ['id', 'centerMentorId', 'createdAt', 'updatedAt']),
|
type: this.builder.generator.getCreateInput('Quiz', [
|
||||||
|
'id',
|
||||||
|
'centerMentorId',
|
||||||
|
'createdAt',
|
||||||
|
'updatedAt',
|
||||||
|
'service',
|
||||||
|
]),
|
||||||
required: true,
|
required: true,
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
@@ -184,12 +190,18 @@ export class QuizSchema extends PothosSchema {
|
|||||||
if (!args.data) {
|
if (!args.data) {
|
||||||
throw new Error('Data is required')
|
throw new Error('Data is required')
|
||||||
}
|
}
|
||||||
|
if (!args.data.service?.connect?.id) {
|
||||||
|
throw new Error('Service ID is required')
|
||||||
|
}
|
||||||
|
args.data.centerMentor = {
|
||||||
|
connect: {
|
||||||
|
mentorId: ctx.http.me.id,
|
||||||
|
},
|
||||||
|
}
|
||||||
return await this.prisma.quiz.create({
|
return await this.prisma.quiz.create({
|
||||||
...query,
|
...query,
|
||||||
data: {
|
data: {
|
||||||
...args.data,
|
...args.data,
|
||||||
centerMentorId: ctx.http.me.id,
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user