Skip to content

Commit

Permalink
Merge pull request #379 from School-of-Company/377-school-list-api-co…
Browse files Browse the repository at this point in the history
…nnecting

🔀 :: [#377] 학교 목록 - 학교 리스트 조회 기능 추가
  • Loading branch information
uuuunseo authored Jul 22, 2024
2 parents 371f966 + 4523a0a commit dd2b35d
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 11 deletions.
18 changes: 10 additions & 8 deletions App/Sources/Application/NeedleGenerated.swift
Original file line number Diff line number Diff line change
Expand Up @@ -715,15 +715,17 @@ private func factorydd7e28250a180554c7a0f47b58f8f304c97af4d5(_ component: Needle
return InquiryListDependencyec75a7335a50ded93b28Provider(appComponent: parent1(component) as! AppComponent)
}
private class SchoolListDependency96b276c3342c1aca3550Provider: SchoolListDependency {


init() {

var fetchSchoolListUseCase: any FetchSchoolListUseCase {
return appComponent.fetchSchoolListUseCase
}
private let appComponent: AppComponent
init(appComponent: AppComponent) {
self.appComponent = appComponent
}
}
/// ^->AppComponent->SchoolListComponent
private func factoryd55f8188de756273ca44e3b0c44298fc1c149afb(_ component: NeedleFoundation.Scope) -> AnyObject {
return SchoolListDependency96b276c3342c1aca3550Provider()
private func factoryd55f8188de756273ca44f47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return SchoolListDependency96b276c3342c1aca3550Provider(appComponent: parent1(component) as! AppComponent)
}
private class ActivityListDependencyb8e659960978b8384f80Provider: ActivityListDependency {
var activityDetailFactory: any ActivityDetailFactory {
Expand Down Expand Up @@ -1172,7 +1174,7 @@ extension InquiryListComponent: Registration {
}
extension SchoolListComponent: Registration {
public func registerItems() {

keyPathToName[\SchoolListDependency.fetchSchoolListUseCase] = "fetchSchoolListUseCase-any FetchSchoolListUseCase"
}
}
extension ActivityListComponent: Registration {
Expand Down Expand Up @@ -1458,7 +1460,7 @@ private func registerProviderFactory(_ componentPath: String, _ factory: @escapi
registerProviderFactory("^->AppComponent->SuccessChangePasswordComponent", factoryde3552d9e0f793ec8b8df47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->NewPasswordComponent", factory52985a6d5ec65d75bd97f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->InquiryListComponent", factorydd7e28250a180554c7a0f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->SchoolListComponent", factoryd55f8188de756273ca44e3b0c44298fc1c149afb)
registerProviderFactory("^->AppComponent->SchoolListComponent", factoryd55f8188de756273ca44f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->ActivityListComponent", factory7177e6769ee69064a61bf47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->InputLectureComponent", factory622e14688d9803ec3c64f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->LoginComponent", factoryd6018e98563de75a2ba4f47b58f8f304c97af4d5)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
import NeedleFoundation
import SwiftUI
import Service

public protocol SchoolListDependency: Dependency {}
public protocol SchoolListDependency: Dependency {
var fetchSchoolListUseCase: any FetchSchoolListUseCase { get }
}

public final class SchoolListComponent: Component<SchoolListDependency>, SchoolListFactory {
public func makeView() -> some View {
SchoolListView(viewModel: .init())
SchoolListView(
viewModel: .init(
fetchSchoolListUseCase: dependency.fetchSchoolListUseCase
)
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ struct SchoolListView: View {
viewModel.updateIsPresentedInputSchoolInfoView(isPresented: true, state: "등록")
}
}
.onAppear {
viewModel.onApper()
}
.padding(.horizontal, 28)
.navigationTitle("학교 목록")
.toolbar {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ final class SchoolListViewModel: BaseViewModel {
@Published var schoolList: [SchoolListEntity] = []
@Published var state: String = ""

private let fetchSchoolListUseCase: any FetchSchoolListUseCase

init(fetchSchoolListUseCase: any FetchSchoolListUseCase) {
self.fetchSchoolListUseCase = fetchSchoolListUseCase
}

func updateIsShowingAdminPageBottomSheet(isShowing: Bool) {
isShowingAdminPageBottomSheet = isShowing
}
Expand All @@ -35,4 +41,15 @@ final class SchoolListViewModel: BaseViewModel {
guard selectedPage != page else { return }
selectedPage = page
}

@MainActor
func onApper() {
Task {
do {
schoolList = try await fetchSchoolListUseCase()
} catch {
print(String(describing: error))
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public struct SchoolListResponseDTO: Decodable {

enum CodingKeys: String, CodingKey {
case schoolID = "id"
case schoolName
case schoolName = "name"
case line
case departments
case logoImageURL = "logoImageUrl"
Expand Down

0 comments on commit dd2b35d

Please sign in to comment.