feat: Store timestamps as strings in the database, which was causing postgres errors.
Some checks failed
CI / Linux Tests (pull_request) Failing after 5m46s

This commit is contained in:
2026-02-11 16:44:39 -05:00
parent f385fcdc28
commit fe06508405
12 changed files with 54 additions and 20 deletions

View File

@@ -66,8 +66,8 @@ extension ComponentPressureLoss {
.id()
.field("name", .string, .required)
.field("value", .double, .required)
.field("createdAt", .datetime)
.field("updatedAt", .datetime)
.field("createdAt", .string)
.field("updatedAt", .string)
.field(
"projectID", .uuid, .required, .references(ProjectModel.schema, "id", onDelete: .cascade)
)

View File

@@ -73,8 +73,8 @@ extension EquipmentInfo {
.field("staticPressure", .double, .required)
.field("heatingCFM", .int16, .required)
.field("coolingCFM", .int16, .required)
.field("createdAt", .datetime)
.field("updatedAt", .datetime)
.field("createdAt", .string)
.field("updatedAt", .string)
.field(
"projectID", .uuid, .required, .references(ProjectModel.schema, "id", onDelete: .cascade)
)

View File

@@ -90,8 +90,8 @@ extension EquivalentLength {
.field("type", .string, .required)
.field("straightLengths", .array(of: .int))
.field("groups", .data)
.field("createdAt", .datetime)
.field("updatedAt", .datetime)
.field("createdAt", .string)
.field("updatedAt", .string)
.field(
"projectID", .uuid, .required, .references(ProjectModel.schema, "id", onDelete: .cascade)
)

View File

@@ -7,10 +7,10 @@ extension DatabaseClient.Migrations: DependencyKey {
public static let liveValue = Self(
all: {
[
Project.Migrate(),
User.Migrate(),
User.Token.Migrate(),
User.Profile.Migrate(),
Project.Migrate(),
ComponentPressureLoss.Migrate(),
EquipmentInfo.Migrate(),
Room.Migrate(),

View File

@@ -120,8 +120,8 @@ extension Project {
.field("state", .string, .required)
.field("zipCode", .string, .required)
.field("sensibleHeatRatio", .double)
.field("createdAt", .datetime)
.field("updatedAt", .datetime)
.field("createdAt", .string)
.field("updatedAt", .string)
.field("userID", .uuid, .required, .references(UserModel.schema, "id", onDelete: .cascade))
.unique(on: "userID", "name")
.create()

View File

@@ -197,8 +197,8 @@ extension Room {
.field("registerCount", .int8, .required)
.field("delegatedToID", .uuid, .references(RoomModel.schema, "id"))
.field("rectangularSizes", .array)
.field("createdAt", .datetime)
.field("updatedAt", .datetime)
.field("createdAt", .string)
.field("updatedAt", .string)
.field(
"projectID", .uuid, .required, .references(ProjectModel.schema, "id", onDelete: .cascade)
)

View File

@@ -81,8 +81,8 @@ extension User.Profile {
.field("zipCode", .string, .required)
.field("theme", .string)
.field("userID", .uuid, .references(UserModel.schema, "id", onDelete: .cascade))
.field("createdAt", .datetime)
.field("updatedAt", .datetime)
.field("createdAt", .string)
.field("updatedAt", .string)
.unique(on: "userID")
.create()
}

View File

@@ -76,8 +76,8 @@ extension User {
.id()
.field("email", .string, .required)
.field("password_hash", .string, .required)
.field("createdAt", .datetime)
.field("updatedAt", .datetime)
.field("createdAt", .string)
.field("updatedAt", .string)
.unique(on: "email")
.create()
}
@@ -97,8 +97,8 @@ extension User.Token {
.id()
.field("value", .string, .required)
.field("user_id", .uuid, .required, .references(UserModel.schema, "id"))
.field("createdAt", .datetime)
.field("updatedAt", .datetime)
.field("createdAt", .string)
.field("updatedAt", .string)
.unique(on: "value")
.create()
}

View File

@@ -63,7 +63,8 @@ struct HomeView: HTML, Sendable {
.class("btn btn-xl btn-primary mt-6"),
.hx.get(route: .signup(.index)),
.hx.target("body"),
.hx.swap(.outerHTML)
.hx.swap(.outerHTML),
.hx.pushURL(true)
) {
"Get Started"
}