fix: access_token field, username vs name, auth response
This commit is contained in:
@@ -50,10 +50,10 @@ class AuthManager: ObservableObject {
|
||||
|
||||
func login(token: String, user: UserInfo) {
|
||||
self.token = token
|
||||
self.userName = user.name ?? user.email
|
||||
self.userName = user.displayName
|
||||
self.userId = user.id
|
||||
UserDefaults.standard.set(token, forKey: "pulseToken")
|
||||
UserDefaults.standard.set(user.name ?? user.email, forKey: "userName")
|
||||
UserDefaults.standard.set(user.displayName, forKey: "userName")
|
||||
UserDefaults.standard.set(user.id, forKey: "userId")
|
||||
isLoggedIn = true
|
||||
}
|
||||
|
||||
@@ -12,18 +12,30 @@ struct RegisterRequest: Codable {
|
||||
}
|
||||
|
||||
struct AuthResponse: Codable {
|
||||
let token: String
|
||||
let token: String?
|
||||
let accessToken: String?
|
||||
let user: UserInfo
|
||||
|
||||
var authToken: String { token ?? accessToken ?? "" }
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case token
|
||||
case accessToken = "access_token"
|
||||
case user
|
||||
}
|
||||
}
|
||||
|
||||
struct UserInfo: Codable {
|
||||
let id: Int
|
||||
let email: String
|
||||
let name: String?
|
||||
let username: String?
|
||||
let createdAt: String?
|
||||
|
||||
var displayName: String { username ?? name ?? email }
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case id, email, name
|
||||
case id, email, name, username
|
||||
case createdAt = "created_at"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ struct LoginView: View {
|
||||
password: password
|
||||
)
|
||||
await MainActor.run {
|
||||
authManager.login(token: response.token, user: response.user)
|
||||
authManager.login(token: response.authToken, user: response.user)
|
||||
}
|
||||
} catch let error as APIError {
|
||||
await MainActor.run { errorMessage = error.errorDescription ?? "Ошибка"; isLoading = false }
|
||||
@@ -134,7 +134,7 @@ struct LoginView: View {
|
||||
name: name
|
||||
)
|
||||
await MainActor.run {
|
||||
authManager.login(token: response.token, user: response.user)
|
||||
authManager.login(token: response.authToken, user: response.user)
|
||||
}
|
||||
} catch let error as APIError {
|
||||
await MainActor.run { errorMessage = error.errorDescription ?? "Ошибка"; isLoading = false }
|
||||
|
||||
Reference in New Issue
Block a user