Add lead workflows, PDF signing, AR projects and photo gallery integration
This commit is contained in:
22
GasTankAR/Services/AuthenticationService.swift
Normal file
22
GasTankAR/Services/AuthenticationService.swift
Normal file
@ -0,0 +1,22 @@
|
||||
import Foundation
|
||||
|
||||
/// Domain boundary; the concrete server integration will replace the stub.
|
||||
protocol AuthenticationService: Sendable {
|
||||
func signIn(salesCode: String) async throws -> LoginSession
|
||||
}
|
||||
|
||||
struct LoginSession: Equatable, Sendable {
|
||||
let salesCode: String
|
||||
let displayName: String?
|
||||
|
||||
init(salesCode: String, displayName: String? = nil) {
|
||||
self.salesCode = salesCode
|
||||
self.displayName = displayName
|
||||
}
|
||||
}
|
||||
|
||||
enum LoginError: Error, Equatable {
|
||||
case invalidSalesCode
|
||||
case rejected
|
||||
case unavailable
|
||||
}
|
||||
Reference in New Issue
Block a user