feat: interface toevoegingen voor het type any te vermijden
This commit is contained in:
		
							parent
							
								
									ae4d76a84b
								
							
						
					
					
						commit
						13f563bb56
					
				
					 2 changed files with 48 additions and 8 deletions
				
			
		
							
								
								
									
										46
									
								
								backend/src/interfaces/learningPath.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								backend/src/interfaces/learningPath.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,46 @@ | ||||||
|  | export interface LearningPathResponse { | ||||||
|  |     success: boolean; | ||||||
|  |     source: string; | ||||||
|  |     data: any[] | null; | ||||||
|  |     message?: string; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface LearningPath { | ||||||
|  |     _id: string; | ||||||
|  |     language: string; | ||||||
|  |     hruid: string; | ||||||
|  |     title: string; | ||||||
|  |     description: string; | ||||||
|  |     image?: string; // Image might be missing, so it's optional
 | ||||||
|  |     num_nodes: number; | ||||||
|  |     num_nodes_left: number; | ||||||
|  |     nodes: LearningObjectNode[]; | ||||||
|  |     keywords: string; | ||||||
|  |     target_ages: number[]; | ||||||
|  |     min_age: number; | ||||||
|  |     max_age: number; | ||||||
|  |     __order: number; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | interface LearningObjectNode { | ||||||
|  |     _id: string; | ||||||
|  |     learningobject_hruid: string; | ||||||
|  |     version: number; | ||||||
|  |     language: string; | ||||||
|  |     start_node?: boolean; | ||||||
|  |     transitions: Transition[]; | ||||||
|  |     created_at: string; | ||||||
|  |     updatedAt: string; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | interface Transition { | ||||||
|  |     default: boolean; | ||||||
|  |     _id: string; | ||||||
|  |     next: { | ||||||
|  |         _id: string; | ||||||
|  |         hruid: string; | ||||||
|  |         version: number; | ||||||
|  |         language: string; | ||||||
|  |     }; | ||||||
|  | } | ||||||
|  | @ -1,12 +1,6 @@ | ||||||
| import { fetchWithLogging } from "../util/apiHelper.js"; | import { fetchWithLogging } from "../util/apiHelper.js"; | ||||||
| import { DWENGO_API_BASE } from "../config/config.js"; | import { DWENGO_API_BASE } from "../config/config.js"; | ||||||
| 
 | import {LearningPath, LearningPathResponse} from "../interfaces/learningPath.js"; | ||||||
| interface LearningPathResponse { |  | ||||||
|     success: boolean; |  | ||||||
|     source: string; |  | ||||||
|     data: any[] | null; |  | ||||||
|     message?: string; |  | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| export async function fetchLearningPaths( | export async function fetchLearningPaths( | ||||||
|     hruids: string[], |     hruids: string[], | ||||||
|  | @ -25,7 +19,7 @@ export async function fetchLearningPaths( | ||||||
|     const apiUrl = `${DWENGO_API_BASE}/learningPath/getPathsFromIdList`; |     const apiUrl = `${DWENGO_API_BASE}/learningPath/getPathsFromIdList`; | ||||||
|     const params = { pathIdList: JSON.stringify({ hruids }), language }; |     const params = { pathIdList: JSON.stringify({ hruids }), language }; | ||||||
| 
 | 
 | ||||||
|     const learningPaths = await fetchWithLogging<any>(apiUrl, `Learning paths for ${source}`, params); |     const learningPaths = await fetchWithLogging<LearningPath[]>(apiUrl, `Learning paths for ${source}`, params); | ||||||
| 
 | 
 | ||||||
|     if (!learningPaths || learningPaths.length === 0) { |     if (!learningPaths || learningPaths.length === 0) { | ||||||
|         console.error(`⚠️ WARNING: No learning paths found for ${source}.`); |         console.error(`⚠️ WARNING: No learning paths found for ${source}.`); | ||||||
|  |  | ||||||
		Reference in a new issue
	
	 Gabriellvl
						Gabriellvl