@vrplatform/kysely 1.3.3 → 1.3.4
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/build/.data.tar +0 -0
- package/build/main/browser/index.d.ts +17 -0
- package/build/main/browser/index.js +65 -0
- package/build/main/browser/index.js.map +1 -0
- package/build/main/browser/worker.d.ts +1 -0
- package/build/main/browser/worker.js +42 -0
- package/build/main/browser/worker.js.map +1 -0
- package/build/main/index.d.ts +2 -7
- package/build/main/index.js +2 -40
- package/build/main/index.js.map +1 -1
- package/build/main/isomorphic.d.ts +11 -0
- package/build/main/isomorphic.js +30 -0
- package/build/main/isomorphic.js.map +1 -0
- package/build/main/local/digest.d.ts +2 -0
- package/build/main/local/digest.js +22 -0
- package/build/main/local/digest.js.map +1 -0
- package/build/main/local/generate.js +6 -4
- package/build/main/local/generate.js.map +1 -1
- package/build/main/local/index.js +8 -5
- package/build/main/local/index.js.map +1 -1
- package/build/main/tsconfig.main.tsbuildinfo +1 -1
- package/build/main/v1.generated.d.ts +5 -4
- package/build/main/v1.generated.js.map +1 -1
- package/build/module/index.d.ts +2 -7
- package/build/module/index.js +1 -36
- package/build/module/index.js.map +1 -1
- package/build/module/isomorphic.d.ts +11 -0
- package/build/module/isomorphic.js +10 -0
- package/build/module/isomorphic.js.map +1 -0
- package/build/module/local/digest.d.ts +2 -0
- package/build/module/local/digest.js +19 -0
- package/build/module/local/digest.js.map +1 -0
- package/build/module/local/generate.js +6 -4
- package/build/module/local/generate.js.map +1 -1
- package/build/module/local/index.js +8 -5
- package/build/module/local/index.js.map +1 -1
- package/build/module/tsconfig.esm.tsbuildinfo +1 -1
- package/build/module/v1.generated.d.ts +5 -4
- package/build/module/v1.generated.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +1 -58
- package/src/isomorphic.ts +32 -0
- package/src/local/digest.ts +18 -0
- package/src/local/generate.ts +6 -6
- package/src/local/index.ts +8 -7
- package/src/v1.generated.ts +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1.generated.js","sourceRoot":"src/","sources":["v1.generated.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * This file was generated by kysely-codegen.\n * Please do not edit it manually.\n */\n\nimport type { ColumnType } from \"kysely\";\n\nexport type Generated<T> = T extends ColumnType<infer S, infer I, infer U>\n ? ColumnType<S, I | undefined, U>\n : ColumnType<T, T | undefined, T>;\n\nexport type Int8 = ColumnType<string, bigint | number | string, bigint | number | string>;\n\nexport type Json = JsonValue;\n\nexport type JsonArray = JsonValue[];\n\nexport type JsonObject = {\n [x: string]: JsonValue | undefined;\n};\n\nexport type JsonPrimitive = boolean | number | string | null;\n\nexport type JsonValue = JsonArray | JsonObject | JsonPrimitive;\n\nexport type Numeric = ColumnType<string, number | string, number | string>;\n\nexport type PublicFlowType = \"pull\" | \"push\";\n\nexport type StoreEffectStatus = \"claimed\" | \"completed\" | \"dead_letter\" | \"failed\" | \"pending\" | \"running\";\n\nexport type Timestamp = ColumnType<Date, Date | string, Date | string>;\n\nexport interface AccountingAccount {\n bankingCategory: string | null;\n bankingCurrency: string | null;\n bankingLast4: string | null;\n bankingType: string | null;\n categoryId: string | null;\n /**\n * deprecated\n */\n classification: string | null;\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n offsetAccountId: string | null;\n status: Generated<string | null>;\n tenantId: string | null;\n title: string | null;\n type: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface AccountingAccountAssignment {\n accountId: string | null;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n tenantId: string;\n type: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingAccountAssignmentLineType {\n accountAssignmentType: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n lineType: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingAccountAssignmentType {\n name: string;\n}\n\nexport interface AccountingAccountCategory {\n classification: string | null;\n id: Generated<string>;\n index: number;\n name: string;\n}\n\nexport interface AccountingAccountClassification {\n name: string;\n}\n\nexport interface AccountingAccountReservationLineType {\n accountId: string | null;\n bookingChannel: string | null;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n lineType: string;\n revenueRecognition: string | null;\n status: Generated<string | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingAccountReservationRevRec {\n name: string;\n}\n\nexport interface AccountingAccountType {\n name: string;\n}\n\nexport interface AccountingBankAccount {\n accountId: string | null;\n category: Generated<string | null>;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n currency: string | null;\n holderName: string | null;\n id: Generated<string>;\n lastDigits: string | null;\n name: string | null;\n sourceId: string | null;\n /**\n * The starting bank record for reconciliation\n */\n startingBankRecordId: string | null;\n status: Generated<string>;\n tenantId: string;\n type: Generated<string | null>;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingBankAccountCategory {\n name: string;\n}\n\nexport interface AccountingBankAccountType {\n name: string;\n}\n\nexport interface AccountingBankRecord {\n accountId: string | null;\n bankAccountId: string | null;\n calculatedCentBalance: number | null;\n calculatedCentTotalCorrection: number | null;\n centBalance: number | null;\n centTotal: number | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n date: Timestamp;\n description: string;\n id: Generated<string>;\n isBalanceAdjustment: Generated<boolean | null>;\n reconcileStatus: Generated<string>;\n sourceId: string | null;\n status: Generated<string>;\n tenantId: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingBankRecordTransactionPayment {\n bankRecordId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n tenantId: string | null;\n transactionId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingContact {\n addressData: Json | null;\n /**\n * When NULL, the type is \"individual\"\n */\n companyType: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n defaultAccountId: string | null;\n email: string | null;\n firstName: string | null;\n id: Generated<string>;\n is1099PostalDelivery: Generated<boolean>;\n name: string;\n phone: string | null;\n pmsStatus: string | null;\n sourceId: string | null;\n status: Generated<string | null>;\n taxId: string | null;\n tenantId: string;\n /**\n * owner OR vendor\n */\n type: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingContactCompanyType {\n name: string;\n}\n\nexport interface AccountingContactType {\n name: string;\n}\n\nexport interface AccountingJournalEntry {\n accountId: string | null;\n attachedToOwnerStatementId: string | null;\n centTotal: Int8;\n contactId: string | null;\n createdAt: Generated<Timestamp | null>;\n currency: string;\n description: string | null;\n entitySortNum: Generated<number | null>;\n entityType: string | null;\n id: Generated<string>;\n lineId: string | null;\n lineUniqueRef: string | null;\n listingId: string | null;\n listingOwnershipPeriodId: string | null;\n party: string | null;\n recurringFeeId: string | null;\n recurringFeeListingSubscriptionId: string | null;\n reservationId: string | null;\n status: Generated<string>;\n tenantId: string | null;\n transactionId: string | null;\n transferOwnerStatementId: string | null;\n triggerId: string | null;\n triggerType: string | null;\n txnAt: Timestamp | null;\n txnNum: number | null;\n type: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface AccountingJournalEntryEntityType {\n name: string;\n}\n\nexport interface AccountingJournalEntryTriggerType {\n name: string;\n}\n\nexport interface AccountingJournalEntryType {\n name: string;\n}\n\nexport interface AccountingPaidStatus {\n name: string;\n}\n\nexport interface AccountingParty {\n name: string;\n}\n\nexport interface AccountingRate {\n accountId: string | null;\n basisPoints: number;\n behavior: string | null;\n countryCode: string | null;\n createdAt: Generated<Timestamp>;\n currency: string | null;\n debitAccountId: string | null;\n description: string | null;\n id: Generated<string>;\n name: string | null;\n status: Generated<string | null>;\n tenantId: string;\n type: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingRateType {\n name: string;\n}\n\nexport interface AccountingTaxBehavior {\n name: string;\n}\n\nexport interface AccountingTransaction {\n accountId: string | null;\n centTotal: number;\n connectionId: string | null;\n contactId: string | null;\n createdAt: Generated<Timestamp>;\n currency: string;\n date: Timestamp;\n description: string;\n dueAt: Timestamp | null;\n id: Generated<string>;\n matchers: Json | null;\n matchStatus: Generated<string | null>;\n paidAt: Timestamp | null;\n paidStatus: Generated<string | null>;\n recurringFeeId: string | null;\n recurringPattern: Json | null;\n recurringTemplateId: string | null;\n sourceId: string | null;\n status: Generated<string>;\n tenantId: string;\n type: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingTransactionLine {\n accountAssignmentType: string | null;\n accountId: string | null;\n centTotal: number;\n contactId: string | null;\n createdAt: Generated<Timestamp>;\n description: string;\n id: Generated<string>;\n listingId: string | null;\n markupCentTotal: number | null;\n markupTaxBehavior: string | null;\n markupTaxRateId: string | null;\n matchers: Generated<Json | null>;\n matchLineTypeClassification: string | null;\n matchReservationConfirmationCode: string | null;\n matchReservationStripeGuestRef: string | null;\n matchStatus: Generated<string | null>;\n ownerStatementId: string | null;\n party: string | null;\n reservationId: string | null;\n tenantId: string;\n transactionId: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingTransactionType {\n name: string;\n}\n\nexport interface CoreActiveStatus {\n name: string;\n}\n\nexport interface CoreChange {\n automationId: string | null;\n changeData: Json | null;\n changeFields: Generated<Json | null>;\n changeType: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n dataSha256: string | null;\n entityId: string;\n entityType: string;\n entityUniqueRef: string | null;\n id: Generated<string>;\n isLatestVersion: Generated<boolean | null>;\n message: string | null;\n seq: Int8 | null;\n status: string | null;\n syncId: string | null;\n syncSubtaskId: string | null;\n syncType: string | null;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n version: Numeric;\n}\n\nexport interface CoreChangeEntityType {\n name: string;\n}\n\nexport interface CoreChangeLink {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n leftChangeId: string;\n rightChangeId: string;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface CoreChangeSourceLink {\n changeId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n sourceId: string;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface CoreChangeStatus {\n name: string;\n}\n\nexport interface CoreChangeSyncType {\n name: string;\n}\n\nexport interface CoreChangeType {\n name: string;\n}\n\nexport interface CoreFlow {\n appId: string;\n description: string | null;\n id: Generated<string>;\n mappingSchema: Json;\n settingSchema: Json;\n title: string;\n type: Generated<PublicFlowType | null>;\n}\n\nexport interface CoreFlowMapping {\n accountId: string | null;\n bookingChannelId: string | null;\n contactId: string | null;\n flowId: string;\n id: Generated<string>;\n listingId: string | null;\n mappingKey: string;\n rateId: string | null;\n sourceId: string;\n value: Json | null;\n}\n\nexport interface CoreFlowSetting {\n accountId: string | null;\n bookingChannelId: string | null;\n connectionId: string;\n contactId: string | null;\n flowId: string;\n id: Generated<string>;\n listingId: string | null;\n settingKey: string;\n value: Json | null;\n}\n\nexport interface CoreIssueMessageOverwrite {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n message: string;\n pattern: string;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface CoreSync {\n automationId: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n environment: string | null;\n id: Generated<string>;\n isCurrentOnAutomation: Generated<boolean | null>;\n isCurrentOnConnection: Generated<boolean>;\n message: string | null;\n params: Generated<Json>;\n status: string;\n syncedAt: Timestamp | null;\n tenantId: string;\n triggerRef: string | null;\n type: string;\n updatedAt: Generated<Timestamp>;\n userId: string | null;\n}\n\nexport interface CoreSyncStatus {\n name: string;\n}\n\nexport interface CoreSyncSubtask {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n message: string | null;\n params: Generated<Json | null>;\n status: Generated<string>;\n syncId: string;\n tenantId: string;\n triggerRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface CoreSyncType {\n name: string;\n}\n\nexport interface HdbCatalogEventInvocationLogs {\n createdAt: Generated<Timestamp | null>;\n eventId: string | null;\n id: Generated<string>;\n request: Json | null;\n response: Json | null;\n status: number | null;\n triggerName: string | null;\n}\n\nexport interface HdbCatalogEventLog {\n archived: Generated<boolean>;\n createdAt: Generated<Timestamp | null>;\n delivered: Generated<boolean>;\n error: Generated<boolean>;\n id: Generated<string>;\n locked: Timestamp | null;\n nextRetryAt: Timestamp | null;\n payload: Json;\n schemaName: string;\n tableName: string;\n tries: Generated<number>;\n triggerName: string;\n}\n\nexport interface HdbCatalogHdbActionLog {\n actionName: string | null;\n createdAt: Generated<Timestamp>;\n errors: Json | null;\n id: Generated<string>;\n inputPayload: Json;\n requestHeaders: Json;\n responsePayload: Json | null;\n responseReceivedAt: Timestamp | null;\n sessionVariables: Json;\n status: string;\n}\n\nexport interface HdbCatalogHdbCronEventInvocationLogs {\n createdAt: Generated<Timestamp | null>;\n eventId: string | null;\n id: Generated<string>;\n request: Json | null;\n response: Json | null;\n status: number | null;\n}\n\nexport interface HdbCatalogHdbCronEvents {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n nextRetryAt: Timestamp | null;\n scheduledTime: Timestamp;\n status: Generated<string>;\n tries: Generated<number>;\n triggerName: string;\n}\n\nexport interface HdbCatalogHdbEventLogCleanups {\n deletedEventInvocationLogs: number | null;\n deletedEventLogs: number | null;\n id: Generated<string>;\n scheduledAt: Timestamp;\n status: string;\n triggerName: string;\n}\n\nexport interface HdbCatalogHdbMetadata {\n id: number;\n metadata: Json;\n resourceVersion: Generated<number>;\n}\n\nexport interface HdbCatalogHdbScheduledEventInvocationLogs {\n createdAt: Generated<Timestamp | null>;\n eventId: string | null;\n id: Generated<string>;\n request: Json | null;\n response: Json | null;\n status: number | null;\n}\n\nexport interface HdbCatalogHdbScheduledEvents {\n comment: string | null;\n createdAt: Generated<Timestamp | null>;\n headerConf: Json | null;\n id: Generated<string>;\n nextRetryAt: Timestamp | null;\n payload: Json | null;\n retryConf: Json | null;\n scheduledTime: Timestamp;\n status: Generated<string>;\n tries: Generated<number>;\n webhookConf: Json;\n}\n\nexport interface HdbCatalogHdbSchemaNotifications {\n id: number;\n instanceId: string;\n notification: Json;\n resourceVersion: Generated<number>;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface HdbCatalogHdbSourceCatalogVersion {\n upgradedOn: Timestamp;\n version: string;\n}\n\nexport interface HdbCatalogHdbVersion {\n cliState: Generated<Json>;\n consoleState: Generated<Json>;\n eeClientId: string | null;\n eeClientSecret: string | null;\n hasuraUuid: Generated<string>;\n upgradedOn: Timestamp;\n version: string;\n}\n\nexport interface PublicAccountCollection {\n automationId: string | null;\n connectionId: string;\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n name: string;\n tenantId: string;\n type: Generated<string | null>;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicAccountCollectionType {\n name: string;\n}\n\nexport interface PublicAddress {\n city: string | null;\n country: string | null;\n countryCode: string | null;\n createdAt: Generated<Timestamp>;\n full: string | null;\n id: Generated<string>;\n lastValidated: Timestamp | null;\n line: string | null;\n lineDetails: string | null;\n postalCode: string | null;\n state: string | null;\n stateCode: string | null;\n tenantId: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicApp {\n authentication: Generated<Json>;\n category: string | null;\n color: string | null;\n config: Generated<Json>;\n createdAt: Generated<Timestamp>;\n defaultMachineSize: string | null;\n endpoint: string | null;\n flows: Generated<Json>;\n flyApp: string | null;\n icon: string | null;\n iconRound: string | null;\n id: Generated<string>;\n info: Json | null;\n name: string;\n pluginData: Json | null;\n type: string;\n uid: Generated<string | null>;\n version: Generated<number>;\n}\n\nexport interface PublicAuditLog {\n actorUserId: string | null;\n automationId: string | null;\n connectionId: string | null;\n contactId: string | null;\n createdAt: Generated<Timestamp>;\n deltaJson: Json | null;\n id: Generated<string>;\n listingCollectionId: string | null;\n listingId: string | null;\n objectId: string | null;\n op: string;\n ownerId: string | null;\n ownerStatementId: string | null;\n ownerStatementLayoutId: string | null;\n tableName: string;\n taxStatementId: string | null;\n tenantId: string | null;\n userId: string | null;\n}\n\nexport interface PublicAutomation {\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n leftConnectionId: string | null;\n rightConnectionId: string | null;\n runSettings: Json | null;\n scheduleStatus: Generated<string | null>;\n status: Generated<string>;\n template: string | null;\n templateId: string | null;\n tenantId: string;\n title: string | null;\n triggerDevTaskOverwrite: string | null;\n updatedAt: Generated<Timestamp>;\n viewSettings: Json | null;\n}\n\nexport interface PublicAutomationTemplate {\n /**\n * determines whether this automation allows a team to configure multiple versions of this with the same leftConnection rightConnection combination\n */\n allowMultiple: boolean | null;\n appId: string | null;\n createdAt: Generated<Timestamp | null>;\n description: string;\n endpoint: string;\n id: Generated<string>;\n input: string;\n label: string | null;\n leftAppId: string | null;\n mappings: Json | null;\n name: string | null;\n params: Generated<Json | null>;\n preview: Json | null;\n rightAppId: string | null;\n settings: Json | null;\n stripePriceRef: string | null;\n title: string | null;\n triggerDevTask: string | null;\n triggers: Generated<Json | null>;\n type: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n version: string | null;\n visibility: string | null;\n}\n\nexport interface PublicBillingPaymentMethodType {\n name: string;\n}\n\nexport interface PublicBookingChannel {\n channelRef: string | null;\n createdAt: Generated<Timestamp>;\n icon: string | null;\n id: Generated<string>;\n uniqueRef: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicConnection {\n appId: string;\n backendVersion: number | null;\n createdAt: Generated<Timestamp>;\n credentials: Generated<Json | null>;\n disabled: Generated<boolean | null>;\n fetchNext: Generated<Timestamp | null>;\n fetchStatus: Generated<string>;\n icon: string | null;\n id: Generated<string>;\n lastFetch: Timestamp | null;\n metadata: Json | null;\n name: string;\n persistentState: Generated<Json | null>;\n status: Generated<string | null>;\n tenantId: string;\n type: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n version: number | null;\n}\n\nexport interface PublicCurrency {\n name: string;\n}\n\nexport interface PublicDuplicateEmails {\n count: Int8 | null;\n email: string | null;\n id: string | null;\n}\n\nexport interface PublicEmailTemplate {\n createdAt: Generated<Timestamp>;\n dataJson: Json;\n id: Generated<string>;\n tenantId: string;\n type: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicEmailTemplateType {\n name: string;\n}\n\nexport interface PublicFeature {\n createdAt: Generated<Timestamp>;\n description: string | null;\n id: Generated<string>;\n issueUrl: string | null;\n /**\n * user ids of user needed to approve this feature\n */\n requiredApprovals: Generated<Json | null>;\n status: Generated<string | null>;\n tenantId: string | null;\n title: string;\n updatedAt: Generated<Timestamp>;\n url: string | null;\n}\n\nexport interface PublicFeatureApproval {\n createdAt: Generated<Timestamp>;\n featureId: string;\n id: Generated<string>;\n status: Generated<string | null>;\n updatedAt: Generated<Timestamp>;\n userId: string;\n}\n\nexport interface PublicFeatureApprovalStatus {\n name: string;\n}\n\nexport interface PublicFeatureEnabledTeam {\n createdAt: Generated<Timestamp>;\n featureId: string;\n id: Generated<string>;\n status: Generated<string | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicFeatureStatus {\n name: string;\n}\n\nexport interface PublicFileStorage {\n connectionId: string | null;\n contactId: string | null;\n createdAt: Generated<Timestamp>;\n endDate: Timestamp | null;\n extension: string | null;\n filename: string;\n fileUri: string | null;\n id: Generated<string>;\n metadata: Json | null;\n newOwnerId: string | null;\n ownerUserId: string | null;\n reservationId: string | null;\n rowDateField: string | null;\n startDate: Timestamp | null;\n status: string | null;\n tenantId: string;\n type: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicFileStorageSourceLink {\n createdAt: Generated<Timestamp>;\n fileStorageId: string;\n id: Generated<string>;\n sourceId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicFileStorageTag {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n tenantId: string;\n title: string;\n uniqueRef: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicLatestDuplicateEmails {\n createdAt: Timestamp | null;\n email: string | null;\n id: string | null;\n name: string | null;\n status: string | null;\n}\n\nexport interface PublicListing {\n address: string | null;\n addressCity: string | null;\n addressCountry: string | null;\n addressData: Json | null;\n addressId: string | null;\n addressState: string | null;\n bedrooms: number | null;\n beds: number | null;\n calculatedStatus: Generated<string | null>;\n calculatedTitle: Generated<string | null>;\n calculatedTitleNew: Generated<string | null>;\n centExpenseReserve: number | null;\n /**\n * Starting balance for tax statements\n */\n centTaxStartingBalance: number | null;\n collectionId: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp | null>;\n customCode: string | null;\n defaultCurrency: string | null;\n id: Generated<string>;\n imageUri: string | null;\n metadata: Generated<Json | null>;\n name: string | null;\n ownerContactId: string | null;\n pmsAddressData: Json | null;\n pmsStatus: string | null;\n sourceId: string | null;\n status: string | null;\n tenantId: string;\n title: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicListingCollection {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n name: string;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicListingConnection {\n address: string | null;\n bedrooms: number | null;\n beds: number | null;\n connectionId: string;\n createdAt: Generated<Timestamp | null>;\n groupKey: string | null;\n id: Generated<string>;\n listingId: string | null;\n metadata: Json | null;\n name: string | null;\n nickname: string | null;\n sourceId: string | null;\n status: string | null;\n tenantId: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicListingOwner {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n listingId: string;\n newOwnerId: string | null;\n ownerId: string | null;\n role: Generated<string>;\n split: Numeric | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicListingOwnerRole {\n name: string;\n}\n\nexport interface PublicListingOwnershipPeriod {\n businessModel: Generated<string | null>;\n createdAt: Generated<Timestamp>;\n endAt: Timestamp | null;\n id: Generated<string>;\n listingId: string;\n setListingInactive: Generated<boolean | null>;\n startAt: Generated<Timestamp | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicListingOwnershipPeriodBusinessModel {\n name: string;\n}\n\nexport interface PublicListingOwnershipPeriodMember {\n contactId: string | null;\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n ownerId: string | null;\n periodId: string;\n split: number;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicOwner {\n addressId: string | null;\n companyType: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n email: string | null;\n firstName: string | null;\n id: Generated<string>;\n is1099PostalDelivery: Generated<boolean>;\n /**\n * Lastname or company name\n */\n name: string;\n phone: string | null;\n pmsStatus: string | null;\n sourceId: string | null;\n status: Generated<string | null>;\n taxId: string | null;\n tenantId: string;\n type: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatement {\n automationId: string | null;\n centAccountingBalanceEnd: number | null;\n centAccountingBalanceStart: number | null;\n centBalanceEnd: Int8 | null;\n centBalanceStart: Int8 | null;\n centExpenses: Int8 | null;\n centNetRevenue: Int8 | null;\n centPayedOut: number | null;\n centRentalRevenue: number | null;\n centTotal: Int8 | null;\n centTransfer: Int8 | null;\n createdAt: Generated<Timestamp>;\n currency: string | null;\n endAt: Timestamp;\n id: Generated<string>;\n layoutId: string | null;\n listingId: string | null;\n listingOwnershipPeriodId: string | null;\n metadata: Json | null;\n ownerId: string | null;\n party: Generated<string | null>;\n previousOwnerStatementId: string | null;\n startAt: Timestamp;\n status: Generated<string>;\n templateId: string | null;\n templateJson: Json | null;\n tenantId: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatementLayout {\n automationId: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n dataJson: Json;\n id: Generated<string>;\n isDefault: Generated<boolean | null>;\n tenantId: string;\n title: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatementLayoutAccount {\n accountId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n layoutId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatementLayoutListing {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n layoutId: string;\n listingId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatementLine {\n centTotal: number;\n createdAt: Generated<Timestamp>;\n currency: string | null;\n customDescription: string | null;\n date: Timestamp | null;\n description: string | null;\n externalLink: string | null;\n groupId: string | null;\n id: Generated<string>;\n isOwnerPayout: Generated<boolean | null>;\n metadata: Json | null;\n ownerStatementId: string;\n reservationId: string | null;\n role: Generated<string | null>;\n sourceId: string | null;\n tenantId: string;\n uniqueRef: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatementOwner {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n newOwnerId: string | null;\n ownerId: string | null;\n role: string;\n split: Numeric | null;\n statementId: string;\n updatedAt: Generated<Timestamp | null>;\n /**\n * The source id to the listing owner vendor\n */\n vendorSourceId: string | null;\n}\n\nexport interface PublicOwnerStatementStatus {\n name: string;\n}\n\nexport interface PublicOwnerStatementTemplate {\n balanceStartAt: Timestamp | null;\n billingAccountId: string | null;\n createdAt: Generated<Timestamp>;\n data: Json;\n id: Generated<string>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n version: Generated<number | null>;\n}\n\nexport interface PublicOwnerType {\n name: string;\n}\n\nexport interface PublicOwnerUserAccess {\n contactId: string | null;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n ownerId: string | null;\n role: Generated<string>;\n updatedAt: Generated<Timestamp>;\n userId: string;\n}\n\nexport interface PublicOwnerUserAccessRole {\n name: string;\n}\n\nexport interface PublicPayment {\n bankAccountDigits: string | null;\n centTotal: Generated<Int8 | null>;\n connectionId: string | null;\n createdAt: Generated<Timestamp | null>;\n currency: string | null;\n description: string | null;\n etaAt: Timestamp | null;\n id: Generated<string>;\n isReconciled: Generated<boolean | null>;\n issues: Json | null;\n metadata: Generated<Json | null>;\n payedAt: Timestamp | null;\n paymentMethod: string | null;\n sourceId: string | null;\n status: string | null;\n tenantId: string | null;\n type: string | null;\n uniqueRef: string | null;\n uniqueRefAir: string | null;\n uniqueRefTemp: string | null;\n updatedAt: Generated<Timestamp | null>;\n userdata: Generated<Json | null>;\n}\n\nexport interface PublicPaymentLine {\n accountId: string | null;\n centTotal: Int8 | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n description: string | null;\n id: Generated<string>;\n lineId: string | null;\n listingId: string | null;\n matchReservationConfirmationCode: string | null;\n matchReservationStripeGuestRef: string | null;\n matchStatus: Generated<string | null>;\n metadata: Json | null;\n originCentTotal: Int8 | null;\n originCurrency: string | null;\n originExchangeRate: Numeric | null;\n party: string | null;\n paymentId: string | null;\n recurringFeeId: string | null;\n reservationId: string | null;\n skipReconcile: Generated<boolean | null>;\n tenantId: string | null;\n type: string | null;\n type2: string | null;\n uniqueRef: string | null;\n uniqueRef2: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicPaymentLineClassification {\n appId: string | null;\n createdAt: Generated<Timestamp | null>;\n id: Generated<string | null>;\n name: string;\n type: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicPaymentStatus {\n name: string;\n}\n\nexport interface PublicPaymentType {\n name: string;\n}\n\nexport interface PublicPgpodmanStatus {\n containerId: string;\n runCmd: string | null;\n started: Timestamp | null;\n status: string | null;\n}\n\nexport interface PublicPgStatStatements {\n calls: Int8 | null;\n dbid: number | null;\n jitDeformCount: Int8 | null;\n jitDeformTime: number | null;\n jitEmissionCount: Int8 | null;\n jitEmissionTime: number | null;\n jitFunctions: Int8 | null;\n jitGenerationTime: number | null;\n jitInliningCount: Int8 | null;\n jitInliningTime: number | null;\n jitOptimizationCount: Int8 | null;\n jitOptimizationTime: number | null;\n localBlkReadTime: number | null;\n localBlksDirtied: Int8 | null;\n localBlksHit: Int8 | null;\n localBlksRead: Int8 | null;\n localBlksWritten: Int8 | null;\n localBlkWriteTime: number | null;\n maxExecTime: number | null;\n maxPlanTime: number | null;\n meanExecTime: number | null;\n meanPlanTime: number | null;\n minExecTime: number | null;\n minmaxStatsSince: Timestamp | null;\n minPlanTime: number | null;\n plans: Int8 | null;\n query: string | null;\n queryid: Int8 | null;\n rows: Int8 | null;\n sharedBlkReadTime: number | null;\n sharedBlksDirtied: Int8 | null;\n sharedBlksHit: Int8 | null;\n sharedBlksRead: Int8 | null;\n sharedBlksWritten: Int8 | null;\n sharedBlkWriteTime: number | null;\n statsSince: Timestamp | null;\n stddevExecTime: number | null;\n stddevPlanTime: number | null;\n tempBlkReadTime: number | null;\n tempBlksRead: Int8 | null;\n tempBlksWritten: Int8 | null;\n tempBlkWriteTime: number | null;\n toplevel: boolean | null;\n totalExecTime: number | null;\n totalPlanTime: number | null;\n userid: number | null;\n walBytes: Numeric | null;\n walFpi: Int8 | null;\n walRecords: Int8 | null;\n}\n\nexport interface PublicPgStatStatementsInfo {\n dealloc: Int8 | null;\n statsReset: Timestamp | null;\n}\n\nexport interface PublicRecurringFee {\n bookingChannelsFilter: string[] | null;\n createdAt: Generated<Timestamp>;\n creditAccountId: string | null;\n creditParty: Generated<string>;\n debitAccountId: string | null;\n debitParty: Generated<string>;\n defaultRate: number | null;\n formula: string | null;\n icon: string | null;\n id: Generated<string>;\n rateType: Generated<string | null>;\n revenueRecognition: string | null;\n status: Generated<string>;\n statusFilter: string | null;\n taxBehavior: string | null;\n taxRateId: string | null;\n tenantId: string;\n title: string;\n type: Generated<string>;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicRecurringFeeAccount {\n accountId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n recurringFeeId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicRecurringFeeListingSubscription {\n createdAt: Generated<Timestamp>;\n endAt: Timestamp | null;\n id: Generated<string>;\n listingId: string;\n rate: number | null;\n rateType: Generated<string | null>;\n recurringFeeId: string;\n startAt: Generated<Timestamp | null>;\n status: Generated<string>;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicRecurringFeeListingSubscriptionRateType {\n name: string;\n}\n\nexport interface PublicRecurringFeeType {\n name: string;\n}\n\nexport interface PublicReservation {\n bookedAt: Generated<Timestamp | null>;\n bookerName: string | null;\n bookingPlatform: string | null;\n calculatedDeduplicationRef: Generated<string | null>;\n cancelledAt: Timestamp | null;\n centAccommodation: number | null;\n centAdjustment: number | null;\n centCancellation: number | null;\n centCityTax: number | null;\n centCleaning: Int8 | null;\n centOta: number | null;\n centPaid: Int8 | null;\n centPaymentFee: number | null;\n centService: number | null;\n centTotal: Generated<Int8 | null>;\n channelId: string | null;\n checkIn: Timestamp | null;\n checkOut: Timestamp | null;\n confirmationCode: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp | null>;\n currency: string | null;\n generalLedgerPostingAt: Timestamp | null;\n guestName: string | null;\n guests: number | null;\n id: Generated<string>;\n lineMap: Json | null;\n listingConnectionId: string | null;\n listingId: string | null;\n matchPaymentCustomerRef: string | null;\n metadata: Json | null;\n nights: number | null;\n otaReservationId: string | null;\n paidStatus: string | null;\n paymentMethod: string | null;\n pmsReferenceCode: string | null;\n sourceId: string | null;\n status: Generated<string | null>;\n tenantId: string | null;\n uniqueRef: string | null;\n uniqueRef2: string | null;\n updatedAt: Generated<Timestamp | null>;\n userdata: Generated<Json | null>;\n}\n\nexport interface PublicReservationStatus {\n name: string;\n}\n\nexport interface PublicReservationWithOccupancyStatus {\n bookedAt: Timestamp | null;\n bookerName: string | null;\n bookingPlatform: string | null;\n cancelledAt: Timestamp | null;\n centAccommodation: number | null;\n centAdjustment: number | null;\n centCancellation: number | null;\n centCityTax: number | null;\n centCleaning: Int8 | null;\n centOta: number | null;\n centPaid: Int8 | null;\n centPaymentFee: number | null;\n centService: number | null;\n centTotal: Int8 | null;\n channelId: string | null;\n checkIn: Timestamp | null;\n checkOut: Timestamp | null;\n confirmationCode: string | null;\n connectionId: string | null;\n createdAt: Timestamp | null;\n currency: string | null;\n guestName: string | null;\n guests: number | null;\n id: string | null;\n lineMap: Json | null;\n listingConnectionId: string | null;\n listingId: string | null;\n metadata: Json | null;\n nights: number | null;\n occupancyStatus: string | null;\n otaReservationId: string | null;\n paidStatus: string | null;\n paymentMethod: string | null;\n pmsReferenceCode: string | null;\n sourceId: string | null;\n status: string | null;\n tenantId: string | null;\n uniqueRef: string | null;\n uniqueRef2: string | null;\n updatedAt: Timestamp | null;\n userdata: Json | null;\n}\n\nexport interface PublicSetting {\n automationId: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n group: string | null;\n id: Generated<string>;\n key: string;\n leftConnectionId: string | null;\n leftId: Generated<string | null>;\n leftType: string | null;\n lineClassification: string | null;\n listingId: string | null;\n localAutomationId: string | null;\n parentSettingId: string | null;\n partner: string | null;\n rightConnectionId: string | null;\n rightId: Generated<string | null>;\n rightType: string | null;\n sourceId: string | null;\n status: Generated<string | null>;\n target: string;\n targetUuid: Generated<string | null>;\n tenantId: string | null;\n updatedAt: Generated<Timestamp>;\n value: string | null;\n}\n\nexport interface PublicSource {\n /**\n * deprecated\n */\n appId: string | null;\n code: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n dataHref: string | null;\n date: Timestamp | null;\n description: string | null;\n id: Generated<string>;\n indexedJson: Json | null;\n isArchived: Generated<boolean | null>;\n json: Json | null;\n /**\n * deprecated\n */\n listingConnectionId: string | null;\n /**\n * deprecated\n */\n listingId: string | null;\n modifiedAt: Timestamp | null;\n parentId: string | null;\n remoteId: string | null;\n reservationId: string | null;\n status: Generated<string | null>;\n tenantId: string;\n transformJson: Json | null;\n transformType: string | null;\n type: string;\n updatedAt: Generated<Timestamp | null>;\n version: Generated<number | null>;\n}\n\nexport interface PublicTask {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n message: string | null;\n status: string | null;\n}\n\nexport interface PublicTaxStatement {\n centRentalRevenue: number | null;\n createdAt: Generated<Timestamp>;\n endAt: Timestamp | null;\n error: string | null;\n id: Generated<string>;\n metadata: Json | null;\n ownerId: string | null;\n startAt: Timestamp | null;\n status: Generated<string>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n url: string | null;\n userId: string | null;\n year: number;\n}\n\nexport interface PublicTaxStatementStatus {\n name: string;\n}\n\nexport interface PublicTenant {\n address: string | null;\n addressCity: string | null;\n addressCountry: string | null;\n addressLine1: string | null;\n addressPostcode: string | null;\n billingAddressData: Json | null;\n billingAddressId: string | null;\n billingCustomerId: string | null;\n billingPartnerId: string | null;\n billingPaymentMethodType: string | null;\n billingPlan: string | null;\n billingSubscriptionStatus: string | null;\n booksClosedAt: Timestamp | null;\n calculatedBillingPartnerId: Generated<string | null>;\n calculatedIsBillable: Generated<boolean | null>;\n calculatedStatus: Generated<string | null>;\n /**\n * Billing subscription is getting cancelled at date\n */\n cancelledAt: Timestamp | null;\n chartOfAccountTenantId: string | null;\n clerkId: string | null;\n colorPrimary: string | null;\n commissionPercentage: Numeric | null;\n companyName: string | null;\n companyTaxCode: string | null;\n createdAt: Generated<Timestamp>;\n defaultCurrency: string | null;\n defaultRevenueRecognition: string | null;\n email: string | null;\n featureFlags: Generated<Json | null>;\n id: Generated<string>;\n intercomId: string | null;\n isActive: Generated<boolean | null>;\n isGeneralLedger: Generated<boolean | null>;\n isOnboarding: Generated<boolean | null>;\n isTest: Generated<boolean | null>;\n logo: string | null;\n longTermStayNights: number | null;\n name: string;\n partnerId: Generated<string | null>;\n setup: Json | null;\n setupCompleted: Generated<boolean | null>;\n statementAddressData: Json | null;\n statementAddressId: string | null;\n statementStartAt: Timestamp | null;\n status: Generated<string | null>;\n stripeId: string | null;\n stripeSubscriptionItemId: string | null;\n supportEmail: string | null;\n supportPhone: string | null;\n svixEndpoints: boolean | null;\n trialUntil: Timestamp | null;\n type: Generated<string | null>;\n updatedAt: Generated<Timestamp | null>;\n website: string | null;\n}\n\nexport interface PublicTenantUser {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n lastInvitedAt: Timestamp | null;\n notificationPreferences: Generated<Json | null>;\n role: Generated<string | null>;\n status: Generated<string | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp | null>;\n userId: string;\n}\n\nexport interface PublicToken {\n createdAt: Generated<Timestamp>;\n expiresAt: Timestamp | null;\n id: Generated<string>;\n nanoId: Generated<string>;\n payload: Generated<Json>;\n tenantId: string | null;\n type: string | null;\n userId: string | null;\n}\n\nexport interface PublicUser {\n address: string | null;\n addressCity: string | null;\n addressCountry: string | null;\n addressId: string | null;\n addressLine1: string | null;\n addressPostcode: string | null;\n clerkId: string | null;\n companyName: string | null;\n companyType: string | null;\n createdAt: Generated<Timestamp | null>;\n email: string | null;\n firstName: string | null;\n id: Generated<string>;\n isAdmin: Generated<boolean>;\n lastName: string | null;\n lastSeen: Timestamp | null;\n name: string | null;\n notificationPreferences: Generated<Json | null>;\n partnerId: string | null;\n password: string | null;\n phone: string | null;\n secondaryEmails: Generated<Json | null>;\n status: Generated<string | null>;\n sub: string | null;\n taxId: string | null;\n trialExpiryAt: Timestamp | null;\n type: Generated<string | null>;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicUserCompanyType {\n name: string;\n}\n\nexport interface PublicUserCompanyUser {\n companyUserId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n updatedAt: Generated<Timestamp>;\n userId: string;\n}\n\nexport interface PublicView {\n group: string | null;\n icon: string | null;\n id: Generated<string>;\n isDefault: Generated<boolean | null>;\n retoolViewId: string | null;\n sortOrder: Generated<number | null>;\n stateData: Json | null;\n tenantId: string | null;\n title: string;\n type: string | null;\n}\n\nexport interface PublicViewNotificationEvents {\n createdAt: Timestamp | null;\n eventId: string | null;\n id: string | null;\n request: Json | null;\n response: Json | null;\n status: number | null;\n triggerName: string | null;\n}\n\nexport interface PublicViewNotificationEventsGroupedByDate {\n count: Int8 | null;\n dateTrunc: Timestamp | null;\n status: number | null;\n triggerName: string | null;\n}\n\nexport interface PublicViewWebhookEvents {\n createdAt: Timestamp | null;\n eventId: string | null;\n id: string | null;\n request: Json | null;\n response: Json | null;\n status: number | null;\n triggerName: string | null;\n}\n\nexport interface PublicViewWebhookEventsGroupedByDate {\n count: Int8 | null;\n dateTrunc: Timestamp | null;\n status: number | null;\n triggerName: string | null;\n}\n\nexport interface PublicWebhook {\n createdAt: Generated<Timestamp>;\n headers: Json | null;\n id: Generated<string>;\n tenantId: string | null;\n types: Generated<Json>;\n types2: string[] | null;\n url: string;\n}\n\nexport interface StoreDispatchedAction {\n actionType: string;\n apiEndpoint: string | null;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n message: string | null;\n payload: Json | null;\n requestR2Link: string | null;\n sequence: Generated<number>;\n tenantId: string;\n userId: string | null;\n}\n\nexport interface StoreEffectQueue {\n claimedAt: Timestamp | null;\n claimedBy: string | null;\n completedAt: Timestamp | null;\n createdAt: Generated<Timestamp>;\n dispatchedActionId: string;\n effectType: string;\n id: Generated<string>;\n lastAttemptAt: Timestamp | null;\n lastError: string | null;\n maxRetries: Generated<number>;\n payload: Json;\n priority: Generated<number>;\n retryCount: Generated<number>;\n sequence: Generated<number>;\n status: Generated<StoreEffectStatus>;\n tenantId: string;\n}\n\nexport interface StoreMutationLog {\n changeRecord: Json;\n createdAt: Generated<Timestamp>;\n dispatchedActionId: string;\n effectId: string | null;\n id: Generated<string>;\n mutatedEntityId: string;\n mutatedEntityType: string;\n mutationOp: string;\n tenantId: string;\n}\n\nexport interface TrackingEvent {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n name: string;\n packageName: string;\n props: Json;\n tenantId: string | null;\n timestamp: Generated<Timestamp | null>;\n trackedAt: Generated<Timestamp | null>;\n userId: string | null;\n}\n\nexport interface TrackingIntercomConversation {\n answer: string;\n conversationId: Int8;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n isRelevant: boolean;\n outcome: string;\n question: string;\n summary: string;\n tags: string;\n}\n\nexport interface TrackingIntercomConversationUser {\n conversationId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n userId: string;\n}\n\nexport interface TrackingIntercomReport {\n action: string;\n category: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n summary: string;\n tags: string;\n}\n\nexport interface TrackingIntercomReportConversation {\n conversationId: string;\n id: Generated<string>;\n reportId: string;\n}\n\nexport interface TrackingMonitorConnection {\n appId: string;\n connectionId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n message: string | null;\n status: string | null;\n syncedAt: Timestamp | null;\n tenantId: string;\n triggerRef: string | null;\n updatedAt: Timestamp | null;\n version: number | null;\n}\n\nexport interface TrackingMonitorConnectionState {\n name: string;\n}\n\nexport interface DB {\n \"accounting.account\": AccountingAccount;\n \"accounting.accountAssignment\": AccountingAccountAssignment;\n \"accounting.accountAssignmentLineType\": AccountingAccountAssignmentLineType;\n \"accounting.accountAssignmentType\": AccountingAccountAssignmentType;\n \"accounting.accountCategory\": AccountingAccountCategory;\n \"accounting.accountClassification\": AccountingAccountClassification;\n \"accounting.accountReservationLineType\": AccountingAccountReservationLineType;\n \"accounting.accountReservationRevRec\": AccountingAccountReservationRevRec;\n \"accounting.accountType\": AccountingAccountType;\n \"accounting.bankAccount\": AccountingBankAccount;\n \"accounting.bankAccountCategory\": AccountingBankAccountCategory;\n \"accounting.bankAccountType\": AccountingBankAccountType;\n \"accounting.bankRecord\": AccountingBankRecord;\n \"accounting.bankRecordTransactionPayment\": AccountingBankRecordTransactionPayment;\n \"accounting.contact\": AccountingContact;\n \"accounting.contactCompanyType\": AccountingContactCompanyType;\n \"accounting.contactType\": AccountingContactType;\n \"accounting.journalEntry\": AccountingJournalEntry;\n \"accounting.journalEntryEntityType\": AccountingJournalEntryEntityType;\n \"accounting.journalEntryTriggerType\": AccountingJournalEntryTriggerType;\n \"accounting.journalEntryType\": AccountingJournalEntryType;\n \"accounting.paidStatus\": AccountingPaidStatus;\n \"accounting.party\": AccountingParty;\n \"accounting.rate\": AccountingRate;\n \"accounting.rateType\": AccountingRateType;\n \"accounting.taxBehavior\": AccountingTaxBehavior;\n \"accounting.transaction\": AccountingTransaction;\n \"accounting.transactionLine\": AccountingTransactionLine;\n \"accounting.transactionType\": AccountingTransactionType;\n \"core.activeStatus\": CoreActiveStatus;\n \"core.change\": CoreChange;\n \"core.changeEntityType\": CoreChangeEntityType;\n \"core.changeLink\": CoreChangeLink;\n \"core.changeSourceLink\": CoreChangeSourceLink;\n \"core.changeStatus\": CoreChangeStatus;\n \"core.changeSyncType\": CoreChangeSyncType;\n \"core.changeType\": CoreChangeType;\n \"core.flow\": CoreFlow;\n \"core.flowMapping\": CoreFlowMapping;\n \"core.flowSetting\": CoreFlowSetting;\n \"core.issueMessageOverwrite\": CoreIssueMessageOverwrite;\n \"core.sync\": CoreSync;\n \"core.syncStatus\": CoreSyncStatus;\n \"core.syncSubtask\": CoreSyncSubtask;\n \"core.syncType\": CoreSyncType;\n \"hdbCatalog.eventInvocationLogs\": HdbCatalogEventInvocationLogs;\n \"hdbCatalog.eventLog\": HdbCatalogEventLog;\n \"hdbCatalog.hdbActionLog\": HdbCatalogHdbActionLog;\n \"hdbCatalog.hdbCronEventInvocationLogs\": HdbCatalogHdbCronEventInvocationLogs;\n \"hdbCatalog.hdbCronEvents\": HdbCatalogHdbCronEvents;\n \"hdbCatalog.hdbEventLogCleanups\": HdbCatalogHdbEventLogCleanups;\n \"hdbCatalog.hdbMetadata\": HdbCatalogHdbMetadata;\n \"hdbCatalog.hdbScheduledEventInvocationLogs\": HdbCatalogHdbScheduledEventInvocationLogs;\n \"hdbCatalog.hdbScheduledEvents\": HdbCatalogHdbScheduledEvents;\n \"hdbCatalog.hdbSchemaNotifications\": HdbCatalogHdbSchemaNotifications;\n \"hdbCatalog.hdbSourceCatalogVersion\": HdbCatalogHdbSourceCatalogVersion;\n \"hdbCatalog.hdbVersion\": HdbCatalogHdbVersion;\n \"public.accountCollection\": PublicAccountCollection;\n \"public.accountCollectionType\": PublicAccountCollectionType;\n \"public.address\": PublicAddress;\n \"public.app\": PublicApp;\n \"public.auditLog\": PublicAuditLog;\n \"public.automation\": PublicAutomation;\n \"public.automationTemplate\": PublicAutomationTemplate;\n \"public.billingPaymentMethodType\": PublicBillingPaymentMethodType;\n \"public.bookingChannel\": PublicBookingChannel;\n \"public.connection\": PublicConnection;\n \"public.currency\": PublicCurrency;\n \"public.duplicateEmails\": PublicDuplicateEmails;\n \"public.emailTemplate\": PublicEmailTemplate;\n \"public.emailTemplateType\": PublicEmailTemplateType;\n \"public.feature\": PublicFeature;\n \"public.featureApproval\": PublicFeatureApproval;\n \"public.featureApprovalStatus\": PublicFeatureApprovalStatus;\n \"public.featureEnabledTeam\": PublicFeatureEnabledTeam;\n \"public.featureStatus\": PublicFeatureStatus;\n \"public.fileStorage\": PublicFileStorage;\n \"public.fileStorageSourceLink\": PublicFileStorageSourceLink;\n \"public.fileStorageTag\": PublicFileStorageTag;\n \"public.latestDuplicateEmails\": PublicLatestDuplicateEmails;\n \"public.listing\": PublicListing;\n \"public.listingCollection\": PublicListingCollection;\n \"public.listingConnection\": PublicListingConnection;\n \"public.listingOwner\": PublicListingOwner;\n \"public.listingOwnerRole\": PublicListingOwnerRole;\n \"public.listingOwnershipPeriod\": PublicListingOwnershipPeriod;\n \"public.listingOwnershipPeriodBusinessModel\": PublicListingOwnershipPeriodBusinessModel;\n \"public.listingOwnershipPeriodMember\": PublicListingOwnershipPeriodMember;\n \"public.owner\": PublicOwner;\n \"public.ownerStatement\": PublicOwnerStatement;\n \"public.ownerStatementLayout\": PublicOwnerStatementLayout;\n \"public.ownerStatementLayoutAccount\": PublicOwnerStatementLayoutAccount;\n \"public.ownerStatementLayoutListing\": PublicOwnerStatementLayoutListing;\n \"public.ownerStatementLine\": PublicOwnerStatementLine;\n \"public.ownerStatementOwner\": PublicOwnerStatementOwner;\n \"public.ownerStatementStatus\": PublicOwnerStatementStatus;\n \"public.ownerStatementTemplate\": PublicOwnerStatementTemplate;\n \"public.ownerType\": PublicOwnerType;\n \"public.ownerUserAccess\": PublicOwnerUserAccess;\n \"public.ownerUserAccessRole\": PublicOwnerUserAccessRole;\n \"public.payment\": PublicPayment;\n \"public.paymentLine\": PublicPaymentLine;\n \"public.paymentLineClassification\": PublicPaymentLineClassification;\n \"public.paymentStatus\": PublicPaymentStatus;\n \"public.paymentType\": PublicPaymentType;\n \"public.pgpodmanStatus\": PublicPgpodmanStatus;\n \"public.pgStatStatements\": PublicPgStatStatements;\n \"public.pgStatStatementsInfo\": PublicPgStatStatementsInfo;\n \"public.recurringFee\": PublicRecurringFee;\n \"public.recurringFeeAccount\": PublicRecurringFeeAccount;\n \"public.recurringFeeListingSubscription\": PublicRecurringFeeListingSubscription;\n \"public.recurringFeeListingSubscriptionRateType\": PublicRecurringFeeListingSubscriptionRateType;\n \"public.recurringFeeType\": PublicRecurringFeeType;\n \"public.reservation\": PublicReservation;\n \"public.reservationStatus\": PublicReservationStatus;\n \"public.reservationWithOccupancyStatus\": PublicReservationWithOccupancyStatus;\n \"public.setting\": PublicSetting;\n \"public.source\": PublicSource;\n \"public.task\": PublicTask;\n \"public.taxStatement\": PublicTaxStatement;\n \"public.taxStatementStatus\": PublicTaxStatementStatus;\n \"public.tenant\": PublicTenant;\n \"public.tenantUser\": PublicTenantUser;\n \"public.token\": PublicToken;\n \"public.user\": PublicUser;\n \"public.userCompanyType\": PublicUserCompanyType;\n \"public.userCompanyUser\": PublicUserCompanyUser;\n \"public.view\": PublicView;\n \"public.viewNotificationEvents\": PublicViewNotificationEvents;\n \"public.viewNotificationEventsGroupedByDate\": PublicViewNotificationEventsGroupedByDate;\n \"public.viewWebhookEvents\": PublicViewWebhookEvents;\n \"public.viewWebhookEventsGroupedByDate\": PublicViewWebhookEventsGroupedByDate;\n \"public.webhook\": PublicWebhook;\n \"store.dispatchedAction\": StoreDispatchedAction;\n \"store.effectQueue\": StoreEffectQueue;\n \"store.mutationLog\": StoreMutationLog;\n \"tracking.event\": TrackingEvent;\n \"tracking.intercomConversation\": TrackingIntercomConversation;\n \"tracking.intercomConversationUser\": TrackingIntercomConversationUser;\n \"tracking.intercomReport\": TrackingIntercomReport;\n \"tracking.intercomReportConversation\": TrackingIntercomReportConversation;\n \"tracking.monitorConnection\": TrackingMonitorConnection;\n \"tracking.monitorConnectionState\": TrackingMonitorConnectionState;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"v1.generated.js","sourceRoot":"src/","sources":["v1.generated.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * This file was generated by kysely-codegen.\n * Please do not edit it manually.\n */\n\nimport type { ColumnType } from \"kysely\";\n\nexport type Generated<T> = T extends ColumnType<infer S, infer I, infer U>\n ? ColumnType<S, I | undefined, U>\n : ColumnType<T, T | undefined, T>;\n\nexport type Int8 = ColumnType<string, bigint | number | string, bigint | number | string>;\n\nexport type Json = JsonValue;\n\nexport type JsonArray = JsonValue[];\n\nexport type JsonObject = {\n [x: string]: JsonValue | undefined;\n};\n\nexport type JsonPrimitive = boolean | number | string | null;\n\nexport type JsonValue = JsonArray | JsonObject | JsonPrimitive;\n\nexport type Numeric = ColumnType<string, number | string, number | string>;\n\nexport type PublicFlowType = \"pull\" | \"push\";\n\nexport type StoreEffectStatus = \"claimed\" | \"completed\" | \"dead_letter\" | \"failed\" | \"pending\" | \"running\";\n\nexport type Timestamp = ColumnType<Date, Date | string, Date | string>;\n\nexport interface AccountingAccount {\n bankingCategory: string | null;\n bankingCurrency: string | null;\n bankingLast4: string | null;\n bankingType: string | null;\n categoryId: string;\n /**\n * deprecated\n */\n classification: string | null;\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n offsetAccountId: string | null;\n status: Generated<string>;\n tenantId: string | null;\n title: string;\n type: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface AccountingAccountAssignment {\n accountId: string | null;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n tenantId: string;\n type: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingAccountAssignmentLineType {\n accountAssignmentType: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n lineType: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingAccountAssignmentType {\n name: string;\n}\n\nexport interface AccountingAccountCategory {\n classification: string | null;\n id: Generated<string>;\n index: number;\n name: string;\n}\n\nexport interface AccountingAccountClassification {\n name: string;\n}\n\nexport interface AccountingAccountReservationLineType {\n accountId: string | null;\n bookingChannel: string | null;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n lineType: string;\n revenueRecognition: string | null;\n status: Generated<string | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingAccountReservationRevRec {\n name: string;\n}\n\nexport interface AccountingAccountType {\n name: string;\n}\n\nexport interface AccountingBankAccount {\n accountId: string | null;\n category: Generated<string | null>;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n currency: string | null;\n holderName: string | null;\n id: Generated<string>;\n lastDigits: string | null;\n name: string | null;\n sourceId: string | null;\n /**\n * The starting bank record for reconciliation\n */\n startingBankRecordId: string | null;\n status: Generated<string>;\n tenantId: string;\n type: Generated<string | null>;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingBankAccountCategory {\n name: string;\n}\n\nexport interface AccountingBankAccountType {\n name: string;\n}\n\nexport interface AccountingBankRecord {\n accountId: string | null;\n bankAccountId: string | null;\n calculatedCentBalance: number | null;\n calculatedCentTotalCorrection: number | null;\n centBalance: number | null;\n centTotal: number | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n date: Timestamp;\n description: string;\n id: Generated<string>;\n isBalanceAdjustment: Generated<boolean | null>;\n reconcileStatus: Generated<string>;\n sourceId: string | null;\n status: Generated<string>;\n tenantId: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingBankRecordTransactionPayment {\n bankRecordId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n tenantId: string | null;\n transactionId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingContact {\n addressData: Json | null;\n /**\n * When NULL, the type is \"individual\"\n */\n companyType: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n defaultAccountId: string | null;\n email: string | null;\n firstName: string | null;\n id: Generated<string>;\n is1099PostalDelivery: Generated<boolean>;\n name: string;\n phone: string | null;\n pmsStatus: string | null;\n sourceId: string | null;\n status: Generated<string | null>;\n taxId: string | null;\n tenantId: string;\n /**\n * owner OR vendor\n */\n type: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingContactCompanyType {\n name: string;\n}\n\nexport interface AccountingContactType {\n name: string;\n}\n\nexport interface AccountingJournalEntry {\n accountId: string | null;\n attachedToOwnerStatementId: string | null;\n centTotal: Int8;\n contactId: string | null;\n createdAt: Generated<Timestamp | null>;\n currency: string;\n description: string | null;\n entitySortNum: Generated<number | null>;\n entityType: string | null;\n id: Generated<string>;\n lineId: string | null;\n lineUniqueRef: string | null;\n listingId: string | null;\n listingOwnershipPeriodId: string | null;\n party: string | null;\n recurringFeeId: string | null;\n recurringFeeListingSubscriptionId: string | null;\n reservationId: string | null;\n status: Generated<string>;\n tenantId: string | null;\n transactionId: string | null;\n transferOwnerStatementId: string | null;\n triggerId: string | null;\n triggerType: string | null;\n txnAt: Timestamp | null;\n txnCode: Generated<string | null>;\n txnNum: number | null;\n type: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface AccountingJournalEntryEntityType {\n name: string;\n}\n\nexport interface AccountingJournalEntryTriggerType {\n name: string;\n}\n\nexport interface AccountingJournalEntryType {\n name: string;\n}\n\nexport interface AccountingPaidStatus {\n name: string;\n}\n\nexport interface AccountingParty {\n name: string;\n}\n\nexport interface AccountingRate {\n accountId: string | null;\n basisPoints: number;\n behavior: string | null;\n countryCode: string | null;\n createdAt: Generated<Timestamp>;\n currency: string | null;\n debitAccountId: string | null;\n description: string | null;\n id: Generated<string>;\n name: string | null;\n status: Generated<string | null>;\n tenantId: string;\n type: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingRateType {\n name: string;\n}\n\nexport interface AccountingTaxBehavior {\n name: string;\n}\n\nexport interface AccountingTransaction {\n accountId: string | null;\n centTotal: number;\n connectionId: string | null;\n contactId: string | null;\n createdAt: Generated<Timestamp>;\n currency: string;\n date: Timestamp;\n description: string;\n dueAt: Timestamp | null;\n id: Generated<string>;\n matchers: Json | null;\n matchStatus: Generated<string | null>;\n paidAt: Timestamp | null;\n paidStatus: Generated<string | null>;\n recurringFeeId: string | null;\n recurringPattern: Json | null;\n recurringTemplateId: string | null;\n sourceId: string | null;\n status: Generated<string>;\n tenantId: string;\n type: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingTransactionLine {\n accountAssignmentType: string | null;\n accountId: string | null;\n centTotal: number;\n contactId: string | null;\n createdAt: Generated<Timestamp>;\n description: string;\n id: Generated<string>;\n listingId: string | null;\n markupCentTotal: number | null;\n markupTaxBehavior: string | null;\n markupTaxRateId: string | null;\n matchers: Generated<Json | null>;\n matchLineTypeClassification: string | null;\n matchReservationConfirmationCode: string | null;\n matchReservationStripeGuestRef: string | null;\n matchStatus: Generated<string | null>;\n ownerStatementId: string | null;\n party: string | null;\n reservationId: string | null;\n tenantId: string;\n transactionId: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface AccountingTransactionType {\n name: string;\n}\n\nexport interface CoreActiveStatus {\n name: string;\n}\n\nexport interface CoreChange {\n automationId: string | null;\n changeData: Json | null;\n changeFields: Generated<Json | null>;\n changeType: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n dataSha256: string | null;\n entityId: string;\n entityType: string;\n entityUniqueRef: string | null;\n id: Generated<string>;\n isLatestVersion: Generated<boolean | null>;\n message: string | null;\n seq: Int8 | null;\n status: string | null;\n syncId: string | null;\n syncSubtaskId: string | null;\n syncType: string | null;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n version: Numeric;\n}\n\nexport interface CoreChangeEntityType {\n name: string;\n}\n\nexport interface CoreChangeLink {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n leftChangeId: string;\n rightChangeId: string;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface CoreChangeSourceLink {\n changeId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n sourceId: string;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface CoreChangeStatus {\n name: string;\n}\n\nexport interface CoreChangeSyncType {\n name: string;\n}\n\nexport interface CoreChangeType {\n name: string;\n}\n\nexport interface CoreFlow {\n appId: string;\n description: string | null;\n id: Generated<string>;\n mappingSchema: Json;\n settingSchema: Json;\n title: string;\n type: Generated<PublicFlowType | null>;\n}\n\nexport interface CoreFlowMapping {\n accountId: string | null;\n bookingChannelId: string | null;\n contactId: string | null;\n flowId: string;\n id: Generated<string>;\n listingId: string | null;\n mappingKey: string;\n rateId: string | null;\n sourceId: string;\n value: Json | null;\n}\n\nexport interface CoreFlowSetting {\n accountId: string | null;\n bookingChannelId: string | null;\n connectionId: string;\n contactId: string | null;\n flowId: string;\n id: Generated<string>;\n listingId: string | null;\n settingKey: string;\n value: Json | null;\n}\n\nexport interface CoreIssueMessageOverwrite {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n message: string;\n pattern: string;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface CoreSync {\n automationId: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n environment: string | null;\n id: Generated<string>;\n isCurrentOnAutomation: Generated<boolean | null>;\n isCurrentOnConnection: Generated<boolean>;\n message: string | null;\n params: Generated<Json>;\n status: string;\n syncedAt: Timestamp | null;\n tenantId: string;\n triggerRef: string | null;\n type: string;\n updatedAt: Generated<Timestamp>;\n userId: string | null;\n}\n\nexport interface CoreSyncStatus {\n name: string;\n}\n\nexport interface CoreSyncSubtask {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n message: string | null;\n params: Generated<Json | null>;\n status: Generated<string>;\n syncId: string;\n tenantId: string;\n triggerRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface CoreSyncType {\n name: string;\n}\n\nexport interface HdbCatalogEventInvocationLogs {\n createdAt: Generated<Timestamp | null>;\n eventId: string | null;\n id: Generated<string>;\n request: Json | null;\n response: Json | null;\n status: number | null;\n triggerName: string | null;\n}\n\nexport interface HdbCatalogEventLog {\n archived: Generated<boolean>;\n createdAt: Generated<Timestamp | null>;\n delivered: Generated<boolean>;\n error: Generated<boolean>;\n id: Generated<string>;\n locked: Timestamp | null;\n nextRetryAt: Timestamp | null;\n payload: Json;\n schemaName: string;\n tableName: string;\n tries: Generated<number>;\n triggerName: string;\n}\n\nexport interface HdbCatalogHdbActionLog {\n actionName: string | null;\n createdAt: Generated<Timestamp>;\n errors: Json | null;\n id: Generated<string>;\n inputPayload: Json;\n requestHeaders: Json;\n responsePayload: Json | null;\n responseReceivedAt: Timestamp | null;\n sessionVariables: Json;\n status: string;\n}\n\nexport interface HdbCatalogHdbCronEventInvocationLogs {\n createdAt: Generated<Timestamp | null>;\n eventId: string | null;\n id: Generated<string>;\n request: Json | null;\n response: Json | null;\n status: number | null;\n}\n\nexport interface HdbCatalogHdbCronEvents {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n nextRetryAt: Timestamp | null;\n scheduledTime: Timestamp;\n status: Generated<string>;\n tries: Generated<number>;\n triggerName: string;\n}\n\nexport interface HdbCatalogHdbEventLogCleanups {\n deletedEventInvocationLogs: number | null;\n deletedEventLogs: number | null;\n id: Generated<string>;\n scheduledAt: Timestamp;\n status: string;\n triggerName: string;\n}\n\nexport interface HdbCatalogHdbMetadata {\n id: number;\n metadata: Json;\n resourceVersion: Generated<number>;\n}\n\nexport interface HdbCatalogHdbScheduledEventInvocationLogs {\n createdAt: Generated<Timestamp | null>;\n eventId: string | null;\n id: Generated<string>;\n request: Json | null;\n response: Json | null;\n status: number | null;\n}\n\nexport interface HdbCatalogHdbScheduledEvents {\n comment: string | null;\n createdAt: Generated<Timestamp | null>;\n headerConf: Json | null;\n id: Generated<string>;\n nextRetryAt: Timestamp | null;\n payload: Json | null;\n retryConf: Json | null;\n scheduledTime: Timestamp;\n status: Generated<string>;\n tries: Generated<number>;\n webhookConf: Json;\n}\n\nexport interface HdbCatalogHdbSchemaNotifications {\n id: number;\n instanceId: string;\n notification: Json;\n resourceVersion: Generated<number>;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface HdbCatalogHdbSourceCatalogVersion {\n upgradedOn: Timestamp;\n version: string;\n}\n\nexport interface HdbCatalogHdbVersion {\n cliState: Generated<Json>;\n consoleState: Generated<Json>;\n eeClientId: string | null;\n eeClientSecret: string | null;\n hasuraUuid: Generated<string>;\n upgradedOn: Timestamp;\n version: string;\n}\n\nexport interface PublicAccountCollection {\n automationId: string | null;\n connectionId: string;\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n name: string;\n tenantId: string;\n type: Generated<string | null>;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicAccountCollectionType {\n name: string;\n}\n\nexport interface PublicAddress {\n city: string | null;\n country: string | null;\n countryCode: string | null;\n createdAt: Generated<Timestamp>;\n full: string | null;\n id: Generated<string>;\n lastValidated: Timestamp | null;\n line: string | null;\n lineDetails: string | null;\n postalCode: string | null;\n state: string | null;\n stateCode: string | null;\n tenantId: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicApp {\n authentication: Generated<Json>;\n category: string | null;\n color: string | null;\n config: Generated<Json>;\n createdAt: Generated<Timestamp>;\n defaultMachineSize: string | null;\n endpoint: string | null;\n flows: Generated<Json>;\n flyApp: string | null;\n icon: string | null;\n iconRound: string | null;\n id: Generated<string>;\n info: Json | null;\n name: string;\n pluginData: Json | null;\n type: string;\n uid: Generated<string | null>;\n version: Generated<number>;\n}\n\nexport interface PublicAuditLog {\n actorUserId: string | null;\n automationId: string | null;\n connectionId: string | null;\n contactId: string | null;\n createdAt: Generated<Timestamp>;\n deltaJson: Json | null;\n id: Generated<string>;\n listingCollectionId: string | null;\n listingId: string | null;\n objectId: string | null;\n op: string;\n ownerId: string | null;\n ownerStatementId: string | null;\n ownerStatementLayoutId: string | null;\n tableName: string;\n taxStatementId: string | null;\n tenantId: string | null;\n userId: string | null;\n}\n\nexport interface PublicAutomation {\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n leftConnectionId: string | null;\n rightConnectionId: string | null;\n runSettings: Json | null;\n scheduleStatus: Generated<string | null>;\n status: Generated<string>;\n template: string | null;\n templateId: string | null;\n tenantId: string;\n title: string | null;\n triggerDevTaskOverwrite: string | null;\n updatedAt: Generated<Timestamp>;\n viewSettings: Json | null;\n}\n\nexport interface PublicAutomationTemplate {\n /**\n * determines whether this automation allows a team to configure multiple versions of this with the same leftConnection rightConnection combination\n */\n allowMultiple: boolean | null;\n appId: string | null;\n createdAt: Generated<Timestamp | null>;\n description: string;\n endpoint: string;\n id: Generated<string>;\n input: string;\n label: string | null;\n leftAppId: string | null;\n mappings: Json | null;\n name: string | null;\n params: Generated<Json | null>;\n preview: Json | null;\n rightAppId: string | null;\n settings: Json | null;\n stripePriceRef: string | null;\n title: string | null;\n triggerDevTask: string | null;\n triggers: Generated<Json | null>;\n type: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n version: string | null;\n visibility: string | null;\n}\n\nexport interface PublicBillingPaymentMethodType {\n name: string;\n}\n\nexport interface PublicBookingChannel {\n channelRef: string | null;\n createdAt: Generated<Timestamp>;\n icon: string | null;\n id: Generated<string>;\n uniqueRef: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicConnection {\n appId: string;\n backendVersion: number | null;\n createdAt: Generated<Timestamp>;\n credentials: Generated<Json | null>;\n disabled: Generated<boolean | null>;\n fetchNext: Generated<Timestamp | null>;\n fetchStatus: Generated<string>;\n icon: string | null;\n id: Generated<string>;\n lastFetch: Timestamp | null;\n metadata: Json | null;\n name: string;\n persistentState: Generated<Json | null>;\n status: Generated<string | null>;\n tenantId: string;\n type: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n version: number | null;\n}\n\nexport interface PublicCurrency {\n name: string;\n}\n\nexport interface PublicDuplicateEmails {\n count: Int8 | null;\n email: string | null;\n id: string | null;\n}\n\nexport interface PublicEmailTemplate {\n createdAt: Generated<Timestamp>;\n dataJson: Json;\n id: Generated<string>;\n tenantId: string;\n type: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicEmailTemplateType {\n name: string;\n}\n\nexport interface PublicFeature {\n createdAt: Generated<Timestamp>;\n description: string | null;\n id: Generated<string>;\n issueUrl: string | null;\n /**\n * user ids of user needed to approve this feature\n */\n requiredApprovals: Generated<Json | null>;\n status: Generated<string | null>;\n tenantId: string | null;\n title: string;\n updatedAt: Generated<Timestamp>;\n url: string | null;\n}\n\nexport interface PublicFeatureApproval {\n createdAt: Generated<Timestamp>;\n featureId: string;\n id: Generated<string>;\n status: Generated<string | null>;\n updatedAt: Generated<Timestamp>;\n userId: string;\n}\n\nexport interface PublicFeatureApprovalStatus {\n name: string;\n}\n\nexport interface PublicFeatureEnabledTeam {\n createdAt: Generated<Timestamp>;\n featureId: string;\n id: Generated<string>;\n status: Generated<string | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicFeatureStatus {\n name: string;\n}\n\nexport interface PublicFileStorage {\n connectionId: string | null;\n contactId: string | null;\n createdAt: Generated<Timestamp>;\n endDate: Timestamp | null;\n extension: string | null;\n filename: string;\n fileUri: string | null;\n id: Generated<string>;\n metadata: Json | null;\n newOwnerId: string | null;\n ownerUserId: string | null;\n reservationId: string | null;\n rowDateField: string | null;\n startDate: Timestamp | null;\n status: string | null;\n tenantId: string;\n type: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicFileStorageSourceLink {\n createdAt: Generated<Timestamp>;\n fileStorageId: string;\n id: Generated<string>;\n sourceId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicFileStorageTag {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n tenantId: string;\n title: string;\n uniqueRef: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicLatestDuplicateEmails {\n createdAt: Timestamp | null;\n email: string | null;\n id: string | null;\n name: string | null;\n status: string | null;\n}\n\nexport interface PublicListing {\n address: string | null;\n addressCity: string | null;\n addressCountry: string | null;\n addressData: Json | null;\n addressId: string | null;\n addressState: string | null;\n bedrooms: number | null;\n beds: number | null;\n calculatedStatus: Generated<string | null>;\n calculatedTitle: Generated<string | null>;\n calculatedTitleNew: Generated<string | null>;\n centExpenseReserve: number | null;\n /**\n * Starting balance for tax statements\n */\n centTaxStartingBalance: number | null;\n collectionId: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp | null>;\n customCode: string | null;\n defaultCurrency: string | null;\n id: Generated<string>;\n imageUri: string | null;\n metadata: Generated<Json | null>;\n name: string | null;\n ownerContactId: string | null;\n pmsAddressData: Json | null;\n pmsStatus: string | null;\n sourceId: string | null;\n status: string | null;\n tenantId: string;\n title: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicListingCollection {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n name: string;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicListingConnection {\n address: string | null;\n bedrooms: number | null;\n beds: number | null;\n connectionId: string;\n createdAt: Generated<Timestamp | null>;\n groupKey: string | null;\n id: Generated<string>;\n listingId: string | null;\n metadata: Json | null;\n name: string | null;\n nickname: string | null;\n sourceId: string | null;\n status: string | null;\n tenantId: string | null;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicListingOwner {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n listingId: string;\n newOwnerId: string | null;\n ownerId: string | null;\n role: Generated<string>;\n split: Numeric | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicListingOwnerRole {\n name: string;\n}\n\nexport interface PublicListingOwnershipPeriod {\n businessModel: Generated<string | null>;\n createdAt: Generated<Timestamp>;\n endAt: Timestamp | null;\n id: Generated<string>;\n listingId: string;\n setListingInactive: Generated<boolean | null>;\n startAt: Generated<Timestamp | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicListingOwnershipPeriodBusinessModel {\n name: string;\n}\n\nexport interface PublicListingOwnershipPeriodMember {\n contactId: string | null;\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n ownerId: string | null;\n periodId: string;\n split: number;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicOwner {\n addressId: string | null;\n companyType: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n email: string | null;\n firstName: string | null;\n id: Generated<string>;\n is1099PostalDelivery: Generated<boolean>;\n /**\n * Lastname or company name\n */\n name: string;\n phone: string | null;\n pmsStatus: string | null;\n sourceId: string | null;\n status: Generated<string | null>;\n taxId: string | null;\n tenantId: string;\n type: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatement {\n automationId: string | null;\n centAccountingBalanceEnd: number | null;\n centAccountingBalanceStart: number | null;\n centBalanceEnd: Int8 | null;\n centBalanceStart: Int8 | null;\n centExpenses: Int8 | null;\n centNetRevenue: Int8 | null;\n centPayedOut: number | null;\n centRentalRevenue: number | null;\n centTotal: Int8 | null;\n centTransfer: Int8 | null;\n createdAt: Generated<Timestamp>;\n currency: string | null;\n endAt: Timestamp;\n id: Generated<string>;\n layoutId: string | null;\n listingId: string | null;\n listingOwnershipPeriodId: string | null;\n metadata: Json | null;\n ownerId: string | null;\n party: Generated<string | null>;\n previousOwnerStatementId: string | null;\n startAt: Timestamp;\n status: Generated<string>;\n templateId: string | null;\n templateJson: Json | null;\n tenantId: string;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatementLayout {\n automationId: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n dataJson: Json;\n id: Generated<string>;\n isDefault: Generated<boolean | null>;\n tenantId: string;\n title: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatementLayoutAccount {\n accountId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n layoutId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatementLayoutListing {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n layoutId: string;\n listingId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatementLine {\n centTotal: number;\n createdAt: Generated<Timestamp>;\n currency: string | null;\n customDescription: string | null;\n date: Timestamp | null;\n description: string | null;\n externalLink: string | null;\n groupId: string | null;\n id: Generated<string>;\n isOwnerPayout: Generated<boolean | null>;\n metadata: Json | null;\n ownerStatementId: string;\n reservationId: string | null;\n role: Generated<string | null>;\n sourceId: string | null;\n tenantId: string;\n uniqueRef: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicOwnerStatementOwner {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n newOwnerId: string | null;\n ownerId: string | null;\n role: string;\n split: Numeric | null;\n statementId: string;\n updatedAt: Generated<Timestamp | null>;\n /**\n * The source id to the listing owner vendor\n */\n vendorSourceId: string | null;\n}\n\nexport interface PublicOwnerStatementStatus {\n name: string;\n}\n\nexport interface PublicOwnerStatementTemplate {\n balanceStartAt: Timestamp | null;\n billingAccountId: string | null;\n createdAt: Generated<Timestamp>;\n data: Json;\n id: Generated<string>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n version: Generated<number | null>;\n}\n\nexport interface PublicOwnerType {\n name: string;\n}\n\nexport interface PublicOwnerUserAccess {\n contactId: string | null;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n ownerId: string | null;\n role: Generated<string>;\n updatedAt: Generated<Timestamp>;\n userId: string;\n}\n\nexport interface PublicOwnerUserAccessRole {\n name: string;\n}\n\nexport interface PublicPayment {\n bankAccountDigits: string | null;\n centTotal: Generated<Int8 | null>;\n connectionId: string | null;\n createdAt: Generated<Timestamp | null>;\n currency: string | null;\n description: string | null;\n etaAt: Timestamp | null;\n id: Generated<string>;\n isReconciled: Generated<boolean | null>;\n issues: Json | null;\n metadata: Generated<Json | null>;\n payedAt: Timestamp | null;\n paymentMethod: string | null;\n sourceId: string | null;\n status: string | null;\n tenantId: string | null;\n type: string | null;\n uniqueRef: string | null;\n uniqueRefAir: string | null;\n uniqueRefTemp: string | null;\n updatedAt: Generated<Timestamp | null>;\n userdata: Generated<Json | null>;\n}\n\nexport interface PublicPaymentLine {\n accountId: string | null;\n centTotal: Int8 | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n description: string | null;\n id: Generated<string>;\n lineId: string | null;\n listingId: string | null;\n matchReservationConfirmationCode: string | null;\n matchReservationStripeGuestRef: string | null;\n matchStatus: Generated<string | null>;\n metadata: Json | null;\n originCentTotal: Int8 | null;\n originCurrency: string | null;\n originExchangeRate: Numeric | null;\n party: string | null;\n paymentId: string | null;\n recurringFeeId: string | null;\n reservationId: string | null;\n skipReconcile: Generated<boolean | null>;\n tenantId: string | null;\n type: string | null;\n type2: string | null;\n uniqueRef: string | null;\n uniqueRef2: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicPaymentLineClassification {\n appId: string | null;\n createdAt: Generated<Timestamp | null>;\n id: Generated<string | null>;\n name: string;\n type: string | null;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicPaymentStatus {\n name: string;\n}\n\nexport interface PublicPaymentType {\n name: string;\n}\n\nexport interface PublicPgpodmanStatus {\n containerId: string;\n runCmd: string | null;\n started: Timestamp | null;\n status: string | null;\n}\n\nexport interface PublicPgStatStatements {\n calls: Int8 | null;\n dbid: number | null;\n jitDeformCount: Int8 | null;\n jitDeformTime: number | null;\n jitEmissionCount: Int8 | null;\n jitEmissionTime: number | null;\n jitFunctions: Int8 | null;\n jitGenerationTime: number | null;\n jitInliningCount: Int8 | null;\n jitInliningTime: number | null;\n jitOptimizationCount: Int8 | null;\n jitOptimizationTime: number | null;\n localBlkReadTime: number | null;\n localBlksDirtied: Int8 | null;\n localBlksHit: Int8 | null;\n localBlksRead: Int8 | null;\n localBlksWritten: Int8 | null;\n localBlkWriteTime: number | null;\n maxExecTime: number | null;\n maxPlanTime: number | null;\n meanExecTime: number | null;\n meanPlanTime: number | null;\n minExecTime: number | null;\n minmaxStatsSince: Timestamp | null;\n minPlanTime: number | null;\n plans: Int8 | null;\n query: string | null;\n queryid: Int8 | null;\n rows: Int8 | null;\n sharedBlkReadTime: number | null;\n sharedBlksDirtied: Int8 | null;\n sharedBlksHit: Int8 | null;\n sharedBlksRead: Int8 | null;\n sharedBlksWritten: Int8 | null;\n sharedBlkWriteTime: number | null;\n statsSince: Timestamp | null;\n stddevExecTime: number | null;\n stddevPlanTime: number | null;\n tempBlkReadTime: number | null;\n tempBlksRead: Int8 | null;\n tempBlksWritten: Int8 | null;\n tempBlkWriteTime: number | null;\n toplevel: boolean | null;\n totalExecTime: number | null;\n totalPlanTime: number | null;\n userid: number | null;\n walBytes: Numeric | null;\n walFpi: Int8 | null;\n walRecords: Int8 | null;\n}\n\nexport interface PublicPgStatStatementsInfo {\n dealloc: Int8 | null;\n statsReset: Timestamp | null;\n}\n\nexport interface PublicRecurringFee {\n bookingChannelsFilter: string[] | null;\n createdAt: Generated<Timestamp>;\n creditAccountId: string | null;\n creditParty: Generated<string>;\n debitAccountId: string | null;\n debitParty: Generated<string>;\n defaultRate: number | null;\n formula: string | null;\n icon: string | null;\n id: Generated<string>;\n rateType: Generated<string | null>;\n revenueRecognition: string | null;\n status: Generated<string>;\n statusFilter: string | null;\n taxBehavior: string | null;\n taxRateId: string | null;\n tenantId: string;\n title: string;\n type: Generated<string>;\n uniqueRef: string | null;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicRecurringFeeAccount {\n accountId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n recurringFeeId: string;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicRecurringFeeListingSubscription {\n createdAt: Generated<Timestamp>;\n endAt: Timestamp | null;\n id: Generated<string>;\n listingId: string;\n rate: number | null;\n rateType: Generated<string | null>;\n recurringFeeId: string;\n startAt: Generated<Timestamp | null>;\n status: Generated<string>;\n updatedAt: Generated<Timestamp>;\n}\n\nexport interface PublicRecurringFeeListingSubscriptionRateType {\n name: string;\n}\n\nexport interface PublicRecurringFeeType {\n name: string;\n}\n\nexport interface PublicReservation {\n bookedAt: Generated<Timestamp | null>;\n bookerName: string | null;\n bookingPlatform: string | null;\n calculatedDeduplicationRef: Generated<string | null>;\n cancelledAt: Timestamp | null;\n centAccommodation: number | null;\n centAdjustment: number | null;\n centCancellation: number | null;\n centCityTax: number | null;\n centCleaning: Int8 | null;\n centOta: number | null;\n centPaid: Int8 | null;\n centPaymentFee: number | null;\n centService: number | null;\n centTotal: Generated<Int8 | null>;\n channelId: string | null;\n checkIn: Timestamp | null;\n checkOut: Timestamp | null;\n confirmationCode: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp | null>;\n currency: string | null;\n generalLedgerPostingAt: Timestamp | null;\n guestName: string | null;\n guests: number | null;\n id: Generated<string>;\n lineMap: Json | null;\n listingConnectionId: string | null;\n listingId: string | null;\n matchPaymentCustomerRef: string | null;\n metadata: Json | null;\n nights: number | null;\n otaReservationId: string | null;\n paidStatus: string | null;\n paymentMethod: string | null;\n pmsReferenceCode: string | null;\n sourceId: string | null;\n status: Generated<string | null>;\n tenantId: string | null;\n uniqueRef: string | null;\n uniqueRef2: string | null;\n updatedAt: Generated<Timestamp | null>;\n userdata: Generated<Json | null>;\n}\n\nexport interface PublicReservationStatus {\n name: string;\n}\n\nexport interface PublicReservationWithOccupancyStatus {\n bookedAt: Timestamp | null;\n bookerName: string | null;\n bookingPlatform: string | null;\n cancelledAt: Timestamp | null;\n centAccommodation: number | null;\n centAdjustment: number | null;\n centCancellation: number | null;\n centCityTax: number | null;\n centCleaning: Int8 | null;\n centOta: number | null;\n centPaid: Int8 | null;\n centPaymentFee: number | null;\n centService: number | null;\n centTotal: Int8 | null;\n channelId: string | null;\n checkIn: Timestamp | null;\n checkOut: Timestamp | null;\n confirmationCode: string | null;\n connectionId: string | null;\n createdAt: Timestamp | null;\n currency: string | null;\n guestName: string | null;\n guests: number | null;\n id: string | null;\n lineMap: Json | null;\n listingConnectionId: string | null;\n listingId: string | null;\n metadata: Json | null;\n nights: number | null;\n occupancyStatus: string | null;\n otaReservationId: string | null;\n paidStatus: string | null;\n paymentMethod: string | null;\n pmsReferenceCode: string | null;\n sourceId: string | null;\n status: string | null;\n tenantId: string | null;\n uniqueRef: string | null;\n uniqueRef2: string | null;\n updatedAt: Timestamp | null;\n userdata: Json | null;\n}\n\nexport interface PublicSetting {\n automationId: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n group: string | null;\n id: Generated<string>;\n key: string;\n leftConnectionId: string | null;\n leftId: Generated<string | null>;\n leftType: string | null;\n lineClassification: string | null;\n listingId: string | null;\n localAutomationId: string | null;\n parentSettingId: string | null;\n partner: string | null;\n rightConnectionId: string | null;\n rightId: Generated<string | null>;\n rightType: string | null;\n sourceId: string | null;\n status: Generated<string | null>;\n target: string;\n targetUuid: Generated<string | null>;\n tenantId: string | null;\n updatedAt: Generated<Timestamp>;\n value: string | null;\n}\n\nexport interface PublicSource {\n /**\n * deprecated\n */\n appId: string | null;\n code: string | null;\n connectionId: string | null;\n createdAt: Generated<Timestamp>;\n dataHref: string | null;\n date: Timestamp | null;\n description: string | null;\n id: Generated<string>;\n indexedJson: Json | null;\n isArchived: Generated<boolean | null>;\n json: Json | null;\n /**\n * deprecated\n */\n listingConnectionId: string | null;\n /**\n * deprecated\n */\n listingId: string | null;\n modifiedAt: Timestamp | null;\n parentId: string | null;\n remoteId: string | null;\n reservationId: string | null;\n status: Generated<string | null>;\n tenantId: string;\n transformJson: Json | null;\n transformType: string | null;\n type: string;\n updatedAt: Generated<Timestamp | null>;\n version: Generated<number | null>;\n}\n\nexport interface PublicTask {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n message: string | null;\n status: string | null;\n}\n\nexport interface PublicTaxStatement {\n centRentalRevenue: number | null;\n createdAt: Generated<Timestamp>;\n endAt: Timestamp | null;\n error: string | null;\n id: Generated<string>;\n metadata: Json | null;\n ownerId: string | null;\n startAt: Timestamp | null;\n status: Generated<string>;\n tenantId: string;\n updatedAt: Generated<Timestamp>;\n url: string | null;\n userId: string | null;\n year: number;\n}\n\nexport interface PublicTaxStatementStatus {\n name: string;\n}\n\nexport interface PublicTenant {\n address: string | null;\n addressCity: string | null;\n addressCountry: string | null;\n addressLine1: string | null;\n addressPostcode: string | null;\n billingAddressData: Json | null;\n billingAddressId: string | null;\n billingCustomerId: string | null;\n billingPartnerId: string | null;\n billingPaymentMethodType: string | null;\n billingPlan: string | null;\n billingSubscriptionStatus: string | null;\n booksClosedAt: Timestamp | null;\n calculatedBillingPartnerId: Generated<string | null>;\n calculatedIsBillable: Generated<boolean | null>;\n calculatedStatus: Generated<string | null>;\n /**\n * Billing subscription is getting cancelled at date\n */\n cancelledAt: Timestamp | null;\n chartOfAccountTenantId: string | null;\n clerkId: string | null;\n colorPrimary: string | null;\n commissionPercentage: Numeric | null;\n companyName: string | null;\n companyTaxCode: string | null;\n createdAt: Generated<Timestamp>;\n defaultCurrency: string | null;\n defaultRevenueRecognition: string | null;\n email: string | null;\n featureFlags: Generated<Json | null>;\n id: Generated<string>;\n intercomId: string | null;\n isActive: Generated<boolean | null>;\n isGeneralLedger: Generated<boolean | null>;\n isOnboarding: Generated<boolean | null>;\n isTest: Generated<boolean | null>;\n logo: string | null;\n longTermStayNights: number | null;\n name: string;\n partnerId: Generated<string | null>;\n setup: Json | null;\n setupCompleted: Generated<boolean | null>;\n statementAddressData: Json | null;\n statementAddressId: string | null;\n statementStartAt: Timestamp | null;\n status: Generated<string | null>;\n stripeId: string | null;\n stripeSubscriptionItemId: string | null;\n supportEmail: string | null;\n supportPhone: string | null;\n svixEndpoints: boolean | null;\n trialUntil: Timestamp | null;\n type: Generated<string | null>;\n updatedAt: Generated<Timestamp | null>;\n website: string | null;\n}\n\nexport interface PublicTenantUser {\n createdAt: Generated<Timestamp | null>;\n id: Generated<string>;\n lastInvitedAt: Timestamp | null;\n notificationPreferences: Generated<Json | null>;\n role: Generated<string | null>;\n status: Generated<string | null>;\n tenantId: string;\n updatedAt: Generated<Timestamp | null>;\n userId: string;\n}\n\nexport interface PublicToken {\n createdAt: Generated<Timestamp>;\n expiresAt: Timestamp | null;\n id: Generated<string>;\n nanoId: Generated<string>;\n payload: Generated<Json>;\n tenantId: string | null;\n type: string | null;\n userId: string | null;\n}\n\nexport interface PublicUser {\n address: string | null;\n addressCity: string | null;\n addressCountry: string | null;\n addressId: string | null;\n addressLine1: string | null;\n addressPostcode: string | null;\n clerkId: string | null;\n companyName: string | null;\n companyType: string | null;\n createdAt: Generated<Timestamp | null>;\n email: string | null;\n firstName: string | null;\n id: Generated<string>;\n isAdmin: Generated<boolean>;\n lastName: string | null;\n lastSeen: Timestamp | null;\n name: string | null;\n notificationPreferences: Generated<Json | null>;\n partnerId: string | null;\n password: string | null;\n phone: string | null;\n secondaryEmails: Generated<Json | null>;\n status: Generated<string | null>;\n sub: string | null;\n taxId: string | null;\n trialExpiryAt: Timestamp | null;\n type: Generated<string | null>;\n updatedAt: Generated<Timestamp | null>;\n}\n\nexport interface PublicUserCompanyType {\n name: string;\n}\n\nexport interface PublicUserCompanyUser {\n companyUserId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n updatedAt: Generated<Timestamp>;\n userId: string;\n}\n\nexport interface PublicView {\n group: string | null;\n icon: string | null;\n id: Generated<string>;\n isDefault: Generated<boolean | null>;\n retoolViewId: string | null;\n sortOrder: Generated<number | null>;\n stateData: Json | null;\n tenantId: string | null;\n title: string;\n type: string | null;\n}\n\nexport interface PublicViewNotificationEvents {\n createdAt: Timestamp | null;\n eventId: string | null;\n id: string | null;\n request: Json | null;\n response: Json | null;\n status: number | null;\n triggerName: string | null;\n}\n\nexport interface PublicViewNotificationEventsGroupedByDate {\n count: Int8 | null;\n dateTrunc: Timestamp | null;\n status: number | null;\n triggerName: string | null;\n}\n\nexport interface PublicViewWebhookEvents {\n createdAt: Timestamp | null;\n eventId: string | null;\n id: string | null;\n request: Json | null;\n response: Json | null;\n status: number | null;\n triggerName: string | null;\n}\n\nexport interface PublicViewWebhookEventsGroupedByDate {\n count: Int8 | null;\n dateTrunc: Timestamp | null;\n status: number | null;\n triggerName: string | null;\n}\n\nexport interface PublicWebhook {\n createdAt: Generated<Timestamp>;\n headers: Json | null;\n id: Generated<string>;\n tenantId: string | null;\n types: Generated<Json>;\n types2: string[] | null;\n url: string;\n}\n\nexport interface StoreDispatchedAction {\n actionType: string;\n apiEndpoint: string | null;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n message: string | null;\n payload: Json | null;\n requestR2Link: string | null;\n sequence: Generated<number>;\n tenantId: string;\n userId: string | null;\n}\n\nexport interface StoreEffectQueue {\n claimedAt: Timestamp | null;\n claimedBy: string | null;\n completedAt: Timestamp | null;\n createdAt: Generated<Timestamp>;\n dispatchedActionId: string;\n effectType: string;\n id: Generated<string>;\n lastAttemptAt: Timestamp | null;\n lastError: string | null;\n maxRetries: Generated<number>;\n payload: Json;\n priority: Generated<number>;\n retryCount: Generated<number>;\n sequence: Generated<number>;\n status: Generated<StoreEffectStatus>;\n tenantId: string;\n}\n\nexport interface StoreMutationLog {\n changeRecord: Json;\n createdAt: Generated<Timestamp>;\n dispatchedActionId: string;\n effectId: string | null;\n id: Generated<string>;\n mutatedEntityId: string;\n mutatedEntityType: string;\n mutationOp: string;\n tenantId: string;\n}\n\nexport interface TrackingEvent {\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n name: string;\n packageName: string;\n props: Json;\n tenantId: string | null;\n timestamp: Generated<Timestamp | null>;\n trackedAt: Generated<Timestamp | null>;\n userId: string | null;\n}\n\nexport interface TrackingIntercomConversation {\n answer: string;\n conversationId: Int8;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n isRelevant: boolean;\n outcome: string;\n question: string;\n summary: string;\n tags: string;\n}\n\nexport interface TrackingIntercomConversationUser {\n conversationId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n userId: string;\n}\n\nexport interface TrackingIntercomReport {\n action: string;\n category: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n summary: string;\n tags: string;\n}\n\nexport interface TrackingIntercomReportConversation {\n conversationId: string;\n id: Generated<string>;\n reportId: string;\n}\n\nexport interface TrackingMonitorConnection {\n appId: string;\n connectionId: string;\n createdAt: Generated<Timestamp>;\n id: Generated<string>;\n message: string | null;\n status: string | null;\n syncedAt: Timestamp | null;\n tenantId: string;\n triggerRef: string | null;\n updatedAt: Timestamp | null;\n version: number | null;\n}\n\nexport interface TrackingMonitorConnectionState {\n name: string;\n}\n\nexport interface DB {\n \"accounting.account\": AccountingAccount;\n \"accounting.accountAssignment\": AccountingAccountAssignment;\n \"accounting.accountAssignmentLineType\": AccountingAccountAssignmentLineType;\n \"accounting.accountAssignmentType\": AccountingAccountAssignmentType;\n \"accounting.accountCategory\": AccountingAccountCategory;\n \"accounting.accountClassification\": AccountingAccountClassification;\n \"accounting.accountReservationLineType\": AccountingAccountReservationLineType;\n \"accounting.accountReservationRevRec\": AccountingAccountReservationRevRec;\n \"accounting.accountType\": AccountingAccountType;\n \"accounting.bankAccount\": AccountingBankAccount;\n \"accounting.bankAccountCategory\": AccountingBankAccountCategory;\n \"accounting.bankAccountType\": AccountingBankAccountType;\n \"accounting.bankRecord\": AccountingBankRecord;\n \"accounting.bankRecordTransactionPayment\": AccountingBankRecordTransactionPayment;\n \"accounting.contact\": AccountingContact;\n \"accounting.contactCompanyType\": AccountingContactCompanyType;\n \"accounting.contactType\": AccountingContactType;\n \"accounting.journalEntry\": AccountingJournalEntry;\n \"accounting.journalEntryEntityType\": AccountingJournalEntryEntityType;\n \"accounting.journalEntryTriggerType\": AccountingJournalEntryTriggerType;\n \"accounting.journalEntryType\": AccountingJournalEntryType;\n \"accounting.paidStatus\": AccountingPaidStatus;\n \"accounting.party\": AccountingParty;\n \"accounting.rate\": AccountingRate;\n \"accounting.rateType\": AccountingRateType;\n \"accounting.taxBehavior\": AccountingTaxBehavior;\n \"accounting.transaction\": AccountingTransaction;\n \"accounting.transactionLine\": AccountingTransactionLine;\n \"accounting.transactionType\": AccountingTransactionType;\n \"core.activeStatus\": CoreActiveStatus;\n \"core.change\": CoreChange;\n \"core.changeEntityType\": CoreChangeEntityType;\n \"core.changeLink\": CoreChangeLink;\n \"core.changeSourceLink\": CoreChangeSourceLink;\n \"core.changeStatus\": CoreChangeStatus;\n \"core.changeSyncType\": CoreChangeSyncType;\n \"core.changeType\": CoreChangeType;\n \"core.flow\": CoreFlow;\n \"core.flowMapping\": CoreFlowMapping;\n \"core.flowSetting\": CoreFlowSetting;\n \"core.issueMessageOverwrite\": CoreIssueMessageOverwrite;\n \"core.sync\": CoreSync;\n \"core.syncStatus\": CoreSyncStatus;\n \"core.syncSubtask\": CoreSyncSubtask;\n \"core.syncType\": CoreSyncType;\n \"hdbCatalog.eventInvocationLogs\": HdbCatalogEventInvocationLogs;\n \"hdbCatalog.eventLog\": HdbCatalogEventLog;\n \"hdbCatalog.hdbActionLog\": HdbCatalogHdbActionLog;\n \"hdbCatalog.hdbCronEventInvocationLogs\": HdbCatalogHdbCronEventInvocationLogs;\n \"hdbCatalog.hdbCronEvents\": HdbCatalogHdbCronEvents;\n \"hdbCatalog.hdbEventLogCleanups\": HdbCatalogHdbEventLogCleanups;\n \"hdbCatalog.hdbMetadata\": HdbCatalogHdbMetadata;\n \"hdbCatalog.hdbScheduledEventInvocationLogs\": HdbCatalogHdbScheduledEventInvocationLogs;\n \"hdbCatalog.hdbScheduledEvents\": HdbCatalogHdbScheduledEvents;\n \"hdbCatalog.hdbSchemaNotifications\": HdbCatalogHdbSchemaNotifications;\n \"hdbCatalog.hdbSourceCatalogVersion\": HdbCatalogHdbSourceCatalogVersion;\n \"hdbCatalog.hdbVersion\": HdbCatalogHdbVersion;\n \"public.accountCollection\": PublicAccountCollection;\n \"public.accountCollectionType\": PublicAccountCollectionType;\n \"public.address\": PublicAddress;\n \"public.app\": PublicApp;\n \"public.auditLog\": PublicAuditLog;\n \"public.automation\": PublicAutomation;\n \"public.automationTemplate\": PublicAutomationTemplate;\n \"public.billingPaymentMethodType\": PublicBillingPaymentMethodType;\n \"public.bookingChannel\": PublicBookingChannel;\n \"public.connection\": PublicConnection;\n \"public.currency\": PublicCurrency;\n \"public.duplicateEmails\": PublicDuplicateEmails;\n \"public.emailTemplate\": PublicEmailTemplate;\n \"public.emailTemplateType\": PublicEmailTemplateType;\n \"public.feature\": PublicFeature;\n \"public.featureApproval\": PublicFeatureApproval;\n \"public.featureApprovalStatus\": PublicFeatureApprovalStatus;\n \"public.featureEnabledTeam\": PublicFeatureEnabledTeam;\n \"public.featureStatus\": PublicFeatureStatus;\n \"public.fileStorage\": PublicFileStorage;\n \"public.fileStorageSourceLink\": PublicFileStorageSourceLink;\n \"public.fileStorageTag\": PublicFileStorageTag;\n \"public.latestDuplicateEmails\": PublicLatestDuplicateEmails;\n \"public.listing\": PublicListing;\n \"public.listingCollection\": PublicListingCollection;\n \"public.listingConnection\": PublicListingConnection;\n \"public.listingOwner\": PublicListingOwner;\n \"public.listingOwnerRole\": PublicListingOwnerRole;\n \"public.listingOwnershipPeriod\": PublicListingOwnershipPeriod;\n \"public.listingOwnershipPeriodBusinessModel\": PublicListingOwnershipPeriodBusinessModel;\n \"public.listingOwnershipPeriodMember\": PublicListingOwnershipPeriodMember;\n \"public.owner\": PublicOwner;\n \"public.ownerStatement\": PublicOwnerStatement;\n \"public.ownerStatementLayout\": PublicOwnerStatementLayout;\n \"public.ownerStatementLayoutAccount\": PublicOwnerStatementLayoutAccount;\n \"public.ownerStatementLayoutListing\": PublicOwnerStatementLayoutListing;\n \"public.ownerStatementLine\": PublicOwnerStatementLine;\n \"public.ownerStatementOwner\": PublicOwnerStatementOwner;\n \"public.ownerStatementStatus\": PublicOwnerStatementStatus;\n \"public.ownerStatementTemplate\": PublicOwnerStatementTemplate;\n \"public.ownerType\": PublicOwnerType;\n \"public.ownerUserAccess\": PublicOwnerUserAccess;\n \"public.ownerUserAccessRole\": PublicOwnerUserAccessRole;\n \"public.payment\": PublicPayment;\n \"public.paymentLine\": PublicPaymentLine;\n \"public.paymentLineClassification\": PublicPaymentLineClassification;\n \"public.paymentStatus\": PublicPaymentStatus;\n \"public.paymentType\": PublicPaymentType;\n \"public.pgpodmanStatus\": PublicPgpodmanStatus;\n \"public.pgStatStatements\": PublicPgStatStatements;\n \"public.pgStatStatementsInfo\": PublicPgStatStatementsInfo;\n \"public.recurringFee\": PublicRecurringFee;\n \"public.recurringFeeAccount\": PublicRecurringFeeAccount;\n \"public.recurringFeeListingSubscription\": PublicRecurringFeeListingSubscription;\n \"public.recurringFeeListingSubscriptionRateType\": PublicRecurringFeeListingSubscriptionRateType;\n \"public.recurringFeeType\": PublicRecurringFeeType;\n \"public.reservation\": PublicReservation;\n \"public.reservationStatus\": PublicReservationStatus;\n \"public.reservationWithOccupancyStatus\": PublicReservationWithOccupancyStatus;\n \"public.setting\": PublicSetting;\n \"public.source\": PublicSource;\n \"public.task\": PublicTask;\n \"public.taxStatement\": PublicTaxStatement;\n \"public.taxStatementStatus\": PublicTaxStatementStatus;\n \"public.tenant\": PublicTenant;\n \"public.tenantUser\": PublicTenantUser;\n \"public.token\": PublicToken;\n \"public.user\": PublicUser;\n \"public.userCompanyType\": PublicUserCompanyType;\n \"public.userCompanyUser\": PublicUserCompanyUser;\n \"public.view\": PublicView;\n \"public.viewNotificationEvents\": PublicViewNotificationEvents;\n \"public.viewNotificationEventsGroupedByDate\": PublicViewNotificationEventsGroupedByDate;\n \"public.viewWebhookEvents\": PublicViewWebhookEvents;\n \"public.viewWebhookEventsGroupedByDate\": PublicViewWebhookEventsGroupedByDate;\n \"public.webhook\": PublicWebhook;\n \"store.dispatchedAction\": StoreDispatchedAction;\n \"store.effectQueue\": StoreEffectQueue;\n \"store.mutationLog\": StoreMutationLog;\n \"tracking.event\": TrackingEvent;\n \"tracking.intercomConversation\": TrackingIntercomConversation;\n \"tracking.intercomConversationUser\": TrackingIntercomConversationUser;\n \"tracking.intercomReport\": TrackingIntercomReport;\n \"tracking.intercomReportConversation\": TrackingIntercomReportConversation;\n \"tracking.monitorConnection\": TrackingMonitorConnection;\n \"tracking.monitorConnectionState\": TrackingMonitorConnectionState;\n}\n"]}
|
package/build/module/index.d.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { Kysely as K, type LogConfig
|
|
1
|
+
import { Kysely as K, type LogConfig } from 'kysely';
|
|
2
2
|
import postgres, { type Sql } from 'postgres';
|
|
3
|
-
export
|
|
4
|
-
export { jsonArrayFrom } from 'kysely/helpers/postgres';
|
|
5
|
-
export * from './v1.generated';
|
|
3
|
+
export * from './isomorphic';
|
|
6
4
|
import type { DB } from './v1.generated';
|
|
7
|
-
export type Transaction = T<DB>;
|
|
8
|
-
export { sql } from 'kysely';
|
|
9
5
|
type KyselyOpts = {
|
|
10
6
|
repositoryName?: string;
|
|
11
7
|
log?: true | LogConfig;
|
|
@@ -30,4 +26,3 @@ export declare function forceCloseAllPostgres(timeoutMs?: number): Promise<void>
|
|
|
30
26
|
export declare class DatabaseError extends Error {
|
|
31
27
|
constructor(message: string, cause: any);
|
|
32
28
|
}
|
|
33
|
-
export declare function withStack<T>(a: Promise<T>): Promise<T>;
|
package/build/module/index.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import { serializeError } from '@finalytic/utils';
|
|
2
1
|
import { CamelCasePlugin, Kysely as K, } from 'kysely';
|
|
3
2
|
import { PostgresJSDialect } from 'kysely-postgres-js';
|
|
4
3
|
import postgres from 'postgres';
|
|
5
|
-
export
|
|
6
|
-
export * from './v1.generated';
|
|
7
|
-
import { join, relative } from 'node:path';
|
|
4
|
+
export * from './isomorphic';
|
|
8
5
|
import { KyselyPganalyzeCommentPlugin } from './pganalyze-comment-plugin';
|
|
9
|
-
export { sql } from 'kysely';
|
|
10
6
|
/**
|
|
11
7
|
* @deprecated This method is deprecated in favor of the useAsyncKysely method.
|
|
12
8
|
*/
|
|
@@ -111,35 +107,4 @@ export class DatabaseError extends Error {
|
|
|
111
107
|
this.cause = cause;
|
|
112
108
|
}
|
|
113
109
|
}
|
|
114
|
-
const dirname = typeof __dirname === 'string' ? join(__dirname, '../../..') : '';
|
|
115
|
-
export async function withStack(a) {
|
|
116
|
-
// skip if we can't get the stack, probably in a worker
|
|
117
|
-
if (!dirname)
|
|
118
|
-
return await a;
|
|
119
|
-
const now = performance.now();
|
|
120
|
-
const error = new DatabaseError('Error in execute', undefined);
|
|
121
|
-
const stack = error.stack?.split('\n').slice(3) || undefined;
|
|
122
|
-
const firstLine = stack?.length && stack[0]?.includes('(') && dirname
|
|
123
|
-
? relative(dirname, stack[0].split('(')[1].split(')')[0])
|
|
124
|
-
: undefined;
|
|
125
|
-
try {
|
|
126
|
-
const result = await a;
|
|
127
|
-
console.log(`[${firstLine}] Execution time: ${Math.round(performance.now() - now)}ms`);
|
|
128
|
-
return result;
|
|
129
|
-
}
|
|
130
|
-
catch (e) {
|
|
131
|
-
if (stack)
|
|
132
|
-
error.stack = stack.join('\n').trim();
|
|
133
|
-
else
|
|
134
|
-
error.stack = e.stack;
|
|
135
|
-
// error.cause = e;
|
|
136
|
-
error.message = e.message;
|
|
137
|
-
const serialized = serializeError(e);
|
|
138
|
-
delete serialized.stack;
|
|
139
|
-
error.cause = serialized;
|
|
140
|
-
console.error(`Error in execute: ${firstLine}`, serializeError(error));
|
|
141
|
-
console.log(`[${firstLine}] Execution time: ${Math.round(performance.now() - now)}ms`);
|
|
142
|
-
throw error;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
110
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["import { serializeError } from '@finalytic/utils';\nimport {\n CamelCasePlugin,\n Kysely as K,\n type KyselyPlugin,\n type LogConfig,\n type Transaction as T,\n} from 'kysely';\nimport { PostgresJSDialect } from 'kysely-postgres-js';\nimport postgres, { type Sql } from 'postgres';\n\nexport type {\n ColumnType,\n Expression,\n ExpressionBuilder,\n ExpressionOrFactory,\n Generated,\n Insertable,\n JSONColumnType,\n OperandExpression,\n Selectable,\n SelectQueryBuilder,\n SqlBool,\n Updateable,\n} from 'kysely';\nexport { jsonArrayFrom } from 'kysely/helpers/postgres';\nexport * from './v1.generated';\n\nimport { join, relative } from 'node:path';\nimport { KyselyPganalyzeCommentPlugin } from './pganalyze-comment-plugin';\nimport type { DB } from './v1.generated';\n\nexport type Transaction = T<DB>;\nexport { sql } from 'kysely';\n\ntype KyselyOpts = {\n repositoryName?: string;\n log?: true | LogConfig;\n};\n\ntype PgOpt = {\n forceDisableSSL?: boolean;\n retries?: false | number;\n};\n\nexport type Kysely = K<DB>;\nexport type Postgres = Sql;\n/**\n * @deprecated This method is deprecated in favor of the useAsyncKysely method.\n */\nexport function useKysely(postgres: Sql, options?: KyselyOpts) {\n console.debug('Creating Kysely instance');\n const plugins: KyselyPlugin[] = [new CamelCasePlugin()];\n if (options?.repositoryName) {\n plugins.push(\n new KyselyPganalyzeCommentPlugin({\n repository: options.repositoryName,\n })\n );\n }\n const kysely = new K<DB>({\n dialect: new PostgresJSDialect({\n postgres,\n }),\n plugins,\n log: options?.log === true ? ['query', 'error'] : options?.log,\n });\n\n kysely.destroy = async () => {\n console.debug('Closing Kysely connection');\n await Promise.race([\n postgres.end({ timeout: 5000 }).catch(() => undefined),\n new Promise((res) => setTimeout(res, 6000)),\n ]);\n const index = _connections.indexOf(postgres);\n if (index !== -1) _connections.splice(index, 1);\n };\n\n return kysely;\n}\n\nlet _connections: postgres.Sql[] = [];\nexport async function useAsyncPostgres(connectionString: string, opt?: PgOpt) {\n const delayMs = 2500;\n const retries = opt?.retries === false ? 0 : opt?.retries || 3;\n const ssl = opt?.forceDisableSSL !== true;\n const url = new URL(connectionString);\n\n console.debug(\n `Creating Postgres connection with ${retries} retries and ssl=${ssl} and port=${url.port}`\n );\n if (_connections.length > 0)\n console.warn(`We already have ${_connections.length} Postgres connections`);\n\n for (let attempt = 1; attempt <= retries; attempt++) {\n try {\n const sql = postgres(connectionString, {\n ssl: ssl ? 'require' : false,\n // connect_timeout: 10\n // idle_timeout: 10\n // enable prepare statements, pgbouncer on crunchy allows for prepared statements\n prepare: true,\n connect_timeout: 10,\n idle_timeout: 60,\n });\n\n await sql`select 1`;\n try {\n // connect 30s, idle 60s, max lifetime 45min, statement 60s, lock 10s, log_min_duration 20s, log_lock_waits off\n await sql`set statement_timeout to '30s';`;\n await sql`set lock_timeout to '10s';`;\n } catch (e) {\n console.warn('Failed to set statement timeout, continuing', e);\n }\n\n _connections.push(sql);\n return sql;\n } catch (err) {\n if (attempt === retries) throw err;\n console.warn(\n `Postgres connection failed (attempt ${attempt}), retrying...`\n );\n console.error('error', err);\n await new Promise((res) => setTimeout(res, delayMs));\n }\n }\n throw new Error('Unable to connect to Postgres');\n}\n\nexport async function useAsyncKysely(\n connectionString: string,\n opt?: PgOpt & KyselyOpts\n) {\n const sql = await useAsyncPostgres(connectionString, opt);\n return useKysely(sql, opt);\n}\n\n/**\n * @deprecated This method is deprecated in favor of the useAsyncKysely method.\n */\nexport function usePostgres(\n connectionString?: string,\n opt?: Pick<PgOpt, 'forceDisableSSL'>\n) {\n if (!connectionString) throw new Error('No connection string');\n const ssl = opt?.forceDisableSSL !== true;\n const url = new URL(connectionString);\n console.debug(\n `Creating sync Postgres connection with ssl=${ssl} and port=${url.port}`\n );\n const pg = postgres(connectionString, {\n ssl: ssl ? 'require' : false,\n });\n _connections.push(pg);\n return pg;\n}\n\nexport async function forceCloseAllPostgres(timeoutMs = 5000) {\n await Promise.race([\n Promise.all(\n _connections.map((pg) =>\n pg.end({ timeout: timeoutMs }).catch(() => undefined)\n )\n ),\n new Promise((res) => setTimeout(res, timeoutMs + 1000)),\n ]);\n _connections = [];\n}\n\nexport class DatabaseError extends Error {\n constructor(message: string, cause: any) {\n super(message);\n this.cause = cause;\n }\n}\n\nconst dirname =\n typeof __dirname === 'string' ? join(__dirname, '../../..') : '';\n\nexport async function withStack<T>(a: Promise<T>) {\n // skip if we can't get the stack, probably in a worker\n if (!dirname) return await a;\n\n const now = performance.now();\n const error = new DatabaseError('Error in execute', undefined);\n const stack = error.stack?.split('\\n').slice(3) || undefined;\n const firstLine =\n stack?.length && stack[0]?.includes('(') && dirname\n ? relative(dirname, stack[0].split('(')[1].split(')')[0])\n : undefined;\n try {\n const result = await a;\n console.log(\n `[${firstLine}] Execution time: ${Math.round(performance.now() - now)}ms`\n );\n return result;\n } catch (e: any) {\n if (stack) error.stack = stack.join('\\n').trim();\n else error.stack = e.stack;\n // error.cause = e;\n error.message = e.message;\n const serialized = serializeError(e);\n delete serialized.stack;\n error.cause = serialized;\n console.error(`Error in execute: ${firstLine}`, serializeError(error));\n console.log(\n `[${firstLine}] Execution time: ${Math.round(performance.now() - now)}ms`\n );\n throw error;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CamelCasePlugin,\n Kysely as K,\n type KyselyPlugin,\n type LogConfig,\n} from 'kysely';\nimport { PostgresJSDialect } from 'kysely-postgres-js';\nimport postgres, { type Sql } from 'postgres';\n\nexport * from './isomorphic';\n\nimport { KyselyPganalyzeCommentPlugin } from './pganalyze-comment-plugin';\nimport type { DB } from './v1.generated';\n\ntype KyselyOpts = {\n repositoryName?: string;\n log?: true | LogConfig;\n};\n\ntype PgOpt = {\n forceDisableSSL?: boolean;\n retries?: false | number;\n};\n\nexport type Kysely = K<DB>;\nexport type Postgres = Sql;\n/**\n * @deprecated This method is deprecated in favor of the useAsyncKysely method.\n */\nexport function useKysely(postgres: Sql, options?: KyselyOpts) {\n console.debug('Creating Kysely instance');\n const plugins: KyselyPlugin[] = [new CamelCasePlugin()];\n if (options?.repositoryName) {\n plugins.push(\n new KyselyPganalyzeCommentPlugin({\n repository: options.repositoryName,\n })\n );\n }\n const kysely = new K<DB>({\n dialect: new PostgresJSDialect({\n postgres,\n }),\n plugins,\n log: options?.log === true ? ['query', 'error'] : options?.log,\n });\n\n kysely.destroy = async () => {\n console.debug('Closing Kysely connection');\n await Promise.race([\n postgres.end({ timeout: 5000 }).catch(() => undefined),\n new Promise((res) => setTimeout(res, 6000)),\n ]);\n const index = _connections.indexOf(postgres);\n if (index !== -1) _connections.splice(index, 1);\n };\n\n return kysely;\n}\n\nlet _connections: postgres.Sql[] = [];\nexport async function useAsyncPostgres(connectionString: string, opt?: PgOpt) {\n const delayMs = 2500;\n const retries = opt?.retries === false ? 0 : opt?.retries || 3;\n const ssl = opt?.forceDisableSSL !== true;\n const url = new URL(connectionString);\n\n console.debug(\n `Creating Postgres connection with ${retries} retries and ssl=${ssl} and port=${url.port}`\n );\n if (_connections.length > 0)\n console.warn(`We already have ${_connections.length} Postgres connections`);\n\n for (let attempt = 1; attempt <= retries; attempt++) {\n try {\n const sql = postgres(connectionString, {\n ssl: ssl ? 'require' : false,\n // connect_timeout: 10\n // idle_timeout: 10\n // enable prepare statements, pgbouncer on crunchy allows for prepared statements\n prepare: true,\n connect_timeout: 10,\n idle_timeout: 60,\n });\n\n await sql`select 1`;\n try {\n // connect 30s, idle 60s, max lifetime 45min, statement 60s, lock 10s, log_min_duration 20s, log_lock_waits off\n await sql`set statement_timeout to '30s';`;\n await sql`set lock_timeout to '10s';`;\n } catch (e) {\n console.warn('Failed to set statement timeout, continuing', e);\n }\n\n _connections.push(sql);\n return sql;\n } catch (err) {\n if (attempt === retries) throw err;\n console.warn(\n `Postgres connection failed (attempt ${attempt}), retrying...`\n );\n console.error('error', err);\n await new Promise((res) => setTimeout(res, delayMs));\n }\n }\n throw new Error('Unable to connect to Postgres');\n}\n\nexport async function useAsyncKysely(\n connectionString: string,\n opt?: PgOpt & KyselyOpts\n) {\n const sql = await useAsyncPostgres(connectionString, opt);\n return useKysely(sql, opt);\n}\n\n/**\n * @deprecated This method is deprecated in favor of the useAsyncKysely method.\n */\nexport function usePostgres(\n connectionString?: string,\n opt?: Pick<PgOpt, 'forceDisableSSL'>\n) {\n if (!connectionString) throw new Error('No connection string');\n const ssl = opt?.forceDisableSSL !== true;\n const url = new URL(connectionString);\n console.debug(\n `Creating sync Postgres connection with ssl=${ssl} and port=${url.port}`\n );\n const pg = postgres(connectionString, {\n ssl: ssl ? 'require' : false,\n });\n _connections.push(pg);\n return pg;\n}\n\nexport async function forceCloseAllPostgres(timeoutMs = 5000) {\n await Promise.race([\n Promise.all(\n _connections.map((pg) =>\n pg.end({ timeout: timeoutMs }).catch(() => undefined)\n )\n ),\n new Promise((res) => setTimeout(res, timeoutMs + 1000)),\n ]);\n _connections = [];\n}\n\nexport class DatabaseError extends Error {\n constructor(message: string, cause: any) {\n super(message);\n this.cause = cause;\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Kysely as K, Transaction as T } from 'kysely';
|
|
2
|
+
export type { ColumnType, Expression, ExpressionBuilder, ExpressionOrFactory, Generated, Insertable, JSONColumnType, OperandExpression, Selectable, SelectQueryBuilder, SqlBool, Updateable, } from 'kysely';
|
|
3
|
+
export { jsonArrayFrom } from 'kysely/helpers/postgres';
|
|
4
|
+
export * from './v1.generated';
|
|
5
|
+
import type { DB } from './v1.generated';
|
|
6
|
+
export type Transaction = T<DB>;
|
|
7
|
+
export { sql } from 'kysely';
|
|
8
|
+
export type Kysely = K<DB>;
|
|
9
|
+
export declare class DatabaseError extends Error {
|
|
10
|
+
constructor(message: string, cause: any);
|
|
11
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { jsonArrayFrom } from 'kysely/helpers/postgres';
|
|
2
|
+
export * from './v1.generated';
|
|
3
|
+
export { sql } from 'kysely';
|
|
4
|
+
export class DatabaseError extends Error {
|
|
5
|
+
constructor(message, cause) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.cause = cause;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=isomorphic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isomorphic.js","sourceRoot":"src/","sources":["isomorphic.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,cAAc,gBAAgB,CAAC;AAK/B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAI7B,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe,EAAE,KAAU;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF","sourcesContent":["import type { Kysely as K, Transaction as T } from 'kysely';\n\nexport type {\n ColumnType,\n Expression,\n ExpressionBuilder,\n ExpressionOrFactory,\n Generated,\n Insertable,\n JSONColumnType,\n OperandExpression,\n Selectable,\n SelectQueryBuilder,\n SqlBool,\n Updateable,\n} from 'kysely';\nexport { jsonArrayFrom } from 'kysely/helpers/postgres';\nexport * from './v1.generated';\n\nimport type { DB } from './v1.generated';\n\nexport type Transaction = T<DB>;\nexport { sql } from 'kysely';\n\nexport type Kysely = K<DB>;\n\nexport class DatabaseError extends Error {\n constructor(message: string, cause: any) {\n super(message);\n this.cause = cause;\n }\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { sql } from '../isomorphic';
|
|
2
|
+
export async function ensureDigestFunction(kysely) {
|
|
3
|
+
try {
|
|
4
|
+
await sql `select digest('', 'sha256')`.execute(kysely);
|
|
5
|
+
}
|
|
6
|
+
catch {
|
|
7
|
+
await sql `
|
|
8
|
+
create or replace function digest(input text, algo text)
|
|
9
|
+
returns bytea
|
|
10
|
+
language sql
|
|
11
|
+
immutable
|
|
12
|
+
strict
|
|
13
|
+
as $$
|
|
14
|
+
select '\\x0000000000000000000000000000000000000000000000000000000000000000'::bytea;
|
|
15
|
+
$$;
|
|
16
|
+
`.execute(kysely);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=digest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digest.js","sourceRoot":"src/","sources":["local/digest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,GAAG,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,CAAA,6BAA6B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,CAAA;;;;;;;;;KASR,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;AACH,CAAC","sourcesContent":["import { type Kysely, sql } from '../isomorphic';\n\nexport async function ensureDigestFunction(kysely: Kysely) {\n try {\n await sql`select digest('', 'sha256')`.execute(kysely);\n } catch {\n await sql`\n create or replace function digest(input text, algo text)\n returns bytea\n language sql\n immutable\n strict\n as $$\n select '\\\\x0000000000000000000000000000000000000000000000000000000000000000'::bytea;\n $$;\n `.execute(kysely);\n }\n}\n"]}
|
|
@@ -91,7 +91,7 @@ async function generateDump(root, dumpPath) {
|
|
|
91
91
|
}
|
|
92
92
|
export async function createLocalKysely(root, dumpPath) {
|
|
93
93
|
let isDestroyed = false;
|
|
94
|
-
const now = performance.now();
|
|
94
|
+
//const now = performance.now();
|
|
95
95
|
const dump = await generateDump(root, dumpPath);
|
|
96
96
|
const pglite = new PGlite({ loadDataDir: dump });
|
|
97
97
|
// warm up
|
|
@@ -106,12 +106,14 @@ export async function createLocalKysely(root, dumpPath) {
|
|
|
106
106
|
if (isDestroyed)
|
|
107
107
|
return;
|
|
108
108
|
isDestroyed = true;
|
|
109
|
-
const destroyTime = performance.now();
|
|
109
|
+
// const destroyTime = performance.now();
|
|
110
110
|
await originalDestroy().catch(() => undefined);
|
|
111
111
|
await pglite.close().catch(() => undefined);
|
|
112
|
-
console.log(
|
|
112
|
+
//console.log(
|
|
113
|
+
// `Database destroyed: ${Math.round(performance.now() - destroyTime)}ms`
|
|
114
|
+
//);
|
|
113
115
|
};
|
|
114
|
-
console.log(`Database initialized: ${Math.round(performance.now() - now)}ms`);
|
|
116
|
+
// console.log(`Database initialized: ${Math.round(performance.now() - now)}ms`);
|
|
115
117
|
return kysely;
|
|
116
118
|
}
|
|
117
119
|
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"src/","sources":["local/generate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"src/","sources":["local/generate.ts"],"names":[],"mappings":"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","sourcesContent":["import { promises as fs } from 'node:fs';\nimport { exists } from 'node:fs/promises';\nimport * as path from 'node:path';\nimport { join } from 'node:path';\nimport { PGlite } from '@electric-sql/pglite';\nimport {\n CamelCasePlugin,\n FileMigrationProvider,\n Kysely,\n Migrator,\n} from 'kysely';\nimport codegen from 'kysely-codegen';\nimport { KyselyPGlite } from 'kysely-pglite';\nimport type { DB } from '../v1.generated';\n\nasync function migrate(root: string, client: PGlite) {\n console.log('migrating pglite ....');\n const glob = new Bun.Glob('initial/*.sql');\n for await (const migration of glob.scan(root)) {\n await client.exec(await Bun.file(join(root, migration)).text());\n }\n}\n\nasync function migrateKysely(root: string, kysely: Kysely<any>) {\n console.log('init migrating kysely ....');\n const migrator = new Migrator({\n db: kysely,\n migrationTableSchema: 'core',\n migrationTableName: 'kysely_migration',\n migrationLockTableName: 'kysely_migration_lock',\n provider: new FileMigrationProvider({\n fs,\n path,\n // This needs to be an absolute path.\n migrationFolder: path.join(root, 'migrations'),\n }),\n });\n\n console.log('migrating kysely ....');\n const { error, results } = await migrator.migrateToLatest().catch(() => {\n console.error('failed to migrate');\n process.exit(1);\n });\n\n for (const it of results ?? []) {\n if (it.status === 'Success') {\n console.log(`migration \"${it.migrationName}\" was executed successfully`);\n } else if (it.status === 'Error') {\n console.error(`failed to execute migration \"${it.migrationName}\"`);\n }\n }\n\n if (error) {\n console.error('failed to migrate');\n console.error(error);\n process.exit(1);\n }\n}\n\nasync function generateDump(root: string, dumpPath: string) {\n const dataExists = await exists(dumpPath).catch(() => false);\n if (!dataExists) {\n console.log('Creating initial dump');\n const main = new PGlite();\n await migrate(root, main).catch(async (err) => {\n console.error('failed to migrate initial dump');\n await Bun.write(\n '../logs/migrate-initial-dump.json',\n JSON.stringify(err as any, null, 2)\n );\n process.exit(1);\n });\n const { dialect } = new KyselyPGlite(main);\n const kysely = new Kysely<DB>({\n dialect,\n plugins: [new CamelCasePlugin()],\n });\n await migrateKysely(root, kysely).catch(() => {\n console.error('failed to migrate kysely');\n process.exit(1);\n });\n await codegen\n .generate({\n db: kysely,\n outFile: path.join(root, 'src/v1.generated.ts'),\n defaultSchemas: ['xxx'],\n camelCase: true,\n dialect: codegen.getDialect('postgres'),\n })\n .catch(() => {\n console.error('failed to generate kysely');\n process.exit(1);\n });\n const content = await main.dumpDataDir('none').catch(() => {\n console.error('failed to dump data');\n process.exit(1);\n });\n await Bun.write(dumpPath, content).catch(() => {\n console.error('failed to write dump');\n process.exit(1);\n });\n return content;\n }\n return Bun.file(dumpPath);\n}\n\nexport async function createLocalKysely(root: string, dumpPath: string) {\n let isDestroyed = false;\n //const now = performance.now();\n\n const dump = await generateDump(root, dumpPath);\n\n const pglite = new PGlite({ loadDataDir: dump });\n // warm up\n await pglite.sql`SELECT 1`;\n const { dialect } = new KyselyPGlite(pglite);\n const kysely = new Kysely<DB>({\n dialect,\n plugins: [new CamelCasePlugin()],\n });\n\n const originalDestroy = kysely.destroy.bind(kysely);\n kysely.destroy = async () => {\n if (isDestroyed) return;\n isDestroyed = true;\n // const destroyTime = performance.now();\n await originalDestroy().catch(() => undefined);\n await pglite.close().catch(() => undefined);\n //console.log(\n // `Database destroyed: ${Math.round(performance.now() - destroyTime)}ms`\n //);\n };\n\n // console.log(`Database initialized: ${Math.round(performance.now() - now)}ms`);\n\n return kysely;\n}\n"]}
|
|
@@ -3,15 +3,15 @@ import { PGlite } from '@electric-sql/pglite';
|
|
|
3
3
|
import { CamelCasePlugin, Kysely } from 'kysely';
|
|
4
4
|
import { KyselyPGlite } from 'kysely-pglite';
|
|
5
5
|
import { KyselyPganalyzeCommentPlugin } from '../pganalyze-comment-plugin';
|
|
6
|
+
import { ensureDigestFunction } from './digest';
|
|
6
7
|
export const root = join(__dirname, '../..');
|
|
7
8
|
export const dumpPath = join(root, '.data.tar');
|
|
8
9
|
export async function useLocalKysely(args = {}) {
|
|
9
10
|
let isDestroyed = false;
|
|
10
|
-
const now = performance.now();
|
|
11
|
+
// const now = performance.now();
|
|
11
12
|
const dump = Bun.file(dumpPath);
|
|
12
13
|
const pglite = new PGlite({ loadDataDir: dump });
|
|
13
14
|
// warm up
|
|
14
|
-
await pglite.sql `SELECT 1`;
|
|
15
15
|
const { dialect } = new KyselyPGlite(pglite);
|
|
16
16
|
const kysely = new Kysely({
|
|
17
17
|
dialect,
|
|
@@ -23,17 +23,20 @@ export async function useLocalKysely(args = {}) {
|
|
|
23
23
|
}),
|
|
24
24
|
],
|
|
25
25
|
});
|
|
26
|
+
await ensureDigestFunction(kysely);
|
|
26
27
|
const originalDestroy = kysely.destroy.bind(kysely);
|
|
27
28
|
kysely.destroy = async () => {
|
|
28
29
|
if (isDestroyed)
|
|
29
30
|
return;
|
|
30
31
|
isDestroyed = true;
|
|
31
|
-
const destroyTime = performance.now();
|
|
32
|
+
//const destroyTime = performance.now();
|
|
32
33
|
await originalDestroy().catch(() => undefined);
|
|
33
34
|
await pglite.close().catch(() => undefined);
|
|
34
|
-
console.log(
|
|
35
|
+
//console.log(
|
|
36
|
+
// `Database destroyed: ${Math.round(performance.now() - destroyTime)}ms`
|
|
37
|
+
//);
|
|
35
38
|
};
|
|
36
|
-
console.log(`Database initialized: ${Math.round(performance.now() - now)}ms`);
|
|
39
|
+
// console.log(`Database initialized: ${Math.round(performance.now() - now)}ms`);
|
|
37
40
|
return kysely;
|
|
38
41
|
}
|
|
39
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["local/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAMhD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA8B,EAAE;IACnE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,iCAAiC;IAEjC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,UAAU;IACV,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAK;QAC5B,OAAO;QACP,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;QACtD,OAAO,EAAE;YACP,IAAI,eAAe,EAAE;YACrB,IAAI,4BAA4B,CAAC;gBAC/B,UAAU,EAAE,IAAI,CAAC,cAAc,IAAI,cAAc;aAClD,CAAC;SACH;KACF,CAAC,CAAC;IACH,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAEnC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;QAC1B,IAAI,WAAW;YAAE,OAAO;QACxB,WAAW,GAAG,IAAI,CAAC;QACnB,wCAAwC;QACxC,MAAM,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5C,cAAc;QACd,0EAA0E;QAC1E,IAAI;IACN,CAAC,CAAC;IAEF,iFAAiF;IAEjF,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { join } from 'node:path';\nimport { PGlite } from '@electric-sql/pglite';\nimport { CamelCasePlugin, Kysely, type LogConfig } from 'kysely';\nimport { KyselyPGlite } from 'kysely-pglite';\nimport { KyselyPganalyzeCommentPlugin } from '../pganalyze-comment-plugin';\nimport type { DB } from '../v1.generated';\nimport { ensureDigestFunction } from './digest';\n\nexport const root = join(__dirname, '../..');\nexport const dumpPath = join(root, '.data.tar');\n\nexport type UseLocalKyselyOptions = {\n repositoryName?: string;\n log?: true | LogConfig;\n};\nexport async function useLocalKysely(args: UseLocalKyselyOptions = {}) {\n let isDestroyed = false;\n // const now = performance.now();\n\n const dump = Bun.file(dumpPath);\n\n const pglite = new PGlite({ loadDataDir: dump });\n // warm up\n const { dialect } = new KyselyPGlite(pglite);\n const kysely = new Kysely<DB>({\n dialect,\n log: args.log === true ? ['query', 'error'] : args.log,\n plugins: [\n new CamelCasePlugin(),\n new KyselyPganalyzeCommentPlugin({\n repository: args.repositoryName ?? 'localTesting',\n }),\n ],\n });\n await ensureDigestFunction(kysely);\n\n const originalDestroy = kysely.destroy.bind(kysely);\n kysely.destroy = async () => {\n if (isDestroyed) return;\n isDestroyed = true;\n //const destroyTime = performance.now();\n await originalDestroy().catch(() => undefined);\n await pglite.close().catch(() => undefined);\n //console.log(\n // `Database destroyed: ${Math.round(performance.now() - destroyTime)}ms`\n //);\n };\n\n // console.log(`Database initialized: ${Math.round(performance.now() - now)}ms`);\n\n return kysely;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../../src/index.ts","../../src/v1.generated.ts","../../src/local/generate.ts","../../src/local/index.ts","../../src/pganalyze-comment-plugin/comment-transformer.ts","../../src/pganalyze-comment-plugin/index.ts","../../src/test/index.ts"],"version":"5.9.3"}
|
|
1
|
+
{"root":["../../src/index.ts","../../src/isomorphic.ts","../../src/v1.generated.ts","../../src/local/digest.ts","../../src/local/generate.ts","../../src/local/index.ts","../../src/pganalyze-comment-plugin/comment-transformer.ts","../../src/pganalyze-comment-plugin/index.ts","../../src/test/index.ts"],"version":"5.9.3"}
|