В var authType: AuthType
у меня есть предупреждение:
Все пути через эту функцию будут вызывать себя
Я не могу понять, что мне делать, чтобы исправить это):
public enum AuthType: String {
case frontOffice
case backOffice
}
public enum Environment: String {
case live
case i09
case i133
case s07
var identity: Environment {
switch self {
case .i09:
return .s07
default:
return self
}
}
}
public extension Environment {
var endpoints: Endpoints { Endpoints(for: self) }
var authType: AuthType { <------------------ here
switch self.authType {
case .frontOffice:
return .frontOffice
case .backOffice:
return .backOffice
}
}
}
Код конечной точки:
public struct Endpoints {
public var identityURL: URL
}
public extension Endpoints {
init(for env: Environment) {
switch env {
case .live:
switch env.authType {
case .frontOffice:
self.identityURL = URL("https://auth.net")
case .backOffice:
self.identityURL = URL("https://authbo.net")
}
case .ite09,
.ite133,
.sbx07:
switch env.authType {
case .frontOffice:
self.identityURL = URL("https://\(env.identity.rawValue)-auth.info")
case .backOffice:
self.identityURL = URL("https://\(env.identity.rawValue)-authbo.info")
}
}
}
}