Skip to content

Commit

Permalink
🐛 :: [#374] 충돌해결
Browse files Browse the repository at this point in the history
  • Loading branch information
uuuunseo committed Jul 20, 2024
2 parents c1246a7 + 23fffc3 commit ba107c1
Show file tree
Hide file tree
Showing 59 changed files with 807 additions and 69 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/bitgouel-ios-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
runs-on: macos-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Install tuist
run: curl -Ls https://install.tuist.io | bash
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import NeedleFoundation
import Service

public extension AppComponent {
var remoteGovernmentDataSource: any RemoteGovernmentDataSource {
shared {
RemoteGovernmentDataSourceImpl(keychain: keychain)
}
}

var governmentRepository: any GovernmentRepository {
shared {
GovernmentRepositoryImpl(remoteGovernmentDataSource: remoteGovernmentDataSource)
}
}

var fetchGovernmentListUseCase: any FetchGovernmentListUseCase {
FetchGovernmentUseCaseImpl(governmentRepository: governmentRepository)
}

var createdGovernmentUseCase: any CreatedGovernmentUseCase {
CreatedGovernmentUseCaseImpl(governmentRepository: governmentRepository)
}

var deleteGovernmentUseCase: any DeleteGovernmentUseCase {
DeleteGovernmentUseCaseImpl(governmentRepository: governmentRepository)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import NeedleFoundation
import Service

public extension AppComponent {
var remoteUniversityDataSource: any RemoteUniversityDataSource {
shared {
RemoteUniversityDataSourceImpl(keychain: keychain)
}
}

var universityRepository: any UniversityRepository {
shared {
UniversityRepositoryImpl(remoteUniversityDataSource: remoteUniversityDataSource)
}
}

var fetchUniversityListUseCase: any FetchUniversityListUseCase {
shared {
FetchUniversityListUseCaseImpl(universityRepository: universityRepository)
}
}

var createdUniversityUseCase: any CreatedUniversityUseCase {
shared {
CreatedUniversityUseCaseImpl(universityRepository: universityRepository)
}
}

var modifyUniversityUseCase: any ModifyUniversityUseCase {
shared {
ModifyUniversityUseCaseImpl(universityRepository: universityRepository)
}
}

var deleteUniversityUseCase: any DeleteUniversityUseCase {
shared {
DeleteUniversityUseCaseImpl(universityRepository: universityRepository)
}
}

var createdDepartmentUseCase: any CreatedDepartmentUseCase {
shared {
CreatedDepartmentUseCaseImpl(universityRepository: universityRepository)
}
}

var deleteDepartmentUseCase: any DeleteDepartmentUseCase {
shared {
DeleteDepartmentUseCaseImpl(universityRepository: universityRepository)
}
}
}
13 changes: 13 additions & 0 deletions App/Sources/Application/NeedleGenerated.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1272,6 +1272,11 @@ extension AppComponent: Registration {
localTable["createdClubUseCase-any CreatedClubUseCase"] = { [unowned self] in self.createdClubUseCase as Any }
localTable["modifyClubUseCase-any ModifyClubUseCase"] = { [unowned self] in self.modifyClubUseCase as Any }
localTable["deleteClubUseCase-any DeleteClubUseCase"] = { [unowned self] in self.deleteClubUseCase as Any }
localTable["remoteGovernmentDataSource-any RemoteGovernmentDataSource"] = { [unowned self] in self.remoteGovernmentDataSource as Any }
localTable["governmentRepository-any GovernmentRepository"] = { [unowned self] in self.governmentRepository as Any }
localTable["fetchGovernmentListUseCase-any FetchGovernmentListUseCase"] = { [unowned self] in self.fetchGovernmentListUseCase as Any }
localTable["createdGovernmentUseCase-any CreatedGovernmentUseCase"] = { [unowned self] in self.createdGovernmentUseCase as Any }
localTable["deleteGovernmentUseCase-any DeleteGovernmentUseCase"] = { [unowned self] in self.deleteGovernmentUseCase as Any }
localTable["remotePostDataSource-any RemotePostDataSource"] = { [unowned self] in self.remotePostDataSource as Any }
localTable["postRepository-any PostRepository"] = { [unowned self] in self.postRepository as Any }
localTable["writePostUseCase-any WritePostUseCase"] = { [unowned self] in self.writePostUseCase as Any }
Expand Down Expand Up @@ -1325,6 +1330,14 @@ extension AppComponent: Registration {
localTable["userRepository-any UserRepository"] = { [unowned self] in self.userRepository as Any }
localTable["changePasswordUseCase-any ChangePasswordUseCase"] = { [unowned self] in self.changePasswordUseCase as Any }
localTable["fetchMyInfoUseCase-any FetchMyInfoUseCase"] = { [unowned self] in self.fetchMyInfoUseCase as Any }
localTable["remoteUniversityDataSource-any RemoteUniversityDataSource"] = { [unowned self] in self.remoteUniversityDataSource as Any }
localTable["universityRepository-any UniversityRepository"] = { [unowned self] in self.universityRepository as Any }
localTable["fetchUniversityListUseCase-any FetchUniversityListUseCase"] = { [unowned self] in self.fetchUniversityListUseCase as Any }
localTable["createdUniversityUseCase-any CreatedUniversityUseCase"] = { [unowned self] in self.createdUniversityUseCase as Any }
localTable["modifyUniversityUseCase-any ModifyUniversityUseCase"] = { [unowned self] in self.modifyUniversityUseCase as Any }
localTable["deleteUniversityUseCase-any DeleteUniversityUseCase"] = { [unowned self] in self.deleteUniversityUseCase as Any }
localTable["createdDepartmentUseCase-any CreatedDepartmentUseCase"] = { [unowned self] in self.createdDepartmentUseCase as Any }
localTable["deleteDepartmentUseCase-any DeleteDepartmentUseCase"] = { [unowned self] in self.deleteDepartmentUseCase as Any }
localTable["loginFactory-any LoginFactory"] = { [unowned self] in self.loginFactory as Any }
localTable["activityListFactory-any ActivityListFactory"] = { [unowned self] in self.activityListFactory as Any }
localTable["signupFactory-any SignUpFactory"] = { [unowned self] in self.signupFactory as Any }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,13 @@ final class ClubDetailViewModel: BaseViewModel {
@Published var studentID: String = ""

// MARK: ClubInfo

var clubID: Int = 0
@Published var clubName: String = ""
@Published var schoolName: String = ""
@Published var students: [ClubDetailEntity.MemberInfoEntity] = []
@Published var teacher: ClubDetailEntity.TeacherInfoEntity?

// MARK: UseCase

private let loadUserAuthorityUseCase: any LoadUserAuthorityUseCase
private let fetchClubDetailUseCase: any FetchClubDetailUseCase
private let fetchStudentListByClubUseCase: any FetchStudentListByClubUseCase
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ struct ClubListView: View {
ZStack {
ScrollView {
LazyVStack(spacing: 40) {
ForEach(viewModel.schoolList, id: \.schoolID) { school in
ForEach(viewModel.schoolList, id: \.schoolName) { school in
SchoolClubsView(
schoolName: school.schoolName,
clubList: school.clubs.map { .init(clubID: $0.clubID, clubName: $0.clubName) }
Expand Down
32 changes: 23 additions & 9 deletions App/Sources/Feature/ClubListFeature/Source/ClubListViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ import Service
final class ClubListViewModel: BaseViewModel {
@Published var selectedSchool: HighSchoolType?
@Published var isShowingLoginAlert: Bool = false
@Published var schoolList: [SchoolListEntity] = []
@Published var clubList: [ClubListModel] = []
@Published var schoolList: [SchoolInfoModel] = []
@Published var clubID: Int = 0
@Published var isPresentedSelectedSchoolPopup: Bool = false
@Published var isPresentedClubDetailView: Bool = false
Expand Down Expand Up @@ -37,8 +36,8 @@ final class ClubListViewModel: BaseViewModel {
isPresentedClubDetailView = isPresented
}

func updateClubList(clubList: [ClubListModel]) {
self.clubList = clubList
func updateSchoolList(model: [SchoolInfoModel]) {
schoolList = model
}

@MainActor
Expand All @@ -61,7 +60,19 @@ final class ClubListViewModel: BaseViewModel {
func fetchSchoolList() {
Task {
do {
schoolList = try await fetchSchoolListUseCase()
let response = try await fetchSchoolListUseCase()

updateSchoolList(model: response.map {
SchoolInfoModel(
schoolName: $0.schoolName,
clubs: $0.clubs.map {
ClubInfoModel(
clubID: $0.clubID,
clubName: $0.clubName
)
}
)
})
} catch {
print(String(describing: error))
}
Expand All @@ -76,10 +87,13 @@ final class ClubListViewModel: BaseViewModel {

let response = try await fetchClubListUseCase(highSchool: selectedSchool.rawValue)

updateClubList(clubList: response.map {
.init(
clubID: $0.id,
clubName: $0.name
updateSchoolList(model: response.map {
SchoolInfoModel(
schoolName: $0.schoolName,
clubs: [ClubInfoModel(
clubID: $0.clubID,
clubName: $0.name
)]
)
})
} catch {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import SwiftUI

public struct SchoolClubsView: View {
let schoolName: String
let clubList: [ClubListModel]
let clubList: [ClubInfoModel]
let selectedClub: (_ clubID: Int) -> Void

public var body: some View {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ struct CompanyListView: View {
}
.bitgouelBottomSheet(isShowing: $viewModel.isShowingAdminPageBottomSheet) {
AdminPageListBottomSheet(
selectedPage: viewModel.selectedPage) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}

selectedPage: viewModel.selectedPage
) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ struct GovernmentListView: View {
}
.bitgouelBottomSheet(isShowing: $viewModel.isShowingAdminPageBottomSheet) {
AdminPageListBottomSheet(
selectedPage: viewModel.selectedPage) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}

selectedPage: viewModel.selectedPage
) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,3 @@ final class GovernmentListViewModel: BaseViewModel {
selectedPage = page
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -144,13 +144,13 @@ struct RequestUserSignupView: View {
)
.bitgouelBottomSheet(isShowing: $viewModel.isShowingAdminPageBottomSheet) {
AdminPageListBottomSheet(
selectedPage: viewModel.selectedPage) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}

selectedPage: viewModel.selectedPage
) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ struct SchoolListView: View {
}
.bitgouelBottomSheet(isShowing: $viewModel.isShowingAdminPageBottomSheet) {
AdminPageListBottomSheet(
selectedPage: viewModel.selectedPage) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}

selectedPage: viewModel.selectedPage
) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ struct UniversityListView: View {
init(viewModel: UniversityListViewModel) {
_viewModel = StateObject(wrappedValue: viewModel)
}

var body: some View {
VStack {
Text("UniversityListView")
Expand All @@ -26,13 +26,13 @@ struct UniversityListView: View {
}
.bitgouelBottomSheet(isShowing: $viewModel.isShowingAdminPageBottomSheet) {
AdminPageListBottomSheet(
selectedPage: viewModel.selectedPage) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}

selectedPage: viewModel.selectedPage
) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import Foundation

final class UniversityListViewModel: BaseViewModel {
@Published var isShowingAdminPageBottomSheet: Bool = false
@Published var selectedPage: AdminPageFlow = .company
Expand All @@ -12,4 +13,3 @@ final class UniversityListViewModel: BaseViewModel {
selectedPage = page
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,10 @@ struct WithdrawUserListView: View {
}
.overlay(alignment: .bottom) {
DeactivateButton(
text: "선택한 사용자 계정 탈퇴") {
viewModel.updateIsShowingWithdrawAlert(isShowing: true)
}
text: "선택한 사용자 계정 탈퇴"
) {
viewModel.updateIsShowingWithdrawAlert(isShowing: true)
}
}
.bitgouelAlert(
title: "선택한 사용자의 탈퇴를 \n승인 하시겠습니까?",
Expand Down Expand Up @@ -159,13 +160,13 @@ struct WithdrawUserListView: View {
}
.bitgouelBottomSheet(isShowing: $viewModel.isShowingAdminPageBottomSheet) {
AdminPageListBottomSheet(
selectedPage: viewModel.selectedPage) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}

selectedPage: viewModel.selectedPage
) { page in
viewModel.updateSelectedPage(page: page)
adminPageState.adminPageFlow = page
} cancel: { cancel in
viewModel.updateIsShowingAdminPageBottomSheet(isShowing: cancel)
}
}
}
}
2 changes: 2 additions & 0 deletions Service/Sources/Base/BitgouelAPI.swift
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ public enum BitgouelDomain: String {
case email
case school
case company
case university
case government
}

extension BitgouelDomain {
Expand Down
Loading

0 comments on commit ba107c1

Please sign in to comment.