import CasePathsCore import Foundation @preconcurrency import URLRouting public enum ApiRoute: Sendable, Equatable { case employee(BaseRoute.EmployeeRoute) case purchaseOrder(BaseRoute.PurchaseOrderRoute) case user(BaseRoute.UserRoute) case vendor(BaseRoute.VendorRoute) case vendorBranch(BaseRoute.VendorBranchRoute) static let rootPath = Path { "api"; "v1" } public static let router = OneOf { Route(.case(Self.employee)) { rootPath BaseRoute.EmployeeRoute.router } Route(.case(Self.purchaseOrder)) { rootPath BaseRoute.PurchaseOrderRoute.router } Route(.case(Self.user)) { rootPath BaseRoute.UserRoute.router } Route(.case(Self.vendor)) { rootPath BaseRoute.VendorRoute.router } Route(.case(Self.vendorBranch)) { rootPath BaseRoute.VendorBranchRoute.router } } }