-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Feat(Mappers): Add mappers factories
- Loading branch information
1 parent
82aa278
commit c8ce76d
Showing
12 changed files
with
193 additions
and
3 deletions.
There are no files selected for viewing
15 changes: 15 additions & 0 deletions
15
src/infra/database/prisma/mappers/factories/make-certificate-mapper.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import { InMemoryImagesRepository } from '../../../../../../test/repositories/in-memory-images-repository' | ||
import { PrismaStudentCertificatesRepository } from '../../repositories/prisma-student-certificates-repository' | ||
import { CertificateMapper } from '../certificate-mapper' | ||
|
||
export function makeCertificateMapper() { | ||
const inMemoryImagesRepository = new InMemoryImagesRepository() | ||
const prismaStudentCertificatesRepository = new PrismaStudentCertificatesRepository() | ||
|
||
const certificateMapper = new CertificateMapper( | ||
inMemoryImagesRepository, | ||
prismaStudentCertificatesRepository | ||
) | ||
|
||
return certificateMapper | ||
} |
12 changes: 12 additions & 0 deletions
12
src/infra/database/prisma/mappers/factories/make-class-mapper.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
import { ClassMapper } from '../class-mapper' | ||
import { PrismaEvaluationsRepository } from './../../repositories/prisma-evaluations-repository' | ||
|
||
export function makeClassMapper() { | ||
const prismaEvaluationsRepository = new PrismaEvaluationsRepository() | ||
|
||
const classMapper = new ClassMapper( | ||
prismaEvaluationsRepository | ||
) | ||
|
||
return classMapper | ||
} |
28 changes: 28 additions & 0 deletions
28
src/infra/database/prisma/mappers/factories/make-course-mapper.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
import { PrismaCourseTagsRepository } from '../../repositories/prisma-course-tags-repository' | ||
import { PrismaEnrollmentsRepository } from '../../repositories/prisma-enrollments-repository' | ||
import { PrismaCertificatesRepository } from './../../repositories/prisma-certificates-repository' | ||
import { PrismaModulesRepository } from './../../repositories/prisma-modules-repository' | ||
import { CourseMapper } from './../course-mapper' | ||
import { makeCertificateMapper } from './make-certificate-mapper' | ||
import { makeEnrollmentMapper } from './make-enrollment-mapper' | ||
import { makeModuleMapper } from './make-module-mapper' | ||
|
||
export function makeCourseMapper() { | ||
const certificateMapper = makeCertificateMapper() | ||
const enrollmentMapper = makeEnrollmentMapper() | ||
const moduleMapper = makeModuleMapper() | ||
|
||
const prismaCertificatesRepository = new PrismaCertificatesRepository(certificateMapper) | ||
const prismaCourseTagsRepository = new PrismaCourseTagsRepository() | ||
const prismaEnrollmentsRepository = new PrismaEnrollmentsRepository(enrollmentMapper) | ||
const prismaModulesRepository = new PrismaModulesRepository(moduleMapper) | ||
|
||
const courseMapper = new CourseMapper( | ||
prismaCertificatesRepository, | ||
prismaCourseTagsRepository, | ||
prismaEnrollmentsRepository, | ||
prismaModulesRepository | ||
) | ||
|
||
return courseMapper | ||
} |
12 changes: 12 additions & 0 deletions
12
src/infra/database/prisma/mappers/factories/make-enrollment-mapper.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
import { EnrollmentMapper } from '../enrollment-mapeer' | ||
import { PrismaEnrollmentCompleteItemsRepository } from './../../repositories/prisma-enrollment-completed-items-repository' | ||
|
||
export function makeEnrollmentMapper() { | ||
const prismaEnrollmentCompleteItemsRepository = new PrismaEnrollmentCompleteItemsRepository() | ||
|
||
const enrollmentMapper = new EnrollmentMapper( | ||
prismaEnrollmentCompleteItemsRepository | ||
) | ||
|
||
return enrollmentMapper | ||
} |
15 changes: 15 additions & 0 deletions
15
src/infra/database/prisma/mappers/factories/make-file-mapper.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import { FileMapper } from '../file-mapper' | ||
import { PrismaVideosRepository } from './../../repositories/prisma-videos-repository' | ||
import { type VideoMapper } from './../video-mapper' | ||
|
||
export function makeFileMapper(videoMapper: VideoMapper) { | ||
const prismaVideosRepository = new PrismaVideosRepository( | ||
videoMapper | ||
) | ||
|
||
const fileMapper = new FileMapper( | ||
prismaVideosRepository | ||
) | ||
|
||
return fileMapper | ||
} |
17 changes: 17 additions & 0 deletions
17
src/infra/database/prisma/mappers/factories/make-instructor-mapper.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import { PrismaCoursesRepository } from './../../repositories/prisma-courses-repository' | ||
import { InstructorMapper } from './../instructor-mapper' | ||
import { makeCourseMapper } from './make-course-mapper' | ||
|
||
export function makeInstructorMapper() { | ||
const courseMapper = makeCourseMapper() | ||
|
||
const prismaCoursesRepository = new PrismaCoursesRepository( | ||
courseMapper | ||
) | ||
|
||
const instructorMapper = new InstructorMapper( | ||
prismaCoursesRepository | ||
) | ||
|
||
return instructorMapper | ||
} |
17 changes: 17 additions & 0 deletions
17
src/infra/database/prisma/mappers/factories/make-module-mapper.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import { PrismaClassesRepository } from '../../repositories/prisma-classes-repository' | ||
import { ModuleMapper } from './../module-mapper' | ||
import { makeClassMapper } from './make-class-mapper' | ||
|
||
export function makeModuleMapper() { | ||
const classMapper = makeClassMapper() | ||
|
||
const prismaClassesRepository = new PrismaClassesRepository( | ||
classMapper | ||
) | ||
|
||
const moduleMapper = new ModuleMapper( | ||
prismaClassesRepository | ||
) | ||
|
||
return moduleMapper | ||
} |
21 changes: 21 additions & 0 deletions
21
src/infra/database/prisma/mappers/factories/make-student-mapper.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
import { PrismaEnrollmentsRepository } from '../../repositories/prisma-enrollments-repository' | ||
import { PrismaEvaluationsRepository } from '../../repositories/prisma-evaluations-repository' | ||
import { PrismaStudentCertificatesRepository } from '../../repositories/prisma-student-certificates-repository' | ||
import { StudentMapper } from './../student-mapper' | ||
import { makeEnrollmentMapper } from './make-enrollment-mapper' | ||
|
||
export function makeStudentMapper() { | ||
const enrollmentMapper = makeEnrollmentMapper() | ||
|
||
const prismaEvaluationsRepository = new PrismaEvaluationsRepository() | ||
const prismaEnrollmentsRepository = new PrismaEnrollmentsRepository(enrollmentMapper) | ||
const prismaStudentCertificatesRepository = new PrismaStudentCertificatesRepository() | ||
|
||
const studentMapper = new StudentMapper( | ||
prismaEnrollmentsRepository, | ||
prismaEvaluationsRepository, | ||
prismaStudentCertificatesRepository | ||
) | ||
|
||
return studentMapper | ||
} |
12 changes: 12 additions & 0 deletions
12
src/infra/database/prisma/mappers/factories/make-tag-mapper.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
import { PrismaCourseTagsRepository } from '../../repositories/prisma-course-tags-repository' | ||
import { TagMapper } from '../tag-mapper' | ||
|
||
export function makeTagMapper() { | ||
const prismaCourseTagRepository = new PrismaCourseTagsRepository() | ||
|
||
const tagMapper = new TagMapper( | ||
prismaCourseTagRepository | ||
) | ||
|
||
return tagMapper | ||
} |
28 changes: 28 additions & 0 deletions
28
src/infra/database/prisma/mappers/factories/make-user-mapper.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
import { PrismaCoursesRepository } from '../../repositories/prisma-courses-repository' | ||
import { PrismaEnrollmentsRepository } from '../../repositories/prisma-enrollments-repository' | ||
import { PrismaEvaluationsRepository } from '../../repositories/prisma-evaluations-repository' | ||
import { PrismaStudentCertificatesRepository } from '../../repositories/prisma-student-certificates-repository' | ||
import { UserMapper } from './../user-mapper' | ||
import { makeCourseMapper } from './make-course-mapper' | ||
import { makeEnrollmentMapper } from './make-enrollment-mapper' | ||
|
||
export function makeUserMapper() { | ||
const enrollmentMapper = makeEnrollmentMapper() | ||
const courseMapper = makeCourseMapper() | ||
|
||
const prismaCoursesRepository = new PrismaCoursesRepository( | ||
courseMapper | ||
) | ||
const prismaEvaluationsRepository = new PrismaEvaluationsRepository() | ||
const prismaEnrollmentsRepository = new PrismaEnrollmentsRepository(enrollmentMapper) | ||
const prismaStudentCertificatesRepository = new PrismaStudentCertificatesRepository() | ||
|
||
const userMapper = new UserMapper( | ||
prismaCoursesRepository, | ||
prismaEnrollmentsRepository, | ||
prismaEvaluationsRepository, | ||
prismaStudentCertificatesRepository | ||
) | ||
|
||
return userMapper | ||
} |
15 changes: 15 additions & 0 deletions
15
src/infra/database/prisma/mappers/factories/make-video-mapper.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import { PrismaFilesRepository } from '../../repositories/prisma-files-repository' | ||
import { type FileMapper } from '../file-mapper' | ||
import { VideoMapper } from './../video-mapper' | ||
|
||
export function makeVideoMapper(fileMapper: FileMapper) { | ||
const prismaFilesRepository = new PrismaFilesRepository( | ||
fileMapper | ||
) | ||
|
||
const videoMapper = new VideoMapper( | ||
prismaFilesRepository | ||
) | ||
|
||
return videoMapper | ||
} |
4 changes: 1 addition & 3 deletions
4
src/infra/database/prisma/repositories/prisma-videos-repository.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters