38 lines
886 B
Swift
38 lines
886 B
Swift
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
|
|
}
|
|
}
|
|
}
|