From 6247ecfe7be030a97065f197922713934f534250 Mon Sep 17 00:00:00 2001 From: Dan Gowans Date: Mon, 28 Oct 2024 09:39:23 -0400 Subject: [PATCH] add fieldType field --- helpers/initializer.database.js | 17 ++++++++++++++--- helpers/initializer.database.ts | 22 +++++++++++++++++++--- types/recordTypes.d.ts | 2 ++ types/recordTypes.ts | 3 +++ 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/helpers/initializer.database.js b/helpers/initializer.database.js index 845a6c3d..a44740dd 100644 --- a/helpers/initializer.database.js +++ b/helpers/initializer.database.js @@ -12,9 +12,15 @@ const createStatements = [ /* * Lot Types */ - `create table if not exists LotTypes (lotTypeId integer not null primary key autoincrement, lotType varchar(100) not null, orderNumber smallint not null default 0, ${recordColumns})`, + `create table if not exists LotTypes ( + lotTypeId integer not null primary key autoincrement, lotType varchar(100) not null, orderNumber smallint not null default 0, ${recordColumns})`, 'create index if not exists idx_lottypes_ordernumber on LotTypes (orderNumber, lotType)', - `create table if not exists LotTypeFields (lotTypeFieldId integer not null primary key autoincrement, lotTypeId integer not null, lotTypeField varchar(100) not null, lotTypeFieldValues text, isRequired bit not null default 0, pattern varchar(100), minimumLength smallint not null default 1 check (minimumLength >= 0), maximumLength smallint not null default 100 check (maximumLength >= 0), orderNumber smallint not null default 0, ${recordColumns}, foreign key (lotTypeId) references LotTypes (lotTypeId))`, + `create table if not exists LotTypeFields ( + lotTypeFieldId integer not null primary key autoincrement, lotTypeId integer not null, lotTypeField varchar(100) not null, + fieldType varchar(15) not null default 'text', + lotTypeFieldValues text, isRequired bit not null default 0, pattern varchar(100), + minimumLength smallint not null default 1 check (minimumLength >= 0), maximumLength smallint not null default 100 check (maximumLength >= 0), orderNumber smallint not null default 0, ${recordColumns}, + foreign key (lotTypeId) references LotTypes (lotTypeId))`, 'create index if not exists idx_lottypefields_ordernumber on LotTypeFields (lotTypeId, orderNumber, lotTypeField)', /* * Lot Statuses @@ -34,7 +40,12 @@ const createStatements = [ */ `create table if not exists OccupancyTypes (occupancyTypeId integer not null primary key autoincrement, occupancyType varchar(100) not null, orderNumber smallint not null default 0, ${recordColumns})`, 'create index if not exists idx_occupancytypes_ordernumber on OccupancyTypes (orderNumber, occupancyType)', - `create table if not exists OccupancyTypeFields (occupancyTypeFieldId integer not null primary key autoincrement, occupancyTypeId integer, occupancyTypeField varchar(100) not null, occupancyTypeFieldValues text, isRequired bit not null default 0, pattern varchar(100), minimumLength smallint not null default 1 check (minimumLength >= 0), maximumLength smallint not null default 100 check (maximumLength >= 0), orderNumber smallint not null default 0, ${recordColumns}, foreign key (occupancyTypeId) references OccupancyTypes (occupancyTypeId))`, + `create table if not exists OccupancyTypeFields ( + occupancyTypeFieldId integer not null primary key autoincrement, occupancyTypeId integer, occupancyTypeField varchar(100) not null, + fieldType varchar(15) not null default 'text', + occupancyTypeFieldValues text, isRequired bit not null default 0, pattern varchar(100), + minimumLength smallint not null default 1 check (minimumLength >= 0), maximumLength smallint not null default 100 check (maximumLength >= 0), orderNumber smallint not null default 0, ${recordColumns}, + foreign key (occupancyTypeId) references OccupancyTypes (occupancyTypeId))`, // eslint-disable-next-line no-secrets/no-secrets 'create index if not exists idx_occupancytypefields_ordernumber on OccupancyTypeFields (occupancyTypeId, orderNumber, occupancyTypeField)', `create table if not exists OccupancyTypePrints (occupancyTypeId integer not null, printEJS varchar(100) not null, orderNumber smallint not null default 0, ${recordColumns}, primary key (occupancyTypeId, printEJS), foreign key (occupancyTypeId) references OccupancyTypes (occupancyTypeId))`, diff --git a/helpers/initializer.database.ts b/helpers/initializer.database.ts index 4d0d1fe4..3ca92551 100644 --- a/helpers/initializer.database.ts +++ b/helpers/initializer.database.ts @@ -17,9 +17,18 @@ const createStatements = [ * Lot Types */ - `create table if not exists LotTypes (lotTypeId integer not null primary key autoincrement, lotType varchar(100) not null, orderNumber smallint not null default 0, ${recordColumns})`, + `create table if not exists LotTypes ( + lotTypeId integer not null primary key autoincrement, lotType varchar(100) not null, orderNumber smallint not null default 0, ${recordColumns})`, + 'create index if not exists idx_lottypes_ordernumber on LotTypes (orderNumber, lotType)', - `create table if not exists LotTypeFields (lotTypeFieldId integer not null primary key autoincrement, lotTypeId integer not null, lotTypeField varchar(100) not null, lotTypeFieldValues text, isRequired bit not null default 0, pattern varchar(100), minimumLength smallint not null default 1 check (minimumLength >= 0), maximumLength smallint not null default 100 check (maximumLength >= 0), orderNumber smallint not null default 0, ${recordColumns}, foreign key (lotTypeId) references LotTypes (lotTypeId))`, + + `create table if not exists LotTypeFields ( + lotTypeFieldId integer not null primary key autoincrement, lotTypeId integer not null, lotTypeField varchar(100) not null, + fieldType varchar(15) not null default 'text', + lotTypeFieldValues text, isRequired bit not null default 0, pattern varchar(100), + minimumLength smallint not null default 1 check (minimumLength >= 0), maximumLength smallint not null default 100 check (maximumLength >= 0), orderNumber smallint not null default 0, ${recordColumns}, + foreign key (lotTypeId) references LotTypes (lotTypeId))`, + 'create index if not exists idx_lottypefields_ordernumber on LotTypeFields (lotTypeId, orderNumber, lotTypeField)', /* @@ -45,7 +54,14 @@ const createStatements = [ `create table if not exists OccupancyTypes (occupancyTypeId integer not null primary key autoincrement, occupancyType varchar(100) not null, orderNumber smallint not null default 0, ${recordColumns})`, 'create index if not exists idx_occupancytypes_ordernumber on OccupancyTypes (orderNumber, occupancyType)', - `create table if not exists OccupancyTypeFields (occupancyTypeFieldId integer not null primary key autoincrement, occupancyTypeId integer, occupancyTypeField varchar(100) not null, occupancyTypeFieldValues text, isRequired bit not null default 0, pattern varchar(100), minimumLength smallint not null default 1 check (minimumLength >= 0), maximumLength smallint not null default 100 check (maximumLength >= 0), orderNumber smallint not null default 0, ${recordColumns}, foreign key (occupancyTypeId) references OccupancyTypes (occupancyTypeId))`, + + `create table if not exists OccupancyTypeFields ( + occupancyTypeFieldId integer not null primary key autoincrement, occupancyTypeId integer, occupancyTypeField varchar(100) not null, + fieldType varchar(15) not null default 'text', + occupancyTypeFieldValues text, isRequired bit not null default 0, pattern varchar(100), + minimumLength smallint not null default 1 check (minimumLength >= 0), maximumLength smallint not null default 100 check (maximumLength >= 0), orderNumber smallint not null default 0, ${recordColumns}, + foreign key (occupancyTypeId) references OccupancyTypes (occupancyTypeId))`, + // eslint-disable-next-line no-secrets/no-secrets 'create index if not exists idx_occupancytypefields_ordernumber on OccupancyTypeFields (occupancyTypeId, orderNumber, occupancyTypeField)', `create table if not exists OccupancyTypePrints (occupancyTypeId integer not null, printEJS varchar(100) not null, orderNumber smallint not null default 0, ${recordColumns}, primary key (occupancyTypeId, printEJS), foreign key (occupancyTypeId) references OccupancyTypes (occupancyTypeId))`, diff --git a/types/recordTypes.d.ts b/types/recordTypes.d.ts index 403fca6e..465fc143 100644 --- a/types/recordTypes.d.ts +++ b/types/recordTypes.d.ts @@ -36,6 +36,7 @@ export interface LotTypeField extends Record { lotTypeField?: string; lotTypeId?: number; lotType: LotType; + fieldType: string; lotTypeFieldValues?: string; isRequired?: boolean; pattern?: string; @@ -92,6 +93,7 @@ export interface OccupancyTypeField { occupancyTypeFieldId: number; occupancyTypeId?: number; occupancyTypeField?: string; + fieldType: string; occupancyTypeFieldValues?: string; isRequired?: boolean; pattern?: string; diff --git a/types/recordTypes.ts b/types/recordTypes.ts index 1eabfc36..872f935a 100644 --- a/types/recordTypes.ts +++ b/types/recordTypes.ts @@ -50,6 +50,7 @@ export interface LotTypeField extends Record { lotTypeId?: number lotType: LotType + fieldType: string lotTypeFieldValues?: string isRequired?: boolean pattern?: string @@ -123,6 +124,8 @@ export interface OccupancyTypeField { occupancyTypeFieldId: number occupancyTypeId?: number occupancyTypeField?: string + + fieldType: string occupancyTypeFieldValues?: string isRequired?: boolean pattern?: string