Skip to content

Commit

Permalink
✨ :: [#318] TeacherEndPoint / TeacherDomainInterface import
Browse files Browse the repository at this point in the history
  • Loading branch information
uuuunseo committed Feb 20, 2024
1 parent 03a2a2d commit e5ece93
Show file tree
Hide file tree
Showing 11 changed files with 46 additions and 46 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,3 @@ public protocol RemoteTeacherDataSource {
func director() async throws
func homeroom(grade: Int, classNum: Int) async throws
}

4 changes: 2 additions & 2 deletions Projects/Domain/TeacherDomain/Project.swift
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import DependencyPlugin
import ProjectDescription
import ProjectDescriptionHelpers
import DependencyPlugin

let project = Project.makeModule(
name: ModulePaths.Domain.TeacherDomain.rawValue,
product: .staticLibrary,
targets: [.interface, .testing, .unitTest],
internalDependencies: [
.Domain.BaseDomain
.Domain.BaseDomain,
]
)
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Foundation
import JwtStoreInterface
import NeedleFoundation
import TeacherDomainInterface
import JwtStoreInterface

public protocol TeacherDomainDependency: Dependency {
var jwtStoreBuildable: any JwtStoreBuildable { get }
Expand All @@ -11,27 +11,27 @@ public final class TeacherDomainComponent: Component<TeacherDomainDependency>, T
public var commonSignupUseCase: any CommonSignupUseCase {
CommonSignupUseCaseImpl(teacherRepository: teacherRepository)
}

public var principalSignupUseCase: any PrincipalSignupUseCase {
PrincipalSignupUseCaseImpl(teacherRepository: teacherRepository)
}

public var deputyPrincipalSignupUseCase: any DeputyPrincipalSignupUseCase {
DeputyPrincipalSignupUseCaseImpl(teacherRepository: teacherRepository)
}

public var directorSignupUseCase: any DirectorSignupUseCase {
DirectorSignupUseCaseImpl(teacherRepository: teacherRepository)
}

public var homeRoomSignupUseCase: any HomeRoomSignupUseCase {
HomeRoomSignupUseCaseImpl(teacherRepository: teacherRepository)
}

public var teacherRepository: any TeacherRepository {
TeacherRepositoryImpl(remoteTeacherDataSource: remoteTeacherDataSource)
}

public var remoteTeacherDataSource: any RemoteTeacherDataSource {
RemoteTeacherDataSourceImpl(jwtStore: dependency.jwtStoreBuildable.jwtStore)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
import TeacherDomainInterface
import BaseDomain
import TeacherDomainInterface

final class RemoteTeacherDataSourceImpl: BaseRemoteDataSource<TeacherEndPoint>, RemoteTeacherDataSource {
func common() async throws {
try await request(.common)
}

func principal() async throws {
try await request(.principal)
}

func deputyPrincipal() async throws {
try await request(.deputyPrincipal)
}

func director() async throws {
try await request(.director)
}

func homeroom(grade: Int, classNum: Int) async throws {
try await request(.homeroom(grade: grade, classNum: classNum))
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import BaseDomain
import Emdpoint
import TeacherDomainInterface

enum TeacherEndPoint {
case common
Expand All @@ -11,57 +12,57 @@ enum TeacherEndPoint {

extension TeacherEndPoint: SMSEndpoint {
typealias ErrorType = TeacherDomainError

var domain: SMSDomain {
.teacher
}

var route: Route {
switch self {
case .common:
return .post("/common")

case .principal:
return .post("/principal")

case .deputyPrincipal:
return .post("/deputy-principal")

case .director:
return .post("/director")

case .homeroom:
return .post("/homeroom")
}
}

var task: HTTPTask {
switch self {
case .homeroom(let grade, let classNum):
case let .homeroom(grade, classNum):
return .requestParameters(body: [
"grade": grade,
"classNum": classNum
"classNum": classNum,
])

default:
return .requestPlain
}
}

var jwtTokenType: JwtTokenType {
switch self {
default:
return .accessToken
}
}
var errorMap: [Int : ErrorType]? {

var errorMap: [Int: ErrorType]? {
switch self {
default:
return [
400: .invalidRequest,
403: .invalidRequest,
409: .alreadyExistUser
409: .alreadyExistUser,
]
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
import TeacherDomainInterface
import Foundation
import TeacherDomainInterface

struct TeacherRepositoryImpl: TeacherRepository {
private let remoteTeacherDataSource: any RemoteTeacherDataSource

init(remoteTeacherDataSource: any RemoteTeacherDataSource) {
self.remoteTeacherDataSource = remoteTeacherDataSource
}

func common() async throws {
try await remoteTeacherDataSource.common()
}

func principal() async throws {
try await remoteTeacherDataSource.principal()
}

func deputyPrincipal() async throws {
try await remoteTeacherDataSource.deputyPrincipal()
}

func director() async throws {
try await remoteTeacherDataSource.director()
}

func homeroom(grade: Int, classNum: Int) async throws {
try await remoteTeacherDataSource.homeroom(grade: grade, classNum: classNum)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import TeacherDomainInterface

struct CommonSignupUseCaseImpl: CommonSignupUseCase {
private let teacherRepository: any TeacherRepository

init(teacherRepository: any TeacherRepository) {
self.teacherRepository = teacherRepository
}

func execute() async throws {
try await teacherRepository.common()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import TeacherDomainInterface

struct DeputyPrincipalSignupUseCaseImpl: DeputyPrincipalSignupUseCase {
private let teacherRepository: any TeacherRepository

init(teacherRepository: any TeacherRepository) {
self.teacherRepository = teacherRepository
}

func execute() async throws {
try await teacherRepository.deputyPrincipal()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import TeacherDomainInterface

struct DirectorSignupUseCaseImpl: DirectorSignupUseCase {
private let teacherRepository: any TeacherRepository

init(teacherRepository: any TeacherRepository) {
self.teacherRepository = teacherRepository
}

func execute() async throws {
try await teacherRepository.director()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import TeacherDomainInterface

struct HomeRoomSignupUseCaseImpl: HomeRoomSignupUseCase {
private let teacherRepository: any TeacherRepository

init(teacherRepository: any TeacherRepository) {
self.teacherRepository = teacherRepository
}

func execute(grade: Int, classNum: Int) async throws {
try await teacherRepository.homeroom(grade: grade, classNum: classNum)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import TeacherDomainInterface

struct PrincipalSignupUseCaseImpl: PrincipalSignupUseCase {
private let teacherRepository: any TeacherRepository

init(teacherRepository: any TeacherRepository) {
self.teacherRepository = teacherRepository
}

func execute() async throws {
try await teacherRepository.principal()
}
Expand Down

0 comments on commit e5ece93

Please sign in to comment.