fix: errors super en this

This commit is contained in:
laurejablonski 2025-04-21 23:45:01 +02:00
parent db33cd4908
commit c446e09aff

View file

@ -1,6 +1,7 @@
import type { AnswerData, AnswerDTO, AnswerId } from "@dwengo-1/common/interfaces/answer"; import type { AnswerData, AnswerDTO, AnswerId } from "@dwengo-1/common/interfaces/answer";
import { BaseController } from "@/controllers/base-controller.ts"; import { BaseController } from "@/controllers/base-controller.ts";
import type { QuestionId } from "@dwengo-1/common/interfaces/question"; import type { QuestionId } from "@dwengo-1/common/interfaces/question";
import type { LearningObjectIdentifierDTO } from "@dwengo-1/common/interfaces/learning-content";
export interface AnswersResponse { export interface AnswersResponse {
answers: AnswerDTO[] | AnswerId[]; answers: AnswerDTO[] | AnswerId[];
@ -11,29 +12,34 @@ export interface AnswerResponse {
} }
export class AnswerController extends BaseController { export class AnswerController extends BaseController {
loId: LearningObjectIdentifierDTO;
sequenceNumber: number;
constructor(questionId: QuestionId) { constructor(questionId: QuestionId) {
super(`learningObject/${questionId.learningObjectIdentifier.hruid}/:${questionId.learningObjectIdentifier.version}/questions/${questionId.sequenceNumber}/answers`);
this.loId = questionId.learningObjectIdentifier; this.loId = questionId.learningObjectIdentifier;
this.sequenceNumber = questionId.sequenceNumber; this.sequenceNumber = questionId.sequenceNumber;
super(`learningObject/${loId.hruid}/:${loId.version}/questions/${this.sequenceNumber}/answers`);
} }
async getAll(full = true): Promise<AnswersResponse> { async getAll(full = true): Promise<AnswersResponse> {
return this.get<AnswersResponse>("/", { lang: this.loId.lang, full }); return this.get<AnswersResponse>("/", { lang: this.loId.language, full });
} }
async getBy(seq: number): Promise<AnswerResponse> { async getBy(seq: number): Promise<AnswerResponse> {
return this.get<AnswerResponse>(`/${seq}`, { lang: this.loId.lang }); return this.get<AnswerResponse>(`/${seq}`, { lang: this.loId.language });
} }
async create(answerData: AnswerData): Promise<AnswerResponse> { async create(answerData: AnswerData): Promise<AnswerResponse> {
return this.post<AnswerResponse>("/", answerData, { lang: this.loId.lang }); return this.post<AnswerResponse>("/", answerData, { lang: this.loId.language });
} }
async remove(seq: number): Promise<AnswerResponse> { async remove(seq: number): Promise<AnswerResponse> {
return this.delete<AnswerResponse>(`/${seq}`, { lang: this.loId.lang }); return this.delete<AnswerResponse>(`/${seq}`, { lang: this.loId.language });
} }
async update(seq: number, answerData: AnswerData): Promise<AnswerResponse> { async update(seq: number, answerData: AnswerData): Promise<AnswerResponse> {
return this.put<AnswerResponse>(`/${seq}`, answerData, { lang: this.loId.lang }); return this.put<AnswerResponse>(`/${seq}`, answerData, { lang: this.loId.language });
} }
} }