@valentine-efagene/qshelter-common 2.0.5 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/client/browser.d.ts +5 -0
- package/dist/generated/client/client.d.ts +5 -0
- package/dist/generated/client/internal/class.d.ts +11 -0
- package/dist/generated/client/internal/class.js +2 -2
- package/dist/generated/client/internal/prismaNamespace.d.ts +84 -3
- package/dist/generated/client/internal/prismaNamespace.js +15 -3
- package/dist/generated/client/internal/prismaNamespaceBrowser.d.ts +16 -2
- package/dist/generated/client/internal/prismaNamespaceBrowser.js +15 -3
- package/dist/generated/client/models/Role.d.ts +68 -74
- package/dist/generated/client/models/User.d.ts +366 -265
- package/dist/generated/client/models/UserRole.d.ts +1080 -0
- package/dist/generated/client/models/UserRole.js +1 -0
- package/dist/generated/client/models.d.ts +1 -0
- package/package.json +1 -1
- package/prisma/schema.prisma +38 -26
|
@@ -155,6 +155,17 @@ export interface PrismaClient<in LogOpts extends Prisma.LogLevel = never, in out
|
|
|
155
155
|
get rolePermission(): Prisma.RolePermissionDelegate<ExtArgs, {
|
|
156
156
|
omit: OmitOpts;
|
|
157
157
|
}>;
|
|
158
|
+
/**
|
|
159
|
+
* `prisma.userRole`: Exposes CRUD operations for the **UserRole** model.
|
|
160
|
+
* Example usage:
|
|
161
|
+
* ```ts
|
|
162
|
+
* // Fetch zero or more UserRoles
|
|
163
|
+
* const userRoles = await prisma.userRole.findMany()
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
get userRole(): Prisma.UserRoleDelegate<ExtArgs, {
|
|
167
|
+
omit: OmitOpts;
|
|
168
|
+
}>;
|
|
158
169
|
/**
|
|
159
170
|
* `prisma.tenant`: Exposes CRUD operations for the **Tenant** model.
|
|
160
171
|
* Example usage:
|
|
@@ -15,14 +15,14 @@ const config = {
|
|
|
15
15
|
"clientVersion": "7.2.0",
|
|
16
16
|
"engineVersion": "0c8ef2ce45c83248ab3df073180d5eda9e8be7a3",
|
|
17
17
|
"activeProvider": "mysql",
|
|
18
|
-
"inlineSchema": "// =============================================================================\n// QSHELTER UNIFIED DATABASE SCHEMA\n// =============================================================================\n// This schema contains all database models for the QShelter platform\n// Organized by domain for better readability\n// =============================================================================\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/generated/client\"\n}\n\ndatasource db {\n provider = \"mysql\"\n}\n\n// =============================================================================\n// USER & AUTH DOMAIN\n// =============================================================================\n\nmodel User {\n id String @id @default(cuid())\n email String @unique\n password String?\n firstName String?\n lastName String?\n isActive Boolean @default(true)\n isVerified Boolean @default(false)\n googleId String? @unique\n tenantId String?\n tenant Tenant? @relation(fields: [tenantId], references: [id], onDelete: SetNull)\n roleId String?\n role Role? @relation(fields: [roleId], references: [id], onDelete: SetNull)\n walletId String? @unique\n wallet Wallet? @relation(fields: [walletId], references: [id])\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n emailVerifiedAt DateTime?\n lastLoginAt DateTime?\n refreshTokens RefreshToken[]\n passwordResets PasswordReset[]\n suspensions UserSuspension[]\n emailPreferences EmailPreference[]\n deviceEndpoints DeviceEndpoint[]\n socials Social[]\n\n // Relations to other domains\n properties Property[]\n mortgages Mortgage[] @relation(\"MortgageBorrower\")\n paymentPlans PaymentPlan[]\n contracts Contract[] @relation(\"ContractBuyer\")\n soldContracts Contract[] @relation(\"ContractSeller\")\n payments Payment[]\n\n @@index([email])\n @@index([tenantId])\n @@index([roleId])\n @@map(\"users\")\n}\n\nmodel Role {\n id String @id @default(cuid())\n name String @unique\n description String?\n users User[]\n permissions RolePermission[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@map(\"roles\")\n}\n\nmodel Permission {\n id String @id @default(cuid())\n name String @unique\n description String?\n resource String\n action String\n roles RolePermission[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([resource, action])\n @@index([resource])\n @@map(\"permissions\")\n}\n\nmodel RolePermission {\n roleId String\n permissionId String\n role Role @relation(fields: [roleId], references: [id], onDelete: Cascade)\n permission Permission @relation(fields: [permissionId], references: [id], onDelete: Cascade)\n createdAt DateTime @default(now())\n\n @@id([roleId, permissionId])\n @@map(\"role_permissions\")\n}\n\nmodel Tenant {\n id String @id @default(cuid())\n name String\n subdomain String @unique\n isActive Boolean @default(true)\n users User[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([subdomain])\n @@map(\"tenants\")\n}\n\nmodel RefreshToken {\n id String @id @default(cuid())\n token String @unique\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n expiresAt DateTime\n createdAt DateTime @default(now())\n\n @@index([userId])\n @@index([expiresAt])\n @@map(\"refresh_tokens\")\n}\n\nmodel PasswordReset {\n id String @id @default(cuid())\n token String @unique\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n expiresAt DateTime\n usedAt DateTime?\n createdAt DateTime @default(now())\n\n @@index([userId])\n @@index([expiresAt])\n @@map(\"password_resets\")\n}\n\nmodel UserSuspension {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n reason String\n suspendedAt DateTime @default(now())\n expiresAt DateTime?\n liftedAt DateTime?\n\n @@index([userId])\n @@map(\"user_suspensions\")\n}\n\nmodel EmailPreference {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n marketingEmails Boolean @default(true)\n transactionalEmails Boolean @default(true)\n propertyAlerts Boolean @default(true)\n paymentReminders Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([userId])\n @@map(\"email_preferences\")\n}\n\nmodel DeviceEndpoint {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n endpoint String // Push notification endpoint\n platform String // ios, android, web\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([userId])\n @@map(\"device_endpoints\")\n}\n\nmodel Social {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n provider String // google, facebook, twitter, etc\n socialId String // ID from the social provider\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([provider, socialId])\n @@index([userId])\n @@map(\"socials\")\n}\n\nmodel Wallet {\n id String @id @default(cuid())\n balance Float @default(0)\n currency String @default(\"USD\")\n user User?\n transactions Transaction[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@map(\"wallets\")\n}\n\nmodel Transaction {\n id String @id @default(cuid())\n walletId String\n wallet Wallet @relation(fields: [walletId], references: [id], onDelete: Cascade)\n amount Float\n type String // CREDIT, DEBIT\n status String // PENDING, COMPLETED, FAILED\n reference String?\n description String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([walletId])\n @@map(\"transactions\")\n}\n\nmodel Settings {\n id String @id @default(cuid())\n key String @unique\n value String @db.Text\n category String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([category])\n @@map(\"settings\")\n}\n\n// =============================================================================\n// PROPERTY DOMAIN\n// =============================================================================\n\nmodel Property {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n title String\n category String // SALE, RENT, LEASE\n propertyType String // APARTMENT, HOUSE, LAND, COMMERCIAL\n country String\n currency String // USD, NGN, etc\n city String\n district String?\n zipCode String?\n streetAddress String?\n nBedrooms String\n nBathrooms String\n nParkingSpots String\n price Float\n longitude Float?\n latitude Float?\n area Float?\n status String @default(\"DRAFT\") // DRAFT, PUBLISHED, SOLD, RENTED\n description String? @db.Text\n displayImageId String?\n displayImage PropertyMedia? @relation(\"DisplayImage\", fields: [displayImageId], references: [id], onDelete: SetNull)\n isPublished Boolean @default(false)\n publishedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n documents PropertyDocument[]\n media PropertyMedia[] @relation(\"PropertyMedia\")\n amenities PropertyAmenity[]\n mortgages Mortgage[]\n paymentPlans PaymentPlan[]\n contracts Contract[]\n\n @@index([userId])\n @@index([category])\n @@index([propertyType])\n @@index([city])\n @@map(\"properties\")\n}\n\nmodel PropertyMedia {\n id String @id @default(cuid())\n propertyId String\n property Property @relation(\"PropertyMedia\", fields: [propertyId], references: [id], onDelete: Cascade)\n url String\n type String // IMAGE, VIDEO\n caption String?\n order Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n displayForProperties Property[] @relation(\"DisplayImage\")\n\n @@index([propertyId])\n @@map(\"property_media\")\n}\n\nmodel PropertyDocument {\n id String @id @default(cuid())\n propertyId String\n property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)\n name String\n url String\n type String // TITLE_DEED, SURVEY_PLAN, etc\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([propertyId])\n @@map(\"property_documents\")\n}\n\nmodel Amenity {\n id String @id @default(cuid())\n name String @unique\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n properties PropertyAmenity[]\n\n @@map(\"amenities\")\n}\n\nmodel PropertyAmenity {\n propertyId String\n amenityId String\n property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)\n amenity Amenity @relation(fields: [amenityId], references: [id], onDelete: Cascade)\n createdAt DateTime @default(now())\n\n @@id([propertyId, amenityId])\n @@map(\"property_amenities\")\n}\n\n// =============================================================================\n// MORTGAGE DOMAIN\n// =============================================================================\n\nmodel Mortgage {\n id String @id @default(cuid())\n propertyId String\n property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)\n borrowerId String\n borrower User @relation(\"MortgageBorrower\", fields: [borrowerId], references: [id], onDelete: Cascade)\n mortgageTypeId String?\n mortgageType MortgageType? @relation(fields: [mortgageTypeId], references: [id])\n downpaymentPlanId String?\n downpaymentPlan MortgageDownpaymentPlan? @relation(fields: [downpaymentPlanId], references: [id])\n principal Float\n downPayment Float\n downPaymentPaid Float @default(0)\n termMonths Int\n interestRate Float\n monthlyPayment Float\n status String @default(\"DRAFT\") // DRAFT, PENDING, ACTIVE, COMPLETED, CANCELLED\n state String @default(\"DRAFT\") // FSM state\n stateMetadata String? @db.Text // JSON metadata\n lastReminderSentAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n documents MortgageDocument[]\n steps MortgageStep[]\n transitions MortgageTransition[]\n transitionEvents MortgageTransitionEvent[]\n\n @@index([propertyId])\n @@index([borrowerId])\n @@index([status])\n @@index([state])\n @@map(\"mortgages\")\n}\n\nmodel MortgageType {\n id String @id @default(cuid())\n name String @unique\n description String? @db.Text\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n mortgages Mortgage[]\n\n @@map(\"mortgage_types\")\n}\n\nmodel MortgageDocument {\n id String @id @default(cuid())\n mortgageId String\n mortgage Mortgage @relation(fields: [mortgageId], references: [id], onDelete: Cascade)\n name String\n url String\n type String // INCOME_PROOF, ID, etc\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([mortgageId])\n @@map(\"mortgage_documents\")\n}\n\nmodel MortgageStep {\n id String @id @default(cuid())\n mortgageId String\n mortgage Mortgage @relation(fields: [mortgageId], references: [id], onDelete: Cascade)\n name String\n description String? @db.Text\n order Int\n isCompleted Boolean @default(false)\n completedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([mortgageId])\n @@map(\"mortgage_steps\")\n}\n\nmodel MortgageDownpaymentPlan {\n id String @id @default(cuid())\n totalAmount Float\n paidAmount Float @default(0)\n status String @default(\"PENDING\") // PENDING, ACTIVE, COMPLETED\n startDate DateTime\n endDate DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n mortgages Mortgage[]\n installments MortgageDownpaymentInstallment[]\n payments MortgageDownpaymentPayment[]\n\n @@map(\"mortgage_downpayment_plans\")\n}\n\nmodel MortgageDownpaymentInstallment {\n id String @id @default(cuid())\n planId String\n plan MortgageDownpaymentPlan @relation(fields: [planId], references: [id], onDelete: Cascade)\n amount Float\n dueDate DateTime\n isPaid Boolean @default(false)\n paidDate DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([planId])\n @@map(\"mortgage_downpayment_installments\")\n}\n\nmodel MortgageDownpaymentPayment {\n id String @id @default(cuid())\n planId String\n plan MortgageDownpaymentPlan @relation(fields: [planId], references: [id], onDelete: Cascade)\n amount Float\n paymentMethod String\n reference String?\n status String @default(\"PENDING\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([planId])\n @@map(\"mortgage_downpayment_payments\")\n}\n\nmodel MortgageTransition {\n id String @id @default(cuid())\n mortgageId String\n mortgage Mortgage @relation(fields: [mortgageId], references: [id], onDelete: Cascade)\n fromState String\n toState String\n trigger String\n metadata String? @db.Text // JSON\n transitionedAt DateTime @default(now())\n\n @@index([mortgageId])\n @@map(\"mortgage_transitions\")\n}\n\nmodel MortgageTransitionEvent {\n id String @id @default(cuid())\n mortgageId String\n mortgage Mortgage @relation(fields: [mortgageId], references: [id], onDelete: Cascade)\n event String\n data String? @db.Text // JSON\n createdAt DateTime @default(now())\n\n @@index([mortgageId])\n @@map(\"mortgage_transition_events\")\n}\n\n// =============================================================================\n// PAYMENT & CONTRACT DOMAIN\n// =============================================================================\n\nmodel PaymentPlan {\n id String @id @default(cuid())\n propertyId String\n property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)\n buyerId String?\n buyer User? @relation(fields: [buyerId], references: [id])\n planType String // MORTGAGE, INSTALLMENT, RENT_TO_OWN, LEASE, OUTRIGHT_PURCHASE, CUSTOM\n name String\n description String? @db.Text\n totalAmount Float\n downPaymentAmount Float @default(0)\n downPaymentPaid Float @default(0)\n principalAmount Float\n interestRate Float @default(0)\n totalInterest Float @default(0)\n state String @default(\"DRAFT\") // FSM state\n stateMetadata String? @db.Text\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n contract Contract?\n schedules PaymentSchedule[]\n payments Payment[]\n\n @@index([propertyId])\n @@index([buyerId])\n @@index([state])\n @@map(\"payment_plans\")\n}\n\nmodel PaymentSchedule {\n id String @id @default(cuid())\n planId String\n plan PaymentPlan @relation(fields: [planId], references: [id], onDelete: Cascade)\n name String\n frequency String // MONTHLY, WEEKLY, QUARTERLY, CUSTOM\n startDate DateTime\n endDate DateTime?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n installments PaymentInstallment[]\n payments Payment[]\n\n @@index([planId])\n @@map(\"payment_schedules\")\n}\n\nmodel PaymentInstallment {\n id String @id @default(cuid())\n scheduleId String\n schedule PaymentSchedule @relation(fields: [scheduleId], references: [id], onDelete: Cascade)\n installmentNumber Int\n amount Float\n principalAmount Float\n interestAmount Float\n dueDate DateTime\n status String @default(\"PENDING\") // PENDING, PAID, OVERDUE, WAIVED\n paidAmount Float @default(0)\n paidDate DateTime?\n lateFee Float @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n payments Payment[]\n\n @@index([scheduleId])\n @@index([dueDate])\n @@index([status])\n @@map(\"payment_installments\")\n}\n\nmodel Payment {\n id String @id @default(cuid())\n planId String\n plan PaymentPlan @relation(fields: [planId], references: [id], onDelete: Cascade)\n scheduleId String?\n schedule PaymentSchedule? @relation(fields: [scheduleId], references: [id])\n installmentId String?\n installment PaymentInstallment? @relation(fields: [installmentId], references: [id])\n payerId String?\n payer User? @relation(fields: [payerId], references: [id])\n amount Float\n principalAmount Float @default(0)\n interestAmount Float @default(0)\n lateFeeAmount Float @default(0)\n paymentMethod String // BANK_TRANSFER, CREDIT_CARD, WALLET, etc\n status String @default(\"INITIATED\") // INITIATED, PENDING, PROCESSING, COMPLETED, FAILED, CANCELLED, REFUNDED\n reference String? @unique\n gatewayResponse String? @db.Text // JSON\n processedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([planId])\n @@index([payerId])\n @@index([status])\n @@index([reference])\n @@map(\"payments\")\n}\n\nmodel Contract {\n id String @id @default(cuid())\n propertyId String\n property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)\n paymentPlanId String? @unique\n paymentPlan PaymentPlan? @relation(fields: [paymentPlanId], references: [id])\n buyerId String?\n buyer User? @relation(\"ContractBuyer\", fields: [buyerId], references: [id])\n sellerId String?\n seller User? @relation(\"ContractSeller\", fields: [sellerId], references: [id])\n contractType String // MORTGAGE, SALE_AGREEMENT, LEASE_AGREEMENT, etc\n contractNumber String @unique\n title String\n description String? @db.Text\n status String @default(\"DRAFT\") // DRAFT, PENDING_SIGNATURE, ACTIVE, COMPLETED, TERMINATED\n startDate DateTime?\n endDate DateTime?\n signedAt DateTime?\n terminatedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n documents ContractDocument[]\n\n @@index([propertyId])\n @@index([buyerId])\n @@index([sellerId])\n @@index([status])\n @@map(\"contracts\")\n}\n\nmodel ContractDocument {\n id String @id @default(cuid())\n contractId String\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n name String\n url String\n type String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([contractId])\n @@map(\"contract_documents\")\n}\n",
|
|
18
|
+
"inlineSchema": "// =============================================================================\n// QSHELTER UNIFIED DATABASE SCHEMA\n// =============================================================================\n// This schema contains all database models for the QShelter platform\n// Organized by domain for better readability\n// =============================================================================\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/generated/client\"\n}\n\ndatasource db {\n provider = \"mysql\"\n}\n\n// =============================================================================\n// USER & AUTH DOMAIN\n// =============================================================================\n\nmodel User {\n id String @id @default(cuid())\n email String @unique\n password String?\n phone String? @unique\n firstName String?\n lastName String?\n isActive Boolean @default(true)\n isVerified Boolean @default(false)\n googleId String? @unique\n tenantId String?\n tenant Tenant? @relation(fields: [tenantId], references: [id], onDelete: SetNull)\n // Support multiple roles via explicit join table `UserRole`\n userRoles UserRole[]\n walletId String? @unique\n wallet Wallet? @relation(fields: [walletId], references: [id])\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n emailVerifiedAt DateTime?\n emailVerificationToken String?\n lastLoginAt DateTime?\n refreshTokens RefreshToken[]\n passwordResets PasswordReset[]\n suspensions UserSuspension[]\n emailPreferences EmailPreference[]\n deviceEndpoints DeviceEndpoint[]\n socials Social[]\n\n // Relations to other domains\n properties Property[]\n mortgages Mortgage[] @relation(\"MortgageBorrower\")\n paymentPlans PaymentPlan[]\n contracts Contract[] @relation(\"ContractBuyer\")\n soldContracts Contract[] @relation(\"ContractSeller\")\n payments Payment[]\n\n @@index([email])\n @@index([tenantId])\n @@map(\"users\")\n}\n\nmodel Role {\n id String @id @default(cuid())\n name String @unique\n description String?\n userRoles UserRole[]\n permissions RolePermission[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@map(\"roles\")\n}\n\nmodel Permission {\n id String @id @default(cuid())\n name String @unique\n description String?\n resource String\n action String\n roles RolePermission[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([resource, action])\n @@index([resource])\n @@map(\"permissions\")\n}\n\nmodel RolePermission {\n roleId String\n permissionId String\n role Role @relation(fields: [roleId], references: [id], onDelete: Cascade)\n permission Permission @relation(fields: [permissionId], references: [id], onDelete: Cascade)\n createdAt DateTime @default(now())\n\n @@id([roleId, permissionId])\n @@map(\"role_permissions\")\n}\n\nmodel UserRole {\n userId String\n roleId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n role Role @relation(fields: [roleId], references: [id], onDelete: Cascade)\n createdAt DateTime @default(now())\n\n @@id([userId, roleId])\n @@map(\"user_roles\")\n}\n\nmodel Tenant {\n id String @id @default(cuid())\n name String\n subdomain String @unique\n isActive Boolean @default(true)\n users User[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([subdomain])\n @@map(\"tenants\")\n}\n\nmodel RefreshToken {\n id String @id @default(cuid())\n token String @unique\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n expiresAt DateTime\n createdAt DateTime @default(now())\n\n @@index([userId])\n @@index([expiresAt])\n @@map(\"refresh_tokens\")\n}\n\nmodel PasswordReset {\n id String @id @default(cuid())\n token String @unique\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n expiresAt DateTime\n usedAt DateTime?\n createdAt DateTime @default(now())\n\n @@index([userId])\n @@index([expiresAt])\n @@map(\"password_resets\")\n}\n\nmodel UserSuspension {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n reason String\n suspendedAt DateTime @default(now())\n expiresAt DateTime?\n liftedAt DateTime?\n\n @@index([userId])\n @@map(\"user_suspensions\")\n}\n\nmodel EmailPreference {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n marketingEmails Boolean @default(true)\n transactionalEmails Boolean @default(true)\n propertyAlerts Boolean @default(true)\n paymentReminders Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([userId])\n @@map(\"email_preferences\")\n}\n\nmodel DeviceEndpoint {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n endpoint String // Push notification endpoint\n platform String // ios, android, web\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([userId])\n @@map(\"device_endpoints\")\n}\n\nmodel Social {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n provider String // google, facebook, twitter, etc\n socialId String // ID from the social provider\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([provider, socialId])\n @@index([userId])\n @@map(\"socials\")\n}\n\nmodel Wallet {\n id String @id @default(cuid())\n balance Float @default(0)\n currency String @default(\"USD\")\n user User?\n transactions Transaction[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@map(\"wallets\")\n}\n\nmodel Transaction {\n id String @id @default(cuid())\n walletId String\n wallet Wallet @relation(fields: [walletId], references: [id], onDelete: Cascade)\n amount Float\n type String // CREDIT, DEBIT\n status String // PENDING, COMPLETED, FAILED\n reference String?\n description String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([walletId])\n @@map(\"transactions\")\n}\n\nmodel Settings {\n id String @id @default(cuid())\n key String @unique\n value String @db.Text\n category String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([category])\n @@map(\"settings\")\n}\n\n// =============================================================================\n// PROPERTY DOMAIN\n// =============================================================================\n\nmodel Property {\n id String @id @default(cuid())\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n title String\n category String // SALE, RENT, LEASE\n propertyType String // APARTMENT, HOUSE, LAND, COMMERCIAL\n country String\n currency String // USD, NGN, etc\n city String\n district String?\n zipCode String?\n streetAddress String?\n nBedrooms String\n nBathrooms String\n nParkingSpots String\n price Float\n longitude Float?\n latitude Float?\n area Float?\n status String @default(\"DRAFT\") // DRAFT, PUBLISHED, SOLD, RENTED\n description String? @db.Text\n displayImageId String?\n displayImage PropertyMedia? @relation(\"DisplayImage\", fields: [displayImageId], references: [id], onDelete: SetNull)\n isPublished Boolean @default(false)\n publishedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n documents PropertyDocument[]\n media PropertyMedia[] @relation(\"PropertyMedia\")\n amenities PropertyAmenity[]\n mortgages Mortgage[]\n paymentPlans PaymentPlan[]\n contracts Contract[]\n\n @@index([userId])\n @@index([category])\n @@index([propertyType])\n @@index([city])\n @@map(\"properties\")\n}\n\nmodel PropertyMedia {\n id String @id @default(cuid())\n propertyId String\n property Property @relation(\"PropertyMedia\", fields: [propertyId], references: [id], onDelete: Cascade)\n url String\n type String // IMAGE, VIDEO\n caption String?\n order Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n displayForProperties Property[] @relation(\"DisplayImage\")\n\n @@index([propertyId])\n @@map(\"property_media\")\n}\n\nmodel PropertyDocument {\n id String @id @default(cuid())\n propertyId String\n property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)\n name String\n url String\n type String // TITLE_DEED, SURVEY_PLAN, etc\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([propertyId])\n @@map(\"property_documents\")\n}\n\nmodel Amenity {\n id String @id @default(cuid())\n name String @unique\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n properties PropertyAmenity[]\n\n @@map(\"amenities\")\n}\n\nmodel PropertyAmenity {\n propertyId String\n amenityId String\n property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)\n amenity Amenity @relation(fields: [amenityId], references: [id], onDelete: Cascade)\n createdAt DateTime @default(now())\n\n @@id([propertyId, amenityId])\n @@map(\"property_amenities\")\n}\n\n// =============================================================================\n// MORTGAGE DOMAIN\n// =============================================================================\n\nmodel Mortgage {\n id String @id @default(cuid())\n propertyId String\n property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)\n borrowerId String\n borrower User @relation(\"MortgageBorrower\", fields: [borrowerId], references: [id], onDelete: Cascade)\n mortgageTypeId String?\n mortgageType MortgageType? @relation(fields: [mortgageTypeId], references: [id])\n downpaymentPlanId String?\n downpaymentPlan MortgageDownpaymentPlan? @relation(fields: [downpaymentPlanId], references: [id])\n principal Float\n downPayment Float\n downPaymentPaid Float @default(0)\n termMonths Int\n interestRate Float\n monthlyPayment Float\n status String @default(\"DRAFT\") // DRAFT, PENDING, ACTIVE, COMPLETED, CANCELLED\n state String @default(\"DRAFT\") // FSM state\n stateMetadata String? @db.Text // JSON metadata\n lastReminderSentAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n documents MortgageDocument[]\n steps MortgageStep[]\n transitions MortgageTransition[]\n transitionEvents MortgageTransitionEvent[]\n\n @@index([propertyId])\n @@index([borrowerId])\n @@index([status])\n @@index([state])\n @@map(\"mortgages\")\n}\n\nmodel MortgageType {\n id String @id @default(cuid())\n name String @unique\n description String? @db.Text\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n mortgages Mortgage[]\n\n @@map(\"mortgage_types\")\n}\n\nmodel MortgageDocument {\n id String @id @default(cuid())\n mortgageId String\n mortgage Mortgage @relation(fields: [mortgageId], references: [id], onDelete: Cascade)\n name String\n url String\n type String // INCOME_PROOF, ID, etc\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([mortgageId])\n @@map(\"mortgage_documents\")\n}\n\nmodel MortgageStep {\n id String @id @default(cuid())\n mortgageId String\n mortgage Mortgage @relation(fields: [mortgageId], references: [id], onDelete: Cascade)\n name String\n description String? @db.Text\n order Int\n isCompleted Boolean @default(false)\n completedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([mortgageId])\n @@map(\"mortgage_steps\")\n}\n\nmodel MortgageDownpaymentPlan {\n id String @id @default(cuid())\n totalAmount Float\n paidAmount Float @default(0)\n status String @default(\"PENDING\") // PENDING, ACTIVE, COMPLETED\n startDate DateTime\n endDate DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n mortgages Mortgage[]\n installments MortgageDownpaymentInstallment[]\n payments MortgageDownpaymentPayment[]\n\n @@map(\"mortgage_downpayment_plans\")\n}\n\nmodel MortgageDownpaymentInstallment {\n id String @id @default(cuid())\n planId String\n plan MortgageDownpaymentPlan @relation(fields: [planId], references: [id], onDelete: Cascade)\n amount Float\n dueDate DateTime\n isPaid Boolean @default(false)\n paidDate DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([planId])\n @@map(\"mortgage_downpayment_installments\")\n}\n\nmodel MortgageDownpaymentPayment {\n id String @id @default(cuid())\n planId String\n plan MortgageDownpaymentPlan @relation(fields: [planId], references: [id], onDelete: Cascade)\n amount Float\n paymentMethod String\n reference String?\n status String @default(\"PENDING\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([planId])\n @@map(\"mortgage_downpayment_payments\")\n}\n\nmodel MortgageTransition {\n id String @id @default(cuid())\n mortgageId String\n mortgage Mortgage @relation(fields: [mortgageId], references: [id], onDelete: Cascade)\n fromState String\n toState String\n trigger String\n metadata String? @db.Text // JSON\n transitionedAt DateTime @default(now())\n\n @@index([mortgageId])\n @@map(\"mortgage_transitions\")\n}\n\nmodel MortgageTransitionEvent {\n id String @id @default(cuid())\n mortgageId String\n mortgage Mortgage @relation(fields: [mortgageId], references: [id], onDelete: Cascade)\n event String\n data String? @db.Text // JSON\n createdAt DateTime @default(now())\n\n @@index([mortgageId])\n @@map(\"mortgage_transition_events\")\n}\n\n// =============================================================================\n// PAYMENT & CONTRACT DOMAIN\n// =============================================================================\n\nmodel PaymentPlan {\n id String @id @default(cuid())\n propertyId String\n property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)\n buyerId String?\n buyer User? @relation(fields: [buyerId], references: [id])\n planType String // MORTGAGE, INSTALLMENT, RENT_TO_OWN, LEASE, OUTRIGHT_PURCHASE, CUSTOM\n name String\n description String? @db.Text\n totalAmount Float\n downPaymentAmount Float @default(0)\n downPaymentPaid Float @default(0)\n principalAmount Float\n interestRate Float @default(0)\n totalInterest Float @default(0)\n state String @default(\"DRAFT\") // FSM state\n stateMetadata String? @db.Text\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n contract Contract?\n schedules PaymentSchedule[]\n payments Payment[]\n\n @@index([propertyId])\n @@index([buyerId])\n @@index([state])\n @@map(\"payment_plans\")\n}\n\nmodel PaymentSchedule {\n id String @id @default(cuid())\n planId String\n plan PaymentPlan @relation(fields: [planId], references: [id], onDelete: Cascade)\n name String\n frequency String // MONTHLY, WEEKLY, QUARTERLY, CUSTOM\n startDate DateTime\n endDate DateTime?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n installments PaymentInstallment[]\n payments Payment[]\n\n @@index([planId])\n @@map(\"payment_schedules\")\n}\n\nmodel PaymentInstallment {\n id String @id @default(cuid())\n scheduleId String\n schedule PaymentSchedule @relation(fields: [scheduleId], references: [id], onDelete: Cascade)\n installmentNumber Int\n amount Float\n principalAmount Float\n interestAmount Float\n dueDate DateTime\n status String @default(\"PENDING\") // PENDING, PAID, OVERDUE, WAIVED\n paidAmount Float @default(0)\n paidDate DateTime?\n lateFee Float @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n payments Payment[]\n\n @@index([scheduleId])\n @@index([dueDate])\n @@index([status])\n @@map(\"payment_installments\")\n}\n\nmodel Payment {\n id String @id @default(cuid())\n planId String\n plan PaymentPlan @relation(fields: [planId], references: [id], onDelete: Cascade)\n scheduleId String?\n schedule PaymentSchedule? @relation(fields: [scheduleId], references: [id])\n installmentId String?\n installment PaymentInstallment? @relation(fields: [installmentId], references: [id])\n payerId String?\n payer User? @relation(fields: [payerId], references: [id])\n amount Float\n principalAmount Float @default(0)\n interestAmount Float @default(0)\n lateFeeAmount Float @default(0)\n paymentMethod String // BANK_TRANSFER, CREDIT_CARD, WALLET, etc\n status String @default(\"INITIATED\") // INITIATED, PENDING, PROCESSING, COMPLETED, FAILED, CANCELLED, REFUNDED\n reference String? @unique\n gatewayResponse String? @db.Text // JSON\n processedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([planId])\n @@index([payerId])\n @@index([status])\n @@index([reference])\n @@map(\"payments\")\n}\n\nmodel Contract {\n id String @id @default(cuid())\n propertyId String\n property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)\n paymentPlanId String? @unique\n paymentPlan PaymentPlan? @relation(fields: [paymentPlanId], references: [id])\n buyerId String?\n buyer User? @relation(\"ContractBuyer\", fields: [buyerId], references: [id])\n sellerId String?\n seller User? @relation(\"ContractSeller\", fields: [sellerId], references: [id])\n contractType String // MORTGAGE, SALE_AGREEMENT, LEASE_AGREEMENT, etc\n contractNumber String @unique\n title String\n description String? @db.Text\n status String @default(\"DRAFT\") // DRAFT, PENDING_SIGNATURE, ACTIVE, COMPLETED, TERMINATED\n startDate DateTime?\n endDate DateTime?\n signedAt DateTime?\n terminatedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n documents ContractDocument[]\n\n @@index([propertyId])\n @@index([buyerId])\n @@index([sellerId])\n @@index([status])\n @@map(\"contracts\")\n}\n\nmodel ContractDocument {\n id String @id @default(cuid())\n contractId String\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n name String\n url String\n type String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([contractId])\n @@map(\"contract_documents\")\n}\n",
|
|
19
19
|
"runtimeDataModel": {
|
|
20
20
|
"models": {},
|
|
21
21
|
"enums": {},
|
|
22
22
|
"types": {}
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
-
config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"isVerified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"googleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tenantId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tenant\",\"kind\":\"object\",\"type\":\"Tenant\",\"relationName\":\"TenantToUser\"},{\"name\":\"roleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"object\",\"type\":\"Role\",\"relationName\":\"RoleToUser\"},{\"name\":\"walletId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"wallet\",\"kind\":\"object\",\"type\":\"Wallet\",\"relationName\":\"UserToWallet\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"emailVerifiedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastLoginAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"refreshTokens\",\"kind\":\"object\",\"type\":\"RefreshToken\",\"relationName\":\"RefreshTokenToUser\"},{\"name\":\"passwordResets\",\"kind\":\"object\",\"type\":\"PasswordReset\",\"relationName\":\"PasswordResetToUser\"},{\"name\":\"suspensions\",\"kind\":\"object\",\"type\":\"UserSuspension\",\"relationName\":\"UserToUserSuspension\"},{\"name\":\"emailPreferences\",\"kind\":\"object\",\"type\":\"EmailPreference\",\"relationName\":\"EmailPreferenceToUser\"},{\"name\":\"deviceEndpoints\",\"kind\":\"object\",\"type\":\"DeviceEndpoint\",\"relationName\":\"DeviceEndpointToUser\"},{\"name\":\"socials\",\"kind\":\"object\",\"type\":\"Social\",\"relationName\":\"SocialToUser\"},{\"name\":\"properties\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"PropertyToUser\"},{\"name\":\"mortgages\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageBorrower\"},{\"name\":\"paymentPlans\",\"kind\":\"object\",\"type\":\"PaymentPlan\",\"relationName\":\"PaymentPlanToUser\"},{\"name\":\"contracts\",\"kind\":\"object\",\"type\":\"Contract\",\"relationName\":\"ContractBuyer\"},{\"name\":\"soldContracts\",\"kind\":\"object\",\"type\":\"Contract\",\"relationName\":\"ContractSeller\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToUser\"}],\"dbName\":\"users\"},\"Role\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"RoleToUser\"},{\"name\":\"permissions\",\"kind\":\"object\",\"type\":\"RolePermission\",\"relationName\":\"RoleToRolePermission\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"roles\"},\"Permission\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resource\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"action\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"roles\",\"kind\":\"object\",\"type\":\"RolePermission\",\"relationName\":\"PermissionToRolePermission\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"permissions\"},\"RolePermission\":{\"fields\":[{\"name\":\"roleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permissionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"object\",\"type\":\"Role\",\"relationName\":\"RoleToRolePermission\"},{\"name\":\"permission\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"PermissionToRolePermission\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"role_permissions\"},\"Tenant\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subdomain\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TenantToUser\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"tenants\"},\"RefreshToken\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"RefreshTokenToUser\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"refresh_tokens\"},\"PasswordReset\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PasswordResetToUser\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"usedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"password_resets\"},\"UserSuspension\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserSuspension\"},{\"name\":\"reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"suspendedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"liftedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"user_suspensions\"},\"EmailPreference\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"EmailPreferenceToUser\"},{\"name\":\"marketingEmails\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"transactionalEmails\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"propertyAlerts\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"paymentReminders\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"email_preferences\"},\"DeviceEndpoint\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DeviceEndpointToUser\"},{\"name\":\"endpoint\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"platform\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"device_endpoints\"},\"Social\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"SocialToUser\"},{\"name\":\"provider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"socialId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"socials\"},\"Wallet\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"balance\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToWallet\"},{\"name\":\"transactions\",\"kind\":\"object\",\"type\":\"Transaction\",\"relationName\":\"TransactionToWallet\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"wallets\"},\"Transaction\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"walletId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"wallet\",\"kind\":\"object\",\"type\":\"Wallet\",\"relationName\":\"TransactionToWallet\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reference\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"transactions\"},\"Settings\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"settings\"},\"Property\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PropertyToUser\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"district\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zipCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"streetAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nBedrooms\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nBathrooms\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nParkingSpots\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"area\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayImageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayImage\",\"kind\":\"object\",\"type\":\"PropertyMedia\",\"relationName\":\"DisplayImage\"},{\"name\":\"isPublished\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"publishedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"PropertyDocument\",\"relationName\":\"PropertyToPropertyDocument\"},{\"name\":\"media\",\"kind\":\"object\",\"type\":\"PropertyMedia\",\"relationName\":\"PropertyMedia\"},{\"name\":\"amenities\",\"kind\":\"object\",\"type\":\"PropertyAmenity\",\"relationName\":\"PropertyToPropertyAmenity\"},{\"name\":\"mortgages\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToProperty\"},{\"name\":\"paymentPlans\",\"kind\":\"object\",\"type\":\"PaymentPlan\",\"relationName\":\"PaymentPlanToProperty\"},{\"name\":\"contracts\",\"kind\":\"object\",\"type\":\"Contract\",\"relationName\":\"ContractToProperty\"}],\"dbName\":\"properties\"},\"PropertyMedia\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"PropertyMedia\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"caption\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"displayForProperties\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"DisplayImage\"}],\"dbName\":\"property_media\"},\"PropertyDocument\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"PropertyToPropertyDocument\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"property_documents\"},\"Amenity\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"properties\",\"kind\":\"object\",\"type\":\"PropertyAmenity\",\"relationName\":\"AmenityToPropertyAmenity\"}],\"dbName\":\"amenities\"},\"PropertyAmenity\":{\"fields\":[{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"amenityId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"PropertyToPropertyAmenity\"},{\"name\":\"amenity\",\"kind\":\"object\",\"type\":\"Amenity\",\"relationName\":\"AmenityToPropertyAmenity\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"property_amenities\"},\"Mortgage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"MortgageToProperty\"},{\"name\":\"borrowerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"borrower\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"MortgageBorrower\"},{\"name\":\"mortgageTypeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgageType\",\"kind\":\"object\",\"type\":\"MortgageType\",\"relationName\":\"MortgageToMortgageType\"},{\"name\":\"downpaymentPlanId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"downpaymentPlan\",\"kind\":\"object\",\"type\":\"MortgageDownpaymentPlan\",\"relationName\":\"MortgageToMortgageDownpaymentPlan\"},{\"name\":\"principal\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"downPayment\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"downPaymentPaid\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"termMonths\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"interestRate\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"monthlyPayment\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stateMetadata\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastReminderSentAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"MortgageDocument\",\"relationName\":\"MortgageToMortgageDocument\"},{\"name\":\"steps\",\"kind\":\"object\",\"type\":\"MortgageStep\",\"relationName\":\"MortgageToMortgageStep\"},{\"name\":\"transitions\",\"kind\":\"object\",\"type\":\"MortgageTransition\",\"relationName\":\"MortgageToMortgageTransition\"},{\"name\":\"transitionEvents\",\"kind\":\"object\",\"type\":\"MortgageTransitionEvent\",\"relationName\":\"MortgageToMortgageTransitionEvent\"}],\"dbName\":\"mortgages\"},\"MortgageType\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"mortgages\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageType\"}],\"dbName\":\"mortgage_types\"},\"MortgageDocument\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgage\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageDocument\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_documents\"},\"MortgageStep\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgage\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageStep\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"isCompleted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_steps\"},\"MortgageDownpaymentPlan\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"totalAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"paidAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"mortgages\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageDownpaymentPlan\"},{\"name\":\"installments\",\"kind\":\"object\",\"type\":\"MortgageDownpaymentInstallment\",\"relationName\":\"MortgageDownpaymentInstallmentToMortgageDownpaymentPlan\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"MortgageDownpaymentPayment\",\"relationName\":\"MortgageDownpaymentPaymentToMortgageDownpaymentPlan\"}],\"dbName\":\"mortgage_downpayment_plans\"},\"MortgageDownpaymentInstallment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"planId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan\",\"kind\":\"object\",\"type\":\"MortgageDownpaymentPlan\",\"relationName\":\"MortgageDownpaymentInstallmentToMortgageDownpaymentPlan\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"dueDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"isPaid\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"paidDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_downpayment_installments\"},\"MortgageDownpaymentPayment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"planId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan\",\"kind\":\"object\",\"type\":\"MortgageDownpaymentPlan\",\"relationName\":\"MortgageDownpaymentPaymentToMortgageDownpaymentPlan\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"paymentMethod\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reference\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_downpayment_payments\"},\"MortgageTransition\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgage\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageTransition\"},{\"name\":\"fromState\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toState\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trigger\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"transitionedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_transitions\"},\"MortgageTransitionEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgage\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageTransitionEvent\"},{\"name\":\"event\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_transition_events\"},\"PaymentPlan\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"PaymentPlanToProperty\"},{\"name\":\"buyerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"buyer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PaymentPlanToUser\"},{\"name\":\"planType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"totalAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"downPaymentAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"downPaymentPaid\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"principalAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"interestRate\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"totalInterest\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stateMetadata\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"contract\",\"kind\":\"object\",\"type\":\"Contract\",\"relationName\":\"ContractToPaymentPlan\"},{\"name\":\"schedules\",\"kind\":\"object\",\"type\":\"PaymentSchedule\",\"relationName\":\"PaymentPlanToPaymentSchedule\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToPaymentPlan\"}],\"dbName\":\"payment_plans\"},\"PaymentSchedule\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"planId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan\",\"kind\":\"object\",\"type\":\"PaymentPlan\",\"relationName\":\"PaymentPlanToPaymentSchedule\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"frequency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"installments\",\"kind\":\"object\",\"type\":\"PaymentInstallment\",\"relationName\":\"PaymentInstallmentToPaymentSchedule\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToPaymentSchedule\"}],\"dbName\":\"payment_schedules\"},\"PaymentInstallment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"schedule\",\"kind\":\"object\",\"type\":\"PaymentSchedule\",\"relationName\":\"PaymentInstallmentToPaymentSchedule\"},{\"name\":\"installmentNumber\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"principalAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"interestAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"dueDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paidAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"paidDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lateFee\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToPaymentInstallment\"}],\"dbName\":\"payment_installments\"},\"Payment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"planId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan\",\"kind\":\"object\",\"type\":\"PaymentPlan\",\"relationName\":\"PaymentToPaymentPlan\"},{\"name\":\"scheduleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"schedule\",\"kind\":\"object\",\"type\":\"PaymentSchedule\",\"relationName\":\"PaymentToPaymentSchedule\"},{\"name\":\"installmentId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"installment\",\"kind\":\"object\",\"type\":\"PaymentInstallment\",\"relationName\":\"PaymentToPaymentInstallment\"},{\"name\":\"payerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"payer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PaymentToUser\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"principalAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"interestAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"lateFeeAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"paymentMethod\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reference\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gatewayResponse\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"processedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"payments\"},\"Contract\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"ContractToProperty\"},{\"name\":\"paymentPlanId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paymentPlan\",\"kind\":\"object\",\"type\":\"PaymentPlan\",\"relationName\":\"ContractToPaymentPlan\"},{\"name\":\"buyerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"buyer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ContractBuyer\"},{\"name\":\"sellerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"seller\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ContractSeller\"},{\"name\":\"contractType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contractNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"signedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"terminatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"ContractDocument\",\"relationName\":\"ContractToContractDocument\"}],\"dbName\":\"contracts\"},\"ContractDocument\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contractId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contract\",\"kind\":\"object\",\"type\":\"Contract\",\"relationName\":\"ContractToContractDocument\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"contract_documents\"}},\"enums\":{},\"types\":{}}");
|
|
25
|
+
config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"isVerified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"googleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tenantId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tenant\",\"kind\":\"object\",\"type\":\"Tenant\",\"relationName\":\"TenantToUser\"},{\"name\":\"userRoles\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"UserToUserRole\"},{\"name\":\"walletId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"wallet\",\"kind\":\"object\",\"type\":\"Wallet\",\"relationName\":\"UserToWallet\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"emailVerifiedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"emailVerificationToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastLoginAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"refreshTokens\",\"kind\":\"object\",\"type\":\"RefreshToken\",\"relationName\":\"RefreshTokenToUser\"},{\"name\":\"passwordResets\",\"kind\":\"object\",\"type\":\"PasswordReset\",\"relationName\":\"PasswordResetToUser\"},{\"name\":\"suspensions\",\"kind\":\"object\",\"type\":\"UserSuspension\",\"relationName\":\"UserToUserSuspension\"},{\"name\":\"emailPreferences\",\"kind\":\"object\",\"type\":\"EmailPreference\",\"relationName\":\"EmailPreferenceToUser\"},{\"name\":\"deviceEndpoints\",\"kind\":\"object\",\"type\":\"DeviceEndpoint\",\"relationName\":\"DeviceEndpointToUser\"},{\"name\":\"socials\",\"kind\":\"object\",\"type\":\"Social\",\"relationName\":\"SocialToUser\"},{\"name\":\"properties\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"PropertyToUser\"},{\"name\":\"mortgages\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageBorrower\"},{\"name\":\"paymentPlans\",\"kind\":\"object\",\"type\":\"PaymentPlan\",\"relationName\":\"PaymentPlanToUser\"},{\"name\":\"contracts\",\"kind\":\"object\",\"type\":\"Contract\",\"relationName\":\"ContractBuyer\"},{\"name\":\"soldContracts\",\"kind\":\"object\",\"type\":\"Contract\",\"relationName\":\"ContractSeller\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToUser\"}],\"dbName\":\"users\"},\"Role\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userRoles\",\"kind\":\"object\",\"type\":\"UserRole\",\"relationName\":\"RoleToUserRole\"},{\"name\":\"permissions\",\"kind\":\"object\",\"type\":\"RolePermission\",\"relationName\":\"RoleToRolePermission\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"roles\"},\"Permission\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resource\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"action\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"roles\",\"kind\":\"object\",\"type\":\"RolePermission\",\"relationName\":\"PermissionToRolePermission\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"permissions\"},\"RolePermission\":{\"fields\":[{\"name\":\"roleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"permissionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"object\",\"type\":\"Role\",\"relationName\":\"RoleToRolePermission\"},{\"name\":\"permission\",\"kind\":\"object\",\"type\":\"Permission\",\"relationName\":\"PermissionToRolePermission\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"role_permissions\"},\"UserRole\":{\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"roleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserRole\"},{\"name\":\"role\",\"kind\":\"object\",\"type\":\"Role\",\"relationName\":\"RoleToUserRole\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"user_roles\"},\"Tenant\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"subdomain\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"users\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TenantToUser\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"tenants\"},\"RefreshToken\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"RefreshTokenToUser\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"refresh_tokens\"},\"PasswordReset\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PasswordResetToUser\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"usedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"password_resets\"},\"UserSuspension\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToUserSuspension\"},{\"name\":\"reason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"suspendedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"liftedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"user_suspensions\"},\"EmailPreference\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"EmailPreferenceToUser\"},{\"name\":\"marketingEmails\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"transactionalEmails\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"propertyAlerts\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"paymentReminders\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"email_preferences\"},\"DeviceEndpoint\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DeviceEndpointToUser\"},{\"name\":\"endpoint\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"platform\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"device_endpoints\"},\"Social\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"SocialToUser\"},{\"name\":\"provider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"socialId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"socials\"},\"Wallet\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"balance\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"UserToWallet\"},{\"name\":\"transactions\",\"kind\":\"object\",\"type\":\"Transaction\",\"relationName\":\"TransactionToWallet\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"wallets\"},\"Transaction\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"walletId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"wallet\",\"kind\":\"object\",\"type\":\"Wallet\",\"relationName\":\"TransactionToWallet\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reference\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"transactions\"},\"Settings\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"settings\"},\"Property\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PropertyToUser\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"category\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"currency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"district\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zipCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"streetAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nBedrooms\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nBathrooms\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nParkingSpots\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"longitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"latitude\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"area\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayImageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayImage\",\"kind\":\"object\",\"type\":\"PropertyMedia\",\"relationName\":\"DisplayImage\"},{\"name\":\"isPublished\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"publishedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"PropertyDocument\",\"relationName\":\"PropertyToPropertyDocument\"},{\"name\":\"media\",\"kind\":\"object\",\"type\":\"PropertyMedia\",\"relationName\":\"PropertyMedia\"},{\"name\":\"amenities\",\"kind\":\"object\",\"type\":\"PropertyAmenity\",\"relationName\":\"PropertyToPropertyAmenity\"},{\"name\":\"mortgages\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToProperty\"},{\"name\":\"paymentPlans\",\"kind\":\"object\",\"type\":\"PaymentPlan\",\"relationName\":\"PaymentPlanToProperty\"},{\"name\":\"contracts\",\"kind\":\"object\",\"type\":\"Contract\",\"relationName\":\"ContractToProperty\"}],\"dbName\":\"properties\"},\"PropertyMedia\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"PropertyMedia\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"caption\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"displayForProperties\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"DisplayImage\"}],\"dbName\":\"property_media\"},\"PropertyDocument\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"PropertyToPropertyDocument\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"property_documents\"},\"Amenity\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"properties\",\"kind\":\"object\",\"type\":\"PropertyAmenity\",\"relationName\":\"AmenityToPropertyAmenity\"}],\"dbName\":\"amenities\"},\"PropertyAmenity\":{\"fields\":[{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"amenityId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"PropertyToPropertyAmenity\"},{\"name\":\"amenity\",\"kind\":\"object\",\"type\":\"Amenity\",\"relationName\":\"AmenityToPropertyAmenity\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"property_amenities\"},\"Mortgage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"MortgageToProperty\"},{\"name\":\"borrowerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"borrower\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"MortgageBorrower\"},{\"name\":\"mortgageTypeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgageType\",\"kind\":\"object\",\"type\":\"MortgageType\",\"relationName\":\"MortgageToMortgageType\"},{\"name\":\"downpaymentPlanId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"downpaymentPlan\",\"kind\":\"object\",\"type\":\"MortgageDownpaymentPlan\",\"relationName\":\"MortgageToMortgageDownpaymentPlan\"},{\"name\":\"principal\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"downPayment\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"downPaymentPaid\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"termMonths\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"interestRate\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"monthlyPayment\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stateMetadata\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastReminderSentAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"MortgageDocument\",\"relationName\":\"MortgageToMortgageDocument\"},{\"name\":\"steps\",\"kind\":\"object\",\"type\":\"MortgageStep\",\"relationName\":\"MortgageToMortgageStep\"},{\"name\":\"transitions\",\"kind\":\"object\",\"type\":\"MortgageTransition\",\"relationName\":\"MortgageToMortgageTransition\"},{\"name\":\"transitionEvents\",\"kind\":\"object\",\"type\":\"MortgageTransitionEvent\",\"relationName\":\"MortgageToMortgageTransitionEvent\"}],\"dbName\":\"mortgages\"},\"MortgageType\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"mortgages\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageType\"}],\"dbName\":\"mortgage_types\"},\"MortgageDocument\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgage\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageDocument\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_documents\"},\"MortgageStep\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgage\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageStep\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"isCompleted\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_steps\"},\"MortgageDownpaymentPlan\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"totalAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"paidAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"mortgages\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageDownpaymentPlan\"},{\"name\":\"installments\",\"kind\":\"object\",\"type\":\"MortgageDownpaymentInstallment\",\"relationName\":\"MortgageDownpaymentInstallmentToMortgageDownpaymentPlan\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"MortgageDownpaymentPayment\",\"relationName\":\"MortgageDownpaymentPaymentToMortgageDownpaymentPlan\"}],\"dbName\":\"mortgage_downpayment_plans\"},\"MortgageDownpaymentInstallment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"planId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan\",\"kind\":\"object\",\"type\":\"MortgageDownpaymentPlan\",\"relationName\":\"MortgageDownpaymentInstallmentToMortgageDownpaymentPlan\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"dueDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"isPaid\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"paidDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_downpayment_installments\"},\"MortgageDownpaymentPayment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"planId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan\",\"kind\":\"object\",\"type\":\"MortgageDownpaymentPlan\",\"relationName\":\"MortgageDownpaymentPaymentToMortgageDownpaymentPlan\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"paymentMethod\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reference\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_downpayment_payments\"},\"MortgageTransition\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgage\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageTransition\"},{\"name\":\"fromState\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toState\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"trigger\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"transitionedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_transitions\"},\"MortgageTransitionEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mortgage\",\"kind\":\"object\",\"type\":\"Mortgage\",\"relationName\":\"MortgageToMortgageTransitionEvent\"},{\"name\":\"event\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"mortgage_transition_events\"},\"PaymentPlan\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"PaymentPlanToProperty\"},{\"name\":\"buyerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"buyer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PaymentPlanToUser\"},{\"name\":\"planType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"totalAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"downPaymentAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"downPaymentPaid\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"principalAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"interestRate\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"totalInterest\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"state\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stateMetadata\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"contract\",\"kind\":\"object\",\"type\":\"Contract\",\"relationName\":\"ContractToPaymentPlan\"},{\"name\":\"schedules\",\"kind\":\"object\",\"type\":\"PaymentSchedule\",\"relationName\":\"PaymentPlanToPaymentSchedule\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToPaymentPlan\"}],\"dbName\":\"payment_plans\"},\"PaymentSchedule\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"planId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan\",\"kind\":\"object\",\"type\":\"PaymentPlan\",\"relationName\":\"PaymentPlanToPaymentSchedule\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"frequency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"installments\",\"kind\":\"object\",\"type\":\"PaymentInstallment\",\"relationName\":\"PaymentInstallmentToPaymentSchedule\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToPaymentSchedule\"}],\"dbName\":\"payment_schedules\"},\"PaymentInstallment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scheduleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"schedule\",\"kind\":\"object\",\"type\":\"PaymentSchedule\",\"relationName\":\"PaymentInstallmentToPaymentSchedule\"},{\"name\":\"installmentNumber\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"principalAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"interestAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"dueDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paidAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"paidDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lateFee\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToPaymentInstallment\"}],\"dbName\":\"payment_installments\"},\"Payment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"planId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"plan\",\"kind\":\"object\",\"type\":\"PaymentPlan\",\"relationName\":\"PaymentToPaymentPlan\"},{\"name\":\"scheduleId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"schedule\",\"kind\":\"object\",\"type\":\"PaymentSchedule\",\"relationName\":\"PaymentToPaymentSchedule\"},{\"name\":\"installmentId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"installment\",\"kind\":\"object\",\"type\":\"PaymentInstallment\",\"relationName\":\"PaymentToPaymentInstallment\"},{\"name\":\"payerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"payer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PaymentToUser\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"principalAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"interestAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"lateFeeAmount\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"paymentMethod\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"reference\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"gatewayResponse\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"processedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"payments\"},\"Contract\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"propertyId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"property\",\"kind\":\"object\",\"type\":\"Property\",\"relationName\":\"ContractToProperty\"},{\"name\":\"paymentPlanId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paymentPlan\",\"kind\":\"object\",\"type\":\"PaymentPlan\",\"relationName\":\"ContractToPaymentPlan\"},{\"name\":\"buyerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"buyer\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ContractBuyer\"},{\"name\":\"sellerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"seller\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ContractSeller\"},{\"name\":\"contractType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contractNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"signedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"terminatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"ContractDocument\",\"relationName\":\"ContractToContractDocument\"}],\"dbName\":\"contracts\"},\"ContractDocument\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contractId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"contract\",\"kind\":\"object\",\"type\":\"Contract\",\"relationName\":\"ContractToContractDocument\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"contract_documents\"}},\"enums\":{},\"types\":{}}");
|
|
26
26
|
async function decodeBase64AsWasm(wasmBase64) {
|
|
27
27
|
const { Buffer } = await import('node:buffer');
|
|
28
28
|
const wasmArray = Buffer.from(wasmBase64, 'base64');
|
|
@@ -235,6 +235,7 @@ export declare const ModelName: {
|
|
|
235
235
|
readonly Role: "Role";
|
|
236
236
|
readonly Permission: "Permission";
|
|
237
237
|
readonly RolePermission: "RolePermission";
|
|
238
|
+
readonly UserRole: "UserRole";
|
|
238
239
|
readonly Tenant: "Tenant";
|
|
239
240
|
readonly RefreshToken: "RefreshToken";
|
|
240
241
|
readonly PasswordReset: "PasswordReset";
|
|
@@ -277,7 +278,7 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|
|
277
278
|
omit: GlobalOmitOptions;
|
|
278
279
|
};
|
|
279
280
|
meta: {
|
|
280
|
-
modelProps: "user" | "role" | "permission" | "rolePermission" | "tenant" | "refreshToken" | "passwordReset" | "userSuspension" | "emailPreference" | "deviceEndpoint" | "social" | "wallet" | "transaction" | "settings" | "property" | "propertyMedia" | "propertyDocument" | "amenity" | "propertyAmenity" | "mortgage" | "mortgageType" | "mortgageDocument" | "mortgageStep" | "mortgageDownpaymentPlan" | "mortgageDownpaymentInstallment" | "mortgageDownpaymentPayment" | "mortgageTransition" | "mortgageTransitionEvent" | "paymentPlan" | "paymentSchedule" | "paymentInstallment" | "payment" | "contract" | "contractDocument";
|
|
281
|
+
modelProps: "user" | "role" | "permission" | "rolePermission" | "userRole" | "tenant" | "refreshToken" | "passwordReset" | "userSuspension" | "emailPreference" | "deviceEndpoint" | "social" | "wallet" | "transaction" | "settings" | "property" | "propertyMedia" | "propertyDocument" | "amenity" | "propertyAmenity" | "mortgage" | "mortgageType" | "mortgageDocument" | "mortgageStep" | "mortgageDownpaymentPlan" | "mortgageDownpaymentInstallment" | "mortgageDownpaymentPayment" | "mortgageTransition" | "mortgageTransitionEvent" | "paymentPlan" | "paymentSchedule" | "paymentInstallment" | "payment" | "contract" | "contractDocument";
|
|
281
282
|
txIsolationLevel: TransactionIsolationLevel;
|
|
282
283
|
};
|
|
283
284
|
model: {
|
|
@@ -545,6 +546,72 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|
|
545
546
|
};
|
|
546
547
|
};
|
|
547
548
|
};
|
|
549
|
+
UserRole: {
|
|
550
|
+
payload: Prisma.$UserRolePayload<ExtArgs>;
|
|
551
|
+
fields: Prisma.UserRoleFieldRefs;
|
|
552
|
+
operations: {
|
|
553
|
+
findUnique: {
|
|
554
|
+
args: Prisma.UserRoleFindUniqueArgs<ExtArgs>;
|
|
555
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserRolePayload> | null;
|
|
556
|
+
};
|
|
557
|
+
findUniqueOrThrow: {
|
|
558
|
+
args: Prisma.UserRoleFindUniqueOrThrowArgs<ExtArgs>;
|
|
559
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserRolePayload>;
|
|
560
|
+
};
|
|
561
|
+
findFirst: {
|
|
562
|
+
args: Prisma.UserRoleFindFirstArgs<ExtArgs>;
|
|
563
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserRolePayload> | null;
|
|
564
|
+
};
|
|
565
|
+
findFirstOrThrow: {
|
|
566
|
+
args: Prisma.UserRoleFindFirstOrThrowArgs<ExtArgs>;
|
|
567
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserRolePayload>;
|
|
568
|
+
};
|
|
569
|
+
findMany: {
|
|
570
|
+
args: Prisma.UserRoleFindManyArgs<ExtArgs>;
|
|
571
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserRolePayload>[];
|
|
572
|
+
};
|
|
573
|
+
create: {
|
|
574
|
+
args: Prisma.UserRoleCreateArgs<ExtArgs>;
|
|
575
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserRolePayload>;
|
|
576
|
+
};
|
|
577
|
+
createMany: {
|
|
578
|
+
args: Prisma.UserRoleCreateManyArgs<ExtArgs>;
|
|
579
|
+
result: BatchPayload;
|
|
580
|
+
};
|
|
581
|
+
delete: {
|
|
582
|
+
args: Prisma.UserRoleDeleteArgs<ExtArgs>;
|
|
583
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserRolePayload>;
|
|
584
|
+
};
|
|
585
|
+
update: {
|
|
586
|
+
args: Prisma.UserRoleUpdateArgs<ExtArgs>;
|
|
587
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserRolePayload>;
|
|
588
|
+
};
|
|
589
|
+
deleteMany: {
|
|
590
|
+
args: Prisma.UserRoleDeleteManyArgs<ExtArgs>;
|
|
591
|
+
result: BatchPayload;
|
|
592
|
+
};
|
|
593
|
+
updateMany: {
|
|
594
|
+
args: Prisma.UserRoleUpdateManyArgs<ExtArgs>;
|
|
595
|
+
result: BatchPayload;
|
|
596
|
+
};
|
|
597
|
+
upsert: {
|
|
598
|
+
args: Prisma.UserRoleUpsertArgs<ExtArgs>;
|
|
599
|
+
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserRolePayload>;
|
|
600
|
+
};
|
|
601
|
+
aggregate: {
|
|
602
|
+
args: Prisma.UserRoleAggregateArgs<ExtArgs>;
|
|
603
|
+
result: runtime.Types.Utils.Optional<Prisma.AggregateUserRole>;
|
|
604
|
+
};
|
|
605
|
+
groupBy: {
|
|
606
|
+
args: Prisma.UserRoleGroupByArgs<ExtArgs>;
|
|
607
|
+
result: runtime.Types.Utils.Optional<Prisma.UserRoleGroupByOutputType>[];
|
|
608
|
+
};
|
|
609
|
+
count: {
|
|
610
|
+
args: Prisma.UserRoleCountArgs<ExtArgs>;
|
|
611
|
+
result: runtime.Types.Utils.Optional<Prisma.UserRoleCountAggregateOutputType> | number;
|
|
612
|
+
};
|
|
613
|
+
};
|
|
614
|
+
};
|
|
548
615
|
Tenant: {
|
|
549
616
|
payload: Prisma.$TenantPayload<ExtArgs>;
|
|
550
617
|
fields: Prisma.TenantFieldRefs;
|
|
@@ -2563,17 +2630,18 @@ export declare const UserScalarFieldEnum: {
|
|
|
2563
2630
|
readonly id: "id";
|
|
2564
2631
|
readonly email: "email";
|
|
2565
2632
|
readonly password: "password";
|
|
2633
|
+
readonly phone: "phone";
|
|
2566
2634
|
readonly firstName: "firstName";
|
|
2567
2635
|
readonly lastName: "lastName";
|
|
2568
2636
|
readonly isActive: "isActive";
|
|
2569
2637
|
readonly isVerified: "isVerified";
|
|
2570
2638
|
readonly googleId: "googleId";
|
|
2571
2639
|
readonly tenantId: "tenantId";
|
|
2572
|
-
readonly roleId: "roleId";
|
|
2573
2640
|
readonly walletId: "walletId";
|
|
2574
2641
|
readonly createdAt: "createdAt";
|
|
2575
2642
|
readonly updatedAt: "updatedAt";
|
|
2576
2643
|
readonly emailVerifiedAt: "emailVerifiedAt";
|
|
2644
|
+
readonly emailVerificationToken: "emailVerificationToken";
|
|
2577
2645
|
readonly lastLoginAt: "lastLoginAt";
|
|
2578
2646
|
};
|
|
2579
2647
|
export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum];
|
|
@@ -2601,6 +2669,12 @@ export declare const RolePermissionScalarFieldEnum: {
|
|
|
2601
2669
|
readonly createdAt: "createdAt";
|
|
2602
2670
|
};
|
|
2603
2671
|
export type RolePermissionScalarFieldEnum = (typeof RolePermissionScalarFieldEnum)[keyof typeof RolePermissionScalarFieldEnum];
|
|
2672
|
+
export declare const UserRoleScalarFieldEnum: {
|
|
2673
|
+
readonly userId: "userId";
|
|
2674
|
+
readonly roleId: "roleId";
|
|
2675
|
+
readonly createdAt: "createdAt";
|
|
2676
|
+
};
|
|
2677
|
+
export type UserRoleScalarFieldEnum = (typeof UserRoleScalarFieldEnum)[keyof typeof UserRoleScalarFieldEnum];
|
|
2604
2678
|
export declare const TenantScalarFieldEnum: {
|
|
2605
2679
|
readonly id: "id";
|
|
2606
2680
|
readonly name: "name";
|
|
@@ -2967,12 +3041,13 @@ export declare const UserOrderByRelevanceFieldEnum: {
|
|
|
2967
3041
|
readonly id: "id";
|
|
2968
3042
|
readonly email: "email";
|
|
2969
3043
|
readonly password: "password";
|
|
3044
|
+
readonly phone: "phone";
|
|
2970
3045
|
readonly firstName: "firstName";
|
|
2971
3046
|
readonly lastName: "lastName";
|
|
2972
3047
|
readonly googleId: "googleId";
|
|
2973
3048
|
readonly tenantId: "tenantId";
|
|
2974
|
-
readonly roleId: "roleId";
|
|
2975
3049
|
readonly walletId: "walletId";
|
|
3050
|
+
readonly emailVerificationToken: "emailVerificationToken";
|
|
2976
3051
|
};
|
|
2977
3052
|
export type UserOrderByRelevanceFieldEnum = (typeof UserOrderByRelevanceFieldEnum)[keyof typeof UserOrderByRelevanceFieldEnum];
|
|
2978
3053
|
export declare const RoleOrderByRelevanceFieldEnum: {
|
|
@@ -2994,6 +3069,11 @@ export declare const RolePermissionOrderByRelevanceFieldEnum: {
|
|
|
2994
3069
|
readonly permissionId: "permissionId";
|
|
2995
3070
|
};
|
|
2996
3071
|
export type RolePermissionOrderByRelevanceFieldEnum = (typeof RolePermissionOrderByRelevanceFieldEnum)[keyof typeof RolePermissionOrderByRelevanceFieldEnum];
|
|
3072
|
+
export declare const UserRoleOrderByRelevanceFieldEnum: {
|
|
3073
|
+
readonly userId: "userId";
|
|
3074
|
+
readonly roleId: "roleId";
|
|
3075
|
+
};
|
|
3076
|
+
export type UserRoleOrderByRelevanceFieldEnum = (typeof UserRoleOrderByRelevanceFieldEnum)[keyof typeof UserRoleOrderByRelevanceFieldEnum];
|
|
2997
3077
|
export declare const TenantOrderByRelevanceFieldEnum: {
|
|
2998
3078
|
readonly id: "id";
|
|
2999
3079
|
readonly name: "name";
|
|
@@ -3348,6 +3428,7 @@ export type GlobalOmitConfig = {
|
|
|
3348
3428
|
role?: Prisma.RoleOmit;
|
|
3349
3429
|
permission?: Prisma.PermissionOmit;
|
|
3350
3430
|
rolePermission?: Prisma.RolePermissionOmit;
|
|
3431
|
+
userRole?: Prisma.UserRoleOmit;
|
|
3351
3432
|
tenant?: Prisma.TenantOmit;
|
|
3352
3433
|
refreshToken?: Prisma.RefreshTokenOmit;
|
|
3353
3434
|
passwordReset?: Prisma.PasswordResetOmit;
|