refactor: enum voor account types
This commit is contained in:
		
							parent
							
								
									f9fc19d8a6
								
							
						
					
					
						commit
						fc0d3b5c84
					
				
					 20 changed files with 77 additions and 5870 deletions
				
			
		|  | @ -6,6 +6,7 @@ | |||
|     import type { AnswersResponse } from "@/controllers/answers"; | ||||
|     import type { AnswerData, AnswerDTO } from "@dwengo-1/common/interfaces/answer"; | ||||
|     import authService from "@/services/auth/auth-service"; | ||||
|     import {AccountType} from "@dwengo-1/common/util/account-types"; | ||||
| 
 | ||||
|     const props = defineProps<{ | ||||
|         question: QuestionDTO; | ||||
|  | @ -80,7 +81,7 @@ | |||
|             {{ question.content }} | ||||
|         </div> | ||||
|         <div | ||||
|             v-if="authService.authState.activeRole === 'teacher'" | ||||
|             v-if="authService.authState.activeRole === AccountType.Teacher" | ||||
|             class="answer-input-container" | ||||
|         > | ||||
|             <input | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ | |||
|     import dwengoLogo from "../../../assets/img/dwengo-groen-zwart.svg"; | ||||
|     import auth from "@/services/auth/auth-service.ts"; | ||||
|     import { watch } from "vue"; | ||||
|     import {AccountType} from "@dwengo-1/common/util/account-types"; | ||||
| 
 | ||||
|     const router = useRouter(); | ||||
| 
 | ||||
|  | @ -17,11 +18,11 @@ | |||
|     ); | ||||
| 
 | ||||
|     async function loginAsStudent(): Promise<void> { | ||||
|         await auth.loginAs("student"); | ||||
|         await auth.loginAs(AccountType.Student); | ||||
|     } | ||||
| 
 | ||||
|     async function loginAsTeacher(): Promise<void> { | ||||
|         await auth.loginAs("teacher"); | ||||
|         await auth.loginAs(AccountType.Teacher); | ||||
|     } | ||||
| </script> | ||||
| 
 | ||||
|  |  | |||
|  | @ -14,6 +14,7 @@ | |||
|     import type { AssignmentDTO } from "@dwengo-1/common/interfaces/assignment"; | ||||
|     import { useCreateAssignmentMutation } from "@/queries/assignments.ts"; | ||||
|     import { useRoute } from "vue-router"; | ||||
|     import {AccountType} from "@dwengo-1/common/util/account-types"; | ||||
| 
 | ||||
|     const route = useRoute(); | ||||
|     const router = useRouter(); | ||||
|  | @ -23,7 +24,7 @@ | |||
| 
 | ||||
|     onMounted(async () => { | ||||
|         // Redirect student | ||||
|         if (role.value === "student") { | ||||
|         if (role.value === AccountType.Student) { | ||||
|             await router.push("/user"); | ||||
|         } | ||||
| 
 | ||||
|  |  | |||
|  | @ -8,9 +8,10 @@ | |||
|     import { useGetLearningPathQuery } from "@/queries/learning-paths.ts"; | ||||
|     import type { LearningPath } from "@/data-objects/learning-paths/learning-path.ts"; | ||||
|     import type { GroupDTO } from "@dwengo-1/common/interfaces/group"; | ||||
|     import {AccountType} from "@dwengo-1/common/util/account-types"; | ||||
| 
 | ||||
|     const role = auth.authState.activeRole; | ||||
|     const isTeacher = computed(() => role === "teacher"); | ||||
|     const isTeacher = computed(() => role === AccountType.Teacher); | ||||
| 
 | ||||
|     const route = useRoute(); | ||||
|     const classId = ref<string>(route.params.classId as string); | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ | |||
|     import type { ClassDTO } from "@dwengo-1/common/interfaces/class"; | ||||
|     import { asyncComputed } from "@vueuse/core"; | ||||
|     import { useDeleteAssignmentMutation } from "@/queries/assignments.ts"; | ||||
|     import {AccountType} from "@dwengo-1/common/util/account-types"; | ||||
| 
 | ||||
|     const { t } = useI18n(); | ||||
|     const router = useRouter(); | ||||
|  | @ -16,7 +17,7 @@ | |||
|     const role = ref(auth.authState.activeRole); | ||||
|     const username = ref<string>(""); | ||||
| 
 | ||||
|     const isTeacher = computed(() => role.value === "teacher"); | ||||
|     const isTeacher = computed(() => role.value === AccountType.Teacher); | ||||
| 
 | ||||
|     // Fetch and store all the teacher's classes | ||||
|     let classesQueryResults = undefined; | ||||
|  |  | |||
|  | @ -2,6 +2,7 @@ | |||
|     import authState from "@/services/auth/auth-service.ts"; | ||||
|     import TeacherClasses from "./TeacherClasses.vue"; | ||||
|     import StudentClasses from "./StudentClasses.vue"; | ||||
|     import {AccountType} from "@dwengo-1/common/util/account-types"; | ||||
| 
 | ||||
|     // Determine if role is student or teacher to render correct view | ||||
|     const role: string = authState.authState.activeRole!; | ||||
|  | @ -9,7 +10,7 @@ | |||
| 
 | ||||
| <template> | ||||
|     <main> | ||||
|         <TeacherClasses v-if="role === 'teacher'"></TeacherClasses> | ||||
|         <TeacherClasses v-if="role === AccountType.Teacher"></TeacherClasses> | ||||
|         <StudentClasses v-else></StudentClasses> | ||||
|     </main> | ||||
| </template> | ||||
|  |  | |||
|  | @ -22,6 +22,7 @@ | |||
|     import type { AssignmentDTO } from "@dwengo-1/common/interfaces/assignment"; | ||||
|     import type { GroupDTO } from "@dwengo-1/common/interfaces/group"; | ||||
|     import QuestionNotification from "@/components/QuestionNotification.vue"; | ||||
|     import {AccountType} from "@dwengo-1/common/util/account-types"; | ||||
| 
 | ||||
|     const router = useRouter(); | ||||
|     const route = useRoute(); | ||||
|  | @ -235,8 +236,8 @@ | |||
|                         </p> | ||||
|                     </template> | ||||
|                 </v-list-item> | ||||
|                 <v-list-item | ||||
|                     v-if="query.classId && query.assignmentNo && authService.authState.activeRole === 'teacher'" | ||||
|                 <v-list-itemF | ||||
|                     v-if="query.classId && query.assignmentNo && authService.authState.activeRole === AccountType.Teacher" | ||||
|                 > | ||||
|                     <template v-slot:default> | ||||
|                         <learning-path-group-selector | ||||
|  | @ -245,7 +246,7 @@ | |||
|                             v-model="forGroupQueryParam" | ||||
|                         /> | ||||
|                     </template> | ||||
|                 </v-list-item> | ||||
|                 </v-list-itemF> | ||||
|                 <v-divider></v-divider> | ||||
|                 <div v-if="props.learningObjectHruid"> | ||||
|                     <using-query-result | ||||
|  | @ -259,7 +260,7 @@ | |||
|                                 :title="node.title" | ||||
|                                 :active="node.key === props.learningObjectHruid" | ||||
|                                 :key="node.key" | ||||
|                                 v-if="!node.teacherExclusive || authService.authState.activeRole === 'teacher'" | ||||
|                                 v-if="!node.teacherExclusive || authService.authState.activeRole === AccountType.Teacher" | ||||
|                             > | ||||
|                                 <template v-slot:prepend> | ||||
|                                     <v-icon | ||||
|  | @ -283,7 +284,7 @@ | |||
|                     </using-query-result> | ||||
|                 </div> | ||||
|                 <v-spacer></v-spacer> | ||||
|                 <v-list-item v-if="authService.authState.activeRole === 'teacher'"> | ||||
|                 <v-list-item v-if="authService.authState.activeRole === AccountType.Teacher"> | ||||
|                     <template v-slot:default> | ||||
|                         <v-btn | ||||
|                             class="button-in-nav" | ||||
|  | @ -296,7 +297,7 @@ | |||
|                 </v-list-item> | ||||
|                 <v-list-item> | ||||
|                     <div | ||||
|                         v-if="authService.authState.activeRole === 'student' && pathIsAssignment" | ||||
|                         v-if="authService.authState.activeRole === AccountType.Student && pathIsAssignment" | ||||
|                         class="assignment-indicator" | ||||
|                     > | ||||
|                         {{ t("assignmentIndicator") }} | ||||
|  | @ -325,7 +326,7 @@ | |||
|             ></learning-object-view> | ||||
|         </div> | ||||
|         <div | ||||
|             v-if="authService.authState.activeRole === 'student' && pathIsAssignment" | ||||
|             v-if="authService.authState.activeRole === AccountType.Student && pathIsAssignment" | ||||
|             class="question-box" | ||||
|         > | ||||
|             <div class="input-wrapper"> | ||||
|  |  | |||
|  | @ -8,8 +8,9 @@ | |||
|     import type { SubmissionData } from "@/views/learning-paths/learning-object/submission-data"; | ||||
|     import LearningObjectContentView from "@/views/learning-paths/learning-object/content/LearningObjectContentView.vue"; | ||||
|     import LearningObjectSubmissionsView from "@/views/learning-paths/learning-object/submissions/LearningObjectSubmissionsView.vue"; | ||||
|     import {AccountType} from "@dwengo-1/common/util/account-types"; | ||||
| 
 | ||||
|     const _isStudent = computed(() => authService.authState.activeRole === "student"); | ||||
|     const _isStudent = computed(() => authService.authState.activeRole === AccountType.Student); | ||||
| 
 | ||||
|     const props = defineProps<{ | ||||
|         hruid: string; | ||||
|  |  | |||
|  | @ -11,6 +11,7 @@ | |||
|     import type { StudentDTO } from "@dwengo-1/common/interfaces/student"; | ||||
|     import type { GroupDTO } from "@dwengo-1/common/interfaces/group"; | ||||
|     import { useI18n } from "vue-i18n"; | ||||
|     import {AccountType} from "@dwengo-1/common/util/account-types"; | ||||
| 
 | ||||
|     const { t } = useI18n(); | ||||
| 
 | ||||
|  | @ -31,7 +32,7 @@ | |||
|         mutate: submitSolution, | ||||
|     } = useCreateSubmissionMutation(); | ||||
| 
 | ||||
|     const isStudent = computed(() => authService.authState.activeRole === "student"); | ||||
|     const isStudent = computed(() => authService.authState.activeRole === AccountType.Student); | ||||
| 
 | ||||
|     const isSubmitDisabled = computed(() => { | ||||
|         if (!props.submissionData || props.submissions === undefined) { | ||||
|  |  | |||
		Reference in a new issue
	
	 Gabriellvl
						Gabriellvl