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 {
117
117
/// - completion: 投稿完了後のコールバック
118
118
public func post( _ record: StudyplusRecord , completion: @escaping ( Result < Void , StudyplusPostError > ) -> Void ) {
119
119
guard let accessToken = self . accessToken ( ) else {
120
- completion ( . failure( . needLogin ) )
120
+ completion ( . failure( . loginRequired ) )
121
121
return
122
122
}
123
123
@@ -126,7 +126,21 @@ final public class Studyplus {
126
126
return
127
127
}
128
128
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
+ } )
130
144
}
131
145
132
146
/// It is responsible for processing custom URL scheme
Original file line number Diff line number Diff line change @@ -28,10 +28,9 @@ import Foundation
28
28
29
29
public enum StudyplusPostError : Error {
30
30
case invalidDuration
31
- case needLogin
32
31
case offline
33
32
case badRequest
34
- case invalidAccessToken
33
+ case loginRequired
35
34
case serverError
36
35
case unknown( _ message: String )
37
36
@@ -40,7 +39,7 @@ public enum StudyplusPostError: Error {
40
39
case 400 :
41
40
return . badRequest
42
41
case 401 :
43
- return . invalidAccessToken
42
+ return . loginRequired
44
43
case 500 ... 599 :
45
44
return . serverError
46
45
default :
You can’t perform that action at this time.
0 commit comments