add shared property

commented the code

Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
This commit is contained in:
Matt Bruce 2025-01-21 09:13:21 -06:00
parent f07089a1fc
commit f5c1a64e40

View File

@ -12,6 +12,7 @@ public enum EmployeeServiceMode: String, CaseIterable {
case malformed
case empty
/// Enpoint in which to grabe employees from.
public var endpoint: String {
switch self {
case .production:
@ -26,11 +27,18 @@ public enum EmployeeServiceMode: String, CaseIterable {
/// Service Layer for Employees
public class EmployeeService: EmployeeServiceProtocol {
// MARK: - Properties
public static let shared = EmployeeService() // Default shared instance
// MARK: - Initializer
public init() {}
/// Service to get Employees
/// - Returns: Array of Employee Structs
// MARK: - Public Methods
/// This will get a list of all employees
/// - Parameter serviceMode: Mode in which to hit.
/// - Returns: An Employees struct
public func getEmployees(_ serviceMode: EmployeeServiceMode = .production) async throws -> Employees {
return try await NetworkService.shared.fetchData(from: serviceMode.endpoint, as: Employees.self)
}