diff --git a/EmployeeDirectory/Services/EmployeeService.swift b/EmployeeDirectory/Services/EmployeeService.swift index 3f2b762..3104502 100644 --- a/EmployeeDirectory/Services/EmployeeService.swift +++ b/EmployeeDirectory/Services/EmployeeService.swift @@ -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) }