diff --git a/lib/applicants/schema.graphql b/lib/applicants/schema.graphql index fd925667..2044f297 100644 --- a/lib/applicants/schema.graphql +++ b/lib/applicants/schema.graphql @@ -7,13 +7,16 @@ type Applicant { lastName: String! dateOfBirth: Date! gender: Gender! + customGender: String email: String phone: String! province: Province! city: String! - address: String! + addressLine1: String! + addressLine2: String postalCode: String! rcdUserId: Int + acceptedTOC: Date # status: ApplicantStatus # applications: [Application!] # guardian: Guardian @@ -27,13 +30,16 @@ input CreateApplicantInput { lastName: String! dateOfBirth: Date! gender: Gender! + customGender: String email: String phone: String! province: Province! city: String! - address: String! + addressLine1: String! + addressLine2: String postalCode: String! rcdUserId: Int + acceptedTOC: Date # status: ApplicantStatus # applications: [Application!] # guardian: Guardian diff --git a/lib/applications/schema.graphql b/lib/applications/schema.graphql index d873270b..ca5ffb4e 100644 --- a/lib/applications/schema.graphql +++ b/lib/applications/schema.graphql @@ -6,11 +6,13 @@ type Application { lastName: String! dateOfBirth: Date! gender: Gender! + customGender: String email: String! phone: String! province: Province! city: String! - address: String! + addressLine1: String! + addressLine2: String postalCode: String! notes: String rcdUserId: Int @@ -28,7 +30,8 @@ type Application { #Physician Information physicianName: String! physicianMspNumber: Int! - physicianAddress: String! + physicianAddressLine1: String! + physicianAddressLine2: String physicianCity: String! physicianProvince: Province! physicianPostalCode: String! @@ -48,7 +51,8 @@ type Application { guardianPhone: String guardianProvince: Province guardianCity: String - guardianAddress: String + guardianAddressLine1: String + guardianAddressLine2: String guardianPostalCode: String guardianRelationship: String guardianNotes: String @@ -61,11 +65,13 @@ input CreateApplicationInput { lastName: String! dateOfBirth: Date! gender: Gender! + customGender: String email: String! phone: String! province: Province! city: String! - address: String! + addressLine1: String! + addressLine2: String postalCode: String! notes: String rcdUserId: Int @@ -83,7 +89,8 @@ input CreateApplicationInput { #Physician Information physicianName: String! physicianMspNumber: Int! - physicianAddress: String! + physicianAddressLine1: String! + physicianAddressLine2: String physicianCity: String! physicianProvince: Province! physicianPostalCode: String! @@ -103,7 +110,8 @@ input CreateApplicationInput { guardianPhone: String guardianProvince: Province guardianCity: String - guardianAddress: String + guardianAddressLine1: String + guardianAddressLine2: String guardianPostalCode: String guardianRelationship: String guardianNotes: String diff --git a/lib/graphql/types.ts b/lib/graphql/types.ts index e329400e..b00d53b2 100644 --- a/lib/graphql/types.ts +++ b/lib/graphql/types.ts @@ -33,13 +33,16 @@ export type Applicant = { lastName: Scalars['String']; dateOfBirth: Scalars['Date']; gender: Gender; + customGender?: Maybe; email?: Maybe; phone: Scalars['String']; province: Province; city: Scalars['String']; - address: Scalars['String']; + addressLine1: Scalars['String']; + addressLine2?: Maybe; postalCode: Scalars['String']; rcdUserId?: Maybe; + acceptedTOC?: Maybe; }; export enum ApplicantStatus { @@ -57,11 +60,13 @@ export type Application = { lastName: Scalars['String']; dateOfBirth: Scalars['Date']; gender: Gender; + customGender?: Maybe; email: Scalars['String']; phone: Scalars['String']; province: Province; city: Scalars['String']; - address: Scalars['String']; + addressLine1: Scalars['String']; + addressLine2?: Maybe; postalCode: Scalars['String']; notes?: Maybe; rcdUserId?: Maybe; @@ -77,7 +82,8 @@ export type Application = { /** Physician Information */ physicianName: Scalars['String']; physicianMspNumber: Scalars['Int']; - physicianAddress: Scalars['String']; + physicianAddressLine1: Scalars['String']; + physicianAddressLine2?: Maybe; physicianCity: Scalars['String']; physicianProvince: Province; physicianPostalCode: Scalars['String']; @@ -95,7 +101,8 @@ export type Application = { guardianPhone?: Maybe; guardianProvince?: Maybe; guardianCity?: Maybe; - guardianAddress?: Maybe; + guardianAddressLine1?: Maybe; + guardianAddressLine2?: Maybe; guardianPostalCode?: Maybe; guardianRelationship?: Maybe; guardianNotes?: Maybe; @@ -107,13 +114,16 @@ export type CreateApplicantInput = { lastName: Scalars['String']; dateOfBirth: Scalars['Date']; gender: Gender; + customGender?: Maybe; email?: Maybe; phone: Scalars['String']; province: Province; city: Scalars['String']; - address: Scalars['String']; + addressLine1: Scalars['String']; + addressLine2?: Maybe; postalCode: Scalars['String']; rcdUserId?: Maybe; + acceptedTOC?: Maybe; }; export type CreateApplicantResult = { @@ -128,11 +138,13 @@ export type CreateApplicationInput = { lastName: Scalars['String']; dateOfBirth: Scalars['Date']; gender: Gender; + customGender?: Maybe; email: Scalars['String']; phone: Scalars['String']; province: Province; city: Scalars['String']; - address: Scalars['String']; + addressLine1: Scalars['String']; + addressLine2?: Maybe; postalCode: Scalars['String']; notes?: Maybe; rcdUserId?: Maybe; @@ -148,7 +160,8 @@ export type CreateApplicationInput = { /** Physician Information */ physicianName: Scalars['String']; physicianMspNumber: Scalars['Int']; - physicianAddress: Scalars['String']; + physicianAddressLine1: Scalars['String']; + physicianAddressLine2?: Maybe; physicianCity: Scalars['String']; physicianProvince: Province; physicianPostalCode: Scalars['String']; @@ -166,7 +179,8 @@ export type CreateApplicationInput = { guardianPhone?: Maybe; guardianProvince?: Maybe; guardianCity?: Maybe; - guardianAddress?: Maybe; + guardianAddressLine1?: Maybe; + guardianAddressLine2?: Maybe; guardianPostalCode?: Maybe; guardianRelationship?: Maybe; guardianNotes?: Maybe; @@ -189,11 +203,26 @@ export type CreateEmployeeResult = { ok: Scalars['Boolean']; }; +export type CreatePermitInput = { + rcdPermitId: Scalars['Int']; + expiryDate: Scalars['Date']; + receiptId?: Maybe; + active: Scalars['Boolean']; + applicationId: Scalars['Int']; + applicantId: Scalars['Int']; +}; + +export type CreatePermitResult = { + __typename?: 'CreatePermitResult'; + ok: Scalars['Boolean']; +}; + export type CreatePhysicianInput = { firstName: Scalars['String']; lastName: Scalars['String']; mspNumber: Scalars['Int']; - address: Scalars['String']; + addressLine1: Scalars['String']; + addressLine2?: Maybe; city: Scalars['String']; province: Province; postalCode: Scalars['String']; @@ -233,6 +262,7 @@ export type Mutation = { createEmployee: CreateEmployeeResult; createPhysician: CreatePhysicianResult; createApplication: CreateApplicationResult; + createPermit: CreatePermitResult; }; export type MutationCreateApplicantArgs = { @@ -251,6 +281,10 @@ export type MutationCreateApplicationArgs = { input: CreateApplicationInput; }; +export type MutationCreatePermitArgs = { + input: CreatePermitInput; +}; + export enum PaymentType { Mastercard = 'MASTERCARD', Visa = 'VISA', @@ -261,12 +295,24 @@ export enum PaymentType { MoneyOrder = 'MONEY_ORDER', } +export type Permit = { + __typename?: 'Permit'; + id: Scalars['ID']; + rcdPermitId: Scalars['Int']; + expiryDate: Scalars['Date']; + receiptId?: Maybe; + active: Scalars['Boolean']; + applicationId: Scalars['Int']; + applicantId: Scalars['Int']; +}; + export type Physician = { __typename?: 'Physician'; firstName: Scalars['String']; lastName: Scalars['String']; mspNumber: Scalars['Int']; - address: Scalars['String']; + addressLine1: Scalars['String']; + addressLine2?: Maybe; city: Scalars['String']; province: Province; postalCode: Scalars['String']; @@ -308,6 +354,7 @@ export type Query = { employees?: Maybe>; physicians?: Maybe>; applications?: Maybe>; + permits?: Maybe>; }; export enum Role { diff --git a/lib/physicians/schema.graphql b/lib/physicians/schema.graphql index 643b7a4b..798af7ca 100644 --- a/lib/physicians/schema.graphql +++ b/lib/physicians/schema.graphql @@ -2,7 +2,8 @@ type Physician { firstName: String! lastName: String! mspNumber: Int! - address: String! + addressLine1: String! + addressLine2: String city: String! province: Province! postalCode: String! @@ -15,7 +16,8 @@ input CreatePhysicianInput { firstName: String! lastName: String! mspNumber: Int! - address: String! + addressLine1: String! + addressLine2: String city: String! province: Province! postalCode: String! diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 564958f8..613202a2 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -14,14 +14,17 @@ model Applicant { lastName String @map("last_name") @db.VarChar(255) dateOfBirth DateTime @map("date_of_birth") @db.Date gender Gender + customGender String? @map("custom_gender") @db.VarChar(255) email String? @unique @db.VarChar(255) phone String @db.VarChar(50) province Province city String @db.VarChar(255) - address String @db.VarChar(255) + addressLine1 String @map("address_line_1") @db.VarChar(255) + addressLine2 String? @map("address_line_2") @db.VarChar(255) postalCode String @map("postal_code") @db.Char(6) rcdUserId Int? @unique @map("rcd_user_id") status ApplicantStatus? + acceptedTOC DateTime? @map("accepted_toc") @db.Timestamptz(6) createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6) updatedAt DateTime @default(now()) @updatedAt @map("updated_at") @db.Timestamptz(6) applications Application[] @@ -39,11 +42,13 @@ model Application { lastName String @map("last_name") @db.VarChar(255) dateOfBirth DateTime @map("date_of_birth") @db.Date gender Gender + customGender String? @map("custom_gender") @db.VarChar(255) email String? @db.VarChar(255) phone String @db.VarChar(50) province Province city String @db.VarChar(255) - address String @db.VarChar(255) + addressLine1 String @map("address_line_1") @db.VarChar(255) + addressLine2 String? @map("address_line_2") @db.VarChar(255) postalCode String @map("postal_code") @db.Char(6) notes String? rcdUserId Int? @map("rcd_user_id") @@ -57,7 +62,8 @@ model Application { aid Aid[] physicianName String @map("physician_name") @db.VarChar(255) physicianMspNumber Int @map("physician_msp_number") - physicianAddress String @map("physician_address") @db.VarChar(255) + physicianAddressLine1 String @map("physician_address_line_1") @db.VarChar(255) + physicianAddressLine2 String? @map("physician_address_line_2") @db.VarChar(255) physicianCity String @map("physician_city") @db.VarChar(255) physicianProvince Province @map("physician_province") physicianPostalCode String @map("physician_postal_code") @db.Char(6) @@ -73,7 +79,8 @@ model Application { guardianPhone String? @map("guardian_phone") @db.VarChar(50) guardianProvince Province? @map("guardian_province") guardianCity String? @map("guardian_city") @db.VarChar(255) - guardianAddress String? @map("guardian_address") @db.VarChar(255) + guardianAddressLine1 String? @map("guardian_address_line_1") @db.VarChar(255) + guardianAddressLine2 String? @map("guardian_address_line_2") @db.VarChar(255) guardianPostalCode String? @map("guardian_postal_code") @db.Char(6) guardianRelationship String? @map("guardian_relationship") @db.VarChar(50) guardianNotes String? @map("guardian_notes") @@ -103,7 +110,8 @@ model Guardian { firstName String @map("first_name") @db.VarChar(255) middleName String? @map("middle_name") @db.VarChar(255) lastName String @map("last_name") @db.VarChar(255) - address String @db.VarChar(255) + addressLine1 String @map("address_line_1") @db.VarChar(255) + addressLine2 String? @map("address_line_2") @db.VarChar(255) city String @db.VarChar(255) province Province postalCode String @map("postal_code") @db.Char(6) @@ -158,7 +166,8 @@ model Physician { firstName String @map("first_name") @db.VarChar(255) lastName String @map("last_name") @db.VarChar(255) mspNumber Int @unique @map("msp_number") - address String @db.VarChar(255) + addressLine1 String @map("address_line_1") @db.VarChar(255) + addressLine2 String? @map("address_line_2") @db.VarChar(255) city String @db.VarChar(255) province Province postalCode String @map("postal_code") @db.Char(6) diff --git a/prisma/schema.sql b/prisma/schema.sql index b5799709..1d03367b 100644 --- a/prisma/schema.sql +++ b/prisma/schema.sql @@ -58,19 +58,20 @@ CREATE TABLE verification_requests ( -- Create physicians table CREATE TABLE physicians ( - id SERIAL PRIMARY KEY NOT NULL, - first_name VARCHAR(255) NOT NULL, - last_name VARCHAR(255) NOT NULL, - msp_number INTEGER UNIQUE NOT NULL, - address VARCHAR(255) NOT NULL, - city VARCHAR(255) NOT NULL, - province Province NOT NULL, - postal_code CHAR(6) NOT NULL, - phone VARCHAR(50) NOT NULL, - status PhysicianStatus NOT NULL, - notes TEXT, - created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP + id SERIAL PRIMARY KEY NOT NULL, + first_name VARCHAR(255) NOT NULL, + last_name VARCHAR(255) NOT NULL, + msp_number INTEGER UNIQUE NOT NULL, + address_line_1 VARCHAR(255) NOT NULL, + address_line_2 VARCHAR(255), + city VARCHAR(255) NOT NULL, + province Province NOT NULL, + postal_code CHAR(6) NOT NULL, + phone VARCHAR(50) NOT NULL, + status PhysicianStatus NOT NULL, + notes TEXT, + created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP ); -- Create applicants table @@ -81,14 +82,17 @@ CREATE TABLE applicants ( last_name VARCHAR(255) NOT NULL, date_of_birth DATE NOT NULL, gender Gender NOT NULL, + custom_gender VARCHAR(255), email VARCHAR(255) UNIQUE, phone VARCHAR(50) NOT NULL, province Province NOT NULL, city VARCHAR(255) NOT NULL, - address VARCHAR(255) NOT NULL, + address_line_1 VARCHAR(255) NOT NULL, + address_line_2 VARCHAR(255), postal_code CHAR(6) NOT NULL, rcd_user_id INTEGER UNIQUE, status ApplicantStatus, + accepted_TOC TIMESTAMPTZ, created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP ); @@ -99,7 +103,8 @@ CREATE TABLE guardians ( first_name VARCHAR(255) NOT NULL, middle_name VARCHAR(255), last_name VARCHAR(255) NOT NULL, - address VARCHAR(255) NOT NULL, + address_line_1 VARCHAR(255) NOT NULL, + address_line_2 VARCHAR(255), city VARCHAR(255) NOT NULL, province Province NOT NULL, postal_code CHAR(6) NOT NULL, @@ -140,11 +145,13 @@ CREATE TABLE applications ( last_name VARCHAR(255) NOT NULL, date_of_birth DATE NOT NULL, gender Gender NOT NULL, + custom_gender VARCHAR(255), email VARCHAR(255), phone VARCHAR(50) NOT NULL, province Province NOT NULL, city VARCHAR(255) NOT NULL, - address VARCHAR(255) NOT NULL, + address_line_1 VARCHAR(255) NOT NULL, + address_line_2 VARCHAR(255), postal_code CHAR(6) NOT NULL, notes TEXT, rcd_user_id INTEGER, @@ -158,14 +165,15 @@ CREATE TABLE applications ( cannot_walk_100m BOOLEAN NOT NULL DEFAULT false, aid Aid ARRAY, -- Physician information - physician_name VARCHAR(255) NOT NULL, - physician_msp_number INTEGER NOT NULL, - physician_address VARCHAR(255) NOT NULL, - physician_city VARCHAR(255) NOT NULL, - physician_province Province NOT NULL, - physician_postal_code CHAR(6) NOT NULL, - physician_phone VARCHAR(50) NOT NULL, - physician_notes TEXT, + physician_name VARCHAR(255) NOT NULL, + physician_msp_number INTEGER NOT NULL, + physician_address_line_1 VARCHAR(255) NOT NULL, + physician_address_line_2 VARCHAR(255), + physician_city VARCHAR(255) NOT NULL, + physician_province Province NOT NULL, + physician_postal_code CHAR(6) NOT NULL, + physician_phone VARCHAR(50) NOT NULL, + physician_notes TEXT, -- Payment information processing_fee FLOAT NOT NULL, donation_amount FLOAT, @@ -178,7 +186,8 @@ CREATE TABLE applications ( guardian_phone VARCHAR(50), guardian_province Province, guardian_city VARCHAR(255), - guardian_address VARCHAR(255), + guardian_address_line_1 VARCHAR(255), + guardian_address_line_2 VARCHAR(255), guardian_postal_code CHAR(6), guardian_relationship VARCHAR(50), guardian_notes TEXT,