From 1bd3ac426699cb4422289a8023245bf787ae74ae Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Tue, 27 Jan 2026 17:28:05 +0000 Subject: [PATCH] add type inference --- src/app/db/schema/condition/aspect_condition.ts | 8 ++++++++ src/app/db/schema/condition/element.ts | 5 +++++ src/app/db/schema/condition/element_type.ts | 2 +- src/app/db/schema/condition/property_condition_survey.ts | 8 +++++++- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/app/db/schema/condition/aspect_condition.ts b/src/app/db/schema/condition/aspect_condition.ts index 08c14991..230da63c 100644 --- a/src/app/db/schema/condition/aspect_condition.ts +++ b/src/app/db/schema/condition/aspect_condition.ts @@ -1,6 +1,7 @@ import { bigint, bigserial, date, integer, pgTable, text } from "drizzle-orm/pg-core"; import { element } from "./element"; import { aspectType } from "./aspect_type"; +import { InferInsertModel, InferSelectModel } from "drizzle-orm"; export const aspectCondition = pgTable("aspect_condition", { id: bigserial("id", { mode: "bigint" }).primaryKey(), @@ -18,3 +19,10 @@ export const aspectCondition = pgTable("aspect_condition", { renewalYear: integer("renewal_year"), comments: text("comments"), }); + +export type AspectConditionRow = + InferSelectModel; + +export type NewAspectConditionRow = + InferInsertModel; + diff --git a/src/app/db/schema/condition/element.ts b/src/app/db/schema/condition/element.ts index ad1f6568..d4285972 100644 --- a/src/app/db/schema/condition/element.ts +++ b/src/app/db/schema/condition/element.ts @@ -1,6 +1,7 @@ import { bigint, bigserial, integer, pgTable } from "drizzle-orm/pg-core"; import { propertyConditionSurvey } from "./property_condition_survey"; import { elementType } from "./element_type"; +import { InferInsertModel, InferSelectModel } from "drizzle-orm"; export const element = pgTable("element", { id: bigserial("id", { mode: "bigint" }).primaryKey(), @@ -12,3 +13,7 @@ export const element = pgTable("element", { elementType: elementType("element_type").notNull(), elementInstance: integer("element_instance").notNull(), }); + +export type ElementRow = InferSelectModel; +export type NewElementRow = InferInsertModel; + diff --git a/src/app/db/schema/condition/element_type.ts b/src/app/db/schema/condition/element_type.ts index 779f749c..ffd41dcd 100644 --- a/src/app/db/schema/condition/element_type.ts +++ b/src/app/db/schema/condition/element_type.ts @@ -203,4 +203,4 @@ export const elementType = pgEnum("element_type", [ "hhsrs_amenities", ]); -export type Element = typeof elementType.enumValues[number]; +export type ElementType = typeof elementType.enumValues[number]; diff --git a/src/app/db/schema/condition/property_condition_survey.ts b/src/app/db/schema/condition/property_condition_survey.ts index 48c16442..4cc31b3d 100644 --- a/src/app/db/schema/condition/property_condition_survey.ts +++ b/src/app/db/schema/condition/property_condition_survey.ts @@ -1,10 +1,10 @@ +import { InferInsertModel, InferSelectModel } from "drizzle-orm"; import { pgTable, bigserial, bigint, date, text, - integer, } from "drizzle-orm/pg-core"; export const propertyConditionSurvey = pgTable("property_condition_survey", { @@ -15,3 +15,9 @@ export const propertyConditionSurvey = pgTable("property_condition_survey", { date: date("date").notNull(), source: text("source").notNull(), }); + +export type PropertyConditionSurveyRow = + InferSelectModel; + +export type NewPropertyConditionSurveyRow = + InferInsertModel; \ No newline at end of file