feat: Initial commit

This commit is contained in:
2025-03-12 16:59:10 -04:00
commit 5c684d0537
28 changed files with 1285 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
import Models
import Validations
extension RequiredKW.Request {
func respond() async throws -> RequiredKW.Response {
try await validate()
let capacityAtDesign = self.capacityAtDesign ?? 0
let requiredKW = (Double(heatLoss) - Double(capacityAtDesign)) / 3413
return .init(requiredKW: requiredKW)
}
}
extension RequiredKW.Request: AsyncValidatable {
@inlinable
public var body: some AsyncValidation<Self> {
AsyncValidator.accumulating {
AsyncValidator.greaterThan(\.heatLoss, 0)
AsyncValidator.validate(\.capacityAtDesign) {
AsyncValidator.greaterThan(0).optional()
}
}
}
}