From f5c1a64e4022915066a8ec1fa529d10a33a55266 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Tue, 21 Jan 2025 09:13:21 -0600 Subject: [PATCH] add shared property commented the code Signed-off-by: Matt Bruce --- EmployeeDirectory/Services/EmployeeService.swift | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) 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) }