Skip to content

Commit 6595419

Browse files
authored
Merge pull request #200 from Team-Smeme/feat/#194-visit
[Feat] #194 출석체크 API 연결
2 parents 4552283 + 865a3aa commit 6595419

File tree

4 files changed

+48
-0
lines changed

4 files changed

+48
-0
lines changed

Smeem-iOS/Smeem-iOS/Network/API/Home/HomeAPI.swift

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,25 @@ final class HomeAPI {
3535
}
3636
}
3737
}
38+
39+
func visitPatchAPI(completion: @escaping (Result<GeneralResponse<NilType>, SmeemError>) -> ()) {
40+
homeProvider.request(.visit) { result in
41+
switch result {
42+
case .success(let response):
43+
let statusCode = response.statusCode
44+
do {
45+
try NetworkManager.statusCodeErrorHandling(statusCode: response.statusCode)
46+
guard let data = try? response.map(GeneralResponse<NilType>.self) else {
47+
throw SmeemError.clientError
48+
}
49+
completion(.success(data))
50+
} catch {
51+
guard let error = error as? SmeemError else { return }
52+
completion(.failure(error))
53+
}
54+
case .failure(_):
55+
completion(.failure(.userError))
56+
}
57+
}
58+
}
3859
}

Smeem-iOS/Smeem-iOS/Network/API/Home/HomeService.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,25 @@ import Moya
1111

1212
enum HomeService {
1313
case HomeDiary(startDate: String, endDate: String)
14+
case visit
1415
}
1516

1617
extension HomeService: BaseTargetType {
1718
var path: String {
1819
switch self {
1920
case .HomeDiary:
2021
return URLConstant.diaryURL
22+
case .visit:
23+
return URLConstant.visitURL
2124
}
2225
}
2326

2427
var method: Moya.Method {
2528
switch self {
2629
case .HomeDiary:
2730
return .get
31+
case .visit:
32+
return .patch
2833
}
2934
}
3035

@@ -34,6 +39,8 @@ extension HomeService: BaseTargetType {
3439
return .requestParameters(parameters: ["start": startDate,
3540
"end": endDate],
3641
encoding: URLEncoding.queryString)
42+
case .visit:
43+
return .requestPlain
3744
}
3845
}
3946

Smeem-iOS/Smeem-iOS/Network/Base/URLConstant.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ enum URLConstant {
4242

4343
static let diaryURL = "/diaries"
4444

45+
// MARK: - Home
46+
47+
static let visitURL = "/members/visit"
48+
4549
// MARK: - Correction
4650

4751
static let correctionPostURL = "/corrections/diary"

Smeem-iOS/Smeem-iOS/Presentation/Home/HomeViewController.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ final class HomeViewController: BaseViewController {
197197
override func viewWillAppear(_ animated: Bool) {
198198
homeDiaryWithAPI(start: Date().startOfMonth().addingDate(addValue: -7), end: Date().endOfMonth().addingDate(addValue: 7))
199199
checkPopupView()
200+
visitPatchAPI()
200201
}
201202

202203
// MARK: - @objc
@@ -548,4 +549,19 @@ extension HomeViewController {
548549
SmeemLoadingView.hideLoading()
549550
}
550551
}
552+
553+
func visitPatchAPI() {
554+
SmeemLoadingView.showLoading()
555+
556+
HomeAPI.shared.visitPatchAPI { result in
557+
558+
switch result {
559+
case .success(_):
560+
SmeemLoadingView.hideLoading()
561+
case .failure(let error):
562+
self.showToast(toastType: .smeemErrorToast(message: error))
563+
SmeemLoadingView.hideLoading()
564+
}
565+
}
566+
}
551567
}

0 commit comments

Comments
 (0)