feat: WIP
This commit is contained in:
@@ -22,8 +22,8 @@ public extension HTMLAttribute.hx {
|
||||
put(SiteRoute.View.router.path(for: route))
|
||||
}
|
||||
|
||||
@Sendable
|
||||
static func delete(route: SiteRoute.Api) -> HTMLAttribute {
|
||||
delete(SiteRoute.Api.router.path(for: route))
|
||||
}
|
||||
// @Sendable
|
||||
// static func delete(route: SiteRoute.Api) -> HTMLAttribute {
|
||||
// delete(SiteRoute.Api.router.path(for: route))
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -7,14 +7,14 @@ import PsychrometricClient
|
||||
// swiftlint:disable type_body_length
|
||||
public enum SiteRoute: Equatable, Sendable {
|
||||
|
||||
case api(Api)
|
||||
// case api(Api)
|
||||
case health
|
||||
case view(View)
|
||||
|
||||
public static let router = OneOf {
|
||||
Route(.case(Self.api)) {
|
||||
Api.router
|
||||
}
|
||||
// Route(.case(Self.api)) {
|
||||
// Api.router
|
||||
// }
|
||||
Route(.case(Self.health)) {
|
||||
Path { "health" }
|
||||
Method.get
|
||||
@@ -25,74 +25,74 @@ public enum SiteRoute: Equatable, Sendable {
|
||||
}
|
||||
}
|
||||
|
||||
public extension SiteRoute {
|
||||
|
||||
enum Api: Equatable, Sendable {
|
||||
|
||||
case calculateAtticVentilation(AtticVentilation.Request)
|
||||
case calculateCapacitor(Capacitor.Request)
|
||||
case calculateDehumidifierSize(DehumidifierSize.Request)
|
||||
case calculateFilterPressureDrop(FilterPressureDrop.Request)
|
||||
case calculateHVACSystemPerformance(HVACSystemPerformance.Request)
|
||||
case calculateMoldRisk(MoldRisk.Request)
|
||||
case calculateRoomPressure(RoomPressure.Request)
|
||||
|
||||
static let rootPath = Path { "api"; "v1" }
|
||||
|
||||
public static let router = OneOf {
|
||||
Route(.case(Self.calculateAtticVentilation)) {
|
||||
Path { "api"; "v1"; "calculateAtticPressure" }
|
||||
Method.post
|
||||
Body(.json(AtticVentilation.Request.self))
|
||||
}
|
||||
Route(.case(Self.calculateCapacitor)) {
|
||||
Path { "api"; "v1"; "calculateRoomPressure" }
|
||||
Method.post
|
||||
OneOf {
|
||||
Body(.json(Capacitor.Request.SizeRequest.self))
|
||||
.map(.case(Capacitor.Request.size))
|
||||
Body(.json(Capacitor.Request.TestRequest.self))
|
||||
.map(.case(Capacitor.Request.test))
|
||||
}
|
||||
}
|
||||
Route(.case(Self.calculateDehumidifierSize)) {
|
||||
Path { "api"; "v1"; "calculateDehumidifierSize" }
|
||||
Method.post
|
||||
Body(.json(DehumidifierSize.Request.self))
|
||||
}
|
||||
Route(.case(Self.calculateFilterPressureDrop)) {
|
||||
Path { "api"; "v1"; "calculateFilterPressureDrop" }
|
||||
Method.post
|
||||
OneOf {
|
||||
Body(.json(FilterPressureDrop.Request.Basic.self))
|
||||
.map(.case(FilterPressureDrop.Request.basic))
|
||||
Body(.json(FilterPressureDrop.Request.FanLaw.self))
|
||||
.map(.case(FilterPressureDrop.Request.fanLaw))
|
||||
}
|
||||
}
|
||||
Route(.case(Self.calculateHVACSystemPerformance)) {
|
||||
Path { "api"; "v1"; "calculateHVACSystemPerformance" }
|
||||
Method.post
|
||||
Body(.json(HVACSystemPerformance.Request.self))
|
||||
}
|
||||
Route(.case(Self.calculateMoldRisk)) {
|
||||
Path { "api"; "v1"; "calculateMoldRisk" }
|
||||
Method.post
|
||||
Body(.json(MoldRisk.Request.self))
|
||||
}
|
||||
Route(.case(Self.calculateRoomPressure)) {
|
||||
Path { "api"; "v1"; "calculateRoomPressure" }
|
||||
Method.post
|
||||
OneOf {
|
||||
Body(.json(RoomPressure.Request.KnownAirflow.self))
|
||||
.map(.case(RoomPressure.Request.knownAirflow))
|
||||
Body(.json(RoomPressure.Request.MeasuredPressure.self))
|
||||
.map(.case(RoomPressure.Request.measuredPressure))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// public extension SiteRoute {
|
||||
//
|
||||
// enum Api: Equatable, Sendable {
|
||||
//
|
||||
// case calculateAtticVentilation(AtticVentilation.Request)
|
||||
// case calculateCapacitor(Capacitor.Request)
|
||||
// case calculateDehumidifierSize(DehumidifierSize.Request)
|
||||
// case calculateFilterPressureDrop(FilterPressureDrop.Request)
|
||||
// case calculateHVACSystemPerformance(HVACSystemPerformance.Request)
|
||||
// case calculateMoldRisk(MoldRisk.Request)
|
||||
// case calculateRoomPressure(RoomPressure.Request)
|
||||
//
|
||||
// static let rootPath = Path { "api"; "v1" }
|
||||
//
|
||||
// public static let router = OneOf {
|
||||
// Route(.case(Self.calculateAtticVentilation)) {
|
||||
// Path { "api"; "v1"; "calculateAtticPressure" }
|
||||
// Method.post
|
||||
// Body(.json(AtticVentilation.Request.self))
|
||||
// }
|
||||
// Route(.case(Self.calculateCapacitor)) {
|
||||
// Path { "api"; "v1"; "calculateRoomPressure" }
|
||||
// Method.post
|
||||
// OneOf {
|
||||
// Body(.json(Capacitor.Request.SizeRequest.self))
|
||||
// .map(.case(Capacitor.Request.size))
|
||||
// Body(.json(Capacitor.Request.TestRequest.self))
|
||||
// .map(.case(Capacitor.Request.test))
|
||||
// }
|
||||
// }
|
||||
// Route(.case(Self.calculateDehumidifierSize)) {
|
||||
// Path { "api"; "v1"; "calculateDehumidifierSize" }
|
||||
// Method.post
|
||||
// Body(.json(DehumidifierSize.Request.self))
|
||||
// }
|
||||
// Route(.case(Self.calculateFilterPressureDrop)) {
|
||||
// Path { "api"; "v1"; "calculateFilterPressureDrop" }
|
||||
// Method.post
|
||||
// OneOf {
|
||||
// Body(.json(FilterPressureDrop.Request.Basic.self))
|
||||
// .map(.case(FilterPressureDrop.Request.basic))
|
||||
// Body(.json(FilterPressureDrop.Request.FanLaw.self))
|
||||
// .map(.case(FilterPressureDrop.Request.fanLaw))
|
||||
// }
|
||||
// }
|
||||
// Route(.case(Self.calculateHVACSystemPerformance)) {
|
||||
// Path { "api"; "v1"; "calculateHVACSystemPerformance" }
|
||||
// Method.post
|
||||
// Body(.json(HVACSystemPerformance.Request.self))
|
||||
// }
|
||||
// Route(.case(Self.calculateMoldRisk)) {
|
||||
// Path { "api"; "v1"; "calculateMoldRisk" }
|
||||
// Method.post
|
||||
// Body(.json(MoldRisk.Request.self))
|
||||
// }
|
||||
// Route(.case(Self.calculateRoomPressure)) {
|
||||
// Path { "api"; "v1"; "calculateRoomPressure" }
|
||||
// Method.post
|
||||
// OneOf {
|
||||
// Body(.json(RoomPressure.Request.KnownAirflow.self))
|
||||
// .map(.case(RoomPressure.Request.knownAirflow))
|
||||
// Body(.json(RoomPressure.Request.MeasuredPressure.self))
|
||||
// .map(.case(RoomPressure.Request.measuredPressure))
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
public extension SiteRoute {
|
||||
enum View: Equatable, Sendable {
|
||||
|
||||
Reference in New Issue
Block a user