import { pgTable, bigint, timestamp, text, doublePrecision, boolean, uuid, } from "drizzle-orm/pg-core" import { tenants } from "./tenants" import { authUsers } from "./auth_users" export const bankaccounts = pgTable("bankaccounts", { id: bigint("id", { mode: "number" }) .primaryKey() .generatedByDefaultAsIdentity(), createdAt: timestamp("created_at", { withTimezone: true }) .notNull() .defaultNow(), name: text("name"), iban: text("iban").notNull(), tenant: bigint("tenant", { mode: "number" }) .notNull() .references(() => tenants.id), bankId: text("bankId").notNull(), ownerName: text("ownerName"), accountId: text("accountId").notNull(), balance: doublePrecision("balance"), expired: boolean("expired").notNull().default(false), datevNumber: text("datevNumber"), syncedAt: timestamp("synced_at", { withTimezone: true }) .notNull() .defaultNow(), updatedAt: timestamp("updated_at", { withTimezone: true }), updatedBy: uuid("updated_by").references(() => authUsers.id), archived: boolean("archived").notNull().default(false), }) export type BankAccount = typeof bankaccounts.$inferSelect export type NewBankAccount = typeof bankaccounts.$inferInsert