multistore
Laurent 2 years ago
parent fbcfd2cecd
commit e5531d0150
  1. 25
      LeStorage/Services.swift

@ -181,16 +181,12 @@ public class Services {
public func createAccount<U: UserPasswordBase, V: UserBase>(user: U) async throws -> V { public func createAccount<U: UserPasswordBase, V: UserBase>(user: U) async throws -> V {
let response: V = try await _runRequest(serviceConf: .createAccount, payload: user) let response: V = try await _runRequest(serviceConf: .createAccount, payload: user)
// let _ = try await requestToken(username: user.username, password: user.password)
// var postRequest = try self._baseRequest(servicePath: "users/", method: .post)
// postRequest.httpBody = try jsonEncoder.encode(user)
// let response: V = try await self.runRequest(postRequest)
let _ = try await requestToken(username: user.username, password: user.password)
Store.main.setUserName(user.username) Store.main.setUserName(user.username)
return response return response
} }
func requestToken(username: String, password: String) async throws -> String { public func requestToken(username: String, password: String) async throws -> String {
var postRequest = try self._baseRequest(conf: .requestToken) var postRequest = try self._baseRequest(conf: .requestToken)
let credentials = Credentials(username: username, password: password) let credentials = Credentials(username: username, password: password)
postRequest.httpBody = try jsonEncoder.encode(credentials) postRequest.httpBody = try jsonEncoder.encode(credentials)
@ -235,12 +231,12 @@ public class Services {
self._storeToken(username: username, token: response.token) self._storeToken(username: username, token: response.token)
} }
public func forgotPassword(user: UserBase) async throws { public func forgotPassword(email: String) async throws {
// var postRequest = try self._baseRequest(servicePath: "forgot-password/", method: .post) var postRequest = try self._baseRequest(servicePath: "dj-rest-auth/password/reset/", method: .post)
// postRequest.httpBody = try jsonEncoder.encode(credentials) postRequest.httpBody = try jsonEncoder.encode(Email(email: email))
// let response: User = try await self.runRequest(postRequest) let response: Email = try await self._runRequest(postRequest)
// let _ = try await requestToken(credentials: credentials) Logger.log("response = \(response)")
// return response // return response
} }
@ -258,16 +254,17 @@ struct Credentials: Codable {
var username: String var username: String
var password: String var password: String
} }
struct Token: Codable { struct Token: Codable {
var token: String var token: String
} }
struct Email: Codable {
var email: String
}
public protocol UserBase: Codable { public protocol UserBase: Codable {
var id: String { get } var id: String { get }
var username: String { get } var username: String { get }
// var password: String? { get } var email: String { get }
var email: String? { get }
func uuid() throws -> UUID func uuid() throws -> UUID
} }

Loading…
Cancel
Save