@vrplatform/kysely 1.2.32 → 1.3.0
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/index.js +18 -8
- package/build/main/index.js.map +1 -1
- package/build/main/v1.generated.d.ts +3 -25
- package/build/main/v1.generated.js.map +1 -1
- package/build/module/index.js +18 -8
- package/build/module/index.js.map +1 -1
- package/build/module/v1.generated.d.ts +3 -25
- package/build/module/v1.generated.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +23 -12
- package/src/v1.generated.ts +3 -31
package/build/.data.tar
CHANGED
|
Binary file
|
package/build/main/index.js
CHANGED
|
@@ -46,22 +46,27 @@ function useKysely(postgres, options = {}) {
|
|
|
46
46
|
plugins: [new kysely_1.CamelCasePlugin()],
|
|
47
47
|
log: options?.log ? ['query', 'error'] : undefined,
|
|
48
48
|
});
|
|
49
|
-
const destroy = kysely.destroy;
|
|
50
49
|
kysely.destroy = async () => {
|
|
51
50
|
console.debug('Closing Kysely connection');
|
|
52
|
-
|
|
51
|
+
await Promise.race([
|
|
52
|
+
postgres.end({ timeout: 5000 }).catch(() => undefined),
|
|
53
|
+
new Promise((res) => setTimeout(res, 6000)),
|
|
54
|
+
]);
|
|
55
|
+
const index = _connections.indexOf(postgres);
|
|
56
|
+
if (index !== -1)
|
|
57
|
+
_connections.splice(index, 1);
|
|
53
58
|
};
|
|
54
59
|
return kysely;
|
|
55
60
|
}
|
|
56
|
-
|
|
61
|
+
let _connections = [];
|
|
57
62
|
async function useAsyncPostgres(connectionString, opt) {
|
|
58
63
|
const delayMs = 2500;
|
|
59
64
|
const retries = opt?.retries === false ? 0 : opt?.retries || 3;
|
|
60
65
|
const ssl = opt?.forceDisableSSL !== true;
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
const url = new URL(connectionString);
|
|
67
|
+
console.debug(`Creating Postgres connection with ${retries} retries and ssl=${ssl} and port=${url.port}`);
|
|
68
|
+
if (_connections.length > 0)
|
|
63
69
|
console.warn(`We already have ${_connections.length} Postgres connections`);
|
|
64
|
-
}
|
|
65
70
|
for (let attempt = 1; attempt <= retries; attempt++) {
|
|
66
71
|
try {
|
|
67
72
|
const sql = (0, postgres_1.default)(connectionString, {
|
|
@@ -106,6 +111,8 @@ function usePostgres(connectionString, opt) {
|
|
|
106
111
|
if (!connectionString)
|
|
107
112
|
throw new Error('No connection string');
|
|
108
113
|
const ssl = opt?.forceDisableSSL !== true;
|
|
114
|
+
const url = new URL(connectionString);
|
|
115
|
+
console.debug(`Creating sync Postgres connection with ssl=${ssl} and port=${url.port}`);
|
|
109
116
|
const pg = (0, postgres_1.default)(connectionString, {
|
|
110
117
|
ssl: ssl ? 'require' : false,
|
|
111
118
|
});
|
|
@@ -113,8 +120,11 @@ function usePostgres(connectionString, opt) {
|
|
|
113
120
|
return pg;
|
|
114
121
|
}
|
|
115
122
|
async function forceCloseAllPostgres(timeoutMs = 5000) {
|
|
116
|
-
await Promise.
|
|
117
|
-
|
|
123
|
+
await Promise.race([
|
|
124
|
+
Promise.all(_connections.map((pg) => pg.end({ timeout: timeoutMs }).catch(() => undefined))),
|
|
125
|
+
new Promise((res) => setTimeout(res, timeoutMs + 1000)),
|
|
126
|
+
]);
|
|
127
|
+
_connections = [];
|
|
118
128
|
}
|
|
119
129
|
class DatabaseError extends Error {
|
|
120
130
|
constructor(message, cause) {
|
package/build/main/index.js.map
CHANGED
|
@@ -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 { CamelCasePlugin, Kysely as K, type Transaction as T } 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 type { DB } from './v1.generated';\n\nexport type Transaction = T<DB>;\nexport { sql } from 'kysely';\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: { log?: boolean } = {}) {\n console.debug('Creating Kysely instance');\n const kysely = new K<DB>({\n dialect: new PostgresJSDialect({\n postgres,\n }),\n plugins: [new CamelCasePlugin()],\n log: options?.log ? ['query', 'error'] : undefined,\n });\n\n const destroy = kysely.destroy;\n kysely.destroy = async () => {\n console.debug('Closing Kysely connection');\n return destroy();\n };\n\n return kysely;\n}\n\nconst _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\n console.debug(\n `Creating Postgres connection with ${retries} retries and ssl=${ssl}`\n );\n if (_connections.length > 0) {\n console.warn(`We already have ${_connections.length} Postgres connections`);\n }\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 // disable prepare statements since we use pgbouncer\n prepare: false,\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(connectionString: string, opt?: PgOpt) {\n const sql = await useAsyncPostgres(connectionString, opt);\n return useKysely(sql);\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 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.all(\n _connections.map((pg) =>\n pg.end({ timeout: timeoutMs }).catch(() => undefined)\n )\n );\n _connections.length = 0;\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 { serializeError } from '@finalytic/utils';\nimport { CamelCasePlugin, Kysely as K, type Transaction as T } 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 type { DB } from './v1.generated';\n\nexport type Transaction = T<DB>;\nexport { sql } from 'kysely';\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: { log?: boolean } = {}) {\n console.debug('Creating Kysely instance');\n const kysely = new K<DB>({\n dialect: new PostgresJSDialect({\n postgres,\n }),\n plugins: [new CamelCasePlugin()],\n log: options?.log ? ['query', 'error'] : undefined,\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 // disable prepare statements since we use pgbouncer\n prepare: false,\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(connectionString: string, opt?: PgOpt) {\n const sql = await useAsyncPostgres(connectionString, opt);\n return useKysely(sql);\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"]}
|
|
@@ -361,6 +361,7 @@ export interface CoreFlowMapping {
|
|
|
361
361
|
id: Generated<string>;
|
|
362
362
|
listingId: string | null;
|
|
363
363
|
mappingKey: string;
|
|
364
|
+
rateId: string | null;
|
|
364
365
|
sourceId: string;
|
|
365
366
|
value: Json | null;
|
|
366
367
|
}
|
|
@@ -610,9 +611,6 @@ export interface PublicAutomation {
|
|
|
610
611
|
updatedAt: Generated<Timestamp>;
|
|
611
612
|
viewSettings: Json | null;
|
|
612
613
|
}
|
|
613
|
-
export interface PublicAutomationStatus {
|
|
614
|
-
name: string;
|
|
615
|
-
}
|
|
616
614
|
export interface PublicAutomationTemplate {
|
|
617
615
|
/**
|
|
618
616
|
* determines whether this automation allows a team to configure multiple versions of this with the same leftConnection rightConnection combination
|
|
@@ -674,9 +672,6 @@ export interface PublicConnection {
|
|
|
674
672
|
updatedAt: Generated<Timestamp | null>;
|
|
675
673
|
version: number | null;
|
|
676
674
|
}
|
|
677
|
-
export interface PublicConnectionStatusTemporary {
|
|
678
|
-
name: string;
|
|
679
|
-
}
|
|
680
675
|
export interface PublicCurrency {
|
|
681
676
|
name: string;
|
|
682
677
|
}
|
|
@@ -804,7 +799,7 @@ export interface PublicListing {
|
|
|
804
799
|
name: string | null;
|
|
805
800
|
ownerContactId: string | null;
|
|
806
801
|
pmsAddressData: Json | null;
|
|
807
|
-
pmsStatus:
|
|
802
|
+
pmsStatus: string | null;
|
|
808
803
|
sourceId: string | null;
|
|
809
804
|
status: string | null;
|
|
810
805
|
tenantId: string;
|
|
@@ -873,12 +868,6 @@ export interface PublicListingOwnershipPeriodMember {
|
|
|
873
868
|
split: number;
|
|
874
869
|
updatedAt: Generated<Timestamp | null>;
|
|
875
870
|
}
|
|
876
|
-
export interface PublicListingPmsStatus {
|
|
877
|
-
name: string;
|
|
878
|
-
}
|
|
879
|
-
export interface PublicListingStatus {
|
|
880
|
-
name: string;
|
|
881
|
-
}
|
|
882
871
|
export interface PublicOwner {
|
|
883
872
|
addressId: string | null;
|
|
884
873
|
companyType: string | null;
|
|
@@ -902,9 +891,6 @@ export interface PublicOwner {
|
|
|
902
891
|
uniqueRef: string | null;
|
|
903
892
|
updatedAt: Generated<Timestamp>;
|
|
904
893
|
}
|
|
905
|
-
export interface PublicOwnerPmsStatus {
|
|
906
|
-
name: string;
|
|
907
|
-
}
|
|
908
894
|
export interface PublicOwnerStatement {
|
|
909
895
|
automationId: string | null;
|
|
910
896
|
centAccountingBalanceEnd: number | null;
|
|
@@ -1008,9 +994,6 @@ export interface PublicOwnerStatementTemplate {
|
|
|
1008
994
|
updatedAt: Generated<Timestamp>;
|
|
1009
995
|
version: Generated<number | null>;
|
|
1010
996
|
}
|
|
1011
|
-
export interface PublicOwnerStatus {
|
|
1012
|
-
name: string;
|
|
1013
|
-
}
|
|
1014
997
|
export interface PublicOwnerType {
|
|
1015
998
|
name: string;
|
|
1016
999
|
}
|
|
@@ -1059,6 +1042,7 @@ export interface PublicPaymentLine {
|
|
|
1059
1042
|
id: Generated<string>;
|
|
1060
1043
|
lineId: string | null;
|
|
1061
1044
|
listingId: string | null;
|
|
1045
|
+
matchReservationConfirmationCode: string | null;
|
|
1062
1046
|
matchStatus: Generated<string | null>;
|
|
1063
1047
|
metadata: Json | null;
|
|
1064
1048
|
originCentTotal: Int8 | null;
|
|
@@ -1707,12 +1691,10 @@ export interface DB {
|
|
|
1707
1691
|
"public.app": PublicApp;
|
|
1708
1692
|
"public.auditLog": PublicAuditLog;
|
|
1709
1693
|
"public.automation": PublicAutomation;
|
|
1710
|
-
"public.automationStatus": PublicAutomationStatus;
|
|
1711
1694
|
"public.automationTemplate": PublicAutomationTemplate;
|
|
1712
1695
|
"public.billingPaymentMethodType": PublicBillingPaymentMethodType;
|
|
1713
1696
|
"public.bookingChannel": PublicBookingChannel;
|
|
1714
1697
|
"public.connection": PublicConnection;
|
|
1715
|
-
"public.connectionStatusTemporary": PublicConnectionStatusTemporary;
|
|
1716
1698
|
"public.currency": PublicCurrency;
|
|
1717
1699
|
"public.duplicateEmails": PublicDuplicateEmails;
|
|
1718
1700
|
"public.emailTemplate": PublicEmailTemplate;
|
|
@@ -1734,10 +1716,7 @@ export interface DB {
|
|
|
1734
1716
|
"public.listingOwnershipPeriod": PublicListingOwnershipPeriod;
|
|
1735
1717
|
"public.listingOwnershipPeriodBusinessModel": PublicListingOwnershipPeriodBusinessModel;
|
|
1736
1718
|
"public.listingOwnershipPeriodMember": PublicListingOwnershipPeriodMember;
|
|
1737
|
-
"public.listingPmsStatus": PublicListingPmsStatus;
|
|
1738
|
-
"public.listingStatus": PublicListingStatus;
|
|
1739
1719
|
"public.owner": PublicOwner;
|
|
1740
|
-
"public.ownerPmsStatus": PublicOwnerPmsStatus;
|
|
1741
1720
|
"public.ownerStatement": PublicOwnerStatement;
|
|
1742
1721
|
"public.ownerStatementLayout": PublicOwnerStatementLayout;
|
|
1743
1722
|
"public.ownerStatementLayoutAccount": PublicOwnerStatementLayoutAccount;
|
|
@@ -1746,7 +1725,6 @@ export interface DB {
|
|
|
1746
1725
|
"public.ownerStatementOwner": PublicOwnerStatementOwner;
|
|
1747
1726
|
"public.ownerStatementStatus": PublicOwnerStatementStatus;
|
|
1748
1727
|
"public.ownerStatementTemplate": PublicOwnerStatementTemplate;
|
|
1749
|
-
"public.ownerStatus": PublicOwnerStatus;
|
|
1750
1728
|
"public.ownerType": PublicOwnerType;
|
|
1751
1729
|
"public.ownerUserAccess": PublicOwnerUserAccess;
|
|
1752
1730
|
"public.ownerUserAccessRole": PublicOwnerUserAccessRole;
|
|
@@ -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 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 PublicAutomationStatus {\n name: string;\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 PublicConnectionStatusTemporary {\n name: string;\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: Generated<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 PublicListingPmsStatus {\n name: string;\n}\n\nexport interface PublicListingStatus {\n name: string;\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 PublicOwnerPmsStatus {\n name: string;\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 PublicOwnerStatus {\n name: string;\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 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 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.automationStatus\": PublicAutomationStatus;\n \"public.automationTemplate\": PublicAutomationTemplate;\n \"public.billingPaymentMethodType\": PublicBillingPaymentMethodType;\n \"public.bookingChannel\": PublicBookingChannel;\n \"public.connection\": PublicConnection;\n \"public.connectionStatusTemporary\": PublicConnectionStatusTemporary;\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.listingPmsStatus\": PublicListingPmsStatus;\n \"public.listingStatus\": PublicListingStatus;\n \"public.owner\": PublicOwner;\n \"public.ownerPmsStatus\": PublicOwnerPmsStatus;\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.ownerStatus\": PublicOwnerStatus;\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 | 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 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 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.js
CHANGED
|
@@ -18,22 +18,27 @@ export function useKysely(postgres, options = {}) {
|
|
|
18
18
|
plugins: [new CamelCasePlugin()],
|
|
19
19
|
log: options?.log ? ['query', 'error'] : undefined,
|
|
20
20
|
});
|
|
21
|
-
const destroy = kysely.destroy;
|
|
22
21
|
kysely.destroy = async () => {
|
|
23
22
|
console.debug('Closing Kysely connection');
|
|
24
|
-
|
|
23
|
+
await Promise.race([
|
|
24
|
+
postgres.end({ timeout: 5000 }).catch(() => undefined),
|
|
25
|
+
new Promise((res) => setTimeout(res, 6000)),
|
|
26
|
+
]);
|
|
27
|
+
const index = _connections.indexOf(postgres);
|
|
28
|
+
if (index !== -1)
|
|
29
|
+
_connections.splice(index, 1);
|
|
25
30
|
};
|
|
26
31
|
return kysely;
|
|
27
32
|
}
|
|
28
|
-
|
|
33
|
+
let _connections = [];
|
|
29
34
|
export async function useAsyncPostgres(connectionString, opt) {
|
|
30
35
|
const delayMs = 2500;
|
|
31
36
|
const retries = opt?.retries === false ? 0 : opt?.retries || 3;
|
|
32
37
|
const ssl = opt?.forceDisableSSL !== true;
|
|
33
|
-
|
|
34
|
-
|
|
38
|
+
const url = new URL(connectionString);
|
|
39
|
+
console.debug(`Creating Postgres connection with ${retries} retries and ssl=${ssl} and port=${url.port}`);
|
|
40
|
+
if (_connections.length > 0)
|
|
35
41
|
console.warn(`We already have ${_connections.length} Postgres connections`);
|
|
36
|
-
}
|
|
37
42
|
for (let attempt = 1; attempt <= retries; attempt++) {
|
|
38
43
|
try {
|
|
39
44
|
const sql = postgres(connectionString, {
|
|
@@ -78,6 +83,8 @@ export function usePostgres(connectionString, opt) {
|
|
|
78
83
|
if (!connectionString)
|
|
79
84
|
throw new Error('No connection string');
|
|
80
85
|
const ssl = opt?.forceDisableSSL !== true;
|
|
86
|
+
const url = new URL(connectionString);
|
|
87
|
+
console.debug(`Creating sync Postgres connection with ssl=${ssl} and port=${url.port}`);
|
|
81
88
|
const pg = postgres(connectionString, {
|
|
82
89
|
ssl: ssl ? 'require' : false,
|
|
83
90
|
});
|
|
@@ -85,8 +92,11 @@ export function usePostgres(connectionString, opt) {
|
|
|
85
92
|
return pg;
|
|
86
93
|
}
|
|
87
94
|
export async function forceCloseAllPostgres(timeoutMs = 5000) {
|
|
88
|
-
await Promise.
|
|
89
|
-
|
|
95
|
+
await Promise.race([
|
|
96
|
+
Promise.all(_connections.map((pg) => pg.end({ timeout: timeoutMs }).catch(() => undefined))),
|
|
97
|
+
new Promise((res) => setTimeout(res, timeoutMs + 1000)),
|
|
98
|
+
]);
|
|
99
|
+
_connections = [];
|
|
90
100
|
}
|
|
91
101
|
export class DatabaseError extends Error {
|
|
92
102
|
constructor(message, cause) {
|
|
@@ -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 { CamelCasePlugin, Kysely as K, type Transaction as T } 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 type { DB } from './v1.generated';\n\nexport type Transaction = T<DB>;\nexport { sql } from 'kysely';\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: { log?: boolean } = {}) {\n console.debug('Creating Kysely instance');\n const kysely = new K<DB>({\n dialect: new PostgresJSDialect({\n postgres,\n }),\n plugins: [new CamelCasePlugin()],\n log: options?.log ? ['query', 'error'] : undefined,\n });\n\n const destroy = kysely.destroy;\n kysely.destroy = async () => {\n console.debug('Closing Kysely connection');\n return destroy();\n };\n\n return kysely;\n}\n\nconst _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\n console.debug(\n `Creating Postgres connection with ${retries} retries and ssl=${ssl}`\n );\n if (_connections.length > 0) {\n console.warn(`We already have ${_connections.length} Postgres connections`);\n }\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 // disable prepare statements since we use pgbouncer\n prepare: false,\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(connectionString: string, opt?: PgOpt) {\n const sql = await useAsyncPostgres(connectionString, opt);\n return useKysely(sql);\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 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.all(\n _connections.map((pg) =>\n pg.end({ timeout: timeoutMs }).catch(() => undefined)\n )\n );\n _connections.length = 0;\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 { serializeError } from '@finalytic/utils';\nimport { CamelCasePlugin, Kysely as K, type Transaction as T } 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 type { DB } from './v1.generated';\n\nexport type Transaction = T<DB>;\nexport { sql } from 'kysely';\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: { log?: boolean } = {}) {\n console.debug('Creating Kysely instance');\n const kysely = new K<DB>({\n dialect: new PostgresJSDialect({\n postgres,\n }),\n plugins: [new CamelCasePlugin()],\n log: options?.log ? ['query', 'error'] : undefined,\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 // disable prepare statements since we use pgbouncer\n prepare: false,\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(connectionString: string, opt?: PgOpt) {\n const sql = await useAsyncPostgres(connectionString, opt);\n return useKysely(sql);\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"]}
|
|
@@ -361,6 +361,7 @@ export interface CoreFlowMapping {
|
|
|
361
361
|
id: Generated<string>;
|
|
362
362
|
listingId: string | null;
|
|
363
363
|
mappingKey: string;
|
|
364
|
+
rateId: string | null;
|
|
364
365
|
sourceId: string;
|
|
365
366
|
value: Json | null;
|
|
366
367
|
}
|
|
@@ -610,9 +611,6 @@ export interface PublicAutomation {
|
|
|
610
611
|
updatedAt: Generated<Timestamp>;
|
|
611
612
|
viewSettings: Json | null;
|
|
612
613
|
}
|
|
613
|
-
export interface PublicAutomationStatus {
|
|
614
|
-
name: string;
|
|
615
|
-
}
|
|
616
614
|
export interface PublicAutomationTemplate {
|
|
617
615
|
/**
|
|
618
616
|
* determines whether this automation allows a team to configure multiple versions of this with the same leftConnection rightConnection combination
|
|
@@ -674,9 +672,6 @@ export interface PublicConnection {
|
|
|
674
672
|
updatedAt: Generated<Timestamp | null>;
|
|
675
673
|
version: number | null;
|
|
676
674
|
}
|
|
677
|
-
export interface PublicConnectionStatusTemporary {
|
|
678
|
-
name: string;
|
|
679
|
-
}
|
|
680
675
|
export interface PublicCurrency {
|
|
681
676
|
name: string;
|
|
682
677
|
}
|
|
@@ -804,7 +799,7 @@ export interface PublicListing {
|
|
|
804
799
|
name: string | null;
|
|
805
800
|
ownerContactId: string | null;
|
|
806
801
|
pmsAddressData: Json | null;
|
|
807
|
-
pmsStatus:
|
|
802
|
+
pmsStatus: string | null;
|
|
808
803
|
sourceId: string | null;
|
|
809
804
|
status: string | null;
|
|
810
805
|
tenantId: string;
|
|
@@ -873,12 +868,6 @@ export interface PublicListingOwnershipPeriodMember {
|
|
|
873
868
|
split: number;
|
|
874
869
|
updatedAt: Generated<Timestamp | null>;
|
|
875
870
|
}
|
|
876
|
-
export interface PublicListingPmsStatus {
|
|
877
|
-
name: string;
|
|
878
|
-
}
|
|
879
|
-
export interface PublicListingStatus {
|
|
880
|
-
name: string;
|
|
881
|
-
}
|
|
882
871
|
export interface PublicOwner {
|
|
883
872
|
addressId: string | null;
|
|
884
873
|
companyType: string | null;
|
|
@@ -902,9 +891,6 @@ export interface PublicOwner {
|
|
|
902
891
|
uniqueRef: string | null;
|
|
903
892
|
updatedAt: Generated<Timestamp>;
|
|
904
893
|
}
|
|
905
|
-
export interface PublicOwnerPmsStatus {
|
|
906
|
-
name: string;
|
|
907
|
-
}
|
|
908
894
|
export interface PublicOwnerStatement {
|
|
909
895
|
automationId: string | null;
|
|
910
896
|
centAccountingBalanceEnd: number | null;
|
|
@@ -1008,9 +994,6 @@ export interface PublicOwnerStatementTemplate {
|
|
|
1008
994
|
updatedAt: Generated<Timestamp>;
|
|
1009
995
|
version: Generated<number | null>;
|
|
1010
996
|
}
|
|
1011
|
-
export interface PublicOwnerStatus {
|
|
1012
|
-
name: string;
|
|
1013
|
-
}
|
|
1014
997
|
export interface PublicOwnerType {
|
|
1015
998
|
name: string;
|
|
1016
999
|
}
|
|
@@ -1059,6 +1042,7 @@ export interface PublicPaymentLine {
|
|
|
1059
1042
|
id: Generated<string>;
|
|
1060
1043
|
lineId: string | null;
|
|
1061
1044
|
listingId: string | null;
|
|
1045
|
+
matchReservationConfirmationCode: string | null;
|
|
1062
1046
|
matchStatus: Generated<string | null>;
|
|
1063
1047
|
metadata: Json | null;
|
|
1064
1048
|
originCentTotal: Int8 | null;
|
|
@@ -1707,12 +1691,10 @@ export interface DB {
|
|
|
1707
1691
|
"public.app": PublicApp;
|
|
1708
1692
|
"public.auditLog": PublicAuditLog;
|
|
1709
1693
|
"public.automation": PublicAutomation;
|
|
1710
|
-
"public.automationStatus": PublicAutomationStatus;
|
|
1711
1694
|
"public.automationTemplate": PublicAutomationTemplate;
|
|
1712
1695
|
"public.billingPaymentMethodType": PublicBillingPaymentMethodType;
|
|
1713
1696
|
"public.bookingChannel": PublicBookingChannel;
|
|
1714
1697
|
"public.connection": PublicConnection;
|
|
1715
|
-
"public.connectionStatusTemporary": PublicConnectionStatusTemporary;
|
|
1716
1698
|
"public.currency": PublicCurrency;
|
|
1717
1699
|
"public.duplicateEmails": PublicDuplicateEmails;
|
|
1718
1700
|
"public.emailTemplate": PublicEmailTemplate;
|
|
@@ -1734,10 +1716,7 @@ export interface DB {
|
|
|
1734
1716
|
"public.listingOwnershipPeriod": PublicListingOwnershipPeriod;
|
|
1735
1717
|
"public.listingOwnershipPeriodBusinessModel": PublicListingOwnershipPeriodBusinessModel;
|
|
1736
1718
|
"public.listingOwnershipPeriodMember": PublicListingOwnershipPeriodMember;
|
|
1737
|
-
"public.listingPmsStatus": PublicListingPmsStatus;
|
|
1738
|
-
"public.listingStatus": PublicListingStatus;
|
|
1739
1719
|
"public.owner": PublicOwner;
|
|
1740
|
-
"public.ownerPmsStatus": PublicOwnerPmsStatus;
|
|
1741
1720
|
"public.ownerStatement": PublicOwnerStatement;
|
|
1742
1721
|
"public.ownerStatementLayout": PublicOwnerStatementLayout;
|
|
1743
1722
|
"public.ownerStatementLayoutAccount": PublicOwnerStatementLayoutAccount;
|
|
@@ -1746,7 +1725,6 @@ export interface DB {
|
|
|
1746
1725
|
"public.ownerStatementOwner": PublicOwnerStatementOwner;
|
|
1747
1726
|
"public.ownerStatementStatus": PublicOwnerStatementStatus;
|
|
1748
1727
|
"public.ownerStatementTemplate": PublicOwnerStatementTemplate;
|
|
1749
|
-
"public.ownerStatus": PublicOwnerStatus;
|
|
1750
1728
|
"public.ownerType": PublicOwnerType;
|
|
1751
1729
|
"public.ownerUserAccess": PublicOwnerUserAccess;
|
|
1752
1730
|
"public.ownerUserAccessRole": PublicOwnerUserAccessRole;
|
|
@@ -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 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 PublicAutomationStatus {\n name: string;\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 PublicConnectionStatusTemporary {\n name: string;\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: Generated<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 PublicListingPmsStatus {\n name: string;\n}\n\nexport interface PublicListingStatus {\n name: string;\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 PublicOwnerPmsStatus {\n name: string;\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 PublicOwnerStatus {\n name: string;\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 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 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.automationStatus\": PublicAutomationStatus;\n \"public.automationTemplate\": PublicAutomationTemplate;\n \"public.billingPaymentMethodType\": PublicBillingPaymentMethodType;\n \"public.bookingChannel\": PublicBookingChannel;\n \"public.connection\": PublicConnection;\n \"public.connectionStatusTemporary\": PublicConnectionStatusTemporary;\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.listingPmsStatus\": PublicListingPmsStatus;\n \"public.listingStatus\": PublicListingStatus;\n \"public.owner\": PublicOwner;\n \"public.ownerPmsStatus\": PublicOwnerPmsStatus;\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.ownerStatus\": PublicOwnerStatus;\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 | 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 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 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/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -46,27 +46,31 @@ export function useKysely(postgres: Sql, options: { log?: boolean } = {}) {
|
|
|
46
46
|
log: options?.log ? ['query', 'error'] : undefined,
|
|
47
47
|
});
|
|
48
48
|
|
|
49
|
-
const destroy = kysely.destroy;
|
|
50
49
|
kysely.destroy = async () => {
|
|
51
50
|
console.debug('Closing Kysely connection');
|
|
52
|
-
|
|
51
|
+
await Promise.race([
|
|
52
|
+
postgres.end({ timeout: 5000 }).catch(() => undefined),
|
|
53
|
+
new Promise((res) => setTimeout(res, 6000)),
|
|
54
|
+
]);
|
|
55
|
+
const index = _connections.indexOf(postgres);
|
|
56
|
+
if (index !== -1) _connections.splice(index, 1);
|
|
53
57
|
};
|
|
54
58
|
|
|
55
59
|
return kysely;
|
|
56
60
|
}
|
|
57
61
|
|
|
58
|
-
|
|
62
|
+
let _connections: postgres.Sql[] = [];
|
|
59
63
|
export async function useAsyncPostgres(connectionString: string, opt?: PgOpt) {
|
|
60
64
|
const delayMs = 2500;
|
|
61
65
|
const retries = opt?.retries === false ? 0 : opt?.retries || 3;
|
|
62
66
|
const ssl = opt?.forceDisableSSL !== true;
|
|
67
|
+
const url = new URL(connectionString);
|
|
63
68
|
|
|
64
69
|
console.debug(
|
|
65
|
-
`Creating Postgres connection with ${retries} retries and ssl=${ssl}`
|
|
70
|
+
`Creating Postgres connection with ${retries} retries and ssl=${ssl} and port=${url.port}`
|
|
66
71
|
);
|
|
67
|
-
if (_connections.length > 0)
|
|
72
|
+
if (_connections.length > 0)
|
|
68
73
|
console.warn(`We already have ${_connections.length} Postgres connections`);
|
|
69
|
-
}
|
|
70
74
|
|
|
71
75
|
for (let attempt = 1; attempt <= retries; attempt++) {
|
|
72
76
|
try {
|
|
@@ -117,6 +121,10 @@ export function usePostgres(
|
|
|
117
121
|
) {
|
|
118
122
|
if (!connectionString) throw new Error('No connection string');
|
|
119
123
|
const ssl = opt?.forceDisableSSL !== true;
|
|
124
|
+
const url = new URL(connectionString);
|
|
125
|
+
console.debug(
|
|
126
|
+
`Creating sync Postgres connection with ssl=${ssl} and port=${url.port}`
|
|
127
|
+
);
|
|
120
128
|
const pg = postgres(connectionString, {
|
|
121
129
|
ssl: ssl ? 'require' : false,
|
|
122
130
|
});
|
|
@@ -125,12 +133,15 @@ export function usePostgres(
|
|
|
125
133
|
}
|
|
126
134
|
|
|
127
135
|
export async function forceCloseAllPostgres(timeoutMs = 5000) {
|
|
128
|
-
await Promise.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
136
|
+
await Promise.race([
|
|
137
|
+
Promise.all(
|
|
138
|
+
_connections.map((pg) =>
|
|
139
|
+
pg.end({ timeout: timeoutMs }).catch(() => undefined)
|
|
140
|
+
)
|
|
141
|
+
),
|
|
142
|
+
new Promise((res) => setTimeout(res, timeoutMs + 1000)),
|
|
143
|
+
]);
|
|
144
|
+
_connections = [];
|
|
134
145
|
}
|
|
135
146
|
|
|
136
147
|
export class DatabaseError extends Error {
|
package/src/v1.generated.ts
CHANGED
|
@@ -414,6 +414,7 @@ export interface CoreFlowMapping {
|
|
|
414
414
|
id: Generated<string>;
|
|
415
415
|
listingId: string | null;
|
|
416
416
|
mappingKey: string;
|
|
417
|
+
rateId: string | null;
|
|
417
418
|
sourceId: string;
|
|
418
419
|
value: Json | null;
|
|
419
420
|
}
|
|
@@ -688,10 +689,6 @@ export interface PublicAutomation {
|
|
|
688
689
|
viewSettings: Json | null;
|
|
689
690
|
}
|
|
690
691
|
|
|
691
|
-
export interface PublicAutomationStatus {
|
|
692
|
-
name: string;
|
|
693
|
-
}
|
|
694
|
-
|
|
695
692
|
export interface PublicAutomationTemplate {
|
|
696
693
|
/**
|
|
697
694
|
* determines whether this automation allows a team to configure multiple versions of this with the same leftConnection rightConnection combination
|
|
@@ -757,10 +754,6 @@ export interface PublicConnection {
|
|
|
757
754
|
version: number | null;
|
|
758
755
|
}
|
|
759
756
|
|
|
760
|
-
export interface PublicConnectionStatusTemporary {
|
|
761
|
-
name: string;
|
|
762
|
-
}
|
|
763
|
-
|
|
764
757
|
export interface PublicCurrency {
|
|
765
758
|
name: string;
|
|
766
759
|
}
|
|
@@ -901,7 +894,7 @@ export interface PublicListing {
|
|
|
901
894
|
name: string | null;
|
|
902
895
|
ownerContactId: string | null;
|
|
903
896
|
pmsAddressData: Json | null;
|
|
904
|
-
pmsStatus:
|
|
897
|
+
pmsStatus: string | null;
|
|
905
898
|
sourceId: string | null;
|
|
906
899
|
status: string | null;
|
|
907
900
|
tenantId: string;
|
|
@@ -978,14 +971,6 @@ export interface PublicListingOwnershipPeriodMember {
|
|
|
978
971
|
updatedAt: Generated<Timestamp | null>;
|
|
979
972
|
}
|
|
980
973
|
|
|
981
|
-
export interface PublicListingPmsStatus {
|
|
982
|
-
name: string;
|
|
983
|
-
}
|
|
984
|
-
|
|
985
|
-
export interface PublicListingStatus {
|
|
986
|
-
name: string;
|
|
987
|
-
}
|
|
988
|
-
|
|
989
974
|
export interface PublicOwner {
|
|
990
975
|
addressId: string | null;
|
|
991
976
|
companyType: string | null;
|
|
@@ -1010,10 +995,6 @@ export interface PublicOwner {
|
|
|
1010
995
|
updatedAt: Generated<Timestamp>;
|
|
1011
996
|
}
|
|
1012
997
|
|
|
1013
|
-
export interface PublicOwnerPmsStatus {
|
|
1014
|
-
name: string;
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
998
|
export interface PublicOwnerStatement {
|
|
1018
999
|
automationId: string | null;
|
|
1019
1000
|
centAccountingBalanceEnd: number | null;
|
|
@@ -1125,10 +1106,6 @@ export interface PublicOwnerStatementTemplate {
|
|
|
1125
1106
|
version: Generated<number | null>;
|
|
1126
1107
|
}
|
|
1127
1108
|
|
|
1128
|
-
export interface PublicOwnerStatus {
|
|
1129
|
-
name: string;
|
|
1130
|
-
}
|
|
1131
|
-
|
|
1132
1109
|
export interface PublicOwnerType {
|
|
1133
1110
|
name: string;
|
|
1134
1111
|
}
|
|
@@ -1181,6 +1158,7 @@ export interface PublicPaymentLine {
|
|
|
1181
1158
|
id: Generated<string>;
|
|
1182
1159
|
lineId: string | null;
|
|
1183
1160
|
listingId: string | null;
|
|
1161
|
+
matchReservationConfirmationCode: string | null;
|
|
1184
1162
|
matchStatus: Generated<string | null>;
|
|
1185
1163
|
metadata: Json | null;
|
|
1186
1164
|
originCentTotal: Int8 | null;
|
|
@@ -1871,12 +1849,10 @@ export interface DB {
|
|
|
1871
1849
|
"public.app": PublicApp;
|
|
1872
1850
|
"public.auditLog": PublicAuditLog;
|
|
1873
1851
|
"public.automation": PublicAutomation;
|
|
1874
|
-
"public.automationStatus": PublicAutomationStatus;
|
|
1875
1852
|
"public.automationTemplate": PublicAutomationTemplate;
|
|
1876
1853
|
"public.billingPaymentMethodType": PublicBillingPaymentMethodType;
|
|
1877
1854
|
"public.bookingChannel": PublicBookingChannel;
|
|
1878
1855
|
"public.connection": PublicConnection;
|
|
1879
|
-
"public.connectionStatusTemporary": PublicConnectionStatusTemporary;
|
|
1880
1856
|
"public.currency": PublicCurrency;
|
|
1881
1857
|
"public.duplicateEmails": PublicDuplicateEmails;
|
|
1882
1858
|
"public.emailTemplate": PublicEmailTemplate;
|
|
@@ -1898,10 +1874,7 @@ export interface DB {
|
|
|
1898
1874
|
"public.listingOwnershipPeriod": PublicListingOwnershipPeriod;
|
|
1899
1875
|
"public.listingOwnershipPeriodBusinessModel": PublicListingOwnershipPeriodBusinessModel;
|
|
1900
1876
|
"public.listingOwnershipPeriodMember": PublicListingOwnershipPeriodMember;
|
|
1901
|
-
"public.listingPmsStatus": PublicListingPmsStatus;
|
|
1902
|
-
"public.listingStatus": PublicListingStatus;
|
|
1903
1877
|
"public.owner": PublicOwner;
|
|
1904
|
-
"public.ownerPmsStatus": PublicOwnerPmsStatus;
|
|
1905
1878
|
"public.ownerStatement": PublicOwnerStatement;
|
|
1906
1879
|
"public.ownerStatementLayout": PublicOwnerStatementLayout;
|
|
1907
1880
|
"public.ownerStatementLayoutAccount": PublicOwnerStatementLayoutAccount;
|
|
@@ -1910,7 +1883,6 @@ export interface DB {
|
|
|
1910
1883
|
"public.ownerStatementOwner": PublicOwnerStatementOwner;
|
|
1911
1884
|
"public.ownerStatementStatus": PublicOwnerStatementStatus;
|
|
1912
1885
|
"public.ownerStatementTemplate": PublicOwnerStatementTemplate;
|
|
1913
|
-
"public.ownerStatus": PublicOwnerStatus;
|
|
1914
1886
|
"public.ownerType": PublicOwnerType;
|
|
1915
1887
|
"public.ownerUserAccess": PublicOwnerUserAccess;
|
|
1916
1888
|
"public.ownerUserAccessRole": PublicOwnerUserAccessRole;
|