From a62d1e77efdb38aca220c41a38e9de5dcf668ab9 Mon Sep 17 00:00:00 2001 From: nikhila-aot Date: Wed, 29 Jan 2025 14:51:44 -0800 Subject: [PATCH 1/3] initial check in for cats entities --- .../src/app/entities/appExpense.entity.ts | 48 +++++ .../src/app/entities/appLandUse.entity.ts | 61 ++++++ .../src/app/entities/appNote.entity.ts | 48 +++++ .../src/app/entities/appParticipant.entity.ts | 86 ++++++++ .../src/app/entities/appPriority.entity.ts | 61 ++++++ .../src/app/entities/appSedimentUse.entity.ts | 61 ++++++ .../src/app/entities/appService.entity.ts | 84 ++++++++ .../src/app/entities/appStatus.entity.ts | 67 +++++++ .../src/app/entities/appType.entity.ts | 61 ++++++ .../entities/appTypeDefaultService.entity.ts | 51 +++++ .../src/app/entities/appVapourUse.entity.ts | 61 ++++++ .../src/app/entities/appWaterUse.entity.ts | 61 ++++++ .../src/app/entities/application.entity.ts | 189 +++++++++++++++--- .../entities/applicationFeeSchedule.entity.ts | 35 ++++ .../src/app/entities/helpScreen.entity.ts | 47 +++++ .../src/app/entities/housing.entity.ts | 74 +++++++ .../entities/housingApplicationXref.entity.ts | 43 ++++ .../app/entities/housingSiteXref.entity.ts | 29 +++ .../src/app/entities/housingType.entity.ts | 48 +++++ .../src/app/entities/invoice.entity.ts | 79 ++++++++ .../src/app/entities/landUse.entity.ts | 48 +++++ .../src/app/entities/media.entity.ts | 48 +++++ .../src/app/entities/oceans.entity.ts | 48 +++++ .../src/app/entities/organization.entity.ts | 84 ++++++++ .../src/app/entities/outcome.entity.ts | 48 +++++ .../app/entities/participantRole.entity.ts | 54 +++++ .../src/app/entities/payment.entity.ts | 72 +++++++ .../src/app/entities/paymentMethod.entity.ts | 48 +++++ .../src/app/entities/person.entity.ts | 107 ++++++++++ .../src/app/entities/priority.entity.ts | 48 +++++ .../src/app/entities/region.entity.ts | 48 +++++ .../src/app/entities/reviewProcess.entity.ts | 48 +++++ .../src/app/entities/risk.entity.ts | 48 +++++ .../src/app/entities/sedimentUse.entity.ts | 51 +++++ .../src/app/entities/service.entity.ts | 72 +++++++ .../app/entities/serviceCategory.entity.ts | 71 +++++++ .../entities/serviceCategoryType.entity.ts | 51 +++++ .../app/entities/serviceFeeSchedule.entity.ts | 64 ++++++ .../entities/serviceServiceCategory.entity.ts | 58 ++++++ .../src/app/entities/site.entity.ts | 68 +++++++ .../src/app/entities/siteType.entity.ts | 48 +++++ .../src/app/entities/statusType.entity.ts | 48 +++++ .../src/app/entities/systemSetting.entity.ts | 134 +++++++++++++ .../src/app/entities/taxSchedule.entity.ts | 38 ++++ .../src/app/entities/timesheet.entity.ts | 75 +++++++ .../app/entities/timesheetDetail.entity.ts | 55 +++++ .../src/app/entities/timesheetWeek.entity.ts | 41 ++++ .../src/app/entities/vapourUse.entity.ts | 48 +++++ .../src/app/entities/waterUse.entity.ts | 48 +++++ .../src/app/entities/yesNoCode.entity.ts | 54 +++++ 50 files changed, 3044 insertions(+), 23 deletions(-) create mode 100644 backend/applications/src/app/entities/appExpense.entity.ts create mode 100644 backend/applications/src/app/entities/appLandUse.entity.ts create mode 100644 backend/applications/src/app/entities/appNote.entity.ts create mode 100644 backend/applications/src/app/entities/appParticipant.entity.ts create mode 100644 backend/applications/src/app/entities/appPriority.entity.ts create mode 100644 backend/applications/src/app/entities/appSedimentUse.entity.ts create mode 100644 backend/applications/src/app/entities/appService.entity.ts create mode 100644 backend/applications/src/app/entities/appStatus.entity.ts create mode 100644 backend/applications/src/app/entities/appType.entity.ts create mode 100644 backend/applications/src/app/entities/appTypeDefaultService.entity.ts create mode 100644 backend/applications/src/app/entities/appVapourUse.entity.ts create mode 100644 backend/applications/src/app/entities/appWaterUse.entity.ts create mode 100644 backend/applications/src/app/entities/applicationFeeSchedule.entity.ts create mode 100644 backend/applications/src/app/entities/helpScreen.entity.ts create mode 100644 backend/applications/src/app/entities/housing.entity.ts create mode 100644 backend/applications/src/app/entities/housingApplicationXref.entity.ts create mode 100644 backend/applications/src/app/entities/housingSiteXref.entity.ts create mode 100644 backend/applications/src/app/entities/housingType.entity.ts create mode 100644 backend/applications/src/app/entities/invoice.entity.ts create mode 100644 backend/applications/src/app/entities/landUse.entity.ts create mode 100644 backend/applications/src/app/entities/media.entity.ts create mode 100644 backend/applications/src/app/entities/oceans.entity.ts create mode 100644 backend/applications/src/app/entities/organization.entity.ts create mode 100644 backend/applications/src/app/entities/outcome.entity.ts create mode 100644 backend/applications/src/app/entities/participantRole.entity.ts create mode 100644 backend/applications/src/app/entities/payment.entity.ts create mode 100644 backend/applications/src/app/entities/paymentMethod.entity.ts create mode 100644 backend/applications/src/app/entities/person.entity.ts create mode 100644 backend/applications/src/app/entities/priority.entity.ts create mode 100644 backend/applications/src/app/entities/region.entity.ts create mode 100644 backend/applications/src/app/entities/reviewProcess.entity.ts create mode 100644 backend/applications/src/app/entities/risk.entity.ts create mode 100644 backend/applications/src/app/entities/sedimentUse.entity.ts create mode 100644 backend/applications/src/app/entities/service.entity.ts create mode 100644 backend/applications/src/app/entities/serviceCategory.entity.ts create mode 100644 backend/applications/src/app/entities/serviceCategoryType.entity.ts create mode 100644 backend/applications/src/app/entities/serviceFeeSchedule.entity.ts create mode 100644 backend/applications/src/app/entities/serviceServiceCategory.entity.ts create mode 100644 backend/applications/src/app/entities/site.entity.ts create mode 100644 backend/applications/src/app/entities/siteType.entity.ts create mode 100644 backend/applications/src/app/entities/statusType.entity.ts create mode 100644 backend/applications/src/app/entities/systemSetting.entity.ts create mode 100644 backend/applications/src/app/entities/taxSchedule.entity.ts create mode 100644 backend/applications/src/app/entities/timesheet.entity.ts create mode 100644 backend/applications/src/app/entities/timesheetDetail.entity.ts create mode 100644 backend/applications/src/app/entities/timesheetWeek.entity.ts create mode 100644 backend/applications/src/app/entities/vapourUse.entity.ts create mode 100644 backend/applications/src/app/entities/waterUse.entity.ts create mode 100644 backend/applications/src/app/entities/yesNoCode.entity.ts diff --git a/backend/applications/src/app/entities/appExpense.entity.ts b/backend/applications/src/app/entities/appExpense.entity.ts new file mode 100644 index 00000000..b5fb048e --- /dev/null +++ b/backend/applications/src/app/entities/appExpense.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; + +@Index('idx_app_expense_application_id', ['applicationId'], {}) +@Index('pk_app_expense', ['id'], { unique: true }) +@Entity('app_expense', { schema: 'cats' }) +export class AppExpense { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('numeric', { name: 'expense_amt', precision: 10, scale: 2 }) + expenseAmt: string; + + @Column('character varying', { name: 'description', length: 100 }) + description: string; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Application, (application) => application.appExpenses) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; +} diff --git a/backend/applications/src/app/entities/appLandUse.entity.ts b/backend/applications/src/app/entities/appLandUse.entity.ts new file mode 100644 index 00000000..730c9c92 --- /dev/null +++ b/backend/applications/src/app/entities/appLandUse.entity.ts @@ -0,0 +1,61 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; +import { LandUse } from './landUse.entity'; + +@Index('idx_app_land_use_application_id', ['applicationId'], {}) +@Index('pk_app_land_use', ['id'], { unique: true }) +@Index('idx_app_land_use_land_use_id', ['landUseId'], {}) +@Entity('app_land_use', { schema: 'cats' }) +export class AppLandUse { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('integer', { name: 'land_use_id' }) + landUseId: number; + + @Column('boolean', { name: 'is_current' }) + isCurrent: boolean; + + @Column('character varying', { + name: 'comment', + nullable: true, + length: 4000, + }) + comment: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Application, (application) => application.appLandUses) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; + + @ManyToOne(() => LandUse, (landUse) => landUse.appLandUses) + @JoinColumn([{ name: 'land_use_id', referencedColumnName: 'id' }]) + landUse: LandUse; +} diff --git a/backend/applications/src/app/entities/appNote.entity.ts b/backend/applications/src/app/entities/appNote.entity.ts new file mode 100644 index 00000000..4c506d25 --- /dev/null +++ b/backend/applications/src/app/entities/appNote.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; + +@Index('idx_app_note_application_id', ['applicationId'], {}) +@Index('pk_app_note', ['id'], { unique: true }) +@Entity('app_note', { schema: 'cats' }) +export class AppNote { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('date', { name: 'note_date' }) + noteDate: string; + + @Column('character varying', { name: 'note_text', length: 4000 }) + noteText: string; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Application, (application) => application.appNotes) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; +} diff --git a/backend/applications/src/app/entities/appParticipant.entity.ts b/backend/applications/src/app/entities/appParticipant.entity.ts new file mode 100644 index 00000000..88288013 --- /dev/null +++ b/backend/applications/src/app/entities/appParticipant.entity.ts @@ -0,0 +1,86 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; +import { Organization } from './organization.entity'; +import { ParticipantRole } from './participantRole.entity'; +import { Person } from './person.entity'; + +@Index('idx_app_participant_application_id', ['applicationId'], {}) +@Index( + 'uidx_application_id_participant_role_id', + ['applicationId', 'participantRoleId'], + { unique: true }, +) +@Index('pk_app_participant', ['id'], { unique: true }) +@Index('idx_app_participant_organization_id', ['organizationId'], {}) +@Index('idx_app_participant_participant_role_id', ['participantRoleId'], {}) +@Index('idx_app_participant_person_id', ['personId'], {}) +@Entity('app_participant', { schema: 'cats' }) +export class AppParticipant { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('integer', { name: 'person_id' }) + personId: number; + + @Column('integer', { name: 'participant_role_id' }) + participantRoleId: number; + + @Column('integer', { name: 'organization_id', nullable: true }) + organizationId: number | null; + + @Column('boolean', { name: 'is_main_participant' }) + isMainParticipant: boolean; + + @Column('date', { name: 'effective_start_date' }) + effectiveStartDate: string; + + @Column('date', { name: 'effective_end_date', nullable: true }) + effectiveEndDate: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Application, (application) => application.appParticipants) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; + + @ManyToOne(() => Organization, (organization) => organization.appParticipants) + @JoinColumn([{ name: 'organization_id', referencedColumnName: 'id' }]) + organization: Organization; + + @ManyToOne( + () => ParticipantRole, + (participantRole) => participantRole.appParticipants, + ) + @JoinColumn([{ name: 'participant_role_id', referencedColumnName: 'id' }]) + participantRole: ParticipantRole; + + @ManyToOne(() => Person, (person) => person.appParticipants) + @JoinColumn([{ name: 'person_id', referencedColumnName: 'id' }]) + person: Person; +} diff --git a/backend/applications/src/app/entities/appPriority.entity.ts b/backend/applications/src/app/entities/appPriority.entity.ts new file mode 100644 index 00000000..71939a15 --- /dev/null +++ b/backend/applications/src/app/entities/appPriority.entity.ts @@ -0,0 +1,61 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; +import { Priority } from './priority.entity'; + +@Index('idx_app_priority_application_id', ['applicationId'], {}) +@Index('pk_app_priority', ['id'], { unique: true }) +@Index('idx_app_priority_priority_id', ['priorityId'], {}) +@Entity('app_priority', { schema: 'cats' }) +export class AppPriority { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('integer', { name: 'priority_id' }) + priorityId: number; + + @Column('boolean', { name: 'is_current' }) + isCurrent: boolean; + + @Column('character varying', { + name: 'comment', + nullable: true, + length: 4000, + }) + comment: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Application, (application) => application.appPriorities) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; + + @ManyToOne(() => Priority, (priority) => priority.appPriorities) + @JoinColumn([{ name: 'priority_id', referencedColumnName: 'id' }]) + priority: Priority; +} diff --git a/backend/applications/src/app/entities/appSedimentUse.entity.ts b/backend/applications/src/app/entities/appSedimentUse.entity.ts new file mode 100644 index 00000000..e6fa3156 --- /dev/null +++ b/backend/applications/src/app/entities/appSedimentUse.entity.ts @@ -0,0 +1,61 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; +import { SedimentUse } from './sedimentUse.entity'; + +@Index('idx_app_sediment_use_application_id', ['applicationId'], {}) +@Index('pk_app_sediment_use', ['id'], { unique: true }) +@Index('idx_app_sediment_use_sediment_use_id', ['sedimentUseId'], {}) +@Entity('app_sediment_use', { schema: 'cats' }) +export class AppSedimentUse { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('integer', { name: 'sediment_use_id' }) + sedimentUseId: number; + + @Column('boolean', { name: 'is_current' }) + isCurrent: boolean; + + @Column('character varying', { + name: 'comment', + nullable: true, + length: 4000, + }) + comment: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Application, (application) => application.appSedimentUses) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; + + @ManyToOne(() => SedimentUse, (sedimentUse) => sedimentUse.appSedimentUses) + @JoinColumn([{ name: 'sediment_use_id', referencedColumnName: 'id' }]) + sedimentUse: SedimentUse; +} diff --git a/backend/applications/src/app/entities/appService.entity.ts b/backend/applications/src/app/entities/appService.entity.ts new file mode 100644 index 00000000..c05fce25 --- /dev/null +++ b/backend/applications/src/app/entities/appService.entity.ts @@ -0,0 +1,84 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; +import { Service } from './service.entity'; + +@Index('idx_app_service_application_id', ['applicationId'], {}) +@Index('pk_app_service', ['id'], { unique: true }) +@Index('idx_app_service_service_id', ['serviceId'], {}) +@Entity('app_service', { schema: 'cats' }) +export class AppService { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('integer', { name: 'service_id' }) + serviceId: number; + + @Column('boolean', { name: 'is_resubmission' }) + isResubmission: boolean; + + @Column('numeric', { name: 'default_credit_hours', precision: 8, scale: 2 }) + defaultCreditHours: string; + + @Column('numeric', { name: 'default_fee', precision: 10, scale: 2 }) + defaultFee: string; + + @Column('numeric', { + name: 'override_credit_hours', + nullable: true, + precision: 8, + scale: 2, + }) + overrideCreditHours: string | null; + + @Column('numeric', { + name: 'override_fee', + nullable: true, + precision: 10, + scale: 2, + }) + overrideFee: string | null; + + @Column('numeric', { name: 'fee', precision: 10, scale: 2 }) + fee: string; + + @Column('numeric', { name: 'credit_hours', precision: 8, scale: 2 }) + creditHours: string; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Application, (application) => application.appServices, { + onDelete: 'CASCADE', + }) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; + + @ManyToOne(() => Service, (service) => service.appServices) + @JoinColumn([{ name: 'service_id', referencedColumnName: 'id' }]) + service: Service; +} diff --git a/backend/applications/src/app/entities/appStatus.entity.ts b/backend/applications/src/app/entities/appStatus.entity.ts new file mode 100644 index 00000000..fe8a233a --- /dev/null +++ b/backend/applications/src/app/entities/appStatus.entity.ts @@ -0,0 +1,67 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + OneToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; +import { StatusType } from './statusType.entity'; + +@Index('idx_app_status_application_id', ['applicationId'], {}) +@Index('uidx_app_status_is_current_application_id', ['applicationId'], { + unique: true, +}) +@Index('pk_app_status', ['id'], { unique: true }) +@Index('idx_app_status_status_type_id', ['statusTypeId'], {}) +@Entity('app_status', { schema: 'cats' }) +export class AppStatus { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('integer', { name: 'status_type_id' }) + statusTypeId: number; + + @Column('boolean', { name: 'is_current' }) + isCurrent: boolean; + + @Column('character varying', { + name: 'comment', + nullable: true, + length: 4000, + }) + comment: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToOne(() => Application, (application) => application.appStatus, { + onDelete: 'CASCADE', + }) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; + + @ManyToOne(() => StatusType, (statusType) => statusType.appStatuses) + @JoinColumn([{ name: 'status_type_id', referencedColumnName: 'id' }]) + statusType: StatusType; +} diff --git a/backend/applications/src/app/entities/appType.entity.ts b/backend/applications/src/app/entities/appType.entity.ts new file mode 100644 index 00000000..04c28481 --- /dev/null +++ b/backend/applications/src/app/entities/appType.entity.ts @@ -0,0 +1,61 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppTypeDefaultService } from './appTypeDefaultService.entity'; +import { Application } from './application.entity'; + +@Index('pk_app_type', ['id'], { unique: true }) +@Entity('app_type', { schema: 'cats' }) +export class AppType { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 20 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('integer', { name: 'fore_colour' }) + foreColour: number; + + @Column('integer', { name: 'back_colour' }) + backColour: number; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany( + () => AppTypeDefaultService, + (appTypeDefaultService) => appTypeDefaultService.appType, + ) + appTypeDefaultServices: AppTypeDefaultService[]; + + @OneToMany(() => Application, (application) => application.appType) + applications: Application[]; +} diff --git a/backend/applications/src/app/entities/appTypeDefaultService.entity.ts b/backend/applications/src/app/entities/appTypeDefaultService.entity.ts new file mode 100644 index 00000000..d697cd43 --- /dev/null +++ b/backend/applications/src/app/entities/appTypeDefaultService.entity.ts @@ -0,0 +1,51 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppType } from './appType.entity'; +import { Service } from './service.entity'; + +@Index('idx_app_type_default_service_app_type_id', ['appTypeId'], {}) +@Index('pk_app_type_default_service', ['id'], { unique: true }) +@Index('idx_app_type_default_service_service_id', ['serviceId'], {}) +@Entity('app_type_default_service', { schema: 'cats' }) +export class AppTypeDefaultService { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'app_type_id' }) + appTypeId: number; + + @Column('integer', { name: 'service_id' }) + serviceId: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => AppType, (appType) => appType.appTypeDefaultServices) + @JoinColumn([{ name: 'app_type_id', referencedColumnName: 'id' }]) + appType: AppType; + + @ManyToOne(() => Service, (service) => service.appTypeDefaultServices) + @JoinColumn([{ name: 'service_id', referencedColumnName: 'id' }]) + service: Service; +} diff --git a/backend/applications/src/app/entities/appVapourUse.entity.ts b/backend/applications/src/app/entities/appVapourUse.entity.ts new file mode 100644 index 00000000..64fb79b0 --- /dev/null +++ b/backend/applications/src/app/entities/appVapourUse.entity.ts @@ -0,0 +1,61 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; +import { VapourUse } from './vapourUse.entity'; + +@Index('idx_app_vapour_use_application_id', ['applicationId'], {}) +@Index('pk_app_vapour_use', ['id'], { unique: true }) +@Index('idx_app_vapour_use_vapour_use_id', ['vapourUseId'], {}) +@Entity('app_vapour_use', { schema: 'cats' }) +export class AppVapourUse { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('integer', { name: 'vapour_use_id' }) + vapourUseId: number; + + @Column('boolean', { name: 'is_current' }) + isCurrent: boolean; + + @Column('character varying', { + name: 'comment', + nullable: true, + length: 4000, + }) + comment: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Application, (application) => application.appVapourUses) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; + + @ManyToOne(() => VapourUse, (vapourUse) => vapourUse.appVapourUses) + @JoinColumn([{ name: 'vapour_use_id', referencedColumnName: 'id' }]) + vapourUse: VapourUse; +} diff --git a/backend/applications/src/app/entities/appWaterUse.entity.ts b/backend/applications/src/app/entities/appWaterUse.entity.ts new file mode 100644 index 00000000..ceb1e0dc --- /dev/null +++ b/backend/applications/src/app/entities/appWaterUse.entity.ts @@ -0,0 +1,61 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; +import { WaterUse } from './waterUse.entity'; + +@Index('idx_app_water_use_application_id', ['applicationId'], {}) +@Index('pk_app_water_use', ['id'], { unique: true }) +@Index('idx_app_water_use_water_use_id', ['waterUseId'], {}) +@Entity('app_water_use', { schema: 'cats' }) +export class AppWaterUse { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('integer', { name: 'water_use_id' }) + waterUseId: number; + + @Column('boolean', { name: 'is_current' }) + isCurrent: boolean; + + @Column('character varying', { + name: 'comment', + nullable: true, + length: 4000, + }) + comment: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Application, (application) => application.appWaterUses) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; + + @ManyToOne(() => WaterUse, (waterUse) => waterUse.appWaterUses) + @JoinColumn([{ name: 'water_use_id', referencedColumnName: 'id' }]) + waterUse: WaterUse; +} diff --git a/backend/applications/src/app/entities/application.entity.ts b/backend/applications/src/app/entities/application.entity.ts index b3d1ae8f..016e5eb6 100644 --- a/backend/applications/src/app/entities/application.entity.ts +++ b/backend/applications/src/app/entities/application.entity.ts @@ -1,33 +1,176 @@ -import { ObjectType, Field, Directive, ID } from '@nestjs/graphql'; -import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; -import { ExternalUser } from './externalUser.entity'; +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + OneToMany, + OneToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppExpense } from './appExpense.entity'; +import { AppLandUse } from './appLandUse.entity'; +import { AppNote } from './appNote.entity'; +import { AppParticipant } from './appParticipant.entity'; +import { AppPriority } from './appPriority.entity'; +import { AppSedimentUse } from './appSedimentUse.entity'; +import { AppService } from './appService.entity'; +import { AppStatus } from './appStatus.entity'; +import { AppVapourUse } from './appVapourUse.entity'; +import { AppWaterUse } from './appWaterUse.entity'; +import { AppType } from './appType.entity'; +import { Media } from './media.entity'; +import { Oceans } from './oceans.entity'; +import { Outcome } from './outcome.entity'; +import { ReviewProcess } from './reviewProcess.entity'; +import { Risk } from './risk.entity'; +import { Site } from './site.entity'; +import { SiteType } from './siteType.entity'; +import { HousingApplicationXref } from './housingApplicationXref.entity'; +import { Invoice } from './invoice.entity'; +import { Timesheet } from './timesheet.entity'; -@ObjectType() -@Directive('@key(fields: "id")') -@Entity() +@Index('idx_application_app_type_id', ['appTypeId'], {}) +@Index('pk_application', ['id'], { unique: true }) +@Index('idx_application_outcome_id', ['outcomeId'], {}) +@Index('idx_application_review_process_id', ['reviewProcessId'], {}) +@Index('idx_application_risk_id', ['riskId'], {}) +@Index('idx_application_site_id', ['siteId'], {}) +@Entity('application', { schema: 'cats' }) export class Application { - @Field(() => ID) - @PrimaryGeneratedColumn() + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) id: number; - @Field({ nullable: true }) - @Column({ name: 'name', nullable: true }) - name: string; + @Column('integer', { name: 'site_id', nullable: true }) + siteId: number | null; - @Field(() => ExternalUser) - user: ExternalUser; + @Column('integer', { name: 'app_type_id' }) + appTypeId: number; - @Column({ nullable: true }) - @Field() - userId: string; + @Column('integer', { name: 'outcome_id', nullable: true }) + outcomeId: number | null; - @Column({ name: 'created_date', type: 'date', default: () => 'CURRENT_DATE' }) - createdDate?: Date; + @Column('integer', { name: 'review_process_id', nullable: true }) + reviewProcessId: number | null; - @Column({ - name: 'modified_date', - type: 'date', - default: () => 'CURRENT_DATE', + @Column('integer', { name: 'risk_id', nullable: true }) + riskId: number | null; + + @Column('date', { name: 'received_date' }) + receivedDate: string; + + @Column('date', { name: 'end_date', nullable: true }) + endDate: string | null; + + @Column('character varying', { + name: 'app_description', + nullable: true, + length: 50, + }) + appDescription: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @Column('character varying', { + name: 'csap_ref_number', + nullable: true, + length: 50, }) - modifiedDate?: Date; + csapRefNumber: string | null; + + @OneToMany(() => AppExpense, (appExpense) => appExpense.application) + appExpenses: AppExpense[]; + + @OneToMany(() => AppLandUse, (appLandUse) => appLandUse.application) + appLandUses: AppLandUse[]; + + @OneToMany(() => AppNote, (appNote) => appNote.application) + appNotes: AppNote[]; + + @OneToMany( + () => AppParticipant, + (appParticipant) => appParticipant.application, + ) + appParticipants: AppParticipant[]; + + @OneToMany(() => AppPriority, (appPriority) => appPriority.application) + appPriorities: AppPriority[]; + + @OneToMany( + () => AppSedimentUse, + (appSedimentUse) => appSedimentUse.application, + ) + appSedimentUses: AppSedimentUse[]; + + @OneToMany(() => AppService, (appService) => appService.application) + appServices: AppService[]; + + @OneToOne(() => AppStatus, (appStatus) => appStatus.application) + appStatus: AppStatus; + + @OneToMany(() => AppVapourUse, (appVapourUse) => appVapourUse.application) + appVapourUses: AppVapourUse[]; + + @OneToMany(() => AppWaterUse, (appWaterUse) => appWaterUse.application) + appWaterUses: AppWaterUse[]; + + @ManyToOne(() => AppType, (appType) => appType.applications) + @JoinColumn([{ name: 'app_type_id', referencedColumnName: 'id' }]) + appType: AppType; + + @ManyToOne(() => Media, (media) => media.applications) + @JoinColumn([{ name: 'media_id', referencedColumnName: 'id' }]) + media: Media; + + @ManyToOne(() => Oceans, (oceans) => oceans.applications) + @JoinColumn([{ name: 'oceans_id', referencedColumnName: 'id' }]) + oceans: Oceans; + + @ManyToOne(() => Outcome, (outcome) => outcome.applications) + @JoinColumn([{ name: 'outcome_id', referencedColumnName: 'id' }]) + outcome: Outcome; + + @ManyToOne(() => ReviewProcess, (reviewProcess) => reviewProcess.applications) + @JoinColumn([{ name: 'review_process_id', referencedColumnName: 'id' }]) + reviewProcess: ReviewProcess; + + @ManyToOne(() => Risk, (risk) => risk.applications) + @JoinColumn([{ name: 'risk_id', referencedColumnName: 'id' }]) + risk: Risk; + + @ManyToOne(() => Site, (site) => site.applications) + @JoinColumn([{ name: 'site_id', referencedColumnName: 'id' }]) + site: Site; + + @ManyToOne(() => SiteType, (siteType) => siteType.applications) + @JoinColumn([{ name: 'site_type_id', referencedColumnName: 'id' }]) + siteType: SiteType; + + @OneToMany( + () => HousingApplicationXref, + (housingApplicationXref) => housingApplicationXref.application, + ) + housingApplicationXrefs: HousingApplicationXref[]; + + @OneToMany(() => Invoice, (invoice) => invoice.application) + invoices: Invoice[]; + + @OneToMany(() => Timesheet, (timesheet) => timesheet.application) + timesheets: Timesheet[]; } diff --git a/backend/applications/src/app/entities/applicationFeeSchedule.entity.ts b/backend/applications/src/app/entities/applicationFeeSchedule.entity.ts new file mode 100644 index 00000000..c61f97db --- /dev/null +++ b/backend/applications/src/app/entities/applicationFeeSchedule.entity.ts @@ -0,0 +1,35 @@ +import { Column, Entity, Index, PrimaryGeneratedColumn } from 'typeorm'; + +@Index('pk_application_fee_schedule', ['id'], { unique: true }) +@Entity('application_fee_schedule', { schema: 'cats' }) +export class ApplicationFeeSchedule { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('numeric', { name: 'hourly_fee', precision: 10, scale: 2 }) + hourlyFee: string; + + @Column('date', { name: 'effective_start_date' }) + effectiveStartDate: string; + + @Column('date', { name: 'effective_end_date', nullable: true }) + effectiveEndDate: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; +} diff --git a/backend/applications/src/app/entities/helpScreen.entity.ts b/backend/applications/src/app/entities/helpScreen.entity.ts new file mode 100644 index 00000000..eb28dbdc --- /dev/null +++ b/backend/applications/src/app/entities/helpScreen.entity.ts @@ -0,0 +1,47 @@ +import { Column, Entity, Index, PrimaryGeneratedColumn } from 'typeorm'; + +@Index('pk_help_screen', ['id'], { unique: true }) +@Index('udx_help_screen_screen_identifier_code', ['screenIdentifierCode'], { + unique: true, +}) +@Entity('help_screen', { schema: 'cats' }) +export class HelpScreen { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'screen_identifier_code', length: 100 }) + screenIdentifierCode: string; + + @Column('character varying', { name: 'screen_description', length: 100 }) + screenDescription: string; + + @Column('text', { name: 'help_html', nullable: true }) + helpHtml: string | null; + + @Column('boolean', { name: 'is_help_author_only' }) + isHelpAuthorOnly: boolean; + + @Column('boolean', { name: 'is_admin_only' }) + isAdminOnly: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 100 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 100 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; +} diff --git a/backend/applications/src/app/entities/housing.entity.ts b/backend/applications/src/app/entities/housing.entity.ts new file mode 100644 index 00000000..7919362f --- /dev/null +++ b/backend/applications/src/app/entities/housing.entity.ts @@ -0,0 +1,74 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { HousingType } from './housingType.entity'; +import { YesNoCode } from './yesNoCode.entity'; +import { HousingApplicationXref } from './housingApplicationXref.entity'; + +@Index('pk_housing', ['id'], { unique: true }) +@Entity('housing', { schema: 'cats' }) +export class Housing { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'number_of_units' }) + numberOfUnits: number; + + @Column('timestamp without time zone', { name: 'effective_date' }) + effectiveDate: Date; + + @Column('timestamp without time zone', { + name: 'expiry_date', + nullable: true, + }) + expiryDate: Date | null; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => HousingType, (housingType) => housingType.housings) + @JoinColumn([{ name: 'housing_type_id', referencedColumnName: 'id' }]) + housingType: HousingType; + + @ManyToOne(() => YesNoCode, (yesNoCode) => yesNoCode.housings) + @JoinColumn([{ name: 'is_indigenous_led', referencedColumnName: 'id' }]) + isIndigenousLed: YesNoCode; + + @ManyToOne(() => YesNoCode, (yesNoCode) => yesNoCode.housings2) + @JoinColumn([{ name: 'is_rental', referencedColumnName: 'id' }]) + isRental: YesNoCode; + + @ManyToOne(() => YesNoCode, (yesNoCode) => yesNoCode.housings3) + @JoinColumn([{ name: 'is_social', referencedColumnName: 'id' }]) + isSocial: YesNoCode; + + @OneToMany( + () => HousingApplicationXref, + (housingApplicationXref) => housingApplicationXref.housing, + ) + housingApplicationXrefs: HousingApplicationXref[]; +} diff --git a/backend/applications/src/app/entities/housingApplicationXref.entity.ts b/backend/applications/src/app/entities/housingApplicationXref.entity.ts new file mode 100644 index 00000000..a1c54e80 --- /dev/null +++ b/backend/applications/src/app/entities/housingApplicationXref.entity.ts @@ -0,0 +1,43 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; +import { Housing } from './housing.entity'; + +@Index('pk_housing_application_xref', ['id'], { unique: true }) +@Entity('housing_application_xref', { schema: 'cats' }) +export class HousingApplicationXref { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne( + () => Application, + (application) => application.housingApplicationXrefs, + ) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; + + @ManyToOne(() => Housing, (housing) => housing.housingApplicationXrefs) + @JoinColumn([{ name: 'housing_id', referencedColumnName: 'id' }]) + housing: Housing; +} diff --git a/backend/applications/src/app/entities/housingSiteXref.entity.ts b/backend/applications/src/app/entities/housingSiteXref.entity.ts new file mode 100644 index 00000000..88098af0 --- /dev/null +++ b/backend/applications/src/app/entities/housingSiteXref.entity.ts @@ -0,0 +1,29 @@ +import { Column, Entity, Index, PrimaryGeneratedColumn } from 'typeorm'; + +@Index('pk_housing_site_xref', ['id'], { unique: true }) +@Entity('housing_site_xref', { schema: 'cats' }) +export class HousingSiteXref { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'site_id' }) + siteId: number; + + @Column('integer', { name: 'housing_id' }) + housingId: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; +} diff --git a/backend/applications/src/app/entities/housingType.entity.ts b/backend/applications/src/app/entities/housingType.entity.ts new file mode 100644 index 00000000..2dbc528d --- /dev/null +++ b/backend/applications/src/app/entities/housingType.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Housing } from './housing.entity'; + +@Index('pk_housing_type', ['id'], { unique: true }) +@Entity('housing_type', { schema: 'cats' }) +export class HousingType { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Housing, (housing) => housing.housingType) + housings: Housing[]; +} diff --git a/backend/applications/src/app/entities/invoice.entity.ts b/backend/applications/src/app/entities/invoice.entity.ts new file mode 100644 index 00000000..3d7dad34 --- /dev/null +++ b/backend/applications/src/app/entities/invoice.entity.ts @@ -0,0 +1,79 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; +import { Payment } from './payment.entity'; + +@Index('idx_invoice_application_id', ['applicationId'], {}) +@Index( + 'uidx_invoice_application_id_invoice_num', + ['applicationId', 'invoiceNum'], + { unique: true }, +) +@Index('pk_invoice', ['id'], { unique: true }) +@Entity('invoice', { schema: 'cats' }) +export class Invoice { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('smallint', { name: 'invoice_num' }) + invoiceNum: number; + + @Column('date', { name: 'sent_to_revenue_date', nullable: true }) + sentToRevenueDate: string | null; + + @Column('numeric', { name: 'invoice_subtotal_amt', precision: 10, scale: 2 }) + invoiceSubtotalAmt: string; + + @Column('numeric', { name: 'invoice_tax_amt', precision: 10, scale: 2 }) + invoiceTaxAmt: string; + + @Column('numeric', { + name: 'invoice_total_amt', + nullable: true, + precision: 11, + scale: 2, + }) + invoiceTotalAmt: string | null; + + @Column('character varying', { + name: 'comment', + nullable: true, + length: 4000, + }) + comment: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Application, (application) => application.invoices) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; + + @OneToMany(() => Payment, (payment) => payment.invoice) + payments: Payment[]; +} diff --git a/backend/applications/src/app/entities/landUse.entity.ts b/backend/applications/src/app/entities/landUse.entity.ts new file mode 100644 index 00000000..8bb21415 --- /dev/null +++ b/backend/applications/src/app/entities/landUse.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppLandUse } from './appLandUse.entity'; + +@Index('pk_land_use', ['id'], { unique: true }) +@Entity('land_use', { schema: 'cats' }) +export class LandUse { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => AppLandUse, (appLandUse) => appLandUse.landUse) + appLandUses: AppLandUse[]; +} diff --git a/backend/applications/src/app/entities/media.entity.ts b/backend/applications/src/app/entities/media.entity.ts new file mode 100644 index 00000000..5b4a8968 --- /dev/null +++ b/backend/applications/src/app/entities/media.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; + +@Index('pk_media', ['id'], { unique: true }) +@Entity('media', { schema: 'cats' }) +export class Media { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Application, (application) => application.media) + applications: Application[]; +} diff --git a/backend/applications/src/app/entities/oceans.entity.ts b/backend/applications/src/app/entities/oceans.entity.ts new file mode 100644 index 00000000..71db10aa --- /dev/null +++ b/backend/applications/src/app/entities/oceans.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; + +@Index('pk_oceans', ['id'], { unique: true }) +@Entity('oceans', { schema: 'cats' }) +export class Oceans { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Application, (application) => application.oceans) + applications: Application[]; +} diff --git a/backend/applications/src/app/entities/organization.entity.ts b/backend/applications/src/app/entities/organization.entity.ts new file mode 100644 index 00000000..ddc60d81 --- /dev/null +++ b/backend/applications/src/app/entities/organization.entity.ts @@ -0,0 +1,84 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppParticipant } from './appParticipant.entity'; + +@Index('pk_organization', ['id'], { unique: true }) +@Entity('organization', { schema: 'cats' }) +export class Organization { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'name', length: 250 }) + name: string; + + @Column('boolean', { name: 'is_tax_exempt' }) + isTaxExempt: boolean; + + @Column('boolean', { name: 'is_env_consultant' }) + isEnvConsultant: boolean; + + @Column('boolean', { name: 'is_ministry' }) + isMinistry: boolean; + + @Column('character varying', { name: 'address1', nullable: true, length: 50 }) + address1: string | null; + + @Column('character varying', { name: 'address2', nullable: true, length: 50 }) + address2: string | null; + + @Column('character varying', { name: 'city', nullable: true, length: 50 }) + city: string | null; + + @Column('character varying', { name: 'prov', nullable: true, length: 2 }) + prov: string | null; + + @Column('character varying', { name: 'country', nullable: true, length: 50 }) + country: string | null; + + @Column('character varying', { name: 'postal', nullable: true, length: 15 }) + postal: string | null; + + @Column('character varying', { name: 'phone', nullable: true, length: 50 }) + phone: string | null; + + @Column('character varying', { name: 'mobile', nullable: true, length: 50 }) + mobile: string | null; + + @Column('character varying', { name: 'fax', nullable: true, length: 50 }) + fax: string | null; + + @Column('character varying', { name: 'email', nullable: true, length: 50 }) + email: string | null; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany( + () => AppParticipant, + (appParticipant) => appParticipant.organization, + ) + appParticipants: AppParticipant[]; +} diff --git a/backend/applications/src/app/entities/outcome.entity.ts b/backend/applications/src/app/entities/outcome.entity.ts new file mode 100644 index 00000000..eb88f35d --- /dev/null +++ b/backend/applications/src/app/entities/outcome.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; + +@Index('pk_outcome', ['id'], { unique: true }) +@Entity('outcome', { schema: 'cats' }) +export class Outcome { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 20 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Application, (application) => application.outcome) + applications: Application[]; +} diff --git a/backend/applications/src/app/entities/participantRole.entity.ts b/backend/applications/src/app/entities/participantRole.entity.ts new file mode 100644 index 00000000..fb2b18e5 --- /dev/null +++ b/backend/applications/src/app/entities/participantRole.entity.ts @@ -0,0 +1,54 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppParticipant } from './appParticipant.entity'; + +@Index('pk_participant_role', ['id'], { unique: true }) +@Entity('participant_role', { schema: 'cats' }) +export class ParticipantRole { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 20 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_ministry' }) + isMinistry: boolean; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany( + () => AppParticipant, + (appParticipant) => appParticipant.participantRole, + ) + appParticipants: AppParticipant[]; +} diff --git a/backend/applications/src/app/entities/payment.entity.ts b/backend/applications/src/app/entities/payment.entity.ts new file mode 100644 index 00000000..d008752c --- /dev/null +++ b/backend/applications/src/app/entities/payment.entity.ts @@ -0,0 +1,72 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Invoice } from './invoice.entity'; +import { PaymentMethod } from './paymentMethod.entity'; + +@Index('pk_payment', ['id'], { unique: true }) +@Index('idx_payment_invoice_id', ['invoiceId'], {}) +@Index('idx_payment_payment_method_id', ['paymentMethodId'], {}) +@Entity('payment', { schema: 'cats' }) +export class Payment { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'invoice_id' }) + invoiceId: number; + + @Column('integer', { name: 'payment_method_id' }) + paymentMethodId: number; + + @Column('date', { name: 'payment_date' }) + paymentDate: string; + + @Column('numeric', { name: 'payment_amt', precision: 10, scale: 2 }) + paymentAmt: string; + + @Column('character varying', { + name: 'cheque_number', + nullable: true, + length: 20, + }) + chequeNumber: string | null; + + @Column('numeric', { + name: 'cheque_amt', + nullable: true, + precision: 10, + scale: 2, + }) + chequeAmt: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Invoice, (invoice) => invoice.payments) + @JoinColumn([{ name: 'invoice_id', referencedColumnName: 'id' }]) + invoice: Invoice; + + @ManyToOne(() => PaymentMethod, (paymentMethod) => paymentMethod.payments) + @JoinColumn([{ name: 'payment_method_id', referencedColumnName: 'id' }]) + paymentMethod: PaymentMethod; +} diff --git a/backend/applications/src/app/entities/paymentMethod.entity.ts b/backend/applications/src/app/entities/paymentMethod.entity.ts new file mode 100644 index 00000000..cd878e95 --- /dev/null +++ b/backend/applications/src/app/entities/paymentMethod.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Payment } from './payment.entity'; + +@Index('pk_payment_method', ['id'], { unique: true }) +@Entity('payment_method', { schema: 'cats' }) +export class PaymentMethod { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 20 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Payment, (payment) => payment.paymentMethod) + payments: Payment[]; +} diff --git a/backend/applications/src/app/entities/person.entity.ts b/backend/applications/src/app/entities/person.entity.ts new file mode 100644 index 00000000..4d25e320 --- /dev/null +++ b/backend/applications/src/app/entities/person.entity.ts @@ -0,0 +1,107 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppParticipant } from './appParticipant.entity'; +import { Timesheet } from './timesheet.entity'; + +@Index('pk_person', ['id'], { unique: true }) +@Entity('person', { schema: 'cats' }) +export class Person { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'first_name', length: 50 }) + firstName: string; + + @Column('character varying', { + name: 'middle_name', + nullable: true, + length: 50, + }) + middleName: string | null; + + @Column('character varying', { name: 'last_name', length: 50 }) + lastName: string; + + @Column('boolean', { name: 'is_tax_exempt' }) + isTaxExempt: boolean; + + @Column('boolean', { name: 'is_env_consultant' }) + isEnvConsultant: boolean; + + @Column('character varying', { + name: 'login_user_name', + nullable: true, + length: 20, + }) + loginUserName: string | null; + + @Column('character varying', { + name: 'address_1', + nullable: true, + length: 50, + }) + address_1: string | null; + + @Column('character varying', { + name: 'address_2', + nullable: true, + length: 50, + }) + address_2: string | null; + + @Column('character varying', { name: 'city', nullable: true, length: 50 }) + city: string | null; + + @Column('character varying', { name: 'prov', nullable: true, length: 2 }) + prov: string | null; + + @Column('character varying', { name: 'country', nullable: true, length: 50 }) + country: string | null; + + @Column('character varying', { name: 'postal', nullable: true, length: 15 }) + postal: string | null; + + @Column('character varying', { name: 'phone', nullable: true, length: 50 }) + phone: string | null; + + @Column('character varying', { name: 'mobile', nullable: true, length: 50 }) + mobile: string | null; + + @Column('character varying', { name: 'fax', nullable: true, length: 50 }) + fax: string | null; + + @Column('character varying', { name: 'email', nullable: true, length: 100 }) + email: string | null; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_datetime' }) + createdDatetime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_datetime' }) + updatedDatetime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => AppParticipant, (appParticipant) => appParticipant.person) + appParticipants: AppParticipant[]; + + @OneToMany(() => Timesheet, (timesheet) => timesheet.person) + timesheets: Timesheet[]; +} diff --git a/backend/applications/src/app/entities/priority.entity.ts b/backend/applications/src/app/entities/priority.entity.ts new file mode 100644 index 00000000..dcd82666 --- /dev/null +++ b/backend/applications/src/app/entities/priority.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppPriority } from './appPriority.entity'; + +@Index('pk_priority', ['id'], { unique: true }) +@Entity('priority', { schema: 'cats' }) +export class Priority { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => AppPriority, (appPriority) => appPriority.priority) + appPriorities: AppPriority[]; +} diff --git a/backend/applications/src/app/entities/region.entity.ts b/backend/applications/src/app/entities/region.entity.ts new file mode 100644 index 00000000..e51d6441 --- /dev/null +++ b/backend/applications/src/app/entities/region.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Site } from './site.entity'; + +@Index('pk_region', ['id'], { unique: true }) +@Entity('region', { schema: 'cats' }) +export class Region { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Site, (site) => site.region) + sites: Site[]; +} diff --git a/backend/applications/src/app/entities/reviewProcess.entity.ts b/backend/applications/src/app/entities/reviewProcess.entity.ts new file mode 100644 index 00000000..c1962966 --- /dev/null +++ b/backend/applications/src/app/entities/reviewProcess.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; + +@Index('pk_review_process', ['id'], { unique: true }) +@Entity('review_process', { schema: 'cats' }) +export class ReviewProcess { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 20 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Application, (application) => application.reviewProcess) + applications: Application[]; +} diff --git a/backend/applications/src/app/entities/risk.entity.ts b/backend/applications/src/app/entities/risk.entity.ts new file mode 100644 index 00000000..bab93608 --- /dev/null +++ b/backend/applications/src/app/entities/risk.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; + +@Index('pk_risk', ['id'], { unique: true }) +@Entity('risk', { schema: 'cats' }) +export class Risk { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 20 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Application, (application) => application.risk) + applications: Application[]; +} diff --git a/backend/applications/src/app/entities/sedimentUse.entity.ts b/backend/applications/src/app/entities/sedimentUse.entity.ts new file mode 100644 index 00000000..2ce8bb85 --- /dev/null +++ b/backend/applications/src/app/entities/sedimentUse.entity.ts @@ -0,0 +1,51 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppSedimentUse } from './appSedimentUse.entity'; + +@Index('pk_sediment_use', ['id'], { unique: true }) +@Entity('sediment_use', { schema: 'cats' }) +export class SedimentUse { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany( + () => AppSedimentUse, + (appSedimentUse) => appSedimentUse.sedimentUse, + ) + appSedimentUses: AppSedimentUse[]; +} diff --git a/backend/applications/src/app/entities/service.entity.ts b/backend/applications/src/app/entities/service.entity.ts new file mode 100644 index 00000000..1ba14ba2 --- /dev/null +++ b/backend/applications/src/app/entities/service.entity.ts @@ -0,0 +1,72 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppService } from './appService.entity'; +import { AppTypeDefaultService } from './appTypeDefaultService.entity'; +import { ServiceFeeSchedule } from './serviceFeeSchedule.entity'; +import { ServiceServiceCategory } from './serviceServiceCategory.entity'; + +@Index('pk_service', ['id'], { unique: true }) +@Entity('service', { schema: 'cats' }) +export class Service { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 100 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_risk_assessment' }) + isRiskAssessment: boolean; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => AppService, (appService) => appService.service) + appServices: AppService[]; + + @OneToMany( + () => AppTypeDefaultService, + (appTypeDefaultService) => appTypeDefaultService.service, + ) + appTypeDefaultServices: AppTypeDefaultService[]; + + @OneToMany( + () => ServiceFeeSchedule, + (serviceFeeSchedule) => serviceFeeSchedule.service, + ) + serviceFeeSchedules: ServiceFeeSchedule[]; + + @OneToMany( + () => ServiceServiceCategory, + (serviceServiceCategory) => serviceServiceCategory.service, + ) + serviceServiceCategories: ServiceServiceCategory[]; +} diff --git a/backend/applications/src/app/entities/serviceCategory.entity.ts b/backend/applications/src/app/entities/serviceCategory.entity.ts new file mode 100644 index 00000000..42876a26 --- /dev/null +++ b/backend/applications/src/app/entities/serviceCategory.entity.ts @@ -0,0 +1,71 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { ServiceCategoryType } from './serviceCategoryType.entity'; +import { ServiceServiceCategory } from './serviceServiceCategory.entity'; + +@Index('pk_service_category', ['id'], { unique: true }) +@Index( + 'idx_service_category_service_category_type_id', + ['serviceCategoryTypeId'], + {}, +) +@Entity('service_category', { schema: 'cats' }) +export class ServiceCategory { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'service_category_type_id' }) + serviceCategoryTypeId: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 20 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne( + () => ServiceCategoryType, + (serviceCategoryType) => serviceCategoryType.serviceCategories, + ) + @JoinColumn([ + { name: 'service_category_type_id', referencedColumnName: 'id' }, + ]) + serviceCategoryType: ServiceCategoryType; + + @OneToMany( + () => ServiceServiceCategory, + (serviceServiceCategory) => serviceServiceCategory.serviceCategory, + ) + serviceServiceCategories: ServiceServiceCategory[]; +} diff --git a/backend/applications/src/app/entities/serviceCategoryType.entity.ts b/backend/applications/src/app/entities/serviceCategoryType.entity.ts new file mode 100644 index 00000000..dbcdbe3e --- /dev/null +++ b/backend/applications/src/app/entities/serviceCategoryType.entity.ts @@ -0,0 +1,51 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { ServiceCategory } from './serviceCategory.entity'; + +@Index('pk_service_category_type', ['id'], { unique: true }) +@Entity('service_category_type', { schema: 'cats' }) +export class ServiceCategoryType { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 20 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany( + () => ServiceCategory, + (serviceCategory) => serviceCategory.serviceCategoryType, + ) + serviceCategories: ServiceCategory[]; +} diff --git a/backend/applications/src/app/entities/serviceFeeSchedule.entity.ts b/backend/applications/src/app/entities/serviceFeeSchedule.entity.ts new file mode 100644 index 00000000..355886ef --- /dev/null +++ b/backend/applications/src/app/entities/serviceFeeSchedule.entity.ts @@ -0,0 +1,64 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Service } from './service.entity'; + +@Index('pk_service_fee_schedule', ['id'], { unique: true }) +@Index('idx_service_fee_schedule_service_id', ['serviceId'], {}) +@Entity('service_fee_schedule', { schema: 'cats' }) +export class ServiceFeeSchedule { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'service_id' }) + serviceId: number; + + @Column('numeric', { name: 'fee', precision: 10, scale: 2 }) + fee: string; + + @Column('numeric', { name: 'credit_hours', precision: 8, scale: 2 }) + creditHours: string; + + @Column('numeric', { name: 'resubmission_fee', precision: 10, scale: 2 }) + resubmissionFee: string; + + @Column('numeric', { + name: 'resubmission_credit_hours', + precision: 8, + scale: 2, + }) + resubmissionCreditHours: string; + + @Column('date', { name: 'effective_start_date' }) + effectiveStartDate: string; + + @Column('date', { name: 'effective_end_date', nullable: true }) + effectiveEndDate: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Service, (service) => service.serviceFeeSchedules) + @JoinColumn([{ name: 'service_id', referencedColumnName: 'id' }]) + service: Service; +} diff --git a/backend/applications/src/app/entities/serviceServiceCategory.entity.ts b/backend/applications/src/app/entities/serviceServiceCategory.entity.ts new file mode 100644 index 00000000..3f8a932d --- /dev/null +++ b/backend/applications/src/app/entities/serviceServiceCategory.entity.ts @@ -0,0 +1,58 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { ServiceCategory } from './serviceCategory.entity'; +import { Service } from './service.entity'; + +@Index('pk_service_service_category', ['id'], { unique: true }) +@Index( + 'idx_service_service_category_service_category_id', + ['serviceCategoryId'], + {}, +) +@Index('idx_service_service_category_service_id', ['serviceId'], {}) +@Entity('service_service_category', { schema: 'cats' }) +export class ServiceServiceCategory { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'service_id' }) + serviceId: number; + + @Column('integer', { name: 'service_category_id' }) + serviceCategoryId: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne( + () => ServiceCategory, + (serviceCategory) => serviceCategory.serviceServiceCategories, + ) + @JoinColumn([{ name: 'service_category_id', referencedColumnName: 'id' }]) + serviceCategory: ServiceCategory; + + @ManyToOne(() => Service, (service) => service.serviceServiceCategories) + @JoinColumn([{ name: 'service_id', referencedColumnName: 'id' }]) + service: Service; +} diff --git a/backend/applications/src/app/entities/site.entity.ts b/backend/applications/src/app/entities/site.entity.ts new file mode 100644 index 00000000..aa5969e4 --- /dev/null +++ b/backend/applications/src/app/entities/site.entity.ts @@ -0,0 +1,68 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + OneToMany, +} from 'typeorm'; +import { Application } from './application.entity'; +import { Region } from './region.entity'; + +@Index('pk_site', ['id'], { unique: true }) +@Entity('site', { schema: 'cats' }) +export class Site { + @Column('integer', { primary: true, name: 'id' }) + id: number; + + @Column('character varying', { name: 'common_name', length: 50 }) + commonName: string; + + @Column('character varying', { + name: 'regional_file', + nullable: true, + length: 50, + }) + regionalFile: string | null; + + @Column('character varying', { + name: 'victoria_file', + nullable: true, + length: 50, + }) + victoriaFile: string | null; + + @Column('character varying', { name: 'address', nullable: true, length: 50 }) + address: string | null; + + @Column('character varying', { name: 'city', nullable: true, length: 50 }) + city: string | null; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Application, (application) => application.site) + applications: Application[]; + + @ManyToOne(() => Region, (region) => region.sites) + @JoinColumn([{ name: 'region_id', referencedColumnName: 'id' }]) + region: Region; +} diff --git a/backend/applications/src/app/entities/siteType.entity.ts b/backend/applications/src/app/entities/siteType.entity.ts new file mode 100644 index 00000000..188f5d55 --- /dev/null +++ b/backend/applications/src/app/entities/siteType.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; + +@Index('pk_site_type', ['id'], { unique: true }) +@Entity('site_type', { schema: 'cats' }) +export class SiteType { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Application, (application) => application.siteType) + applications: Application[]; +} diff --git a/backend/applications/src/app/entities/statusType.entity.ts b/backend/applications/src/app/entities/statusType.entity.ts new file mode 100644 index 00000000..626aa231 --- /dev/null +++ b/backend/applications/src/app/entities/statusType.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppStatus } from './appStatus.entity'; + +@Index('pk_status_type', ['id'], { unique: true }) +@Entity('status_type', { schema: 'cats' }) +export class StatusType { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => AppStatus, (appStatus) => appStatus.statusType) + appStatuses: AppStatus[]; +} diff --git a/backend/applications/src/app/entities/systemSetting.entity.ts b/backend/applications/src/app/entities/systemSetting.entity.ts new file mode 100644 index 00000000..2cddc67e --- /dev/null +++ b/backend/applications/src/app/entities/systemSetting.entity.ts @@ -0,0 +1,134 @@ +import { Column, Entity, Index } from 'typeorm'; + +@Index('pk_system_setting', ['id'], { unique: true }) +@Entity('system_setting', { schema: 'cats' }) +export class SystemSetting { + @Column('smallint', { primary: true, name: 'id' }) + id: number; + + @Column('character varying', { + name: 'environment', + nullable: true, + length: 20, + }) + environment: string | null; + + @Column('character varying', { + name: 'ministry', + nullable: true, + length: 100, + }) + ministry: string | null; + + @Column('character varying', { name: 'branch', nullable: true, length: 100 }) + branch: string | null; + + @Column('character varying', { + name: 'report_folder_path', + nullable: true, + length: 500, + }) + reportFolderPath: string | null; + + @Column('character varying', { + name: 'export_folder_path', + nullable: true, + length: 500, + }) + exportFolderPath: string | null; + + @Column('character varying', { + name: 'invoice_folder_path', + nullable: true, + length: 500, + }) + invoiceFolderPath: string | null; + + @Column('character varying', { + name: 'admin_sql_server_role', + nullable: true, + length: 100, + }) + adminSqlServerRole: string | null; + + @Column('character varying', { + name: 'manager_sql_server_role', + nullable: true, + length: 100, + }) + managerSqlServerRole: string | null; + + @Column('character varying', { + name: 'caseworker_sql_server_role', + nullable: true, + length: 100, + }) + caseworkerSqlServerRole: string | null; + + @Column('character varying', { + name: 'guest_sql_server_role', + nullable: true, + length: 100, + }) + guestSqlServerRole: string | null; + + @Column('character varying', { + name: 'help_author_sql_server_role', + nullable: true, + length: 100, + }) + helpAuthorSqlServerRole: string | null; + + @Column('character varying', { + name: 'admin_domain_group', + nullable: true, + length: 100, + }) + adminDomainGroup: string | null; + + @Column('character varying', { + name: 'manager_domain_group', + nullable: true, + length: 100, + }) + managerDomainGroup: string | null; + + @Column('character varying', { + name: 'caseworker_domain_group', + nullable: true, + length: 100, + }) + caseworkerDomainGroup: string | null; + + @Column('character varying', { + name: 'guest_domain_group', + nullable: true, + length: 100, + }) + guestDomainGroup: string | null; + + @Column('character varying', { + name: 'help_author_domain_group', + nullable: true, + length: 100, + }) + helpAuthorDomainGroup: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; +} diff --git a/backend/applications/src/app/entities/taxSchedule.entity.ts b/backend/applications/src/app/entities/taxSchedule.entity.ts new file mode 100644 index 00000000..11fa855d --- /dev/null +++ b/backend/applications/src/app/entities/taxSchedule.entity.ts @@ -0,0 +1,38 @@ +import { Column, Entity, Index, PrimaryGeneratedColumn } from 'typeorm'; + +@Index('pk_tax_schedule', ['id'], { unique: true }) +@Entity('tax_schedule', { schema: 'cats' }) +export class TaxSchedule { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'tax_name', length: 20 }) + taxName: string; + + @Column('numeric', { name: 'tax_rate', precision: 5, scale: 4 }) + taxRate: string; + + @Column('date', { name: 'effective_start_date' }) + effectiveStartDate: string; + + @Column('date', { name: 'effective_end_date', nullable: true }) + effectiveEndDate: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; +} diff --git a/backend/applications/src/app/entities/timesheet.entity.ts b/backend/applications/src/app/entities/timesheet.entity.ts new file mode 100644 index 00000000..d3306774 --- /dev/null +++ b/backend/applications/src/app/entities/timesheet.entity.ts @@ -0,0 +1,75 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Application } from './application.entity'; +import { Person } from './person.entity'; +import { TimesheetWeek } from './timesheetWeek.entity'; +import { TimesheetDetail } from './timesheetDetail.entity'; + +@Index('idx_timesheet_application_id', ['applicationId'], {}) +@Index('pk_timesheet', ['id'], { unique: true }) +@Index('idx_timesheet_person_id', ['personId'], {}) +@Index('idx_timesheet_week_start_date', ['weekStartDate'], {}) +@Entity('timesheet', { schema: 'cats' }) +export class Timesheet { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'application_id' }) + applicationId: number; + + @Column('integer', { name: 'person_id' }) + personId: number; + + @Column('date', { name: 'week_start_date' }) + weekStartDate: string; + + @Column('character varying', { + name: 'comment', + nullable: true, + length: 4000, + }) + comment: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Application, (application) => application.timesheets) + @JoinColumn([{ name: 'application_id', referencedColumnName: 'id' }]) + application: Application; + + @ManyToOne(() => Person, (person) => person.timesheets) + @JoinColumn([{ name: 'person_id', referencedColumnName: 'id' }]) + person: Person; + + @ManyToOne(() => TimesheetWeek, (timesheetWeek) => timesheetWeek.timesheets) + @JoinColumn([{ name: 'week_start_date', referencedColumnName: 'startDate' }]) + weekStartDate2: TimesheetWeek; + + @OneToMany( + () => TimesheetDetail, + (timesheetDetail) => timesheetDetail.timesheet, + ) + timesheetDetails: TimesheetDetail[]; +} diff --git a/backend/applications/src/app/entities/timesheetDetail.entity.ts b/backend/applications/src/app/entities/timesheetDetail.entity.ts new file mode 100644 index 00000000..bca417ad --- /dev/null +++ b/backend/applications/src/app/entities/timesheetDetail.entity.ts @@ -0,0 +1,55 @@ +import { + Column, + Entity, + Index, + JoinColumn, + ManyToOne, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Timesheet } from './timesheet.entity'; + +@Index( + 'uidx_timesheet_detail_timesheet_id_date_offset', + ['dateOffset', 'timesheetId'], + { unique: true }, +) +@Index('pk_timesheet_detail', ['id'], { unique: true }) +@Index('idx_timesheet_detail_timesheet_id', ['timesheetId'], {}) +@Entity('timesheet_detail', { schema: 'cats' }) +export class TimesheetDetail { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('integer', { name: 'timesheet_id' }) + timesheetId: number; + + @Column('smallint', { name: 'date_offset' }) + dateOffset: number; + + @Column('numeric', { name: 'hours', nullable: true, precision: 5, scale: 2 }) + hours: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @ManyToOne(() => Timesheet, (timesheet) => timesheet.timesheetDetails, { + onDelete: 'CASCADE', + }) + @JoinColumn([{ name: 'timesheet_id', referencedColumnName: 'id' }]) + timesheet: Timesheet; +} diff --git a/backend/applications/src/app/entities/timesheetWeek.entity.ts b/backend/applications/src/app/entities/timesheetWeek.entity.ts new file mode 100644 index 00000000..33c3bbeb --- /dev/null +++ b/backend/applications/src/app/entities/timesheetWeek.entity.ts @@ -0,0 +1,41 @@ +import { Column, Entity, Index, OneToMany } from 'typeorm'; +import { Timesheet } from './timesheet.entity'; + +@Index('idx_timesheet_week_end_date', ['endDate'], {}) +@Index('pk_timesheet_week', ['startDate'], { unique: true }) +@Entity('timesheet_week', { schema: 'cats' }) +export class TimesheetWeek { + @Column('date', { primary: true, name: 'start_date' }) + startDate: string; + + @Column('date', { name: 'end_date', nullable: true }) + endDate: string | null; + + @Column('character varying', { + name: 'description', + nullable: true, + length: 63, + }) + description: string | null; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Timesheet, (timesheet) => timesheet.weekStartDate2) + timesheets: Timesheet[]; +} diff --git a/backend/applications/src/app/entities/vapourUse.entity.ts b/backend/applications/src/app/entities/vapourUse.entity.ts new file mode 100644 index 00000000..3a3aa1c5 --- /dev/null +++ b/backend/applications/src/app/entities/vapourUse.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppVapourUse } from './appVapourUse.entity'; + +@Index('pk_vapour_use', ['id'], { unique: true }) +@Entity('vapour_use', { schema: 'cats' }) +export class VapourUse { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => AppVapourUse, (appVapourUse) => appVapourUse.vapourUse) + appVapourUses: AppVapourUse[]; +} diff --git a/backend/applications/src/app/entities/waterUse.entity.ts b/backend/applications/src/app/entities/waterUse.entity.ts new file mode 100644 index 00000000..b75cbc89 --- /dev/null +++ b/backend/applications/src/app/entities/waterUse.entity.ts @@ -0,0 +1,48 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { AppWaterUse } from './appWaterUse.entity'; + +@Index('pk_water_use', ['id'], { unique: true }) +@Entity('water_use', { schema: 'cats' }) +export class WaterUse { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => AppWaterUse, (appWaterUse) => appWaterUse.waterUse) + appWaterUses: AppWaterUse[]; +} diff --git a/backend/applications/src/app/entities/yesNoCode.entity.ts b/backend/applications/src/app/entities/yesNoCode.entity.ts new file mode 100644 index 00000000..f5882c9f --- /dev/null +++ b/backend/applications/src/app/entities/yesNoCode.entity.ts @@ -0,0 +1,54 @@ +import { + Column, + Entity, + Index, + OneToMany, + PrimaryGeneratedColumn, +} from 'typeorm'; +import { Housing } from './housing.entity'; + +@Index('pk_yes_no_code', ['id'], { unique: true }) +@Entity('yes_no_code', { schema: 'cats' }) +export class YesNoCode { + @PrimaryGeneratedColumn({ type: 'integer', name: 'id' }) + id: number; + + @Column('character varying', { name: 'abbrev', nullable: true, length: 50 }) + abbrev: string | null; + + @Column('character varying', { name: 'description', length: 250 }) + description: string; + + @Column('boolean', { name: 'is_active' }) + isActive: boolean; + + @Column('integer', { name: 'display_order' }) + displayOrder: number; + + @Column('integer', { name: 'row_version_count' }) + rowVersionCount: number; + + @Column('character varying', { name: 'created_by', length: 20 }) + createdBy: string; + + @Column('timestamp without time zone', { name: 'created_date_time' }) + createdDateTime: Date; + + @Column('character varying', { name: 'updated_by', length: 20 }) + updatedBy: string; + + @Column('timestamp without time zone', { name: 'updated_date_time' }) + updatedDateTime: Date; + + @Column('bytea', { name: 'ts' }) + ts: Buffer; + + @OneToMany(() => Housing, (housing) => housing.isIndigenousLed) + housings: Housing[]; + + @OneToMany(() => Housing, (housing) => housing.isRental) + housings2: Housing[]; + + @OneToMany(() => Housing, (housing) => housing.isSocial) + housings3: Housing[]; +} From c1a3ffdce491f3bb383cc56309dd970d8d046cbf Mon Sep 17 00:00:00 2001 From: nikhila-aot Date: Wed, 29 Jan 2025 16:27:59 -0800 Subject: [PATCH 2/3] moved entities to diff folder --- .../{applications => users}/src/app/entities/appExpense.entity.ts | 0 .../{applications => users}/src/app/entities/appLandUse.entity.ts | 0 .../{applications => users}/src/app/entities/appNote.entity.ts | 0 .../src/app/entities/appParticipant.entity.ts | 0 .../src/app/entities/appPriority.entity.ts | 0 .../src/app/entities/appSedimentUse.entity.ts | 0 .../{applications => users}/src/app/entities/appService.entity.ts | 0 .../{applications => users}/src/app/entities/appStatus.entity.ts | 0 .../{applications => users}/src/app/entities/appType.entity.ts | 0 .../src/app/entities/appTypeDefaultService.entity.ts | 0 .../src/app/entities/appVapourUse.entity.ts | 0 .../src/app/entities/appWaterUse.entity.ts | 0 .../src/app/entities/application.entity.ts | 0 .../src/app/entities/applicationFeeSchedule.entity.ts | 0 .../{applications => users}/src/app/entities/helpScreen.entity.ts | 0 .../{applications => users}/src/app/entities/housing.entity.ts | 0 .../src/app/entities/housingApplicationXref.entity.ts | 0 .../src/app/entities/housingSiteXref.entity.ts | 0 .../src/app/entities/housingType.entity.ts | 0 .../{applications => users}/src/app/entities/invoice.entity.ts | 0 .../{applications => users}/src/app/entities/landUse.entity.ts | 0 backend/{applications => users}/src/app/entities/media.entity.ts | 0 backend/{applications => users}/src/app/entities/oceans.entity.ts | 0 .../src/app/entities/organization.entity.ts | 0 .../{applications => users}/src/app/entities/outcome.entity.ts | 0 .../src/app/entities/participantRole.entity.ts | 0 .../{applications => users}/src/app/entities/payment.entity.ts | 0 .../src/app/entities/paymentMethod.entity.ts | 0 backend/{applications => users}/src/app/entities/person.entity.ts | 0 .../{applications => users}/src/app/entities/priority.entity.ts | 0 backend/{applications => users}/src/app/entities/region.entity.ts | 0 .../src/app/entities/reviewProcess.entity.ts | 0 backend/{applications => users}/src/app/entities/risk.entity.ts | 0 .../src/app/entities/sedimentUse.entity.ts | 0 .../{applications => users}/src/app/entities/service.entity.ts | 0 .../src/app/entities/serviceCategory.entity.ts | 0 .../src/app/entities/serviceCategoryType.entity.ts | 0 .../src/app/entities/serviceFeeSchedule.entity.ts | 0 .../src/app/entities/serviceServiceCategory.entity.ts | 0 backend/{applications => users}/src/app/entities/site.entity.ts | 0 .../{applications => users}/src/app/entities/siteType.entity.ts | 0 .../{applications => users}/src/app/entities/statusType.entity.ts | 0 .../src/app/entities/systemSetting.entity.ts | 0 .../src/app/entities/taxSchedule.entity.ts | 0 .../{applications => users}/src/app/entities/timesheet.entity.ts | 0 .../src/app/entities/timesheetDetail.entity.ts | 0 .../src/app/entities/timesheetWeek.entity.ts | 0 .../{applications => users}/src/app/entities/vapourUse.entity.ts | 0 .../{applications => users}/src/app/entities/waterUse.entity.ts | 0 .../{applications => users}/src/app/entities/yesNoCode.entity.ts | 0 50 files changed, 0 insertions(+), 0 deletions(-) rename backend/{applications => users}/src/app/entities/appExpense.entity.ts (100%) rename backend/{applications => users}/src/app/entities/appLandUse.entity.ts (100%) rename backend/{applications => users}/src/app/entities/appNote.entity.ts (100%) rename backend/{applications => users}/src/app/entities/appParticipant.entity.ts (100%) rename backend/{applications => users}/src/app/entities/appPriority.entity.ts (100%) rename backend/{applications => users}/src/app/entities/appSedimentUse.entity.ts (100%) rename backend/{applications => users}/src/app/entities/appService.entity.ts (100%) rename backend/{applications => users}/src/app/entities/appStatus.entity.ts (100%) rename backend/{applications => users}/src/app/entities/appType.entity.ts (100%) rename backend/{applications => users}/src/app/entities/appTypeDefaultService.entity.ts (100%) rename backend/{applications => users}/src/app/entities/appVapourUse.entity.ts (100%) rename backend/{applications => users}/src/app/entities/appWaterUse.entity.ts (100%) rename backend/{applications => users}/src/app/entities/application.entity.ts (100%) rename backend/{applications => users}/src/app/entities/applicationFeeSchedule.entity.ts (100%) rename backend/{applications => users}/src/app/entities/helpScreen.entity.ts (100%) rename backend/{applications => users}/src/app/entities/housing.entity.ts (100%) rename backend/{applications => users}/src/app/entities/housingApplicationXref.entity.ts (100%) rename backend/{applications => users}/src/app/entities/housingSiteXref.entity.ts (100%) rename backend/{applications => users}/src/app/entities/housingType.entity.ts (100%) rename backend/{applications => users}/src/app/entities/invoice.entity.ts (100%) rename backend/{applications => users}/src/app/entities/landUse.entity.ts (100%) rename backend/{applications => users}/src/app/entities/media.entity.ts (100%) rename backend/{applications => users}/src/app/entities/oceans.entity.ts (100%) rename backend/{applications => users}/src/app/entities/organization.entity.ts (100%) rename backend/{applications => users}/src/app/entities/outcome.entity.ts (100%) rename backend/{applications => users}/src/app/entities/participantRole.entity.ts (100%) rename backend/{applications => users}/src/app/entities/payment.entity.ts (100%) rename backend/{applications => users}/src/app/entities/paymentMethod.entity.ts (100%) rename backend/{applications => users}/src/app/entities/person.entity.ts (100%) rename backend/{applications => users}/src/app/entities/priority.entity.ts (100%) rename backend/{applications => users}/src/app/entities/region.entity.ts (100%) rename backend/{applications => users}/src/app/entities/reviewProcess.entity.ts (100%) rename backend/{applications => users}/src/app/entities/risk.entity.ts (100%) rename backend/{applications => users}/src/app/entities/sedimentUse.entity.ts (100%) rename backend/{applications => users}/src/app/entities/service.entity.ts (100%) rename backend/{applications => users}/src/app/entities/serviceCategory.entity.ts (100%) rename backend/{applications => users}/src/app/entities/serviceCategoryType.entity.ts (100%) rename backend/{applications => users}/src/app/entities/serviceFeeSchedule.entity.ts (100%) rename backend/{applications => users}/src/app/entities/serviceServiceCategory.entity.ts (100%) rename backend/{applications => users}/src/app/entities/site.entity.ts (100%) rename backend/{applications => users}/src/app/entities/siteType.entity.ts (100%) rename backend/{applications => users}/src/app/entities/statusType.entity.ts (100%) rename backend/{applications => users}/src/app/entities/systemSetting.entity.ts (100%) rename backend/{applications => users}/src/app/entities/taxSchedule.entity.ts (100%) rename backend/{applications => users}/src/app/entities/timesheet.entity.ts (100%) rename backend/{applications => users}/src/app/entities/timesheetDetail.entity.ts (100%) rename backend/{applications => users}/src/app/entities/timesheetWeek.entity.ts (100%) rename backend/{applications => users}/src/app/entities/vapourUse.entity.ts (100%) rename backend/{applications => users}/src/app/entities/waterUse.entity.ts (100%) rename backend/{applications => users}/src/app/entities/yesNoCode.entity.ts (100%) diff --git a/backend/applications/src/app/entities/appExpense.entity.ts b/backend/users/src/app/entities/appExpense.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appExpense.entity.ts rename to backend/users/src/app/entities/appExpense.entity.ts diff --git a/backend/applications/src/app/entities/appLandUse.entity.ts b/backend/users/src/app/entities/appLandUse.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appLandUse.entity.ts rename to backend/users/src/app/entities/appLandUse.entity.ts diff --git a/backend/applications/src/app/entities/appNote.entity.ts b/backend/users/src/app/entities/appNote.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appNote.entity.ts rename to backend/users/src/app/entities/appNote.entity.ts diff --git a/backend/applications/src/app/entities/appParticipant.entity.ts b/backend/users/src/app/entities/appParticipant.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appParticipant.entity.ts rename to backend/users/src/app/entities/appParticipant.entity.ts diff --git a/backend/applications/src/app/entities/appPriority.entity.ts b/backend/users/src/app/entities/appPriority.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appPriority.entity.ts rename to backend/users/src/app/entities/appPriority.entity.ts diff --git a/backend/applications/src/app/entities/appSedimentUse.entity.ts b/backend/users/src/app/entities/appSedimentUse.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appSedimentUse.entity.ts rename to backend/users/src/app/entities/appSedimentUse.entity.ts diff --git a/backend/applications/src/app/entities/appService.entity.ts b/backend/users/src/app/entities/appService.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appService.entity.ts rename to backend/users/src/app/entities/appService.entity.ts diff --git a/backend/applications/src/app/entities/appStatus.entity.ts b/backend/users/src/app/entities/appStatus.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appStatus.entity.ts rename to backend/users/src/app/entities/appStatus.entity.ts diff --git a/backend/applications/src/app/entities/appType.entity.ts b/backend/users/src/app/entities/appType.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appType.entity.ts rename to backend/users/src/app/entities/appType.entity.ts diff --git a/backend/applications/src/app/entities/appTypeDefaultService.entity.ts b/backend/users/src/app/entities/appTypeDefaultService.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appTypeDefaultService.entity.ts rename to backend/users/src/app/entities/appTypeDefaultService.entity.ts diff --git a/backend/applications/src/app/entities/appVapourUse.entity.ts b/backend/users/src/app/entities/appVapourUse.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appVapourUse.entity.ts rename to backend/users/src/app/entities/appVapourUse.entity.ts diff --git a/backend/applications/src/app/entities/appWaterUse.entity.ts b/backend/users/src/app/entities/appWaterUse.entity.ts similarity index 100% rename from backend/applications/src/app/entities/appWaterUse.entity.ts rename to backend/users/src/app/entities/appWaterUse.entity.ts diff --git a/backend/applications/src/app/entities/application.entity.ts b/backend/users/src/app/entities/application.entity.ts similarity index 100% rename from backend/applications/src/app/entities/application.entity.ts rename to backend/users/src/app/entities/application.entity.ts diff --git a/backend/applications/src/app/entities/applicationFeeSchedule.entity.ts b/backend/users/src/app/entities/applicationFeeSchedule.entity.ts similarity index 100% rename from backend/applications/src/app/entities/applicationFeeSchedule.entity.ts rename to backend/users/src/app/entities/applicationFeeSchedule.entity.ts diff --git a/backend/applications/src/app/entities/helpScreen.entity.ts b/backend/users/src/app/entities/helpScreen.entity.ts similarity index 100% rename from backend/applications/src/app/entities/helpScreen.entity.ts rename to backend/users/src/app/entities/helpScreen.entity.ts diff --git a/backend/applications/src/app/entities/housing.entity.ts b/backend/users/src/app/entities/housing.entity.ts similarity index 100% rename from backend/applications/src/app/entities/housing.entity.ts rename to backend/users/src/app/entities/housing.entity.ts diff --git a/backend/applications/src/app/entities/housingApplicationXref.entity.ts b/backend/users/src/app/entities/housingApplicationXref.entity.ts similarity index 100% rename from backend/applications/src/app/entities/housingApplicationXref.entity.ts rename to backend/users/src/app/entities/housingApplicationXref.entity.ts diff --git a/backend/applications/src/app/entities/housingSiteXref.entity.ts b/backend/users/src/app/entities/housingSiteXref.entity.ts similarity index 100% rename from backend/applications/src/app/entities/housingSiteXref.entity.ts rename to backend/users/src/app/entities/housingSiteXref.entity.ts diff --git a/backend/applications/src/app/entities/housingType.entity.ts b/backend/users/src/app/entities/housingType.entity.ts similarity index 100% rename from backend/applications/src/app/entities/housingType.entity.ts rename to backend/users/src/app/entities/housingType.entity.ts diff --git a/backend/applications/src/app/entities/invoice.entity.ts b/backend/users/src/app/entities/invoice.entity.ts similarity index 100% rename from backend/applications/src/app/entities/invoice.entity.ts rename to backend/users/src/app/entities/invoice.entity.ts diff --git a/backend/applications/src/app/entities/landUse.entity.ts b/backend/users/src/app/entities/landUse.entity.ts similarity index 100% rename from backend/applications/src/app/entities/landUse.entity.ts rename to backend/users/src/app/entities/landUse.entity.ts diff --git a/backend/applications/src/app/entities/media.entity.ts b/backend/users/src/app/entities/media.entity.ts similarity index 100% rename from backend/applications/src/app/entities/media.entity.ts rename to backend/users/src/app/entities/media.entity.ts diff --git a/backend/applications/src/app/entities/oceans.entity.ts b/backend/users/src/app/entities/oceans.entity.ts similarity index 100% rename from backend/applications/src/app/entities/oceans.entity.ts rename to backend/users/src/app/entities/oceans.entity.ts diff --git a/backend/applications/src/app/entities/organization.entity.ts b/backend/users/src/app/entities/organization.entity.ts similarity index 100% rename from backend/applications/src/app/entities/organization.entity.ts rename to backend/users/src/app/entities/organization.entity.ts diff --git a/backend/applications/src/app/entities/outcome.entity.ts b/backend/users/src/app/entities/outcome.entity.ts similarity index 100% rename from backend/applications/src/app/entities/outcome.entity.ts rename to backend/users/src/app/entities/outcome.entity.ts diff --git a/backend/applications/src/app/entities/participantRole.entity.ts b/backend/users/src/app/entities/participantRole.entity.ts similarity index 100% rename from backend/applications/src/app/entities/participantRole.entity.ts rename to backend/users/src/app/entities/participantRole.entity.ts diff --git a/backend/applications/src/app/entities/payment.entity.ts b/backend/users/src/app/entities/payment.entity.ts similarity index 100% rename from backend/applications/src/app/entities/payment.entity.ts rename to backend/users/src/app/entities/payment.entity.ts diff --git a/backend/applications/src/app/entities/paymentMethod.entity.ts b/backend/users/src/app/entities/paymentMethod.entity.ts similarity index 100% rename from backend/applications/src/app/entities/paymentMethod.entity.ts rename to backend/users/src/app/entities/paymentMethod.entity.ts diff --git a/backend/applications/src/app/entities/person.entity.ts b/backend/users/src/app/entities/person.entity.ts similarity index 100% rename from backend/applications/src/app/entities/person.entity.ts rename to backend/users/src/app/entities/person.entity.ts diff --git a/backend/applications/src/app/entities/priority.entity.ts b/backend/users/src/app/entities/priority.entity.ts similarity index 100% rename from backend/applications/src/app/entities/priority.entity.ts rename to backend/users/src/app/entities/priority.entity.ts diff --git a/backend/applications/src/app/entities/region.entity.ts b/backend/users/src/app/entities/region.entity.ts similarity index 100% rename from backend/applications/src/app/entities/region.entity.ts rename to backend/users/src/app/entities/region.entity.ts diff --git a/backend/applications/src/app/entities/reviewProcess.entity.ts b/backend/users/src/app/entities/reviewProcess.entity.ts similarity index 100% rename from backend/applications/src/app/entities/reviewProcess.entity.ts rename to backend/users/src/app/entities/reviewProcess.entity.ts diff --git a/backend/applications/src/app/entities/risk.entity.ts b/backend/users/src/app/entities/risk.entity.ts similarity index 100% rename from backend/applications/src/app/entities/risk.entity.ts rename to backend/users/src/app/entities/risk.entity.ts diff --git a/backend/applications/src/app/entities/sedimentUse.entity.ts b/backend/users/src/app/entities/sedimentUse.entity.ts similarity index 100% rename from backend/applications/src/app/entities/sedimentUse.entity.ts rename to backend/users/src/app/entities/sedimentUse.entity.ts diff --git a/backend/applications/src/app/entities/service.entity.ts b/backend/users/src/app/entities/service.entity.ts similarity index 100% rename from backend/applications/src/app/entities/service.entity.ts rename to backend/users/src/app/entities/service.entity.ts diff --git a/backend/applications/src/app/entities/serviceCategory.entity.ts b/backend/users/src/app/entities/serviceCategory.entity.ts similarity index 100% rename from backend/applications/src/app/entities/serviceCategory.entity.ts rename to backend/users/src/app/entities/serviceCategory.entity.ts diff --git a/backend/applications/src/app/entities/serviceCategoryType.entity.ts b/backend/users/src/app/entities/serviceCategoryType.entity.ts similarity index 100% rename from backend/applications/src/app/entities/serviceCategoryType.entity.ts rename to backend/users/src/app/entities/serviceCategoryType.entity.ts diff --git a/backend/applications/src/app/entities/serviceFeeSchedule.entity.ts b/backend/users/src/app/entities/serviceFeeSchedule.entity.ts similarity index 100% rename from backend/applications/src/app/entities/serviceFeeSchedule.entity.ts rename to backend/users/src/app/entities/serviceFeeSchedule.entity.ts diff --git a/backend/applications/src/app/entities/serviceServiceCategory.entity.ts b/backend/users/src/app/entities/serviceServiceCategory.entity.ts similarity index 100% rename from backend/applications/src/app/entities/serviceServiceCategory.entity.ts rename to backend/users/src/app/entities/serviceServiceCategory.entity.ts diff --git a/backend/applications/src/app/entities/site.entity.ts b/backend/users/src/app/entities/site.entity.ts similarity index 100% rename from backend/applications/src/app/entities/site.entity.ts rename to backend/users/src/app/entities/site.entity.ts diff --git a/backend/applications/src/app/entities/siteType.entity.ts b/backend/users/src/app/entities/siteType.entity.ts similarity index 100% rename from backend/applications/src/app/entities/siteType.entity.ts rename to backend/users/src/app/entities/siteType.entity.ts diff --git a/backend/applications/src/app/entities/statusType.entity.ts b/backend/users/src/app/entities/statusType.entity.ts similarity index 100% rename from backend/applications/src/app/entities/statusType.entity.ts rename to backend/users/src/app/entities/statusType.entity.ts diff --git a/backend/applications/src/app/entities/systemSetting.entity.ts b/backend/users/src/app/entities/systemSetting.entity.ts similarity index 100% rename from backend/applications/src/app/entities/systemSetting.entity.ts rename to backend/users/src/app/entities/systemSetting.entity.ts diff --git a/backend/applications/src/app/entities/taxSchedule.entity.ts b/backend/users/src/app/entities/taxSchedule.entity.ts similarity index 100% rename from backend/applications/src/app/entities/taxSchedule.entity.ts rename to backend/users/src/app/entities/taxSchedule.entity.ts diff --git a/backend/applications/src/app/entities/timesheet.entity.ts b/backend/users/src/app/entities/timesheet.entity.ts similarity index 100% rename from backend/applications/src/app/entities/timesheet.entity.ts rename to backend/users/src/app/entities/timesheet.entity.ts diff --git a/backend/applications/src/app/entities/timesheetDetail.entity.ts b/backend/users/src/app/entities/timesheetDetail.entity.ts similarity index 100% rename from backend/applications/src/app/entities/timesheetDetail.entity.ts rename to backend/users/src/app/entities/timesheetDetail.entity.ts diff --git a/backend/applications/src/app/entities/timesheetWeek.entity.ts b/backend/users/src/app/entities/timesheetWeek.entity.ts similarity index 100% rename from backend/applications/src/app/entities/timesheetWeek.entity.ts rename to backend/users/src/app/entities/timesheetWeek.entity.ts diff --git a/backend/applications/src/app/entities/vapourUse.entity.ts b/backend/users/src/app/entities/vapourUse.entity.ts similarity index 100% rename from backend/applications/src/app/entities/vapourUse.entity.ts rename to backend/users/src/app/entities/vapourUse.entity.ts diff --git a/backend/applications/src/app/entities/waterUse.entity.ts b/backend/users/src/app/entities/waterUse.entity.ts similarity index 100% rename from backend/applications/src/app/entities/waterUse.entity.ts rename to backend/users/src/app/entities/waterUse.entity.ts diff --git a/backend/applications/src/app/entities/yesNoCode.entity.ts b/backend/users/src/app/entities/yesNoCode.entity.ts similarity index 100% rename from backend/applications/src/app/entities/yesNoCode.entity.ts rename to backend/users/src/app/entities/yesNoCode.entity.ts From bdd9081e767c16b3d7b2f4d043379515f4aa9d27 Mon Sep 17 00:00:00 2001 From: nikhila-aot Date: Wed, 29 Jan 2025 16:32:45 -0800 Subject: [PATCH 3/3] added app entity --- .../src/app/entities/application.entity.ts | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 backend/applications/src/app/entities/application.entity.ts diff --git a/backend/applications/src/app/entities/application.entity.ts b/backend/applications/src/app/entities/application.entity.ts new file mode 100644 index 00000000..b3d1ae8f --- /dev/null +++ b/backend/applications/src/app/entities/application.entity.ts @@ -0,0 +1,33 @@ +import { ObjectType, Field, Directive, ID } from '@nestjs/graphql'; +import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; +import { ExternalUser } from './externalUser.entity'; + +@ObjectType() +@Directive('@key(fields: "id")') +@Entity() +export class Application { + @Field(() => ID) + @PrimaryGeneratedColumn() + id: number; + + @Field({ nullable: true }) + @Column({ name: 'name', nullable: true }) + name: string; + + @Field(() => ExternalUser) + user: ExternalUser; + + @Column({ nullable: true }) + @Field() + userId: string; + + @Column({ name: 'created_date', type: 'date', default: () => 'CURRENT_DATE' }) + createdDate?: Date; + + @Column({ + name: 'modified_date', + type: 'date', + default: () => 'CURRENT_DATE', + }) + modifiedDate?: Date; +}