import { bigint, integer, pgTable, uuid } from 'drizzle-orm/pg-core'; import { primaryEntityColumns } from './primary-entity-columns'; import { users } from './schema'; /** * Company-wide operational settings (singleton aggregate). */ export const companySettings = pgTable('company_settings', { id: uuid('id').defaultRandom().notNull().primaryKey(), cycleStartDate: bigint('cycle_start_date', { mode: 'number' }).notNull(), checkInRadiusMeters: integer('check_in_radius_meters').notNull().default(100), gpsIntervalSeconds: integer('gps_interval_seconds').notNull().default(5), checkoutWarningRadiusMeters: integer('checkout_warning_radius_meters') .notNull() .default(200), ...primaryEntityColumns(users), }); export type CompanySettingsRow = typeof companySettings.$inferSelect; export type NewCompanySettingsRow = typeof companySettings.$inferInsert;