refactor(common): Submission
This commit is contained in:
		
							parent
							
								
									6ff29cb949
								
							
						
					
					
						commit
						bc8e888373
					
				
					 7 changed files with 31 additions and 27 deletions
				
			
		|  | @ -1,7 +1,8 @@ | ||||||
| import { Request, Response } from 'express'; | import { Request, Response } from 'express'; | ||||||
| import { createSubmission, deleteSubmission, getSubmission } from '../services/submissions.js'; | import { createSubmission, deleteSubmission, getSubmission } from '../services/submissions.js'; | ||||||
| import { Language, languageMap } from '../entities/content/language.js'; | import { Language, languageMap } from '../entities/content/language.js'; | ||||||
| import { SubmissionDTO } from '../interfaces/submission'; | 
 | ||||||
|  | import { SubmissionDTO } from 'dwengo-1-common/src/interfaces/submission'; | ||||||
| 
 | 
 | ||||||
| interface SubmissionParams { | interface SubmissionParams { | ||||||
|     hruid: string; |     hruid: string; | ||||||
|  |  | ||||||
|  | @ -1,27 +1,7 @@ | ||||||
| import { Submission } from '../entities/assignments/submission.entity.js'; | import { Submission } from '../entities/assignments/submission.entity.js'; | ||||||
| import { Language } from '../entities/content/language.js'; |  | ||||||
| import { mapToGroupDTO } from './group.js'; | import { mapToGroupDTO } from './group.js'; | ||||||
| import { mapToStudent, mapToStudentDTO, StudentDTO } from './student.js'; | import { mapToStudent, mapToStudentDTO } from './student.js'; | ||||||
| import { LearningObjectIdentifier } from './learning-content.js'; | import { SubmissionDTO, SubmissionDTOId } from 'dwengo-1-common/src/interfaces/submission'; | ||||||
| import { GroupDTO } from 'dwengo-1-common/src/interfaces/group'; |  | ||||||
| 
 |  | ||||||
| export interface SubmissionDTO { |  | ||||||
|     learningObjectIdentifier: LearningObjectIdentifier; |  | ||||||
| 
 |  | ||||||
|     submissionNumber?: number; |  | ||||||
|     submitter: StudentDTO; |  | ||||||
|     time?: Date; |  | ||||||
|     group?: GroupDTO; |  | ||||||
|     content: string; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| export interface SubmissionDTOId { |  | ||||||
|     learningObjectHruid: string; |  | ||||||
|     learningObjectLanguage: Language; |  | ||||||
|     learningObjectVersion: number; |  | ||||||
| 
 |  | ||||||
|     submissionNumber?: number; |  | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| export function mapToSubmissionDTO(submission: Submission): SubmissionDTO { | export function mapToSubmissionDTO(submission: Submission): SubmissionDTO { | ||||||
|     return { |     return { | ||||||
|  |  | ||||||
|  | @ -1,7 +1,8 @@ | ||||||
| import { getAssignmentRepository, getClassRepository, getGroupRepository, getSubmissionRepository } from '../data/repositories.js'; | import { getAssignmentRepository, getClassRepository, getGroupRepository, getSubmissionRepository } from '../data/repositories.js'; | ||||||
| import { mapToAssignment, mapToAssignmentDTO, mapToAssignmentDTOId } from '../interfaces/assignment.js'; | import { mapToAssignment, mapToAssignmentDTO, mapToAssignmentDTOId } from '../interfaces/assignment.js'; | ||||||
| import { mapToSubmissionDTO, mapToSubmissionDTOId, SubmissionDTO, SubmissionDTOId } from '../interfaces/submission.js'; | import { mapToSubmissionDTO, mapToSubmissionDTOId } from '../interfaces/submission.js'; | ||||||
| import { AssignmentDTO } from 'dwengo-1-common/src/interfaces/assignment'; | import { AssignmentDTO } from 'dwengo-1-common/src/interfaces/assignment'; | ||||||
|  | import { SubmissionDTO, SubmissionDTOId } from 'dwengo-1-common/src/interfaces/submission'; | ||||||
| 
 | 
 | ||||||
| export async function getAllAssignments(classid: string, full: boolean): Promise<AssignmentDTO[]> { | export async function getAllAssignments(classid: string, full: boolean): Promise<AssignmentDTO[]> { | ||||||
|     const classRepository = getClassRepository(); |     const classRepository = getClassRepository(); | ||||||
|  |  | ||||||
|  | @ -7,8 +7,9 @@ import { | ||||||
| } from '../data/repositories.js'; | } from '../data/repositories.js'; | ||||||
| import { Group } from '../entities/assignments/group.entity.js'; | import { Group } from '../entities/assignments/group.entity.js'; | ||||||
| import { mapToGroupDTO, mapToGroupDTOId } from '../interfaces/group.js'; | import { mapToGroupDTO, mapToGroupDTOId } from '../interfaces/group.js'; | ||||||
| import { mapToSubmissionDTO, mapToSubmissionDTOId, SubmissionDTO, SubmissionDTOId } from '../interfaces/submission.js'; | import { mapToSubmissionDTO, mapToSubmissionDTOId } from '../interfaces/submission.js'; | ||||||
| import { GroupDTO } from 'dwengo-1-common/src/interfaces/group'; | import { GroupDTO } from 'dwengo-1-common/src/interfaces/group'; | ||||||
|  | import { SubmissionDTO, SubmissionDTOId } from 'dwengo-1-common/src/interfaces/submission'; | ||||||
| 
 | 
 | ||||||
| export async function getGroup(classId: string, assignmentNumber: number, groupNumber: number, full: boolean): Promise<GroupDTO | null> { | export async function getGroup(classId: string, assignmentNumber: number, groupNumber: number, full: boolean): Promise<GroupDTO | null> { | ||||||
|     const classRepository = getClassRepository(); |     const classRepository = getClassRepository(); | ||||||
|  |  | ||||||
|  | @ -2,11 +2,12 @@ import { getClassRepository, getGroupRepository, getStudentRepository, getSubmis | ||||||
| import { mapToClassDTO } from '../interfaces/class.js'; | import { mapToClassDTO } from '../interfaces/class.js'; | ||||||
| import { mapToGroupDTO, mapToGroupDTOId } from '../interfaces/group.js'; | import { mapToGroupDTO, mapToGroupDTOId } from '../interfaces/group.js'; | ||||||
| import { mapToStudent, mapToStudentDTO, StudentDTO } from '../interfaces/student.js'; | import { mapToStudent, mapToStudentDTO, StudentDTO } from '../interfaces/student.js'; | ||||||
| import { mapToSubmissionDTO, mapToSubmissionDTOId, SubmissionDTO, SubmissionDTOId } from '../interfaces/submission.js'; | import { mapToSubmissionDTO, mapToSubmissionDTOId } from '../interfaces/submission.js'; | ||||||
| import { getAllAssignments } from './assignments.js'; | import { getAllAssignments } from './assignments.js'; | ||||||
| import { AssignmentDTO } from 'dwengo-1-common/src/interfaces/assignment'; | import { AssignmentDTO } from 'dwengo-1-common/src/interfaces/assignment'; | ||||||
| import { ClassDTO } from 'dwengo-1-common/src/interfaces/class'; | import { ClassDTO } from 'dwengo-1-common/src/interfaces/class'; | ||||||
| import { GroupDTO } from 'dwengo-1-common/src/interfaces/group'; | import { GroupDTO } from 'dwengo-1-common/src/interfaces/group'; | ||||||
|  | import { SubmissionDTO, SubmissionDTOId } from 'dwengo-1-common/src/interfaces/submission'; | ||||||
| 
 | 
 | ||||||
| export async function getAllStudents(full: boolean): Promise<StudentDTO[] | string[]> { | export async function getAllStudents(full: boolean): Promise<StudentDTO[] | string[]> { | ||||||
|     const studentRepository = getStudentRepository(); |     const studentRepository = getStudentRepository(); | ||||||
|  |  | ||||||
|  | @ -1,7 +1,8 @@ | ||||||
| import { getGroupRepository, getSubmissionRepository } from '../data/repositories.js'; | import { getGroupRepository, getSubmissionRepository } from '../data/repositories.js'; | ||||||
| import { Language } from '../entities/content/language.js'; | import { Language } from '../entities/content/language.js'; | ||||||
| import { LearningObjectIdentifier } from '../entities/content/learning-object-identifier.js'; | import { LearningObjectIdentifier } from '../entities/content/learning-object-identifier.js'; | ||||||
| import { mapToSubmission, mapToSubmissionDTO, SubmissionDTO } from '../interfaces/submission.js'; | import { mapToSubmission, mapToSubmissionDTO } from '../interfaces/submission.js'; | ||||||
|  | import { SubmissionDTO } from 'dwengo-1-common/src/interfaces/submission'; | ||||||
| 
 | 
 | ||||||
| export async function getSubmission( | export async function getSubmission( | ||||||
|     learningObjectHruid: string, |     learningObjectHruid: string, | ||||||
|  |  | ||||||
							
								
								
									
										19
									
								
								common/src/interfaces/submission.d.ts
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								common/src/interfaces/submission.d.ts
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | ||||||
|  | import { GroupDTO } from './group'; | ||||||
|  | 
 | ||||||
|  | export interface SubmissionDTO { | ||||||
|  |     learningObjectIdentifier: LearningObjectIdentifier; | ||||||
|  | 
 | ||||||
|  |     submissionNumber?: number; | ||||||
|  |     submitter: StudentDTO; | ||||||
|  |     time?: Date; | ||||||
|  |     group?: GroupDTO; | ||||||
|  |     content: string; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface SubmissionDTOId { | ||||||
|  |     learningObjectHruid: string; | ||||||
|  |     learningObjectLanguage: Language; | ||||||
|  |     learningObjectVersion: number; | ||||||
|  | 
 | ||||||
|  |     submissionNumber?: number; | ||||||
|  | } | ||||||
		Reference in a new issue