diff --git a/EmployeeDirectory/Protocols/EmployeeServiceProtocol.swift b/EmployeeDirectory/Protocols/EmployeeServiceProtocol.swift new file mode 100644 index 0000000..03c31d2 --- /dev/null +++ b/EmployeeDirectory/Protocols/EmployeeServiceProtocol.swift @@ -0,0 +1,10 @@ +// +// EmployeeServiceable.swift +// EmployeeDirectory +// +// Created by Matt Bruce on 1/20/25. +// + +public protocol EmployeeServiceProtocol { + func getEmployees() async throws -> [Employee] +} diff --git a/EmployeeDirectory/Services/EmployeeService.swift b/EmployeeDirectory/Services/EmployeeService.swift new file mode 100644 index 0000000..7518635 --- /dev/null +++ b/EmployeeDirectory/Services/EmployeeService.swift @@ -0,0 +1,19 @@ +// +// EmployeeService.swift +// EmployeeDirectory +// +// Created by Matt Bruce on 1/20/25. +// +import Foundation + + +/// Service Layer for Employees +public class EmployeeService: EmployeeServiceProtocol { + + /// Service to get Employees + /// - Returns: Array of Employee Structs + public func getEmployees() async throws -> [Employee] { + let employees: Employees = try await NetworkService.shared.fetchData(from: "https://jsonplaceholder.typicode.com/users", as: Employees.self) + return employees.employees + } +}