fix: support overview scene URLs with embedded passwords

This commit is contained in:
2026-09-23 11:01:10 +09:00
parent 420a7ecf2b
commit 06b1e9ad60
4 changed files with 34 additions and 19 deletions
+3 -3
View File
@@ -1601,11 +1601,11 @@ export class InstructorService {
try {
cameraViewUrl = input.cameraViewUrl === undefined ? undefined : normalizeCameraUrl(input.cameraViewUrl);
} catch {
throw new BadRequestException('오버뷰 시청 URL에 올바른 room과 view를 지정해주세요.');
throw new BadRequestException('오버뷰 시청 URL에 올바른 room과 scene 또는 view를 지정해주세요.');
}
const cameraSettings = {
cameraViewUrl: cameraViewUrl ?? existingOverride?.cameraViewUrl ?? '',
cameraPassword: cameraViewUrl === '' ? '' : input.cameraPassword ?? existingOverride?.cameraPassword ?? '',
cameraPassword: cameraViewUrl !== undefined ? '' : existingOverride?.cameraPassword ?? '',
};
const existingLearningSteps = this.resolveLearningSteps(
@@ -1776,7 +1776,7 @@ export class InstructorService {
selectedTagLabel = tagOption.label;
}
if (!targetWeek || input.cameraViewUrl !== undefined || input.cameraPassword !== undefined || input.tagLabel !== undefined || input.title || input.duration || input.overview || input.deliverable || input.isTeamProject !== undefined || input.learningSteps || input.topics || input.topicDetails || input.topicVideoUrls || input.practiceContents || input.disabledModuleIds) {
if (!targetWeek || input.cameraViewUrl !== undefined || input.tagLabel !== undefined || input.title || input.duration || input.overview || input.deliverable || input.isTeamProject !== undefined || input.learningSteps || input.topics || input.topicDetails || input.topicVideoUrls || input.practiceContents || input.disabledModuleIds) {
await this.prisma.instructorCurriculumWeekOverride.upsert({
where: {
organizationName_courseId_week: {