Networking rework: simplified API calls.
This commit is contained in:
@@ -146,6 +146,9 @@ extension RecipeDetail {
|
||||
|
||||
|
||||
struct RecipeImage {
|
||||
enum RecipeImageSize {
|
||||
case THUMB, FULL
|
||||
}
|
||||
var imageExists: Bool = true
|
||||
var thumb: UIImage?
|
||||
var full: UIImage?
|
||||
@@ -193,7 +196,4 @@ struct MetaData: Codable {
|
||||
}
|
||||
|
||||
|
||||
// Networking
|
||||
struct ServerMessage: Decodable {
|
||||
let msg: String
|
||||
}
|
||||
|
||||
|
||||
@@ -13,12 +13,20 @@ class UserSettings: ObservableObject {
|
||||
@Published var username: String {
|
||||
didSet {
|
||||
UserDefaults.standard.set(username, forKey: "username")
|
||||
self.authString = setAuthString()
|
||||
}
|
||||
}
|
||||
|
||||
@Published var token: String {
|
||||
didSet {
|
||||
UserDefaults.standard.set(token, forKey: "token")
|
||||
self.authString = setAuthString()
|
||||
}
|
||||
}
|
||||
|
||||
@Published var authString: String {
|
||||
didSet {
|
||||
UserDefaults.standard.set(authString, forKey: "authString")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,10 +63,21 @@ class UserSettings: ObservableObject {
|
||||
init() {
|
||||
self.username = UserDefaults.standard.object(forKey: "username") as? String ?? ""
|
||||
self.token = UserDefaults.standard.object(forKey: "token") as? String ?? ""
|
||||
self.authString = UserDefaults.standard.object(forKey: "authString") as? String ?? ""
|
||||
self.serverAddress = UserDefaults.standard.object(forKey: "serverAddress") as? String ?? ""
|
||||
self.onboarding = UserDefaults.standard.object(forKey: "onboarding") as? Bool ?? true
|
||||
self.defaultCategory = UserDefaults.standard.object(forKey: "defaultCategory") as? String ?? ""
|
||||
self.language = UserDefaults.standard.object(forKey: "language") as? String ?? SupportedLanguage.DEVICE.rawValue
|
||||
self.downloadRecipes = UserDefaults.standard.object(forKey: "downloadRecipes") as? Bool ?? false
|
||||
}
|
||||
|
||||
func setAuthString() -> String {
|
||||
if token != "" && username != "" {
|
||||
let loginString = "\(self.username):\(self.token)"
|
||||
let loginData = loginString.data(using: String.Encoding.utf8)!
|
||||
return loginData.base64EncodedString()
|
||||
} else {
|
||||
return ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user