This repository was archived by the owner on Apr 7, 2021. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +18
-5
lines changed
Expand file tree Collapse file tree 2 files changed +18
-5
lines changed Original file line number Diff line number Diff line change @@ -117,7 +117,7 @@ final public class Studyplus {
117117 /// - completion: 投稿完了後のコールバック
118118 public func post( _ record: StudyplusRecord , completion: @escaping ( Result < Void , StudyplusPostError > ) -> Void ) {
119119 guard let accessToken = self . accessToken ( ) else {
120- completion ( . failure( . needLogin ) )
120+ completion ( . failure( . loginRequired ) )
121121 return
122122 }
123123
@@ -126,7 +126,21 @@ final public class Studyplus {
126126 return
127127 }
128128
129- StudyplusAPI ( accessToken: accessToken) . post ( record, completion: completion)
129+ StudyplusAPI ( accessToken: accessToken) . post ( record, completion: { result in
130+ switch result {
131+ case . failure( let error) :
132+ switch error {
133+ case . loginRequired:
134+ // clear invalid access token
135+ StudyplusKeychain . deleteAll ( serviceName: self . serviceName)
136+ default :
137+ break
138+ }
139+ case . success: break
140+ }
141+
142+ completion ( result)
143+ } )
130144 }
131145
132146 /// It is responsible for processing custom URL scheme
Original file line number Diff line number Diff line change @@ -28,10 +28,9 @@ import Foundation
2828
2929public enum StudyplusPostError : Error {
3030 case invalidDuration
31- case needLogin
3231 case offline
3332 case badRequest
34- case invalidAccessToken
33+ case loginRequired
3534 case serverError
3635 case unknown( _ message: String )
3736
@@ -40,7 +39,7 @@ public enum StudyplusPostError: Error {
4039 case 400 :
4140 return . badRequest
4241 case 401 :
43- return . invalidAccessToken
42+ return . loginRequired
4443 case 500 ... 599 :
4544 return . serverError
4645 default :
You can’t perform that action at this time.
0 commit comments