@proteinjs/db 1.6.0 → 1.8.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/CHANGELOG.md +22 -0
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/generated/index.js +3 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/src/Db.d.ts +30 -4
- package/dist/src/Db.d.ts.map +1 -1
- package/dist/src/Db.js +66 -75
- package/dist/src/Db.js.map +1 -1
- package/dist/src/Table.d.ts +4 -0
- package/dist/src/Table.d.ts.map +1 -1
- package/dist/src/Table.js +104 -1
- package/dist/src/Table.js.map +1 -1
- package/dist/src/reference/Reference.d.ts +1 -0
- package/dist/src/reference/Reference.d.ts.map +1 -1
- package/dist/src/reference/Reference.js +3 -0
- package/dist/src/reference/Reference.js.map +1 -1
- package/dist/src/services/TransactionRunnerService.d.ts +7 -0
- package/dist/src/services/TransactionRunnerService.d.ts.map +1 -0
- package/dist/src/services/TransactionRunnerService.js +6 -0
- package/dist/src/services/TransactionRunnerService.js.map +1 -0
- package/dist/src/transaction/Transaction.d.ts +69 -0
- package/dist/src/transaction/Transaction.d.ts.map +1 -0
- package/dist/src/transaction/Transaction.js +255 -0
- package/dist/src/transaction/Transaction.js.map +1 -0
- package/dist/src/transaction/TransactionRunner.d.ts +7 -0
- package/dist/src/transaction/TransactionRunner.d.ts.map +1 -0
- package/dist/src/transaction/TransactionRunner.js +88 -0
- package/dist/src/transaction/TransactionRunner.js.map +1 -0
- package/dist/test/TransactionDb.test.d.ts +2 -0
- package/dist/test/TransactionDb.test.d.ts.map +1 -0
- package/dist/test/TransactionDb.test.js +404 -0
- package/dist/test/TransactionDb.test.js.map +1 -0
- package/dist/test/reusable/TransactionTests.d.ts +52 -0
- package/dist/test/reusable/TransactionTests.d.ts.map +1 -0
- package/dist/test/reusable/TransactionTests.js +396 -0
- package/dist/test/reusable/TransactionTests.js.map +1 -0
- package/generated/index.ts +3 -1
- package/index.ts +5 -2
- package/package.json +2 -2
- package/src/Db.ts +63 -28
- package/src/Table.ts +23 -0
- package/src/reference/Reference.ts +4 -0
- package/src/services/TransactionRunnerService.ts +10 -0
- package/src/transaction/Transaction.ts +186 -0
- package/src/transaction/TransactionRunner.ts +18 -0
- package/test/TransactionDb.test.ts +335 -0
- package/test/reusable/TransactionTests.ts +234 -0
package/generated/index.ts
CHANGED
|
@@ -14,7 +14,7 @@ import 'uuid';
|
|
|
14
14
|
/** Generate Source Graph */
|
|
15
15
|
|
|
16
16
|
const sourceGraph =
|
|
17
|
-
'{"options":{"directed":true,"multigraph":false,"compound":false},"nodes":[{"v":"@proteinjs/db/DbDriverQueryStatementConfig","value":{"packageName":"@proteinjs/db","name":"DbDriverQueryStatementConfig","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/DbDriverQueryStatementConfig","typeParameters":[],"directParents":[{"packageName":"@proteinjs/db-query","name":"ParameterizationConfig","filePath":null,"qualifiedName":"@proteinjs/db-query/ParameterizationConfig","typeParameters":[],"directParents":null},{"packageName":"@proteinjs/db","name":"{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n handleCaseSensitivity: (tableName: string, columnName: string, caseSensitive: boolean) => string;\\n}","filePath":null,"qualifiedName":"@proteinjs/db/{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n handleCaseSensitivity: (tableName: string, columnName: string, caseSensitive: boolean) => string;\\n}","typeParameters":[],"directParents":null}],"sourceType":1}},{"v":"@proteinjs/db-query/ParameterizationConfig"},{"v":"@proteinjs/db/DbDriverDmlStatementConfig","value":{"packageName":"@proteinjs/db","name":"DbDriverDmlStatementConfig","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/DbDriverDmlStatementConfig","typeParameters":[],"directParents":[{"packageName":"@proteinjs/db-query","name":"ParameterizationConfig","filePath":null,"qualifiedName":"@proteinjs/db-query/ParameterizationConfig","typeParameters":[],"directParents":null},{"packageName":"@proteinjs/db","name":"{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n}","filePath":null,"qualifiedName":"@proteinjs/db/{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n}","typeParameters":[],"directParents":null}],"sourceType":1}},{"v":"@proteinjs/db/DefaultDbDriverFactory","value":{"packageName":"@proteinjs/db","name":"DefaultDbDriverFactory","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/DefaultDbDriverFactory","properties":[],"methods":[{"name":"getDbDriver","returnType":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/reflection/Loadable"},{"v":"@proteinjs/db/Db","value":{"packageName":"@proteinjs/db","name":"Db","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/Db","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"defaultDbDriver","type":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"private"},{"name":"dbDriver","type":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"statementConfigFactory","type":{"packageName":"@proteinjs/db","name":"StatementConfigFactory","filePath":null,"qualifiedName":"@proteinjs/db/StatementConfigFactory","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"auth","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"tableWatcherRunner","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"serviceMetadata","type":{"packageName":"","name":"Service[\'serviceMetadata\']","filePath":null,"qualifiedName":"/Service[\'serviceMetadata\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"runAsSystem","type":{"packageName":"","name":"boolean","filePath":null,"qualifiedName":"/boolean","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"}],"methods":[{"name":"getDefaultDbDriver","returnType":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[]},{"name":"init","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"tableExists","returnType":{"packageName":"","name":"Promise<boolean>","filePath":null,"qualifiedName":"/Promise<boolean>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}}]},{"name":"get","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"insert","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Omit<T, keyof R>","filePath":null,"qualifiedName":"/Omit<T, keyof R>","typeParameters":null,"directParents":null}}]},{"name":"addDefaultFieldValues","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"any","filePath":null,"qualifiedName":"/any","typeParameters":null,"directParents":null}}]},{"name":"update","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"addUpdateFieldValues","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"any","filePath":null,"qualifiedName":"/any","typeParameters":null,"directParents":null}}]},{"name":"delete","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"runColumnBeforeDeletes","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"recordsToDelete","type":{"packageName":"","name":"Record[]","filePath":null,"qualifiedName":"/Record[]","typeParameters":null,"directParents":null}}]},{"name":"runCascadeDeletions","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"deletedRecordIds","type":{"packageName":"","name":"string[]","filePath":null,"qualifiedName":"/string[]","typeParameters":null,"directParents":null}}]},{"name":"query","returnType":{"packageName":"","name":"Promise<T[]>","filePath":null,"qualifiedName":"/Promise<T[]>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"getRowCount","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"addColumnQueries","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":["/R extends Record = Record"],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"DbService","filePath":null,"qualifiedName":"@proteinjs/db/DbService","properties":[],"methods":[],"typeParameters":["/R"],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/DbService","value":{"packageName":"@proteinjs/db","name":"DbService","filePath":"/home/runner/work/db/db/packages/db/src/services/DbService.ts","qualifiedName":"@proteinjs/db/DbService","properties":[],"methods":[{"name":"tableExists","returnType":{"packageName":"","name":"Promise<boolean>","filePath":null,"qualifiedName":"/Promise<boolean>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}}]},{"name":"get","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"insert","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Omit<T, keyof R>","filePath":null,"qualifiedName":"/Omit<T, keyof R>","typeParameters":null,"directParents":null}}]},{"name":"update","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"delete","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"query","returnType":{"packageName":"","name":"Promise<T[]>","filePath":null,"qualifiedName":"/Promise<T[]>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"getRowCount","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":["/R extends Record = Record"],"directParents":[{"packageName":"@proteinjs/service","name":"Service","filePath":null,"qualifiedName":"@proteinjs/service/Service","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db/DbInitStartupTask","value":{"packageName":"@proteinjs/db","name":"DbInitStartupTask","filePath":"/home/runner/work/db/db/packages/db/src/DbInitStartupTask.ts","qualifiedName":"@proteinjs/db/DbInitStartupTask","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"when","type":{"packageName":"","name":"StartupTask[\'when\']","filePath":null,"qualifiedName":"/StartupTask[\'when\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"run","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/server-api","name":"StartupTask","filePath":null,"qualifiedName":"@proteinjs/server-api/StartupTask","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/server-api/StartupTask"},{"v":"@proteinjs/db/MigrationRunner","value":{"packageName":"@proteinjs/db","name":"MigrationRunner","filePath":"/home/runner/work/db/db/packages/db/src/MigrationRunner.ts","qualifiedName":"@proteinjs/db/MigrationRunner","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"serviceMetadata","type":{"packageName":"","name":"Service[\'serviceMetadata\']","filePath":null,"qualifiedName":"/Service[\'serviceMetadata\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"runMigration","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"id","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"duration","returnType":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"start","type":{"packageName":"@proteinjs/db","name":"Moment","filePath":null,"qualifiedName":"@proteinjs/db/Moment","typeParameters":null,"directParents":null}},{"name":"end","type":{"packageName":"@proteinjs/db","name":"Moment","filePath":null,"qualifiedName":"@proteinjs/db/Moment","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"MigrationRunnerService","filePath":null,"qualifiedName":"@proteinjs/db/MigrationRunnerService","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/MigrationRunnerService","value":{"packageName":"@proteinjs/db","name":"MigrationRunnerService","filePath":"/home/runner/work/db/db/packages/db/src/services/MigrationRunnerService.ts","qualifiedName":"@proteinjs/db/MigrationRunnerService","properties":[],"methods":[{"name":"runMigration","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"id","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/service","name":"Service","filePath":null,"qualifiedName":"@proteinjs/service/Service","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"/AsyncIterable"},{"v":"@proteinjs/db/Table","value":{"packageName":"@proteinjs/db","name":"Table","filePath":"/home/runner/work/db/db/packages/db/src/Table.ts","qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"__serializerId","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"name","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":{"packageName":"","name":"Columns<T>","filePath":null,"qualifiedName":"/Columns<T>","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"indexes","type":{"packageName":"@proteinjs/db","name":"{ columns: (keyof T)[]; name?: string }[]","filePath":null,"qualifiedName":"@proteinjs/db/{ columns: (keyof T)[]; name?: string }[]","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"cascadeDeleteReferences","type":{"packageName":"","name":"() => { table: string; referenceColumn: string }[]","filePath":null,"qualifiedName":"/() => { table: string; referenceColumn: string }[]","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"sourceRecordOptions","type":{"packageName":"@proteinjs/db","name":"SourceRecordOptions","filePath":null,"qualifiedName":"@proteinjs/db/SourceRecordOptions","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"auth","type":{"packageName":"@proteinjs/db","name":"{\\n db?: TableOperationsAuth;\\n service?: TableOperationsAuth;\\n ui?: {\\n recordTable?: Identity;\\n recordForm?: Identity;\\n };\\n }","filePath":null,"qualifiedName":"@proteinjs/db/{\\n db?: TableOperationsAuth;\\n service?: TableOperationsAuth;\\n ui?: {\\n recordTable?: Identity;\\n recordForm?: Identity;\\n };\\n }","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":["/T extends Record"],"directParentInterfaces":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]},{"packageName":"@proteinjs/serializer","name":"CustomSerializableObject","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializableObject","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/serializer/CustomSerializableObject"},{"v":"@proteinjs/db/TableWatcher","value":{"packageName":"@proteinjs/db","name":"TableWatcher","filePath":"/home/runner/work/db/db/packages/db/src/TableWatcher.ts","qualifiedName":"@proteinjs/db/TableWatcher","properties":[],"methods":[{"name":"name","returnType":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]},{"name":"table","returnType":{"packageName":"","name":"Table<R>","filePath":null,"qualifiedName":"/Table<R>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]},{"name":"beforeInsert","returnType":{"packageName":"","name":"Promise<Omit<T, keyof R>>","filePath":null,"qualifiedName":"/Promise<Omit<T, keyof R>>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"record","type":{"packageName":"","name":"Omit<T, keyof R>","filePath":null,"qualifiedName":"/Omit<T, keyof R>","typeParameters":null,"directParents":null}}]},{"name":"afterInsert","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"record","type":{"packageName":"","name":"T","filePath":null,"qualifiedName":"/T","typeParameters":null,"directParents":null}}]},{"name":"beforeUpdate","returnType":{"packageName":"","name":"Promise<Partial<T>>","filePath":null,"qualifiedName":"/Promise<Partial<T>>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]},{"name":"afterUpdate","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"recordUpdateCount","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]},{"name":"beforeDelete","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"recordsToDelete","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]},{"name":"afterDelete","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"recordDeleteCount","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null}},{"name":"deletedRecords","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":["/R extends Record = Record"],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"/\'public\' | \'authenticated\' | string[]"},{"v":"@proteinjs/db/Reference","value":{"packageName":"@proteinjs/db","name":"Reference","filePath":"/home/runner/work/db/db/packages/db/src/reference/Reference.ts","qualifiedName":"@proteinjs/db/Reference","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"__serializerId","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_id","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_object","type":{"packageName":"","name":"T","filePath":null,"qualifiedName":"/T","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"fromObject","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"object","type":{"packageName":"","name":"T | (Partial<T> & { id: string })","filePath":null,"qualifiedName":"/T | (Partial<T> & { id: string })","typeParameters":null,"directParents":null}}]},{"name":"get","returnType":{"packageName":"","name":"Promise<T | undefined>","filePath":null,"qualifiedName":"/Promise<T | undefined>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"set","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"object","type":{"packageName":"","name":"T","filePath":null,"qualifiedName":"/T","typeParameters":null,"directParents":null}}]}],"typeParameters":["/T extends Record"],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializableObject","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializableObject","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/ReferenceArray","value":{"packageName":"@proteinjs/db","name":"ReferenceArray","filePath":"/home/runner/work/db/db/packages/db/src/reference/ReferenceArray.ts","qualifiedName":"@proteinjs/db/ReferenceArray","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"__serializerId","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_ids","type":{"packageName":"","name":"string[]","filePath":null,"qualifiedName":"/string[]","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_objects","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"fromObjects","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"objects","type":{"packageName":"","name":"(T | (Partial<T> & { id: string }))[]","filePath":null,"qualifiedName":"/(T | (Partial<T> & { id: string }))[]","typeParameters":null,"directParents":null}}]},{"name":"isLoaded","returnType":{"packageName":"","name":"boolean","filePath":null,"qualifiedName":"/boolean","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"get","returnType":{"packageName":"","name":"Promise<T[]>","filePath":null,"qualifiedName":"/Promise<T[]>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getIfExists","returnType":{"packageName":"","name":"T[] | undefined","filePath":null,"qualifiedName":"/T[] | undefined","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getLength","returnType":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"set","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"objects","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}}]}],"typeParameters":["/T extends Record"],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializableObject","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializableObject","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/GraphSerializer","value":{"packageName":"@proteinjs/db","name":"GraphSerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/GraphSerializer.ts","qualifiedName":"@proteinjs/db/GraphSerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"matches","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"obj","type":{"packageName":"","name":"any","filePath":null,"qualifiedName":"/any","typeParameters":null,"directParents":null}}]},{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedGraph","filePath":null,"qualifiedName":"@proteinjs/db/SerializedGraph","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"graph","type":{"packageName":"@proteinjs/util","name":"Graph","filePath":null,"qualifiedName":"@proteinjs/util/Graph","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"@proteinjs/util","name":"Graph","filePath":null,"qualifiedName":"@proteinjs/util/Graph","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedGraph","type":{"packageName":"@proteinjs/db","name":"SerializedGraph","filePath":null,"qualifiedName":"@proteinjs/db/SerializedGraph","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"ThirdPartyLibCustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/ThirdPartyLibCustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/serializer/ThirdPartyLibCustomSerializer"},{"v":"@proteinjs/db/QueryBuilderSerializer","value":{"packageName":"@proteinjs/db","name":"QueryBuilderSerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/QueryBuilderSerializer.ts","qualifiedName":"@proteinjs/db/QueryBuilderSerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedQueryBuilder","filePath":null,"qualifiedName":"@proteinjs/db/SerializedQueryBuilder","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"qb","type":{"packageName":"","name":"QueryBuilder<any>","filePath":null,"qualifiedName":"/QueryBuilder<any>","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"","name":"QueryBuilder<any>","filePath":null,"qualifiedName":"/QueryBuilder<any>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedQb","type":{"packageName":"@proteinjs/db","name":"SerializedQueryBuilder","filePath":null,"qualifiedName":"@proteinjs/db/SerializedQueryBuilder","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/serializer/CustomSerializer"},{"v":"@proteinjs/db/ReferenceArraySerializer","value":{"packageName":"@proteinjs/db","name":"ReferenceArraySerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/ReferenceArraySerializer.ts","qualifiedName":"@proteinjs/db/ReferenceArraySerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedReferenceArray","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReferenceArray","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"referenceArray","type":{"packageName":"","name":"ReferenceArray<any>","filePath":null,"qualifiedName":"/ReferenceArray<any>","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"","name":"ReferenceArray<any>","filePath":null,"qualifiedName":"/ReferenceArray<any>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedReferenceArray","type":{"packageName":"@proteinjs/db","name":"SerializedReferenceArray","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReferenceArray","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/ReferenceSerializer","value":{"packageName":"@proteinjs/db","name":"ReferenceSerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/ReferenceSerializer.ts","qualifiedName":"@proteinjs/db/ReferenceSerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedReference","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReference","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"reference","type":{"packageName":"","name":"Reference<any>","filePath":null,"qualifiedName":"/Reference<any>","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"","name":"Reference<any>","filePath":null,"qualifiedName":"/Reference<any>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedReference","type":{"packageName":"@proteinjs/db","name":"SerializedReference","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReference","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/TableSerializer","value":{"packageName":"@proteinjs/db","name":"TableSerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/TableSerializer.ts","qualifiedName":"@proteinjs/db/TableSerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedTable","filePath":null,"qualifiedName":"@proteinjs/db/SerializedTable","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedTable","type":{"packageName":"@proteinjs/db","name":"SerializedTable","filePath":null,"qualifiedName":"@proteinjs/db/SerializedTable","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"/Partial"},{"v":"@proteinjs/service/Service"},{"v":"/DbRecord"},{"v":"@proteinjs/db/SourceRecordLoader","value":{"packageName":"@proteinjs/db","name":"SourceRecordLoader","filePath":"/home/runner/work/db/db/packages/db/src/source/SourceRecordLoader.ts","qualifiedName":"@proteinjs/db/SourceRecordLoader","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"}],"methods":[{"name":"load","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getSourceRecordsMap","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[]}],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/MigrationTable","value":{"packageName":"@proteinjs/db","name":"MigrationTable","filePath":"/home/runner/work/db/db/packages/db/src/tables/MigrationTable.ts","qualifiedName":"@proteinjs/db/MigrationTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"sourceRecordOptions","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/Migration"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}}],"edges":[{"v":"@proteinjs/db/DbDriverQueryStatementConfig","w":"@proteinjs/db-query/ParameterizationConfig","value":"extends type"},{"v":"@proteinjs/db/DbDriverDmlStatementConfig","w":"@proteinjs/db-query/ParameterizationConfig","value":"extends type"},{"v":"@proteinjs/db/DefaultDbDriverFactory","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db/Db","w":"@proteinjs/db/DbService","value":"implements interface"},{"v":"@proteinjs/db/DbInitStartupTask","w":"@proteinjs/server-api/StartupTask","value":"implements interface"},{"v":"@proteinjs/db/MigrationRunner","w":"@proteinjs/db/MigrationRunnerService","value":"implements interface"},{"v":"@proteinjs/db/Table","w":"@proteinjs/reflection/Loadable","value":"implements interface"},{"v":"@proteinjs/db/Table","w":"@proteinjs/serializer/CustomSerializableObject","value":"implements interface"},{"v":"@proteinjs/db/TableWatcher","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db/Reference","w":"@proteinjs/serializer/CustomSerializableObject","value":"implements interface"},{"v":"@proteinjs/db/ReferenceArray","w":"@proteinjs/serializer/CustomSerializableObject","value":"implements interface"},{"v":"@proteinjs/db/GraphSerializer","w":"@proteinjs/serializer/ThirdPartyLibCustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/QueryBuilderSerializer","w":"@proteinjs/serializer/CustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/ReferenceArraySerializer","w":"@proteinjs/serializer/CustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/ReferenceSerializer","w":"@proteinjs/serializer/CustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/TableSerializer","w":"@proteinjs/serializer/CustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/DbService","w":"@proteinjs/service/Service","value":"extends interface"},{"v":"@proteinjs/db/MigrationRunnerService","w":"@proteinjs/service/Service","value":"extends interface"},{"v":"@proteinjs/db/SourceRecordLoader","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db/MigrationTable","w":"@proteinjs/db/Table","value":"extends class"}]}';
|
|
17
|
+
'{"options":{"directed":true,"multigraph":false,"compound":false},"nodes":[{"v":"@proteinjs/db/DbDriverQueryStatementConfig","value":{"packageName":"@proteinjs/db","name":"DbDriverQueryStatementConfig","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/DbDriverQueryStatementConfig","typeParameters":[],"directParents":[{"packageName":"@proteinjs/db-query","name":"ParameterizationConfig","filePath":null,"qualifiedName":"@proteinjs/db-query/ParameterizationConfig","typeParameters":[],"directParents":null},{"packageName":"@proteinjs/db","name":"{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n handleCaseSensitivity: (tableName: string, columnName: string, caseSensitive: boolean) => string;\\n}","filePath":null,"qualifiedName":"@proteinjs/db/{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n handleCaseSensitivity: (tableName: string, columnName: string, caseSensitive: boolean) => string;\\n}","typeParameters":[],"directParents":null}],"sourceType":1}},{"v":"@proteinjs/db-query/ParameterizationConfig"},{"v":"@proteinjs/db/DbDriverDmlStatementConfig","value":{"packageName":"@proteinjs/db","name":"DbDriverDmlStatementConfig","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/DbDriverDmlStatementConfig","typeParameters":[],"directParents":[{"packageName":"@proteinjs/db-query","name":"ParameterizationConfig","filePath":null,"qualifiedName":"@proteinjs/db-query/ParameterizationConfig","typeParameters":[],"directParents":null},{"packageName":"@proteinjs/db","name":"{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n}","filePath":null,"qualifiedName":"@proteinjs/db/{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n}","typeParameters":[],"directParents":null}],"sourceType":1}},{"v":"@proteinjs/db/DefaultDbDriverFactory","value":{"packageName":"@proteinjs/db","name":"DefaultDbDriverFactory","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/DefaultDbDriverFactory","properties":[],"methods":[{"name":"getDbDriver","returnType":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/reflection/Loadable"},{"v":"@proteinjs/db/Db","value":{"packageName":"@proteinjs/db","name":"Db","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/Db","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"defaultDbDriver","type":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"private"},{"name":"dbDriver","type":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"statementConfigFactory","type":{"packageName":"@proteinjs/db","name":"StatementConfigFactory","filePath":null,"qualifiedName":"@proteinjs/db/StatementConfigFactory","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"auth","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"tableWatcherRunner","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"currentTransaction","type":{"packageName":"","name":"any","filePath":null,"qualifiedName":"/any","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"serviceMetadata","type":{"packageName":"","name":"Service[\'serviceMetadata\']","filePath":null,"qualifiedName":"/Service[\'serviceMetadata\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"runAsSystem","type":{"packageName":"","name":"boolean","filePath":null,"qualifiedName":"/boolean","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"}],"methods":[{"name":"getDefaultDbDriver","returnType":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[]},{"name":"init","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"tableExists","returnType":{"packageName":"","name":"Promise<boolean>","filePath":null,"qualifiedName":"/Promise<boolean>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}}]},{"name":"get","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"insert","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Omit<T, keyof R>","filePath":null,"qualifiedName":"/Omit<T, keyof R>","typeParameters":null,"directParents":null}}]},{"name":"update","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"delete","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"runColumnBeforeDeletes","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"recordsToDelete","type":{"packageName":"","name":"Record[]","filePath":null,"qualifiedName":"/Record[]","typeParameters":null,"directParents":null}}]},{"name":"runCascadeDeletions","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"deletedRecordIds","type":{"packageName":"","name":"string[]","filePath":null,"qualifiedName":"/string[]","typeParameters":null,"directParents":null}}]},{"name":"query","returnType":{"packageName":"","name":"Promise<T[]>","filePath":null,"qualifiedName":"/Promise<T[]>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"getRowCount","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"addColumnQueries","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]},{"name":"runTransaction","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fn","type":{"packageName":"","name":"() => Promise<T>","filePath":null,"qualifiedName":"/() => Promise<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":["/R extends Record = Record"],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"DbService","filePath":null,"qualifiedName":"@proteinjs/db/DbService","properties":[],"methods":[],"typeParameters":["/R"],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/DbService","value":{"packageName":"@proteinjs/db","name":"DbService","filePath":"/home/runner/work/db/db/packages/db/src/services/DbService.ts","qualifiedName":"@proteinjs/db/DbService","properties":[],"methods":[{"name":"tableExists","returnType":{"packageName":"","name":"Promise<boolean>","filePath":null,"qualifiedName":"/Promise<boolean>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}}]},{"name":"get","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"insert","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Omit<T, keyof R>","filePath":null,"qualifiedName":"/Omit<T, keyof R>","typeParameters":null,"directParents":null}}]},{"name":"update","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"delete","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"query","returnType":{"packageName":"","name":"Promise<T[]>","filePath":null,"qualifiedName":"/Promise<T[]>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"getRowCount","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":["/R extends Record = Record"],"directParents":[{"packageName":"@proteinjs/service","name":"Service","filePath":null,"qualifiedName":"@proteinjs/service/Service","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db/DbInitStartupTask","value":{"packageName":"@proteinjs/db","name":"DbInitStartupTask","filePath":"/home/runner/work/db/db/packages/db/src/DbInitStartupTask.ts","qualifiedName":"@proteinjs/db/DbInitStartupTask","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"when","type":{"packageName":"","name":"StartupTask[\'when\']","filePath":null,"qualifiedName":"/StartupTask[\'when\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"run","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/server-api","name":"StartupTask","filePath":null,"qualifiedName":"@proteinjs/server-api/StartupTask","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/server-api/StartupTask"},{"v":"@proteinjs/db/MigrationRunner","value":{"packageName":"@proteinjs/db","name":"MigrationRunner","filePath":"/home/runner/work/db/db/packages/db/src/MigrationRunner.ts","qualifiedName":"@proteinjs/db/MigrationRunner","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"serviceMetadata","type":{"packageName":"","name":"Service[\'serviceMetadata\']","filePath":null,"qualifiedName":"/Service[\'serviceMetadata\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"runMigration","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"id","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"duration","returnType":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"start","type":{"packageName":"@proteinjs/db","name":"Moment","filePath":null,"qualifiedName":"@proteinjs/db/Moment","typeParameters":null,"directParents":null}},{"name":"end","type":{"packageName":"@proteinjs/db","name":"Moment","filePath":null,"qualifiedName":"@proteinjs/db/Moment","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"MigrationRunnerService","filePath":null,"qualifiedName":"@proteinjs/db/MigrationRunnerService","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/MigrationRunnerService","value":{"packageName":"@proteinjs/db","name":"MigrationRunnerService","filePath":"/home/runner/work/db/db/packages/db/src/services/MigrationRunnerService.ts","qualifiedName":"@proteinjs/db/MigrationRunnerService","properties":[],"methods":[{"name":"runMigration","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"id","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/service","name":"Service","filePath":null,"qualifiedName":"@proteinjs/service/Service","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"/AsyncIterable"},{"v":"@proteinjs/db/Table","value":{"packageName":"@proteinjs/db","name":"Table","filePath":"/home/runner/work/db/db/packages/db/src/Table.ts","qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"__serializerId","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"name","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":{"packageName":"","name":"Columns<T>","filePath":null,"qualifiedName":"/Columns<T>","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"indexes","type":{"packageName":"@proteinjs/db","name":"{ columns: (keyof T)[]; name?: string }[]","filePath":null,"qualifiedName":"@proteinjs/db/{ columns: (keyof T)[]; name?: string }[]","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"cascadeDeleteReferences","type":{"packageName":"","name":"() => { table: string; referenceColumn: string }[]","filePath":null,"qualifiedName":"/() => { table: string; referenceColumn: string }[]","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"sourceRecordOptions","type":{"packageName":"@proteinjs/db","name":"SourceRecordOptions","filePath":null,"qualifiedName":"@proteinjs/db/SourceRecordOptions","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"auth","type":{"packageName":"@proteinjs/db","name":"{\\n db?: TableOperationsAuth;\\n service?: TableOperationsAuth;\\n ui?: {\\n recordTable?: Identity;\\n recordForm?: Identity;\\n };\\n }","filePath":null,"qualifiedName":"@proteinjs/db/{\\n db?: TableOperationsAuth;\\n service?: TableOperationsAuth;\\n ui?: {\\n recordTable?: Identity;\\n recordForm?: Identity;\\n };\\n }","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":["/T extends Record"],"directParentInterfaces":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]},{"packageName":"@proteinjs/serializer","name":"CustomSerializableObject","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializableObject","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/serializer/CustomSerializableObject"},{"v":"@proteinjs/db/TableWatcher","value":{"packageName":"@proteinjs/db","name":"TableWatcher","filePath":"/home/runner/work/db/db/packages/db/src/TableWatcher.ts","qualifiedName":"@proteinjs/db/TableWatcher","properties":[],"methods":[{"name":"name","returnType":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]},{"name":"table","returnType":{"packageName":"","name":"Table<R>","filePath":null,"qualifiedName":"/Table<R>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]},{"name":"beforeInsert","returnType":{"packageName":"","name":"Promise<Omit<T, keyof R>>","filePath":null,"qualifiedName":"/Promise<Omit<T, keyof R>>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"record","type":{"packageName":"","name":"Omit<T, keyof R>","filePath":null,"qualifiedName":"/Omit<T, keyof R>","typeParameters":null,"directParents":null}}]},{"name":"afterInsert","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"record","type":{"packageName":"","name":"T","filePath":null,"qualifiedName":"/T","typeParameters":null,"directParents":null}}]},{"name":"beforeUpdate","returnType":{"packageName":"","name":"Promise<Partial<T>>","filePath":null,"qualifiedName":"/Promise<Partial<T>>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]},{"name":"afterUpdate","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"recordUpdateCount","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]},{"name":"beforeDelete","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"recordsToDelete","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]},{"name":"afterDelete","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"recordDeleteCount","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null}},{"name":"deletedRecords","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":["/R extends Record = Record"],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"/\'public\' | \'authenticated\' | string[]"},{"v":"@proteinjs/db/Reference","value":{"packageName":"@proteinjs/db","name":"Reference","filePath":"/home/runner/work/db/db/packages/db/src/reference/Reference.ts","qualifiedName":"@proteinjs/db/Reference","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"__serializerId","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_id","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_object","type":{"packageName":"","name":"T","filePath":null,"qualifiedName":"/T","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"fromObject","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"object","type":{"packageName":"","name":"T | (Partial<T> & { id: string })","filePath":null,"qualifiedName":"/T | (Partial<T> & { id: string })","typeParameters":null,"directParents":null}}]},{"name":"get","returnType":{"packageName":"","name":"Promise<T | undefined>","filePath":null,"qualifiedName":"/Promise<T | undefined>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getIfExists","returnType":{"packageName":"","name":"T | undefined","filePath":null,"qualifiedName":"/T | undefined","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"set","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"object","type":{"packageName":"","name":"T","filePath":null,"qualifiedName":"/T","typeParameters":null,"directParents":null}}]}],"typeParameters":["/T extends Record"],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializableObject","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializableObject","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/ReferenceArray","value":{"packageName":"@proteinjs/db","name":"ReferenceArray","filePath":"/home/runner/work/db/db/packages/db/src/reference/ReferenceArray.ts","qualifiedName":"@proteinjs/db/ReferenceArray","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"__serializerId","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_ids","type":{"packageName":"","name":"string[]","filePath":null,"qualifiedName":"/string[]","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_objects","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"fromObjects","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"objects","type":{"packageName":"","name":"(T | (Partial<T> & { id: string }))[]","filePath":null,"qualifiedName":"/(T | (Partial<T> & { id: string }))[]","typeParameters":null,"directParents":null}}]},{"name":"isLoaded","returnType":{"packageName":"","name":"boolean","filePath":null,"qualifiedName":"/boolean","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"get","returnType":{"packageName":"","name":"Promise<T[]>","filePath":null,"qualifiedName":"/Promise<T[]>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getIfExists","returnType":{"packageName":"","name":"T[] | undefined","filePath":null,"qualifiedName":"/T[] | undefined","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getLength","returnType":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"set","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"objects","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}}]}],"typeParameters":["/T extends Record"],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializableObject","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializableObject","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/GraphSerializer","value":{"packageName":"@proteinjs/db","name":"GraphSerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/GraphSerializer.ts","qualifiedName":"@proteinjs/db/GraphSerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"matches","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"obj","type":{"packageName":"","name":"any","filePath":null,"qualifiedName":"/any","typeParameters":null,"directParents":null}}]},{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedGraph","filePath":null,"qualifiedName":"@proteinjs/db/SerializedGraph","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"graph","type":{"packageName":"@proteinjs/util","name":"Graph","filePath":null,"qualifiedName":"@proteinjs/util/Graph","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"@proteinjs/util","name":"Graph","filePath":null,"qualifiedName":"@proteinjs/util/Graph","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedGraph","type":{"packageName":"@proteinjs/db","name":"SerializedGraph","filePath":null,"qualifiedName":"@proteinjs/db/SerializedGraph","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"ThirdPartyLibCustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/ThirdPartyLibCustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/serializer/ThirdPartyLibCustomSerializer"},{"v":"@proteinjs/db/QueryBuilderSerializer","value":{"packageName":"@proteinjs/db","name":"QueryBuilderSerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/QueryBuilderSerializer.ts","qualifiedName":"@proteinjs/db/QueryBuilderSerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedQueryBuilder","filePath":null,"qualifiedName":"@proteinjs/db/SerializedQueryBuilder","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"qb","type":{"packageName":"","name":"QueryBuilder<any>","filePath":null,"qualifiedName":"/QueryBuilder<any>","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"","name":"QueryBuilder<any>","filePath":null,"qualifiedName":"/QueryBuilder<any>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedQb","type":{"packageName":"@proteinjs/db","name":"SerializedQueryBuilder","filePath":null,"qualifiedName":"@proteinjs/db/SerializedQueryBuilder","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/serializer/CustomSerializer"},{"v":"@proteinjs/db/ReferenceArraySerializer","value":{"packageName":"@proteinjs/db","name":"ReferenceArraySerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/ReferenceArraySerializer.ts","qualifiedName":"@proteinjs/db/ReferenceArraySerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedReferenceArray","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReferenceArray","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"referenceArray","type":{"packageName":"","name":"ReferenceArray<any>","filePath":null,"qualifiedName":"/ReferenceArray<any>","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"","name":"ReferenceArray<any>","filePath":null,"qualifiedName":"/ReferenceArray<any>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedReferenceArray","type":{"packageName":"@proteinjs/db","name":"SerializedReferenceArray","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReferenceArray","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/ReferenceSerializer","value":{"packageName":"@proteinjs/db","name":"ReferenceSerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/ReferenceSerializer.ts","qualifiedName":"@proteinjs/db/ReferenceSerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedReference","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReference","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"reference","type":{"packageName":"","name":"Reference<any>","filePath":null,"qualifiedName":"/Reference<any>","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"","name":"Reference<any>","filePath":null,"qualifiedName":"/Reference<any>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedReference","type":{"packageName":"@proteinjs/db","name":"SerializedReference","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReference","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/TableSerializer","value":{"packageName":"@proteinjs/db","name":"TableSerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/TableSerializer.ts","qualifiedName":"@proteinjs/db/TableSerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedTable","filePath":null,"qualifiedName":"@proteinjs/db/SerializedTable","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedTable","type":{"packageName":"@proteinjs/db","name":"SerializedTable","filePath":null,"qualifiedName":"@proteinjs/db/SerializedTable","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"/Partial"},{"v":"@proteinjs/service/Service"},{"v":"@proteinjs/db/TransactionRunnerService","value":{"packageName":"@proteinjs/db","name":"TransactionRunnerService","filePath":"/home/runner/work/db/db/packages/db/src/services/TransactionRunnerService.ts","qualifiedName":"@proteinjs/db/TransactionRunnerService","properties":[],"methods":[{"name":"run","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"ops","type":{"packageName":"","name":"Operation<any>[]","filePath":null,"qualifiedName":"/Operation<any>[]","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/service","name":"Service","filePath":null,"qualifiedName":"@proteinjs/service/Service","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"/DbRecord"},{"v":"@proteinjs/db/SourceRecordLoader","value":{"packageName":"@proteinjs/db","name":"SourceRecordLoader","filePath":"/home/runner/work/db/db/packages/db/src/source/SourceRecordLoader.ts","qualifiedName":"@proteinjs/db/SourceRecordLoader","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"}],"methods":[{"name":"load","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getSourceRecordsMap","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[]}],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/MigrationTable","value":{"packageName":"@proteinjs/db","name":"MigrationTable","filePath":"/home/runner/work/db/db/packages/db/src/tables/MigrationTable.ts","qualifiedName":"@proteinjs/db/MigrationTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"sourceRecordOptions","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/Migration"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/TransactionRunner","value":{"packageName":"@proteinjs/db","name":"TransactionRunner","filePath":"/home/runner/work/db/db/packages/db/src/transaction/TransactionRunner.ts","qualifiedName":"@proteinjs/db/TransactionRunner","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[{"name":"run","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"ops","type":{"packageName":"","name":"Operation<any>[]","filePath":null,"qualifiedName":"/Operation<any>[]","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"TransactionRunnerService","filePath":null,"qualifiedName":"@proteinjs/db/TransactionRunnerService","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}}],"edges":[{"v":"@proteinjs/db/DbDriverQueryStatementConfig","w":"@proteinjs/db-query/ParameterizationConfig","value":"extends type"},{"v":"@proteinjs/db/DbDriverDmlStatementConfig","w":"@proteinjs/db-query/ParameterizationConfig","value":"extends type"},{"v":"@proteinjs/db/DefaultDbDriverFactory","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db/Db","w":"@proteinjs/db/DbService","value":"implements interface"},{"v":"@proteinjs/db/DbInitStartupTask","w":"@proteinjs/server-api/StartupTask","value":"implements interface"},{"v":"@proteinjs/db/MigrationRunner","w":"@proteinjs/db/MigrationRunnerService","value":"implements interface"},{"v":"@proteinjs/db/Table","w":"@proteinjs/reflection/Loadable","value":"implements interface"},{"v":"@proteinjs/db/Table","w":"@proteinjs/serializer/CustomSerializableObject","value":"implements interface"},{"v":"@proteinjs/db/TableWatcher","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db/Reference","w":"@proteinjs/serializer/CustomSerializableObject","value":"implements interface"},{"v":"@proteinjs/db/ReferenceArray","w":"@proteinjs/serializer/CustomSerializableObject","value":"implements interface"},{"v":"@proteinjs/db/GraphSerializer","w":"@proteinjs/serializer/ThirdPartyLibCustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/QueryBuilderSerializer","w":"@proteinjs/serializer/CustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/ReferenceArraySerializer","w":"@proteinjs/serializer/CustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/ReferenceSerializer","w":"@proteinjs/serializer/CustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/TableSerializer","w":"@proteinjs/serializer/CustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/DbService","w":"@proteinjs/service/Service","value":"extends interface"},{"v":"@proteinjs/db/MigrationRunnerService","w":"@proteinjs/service/Service","value":"extends interface"},{"v":"@proteinjs/db/TransactionRunnerService","w":"@proteinjs/service/Service","value":"extends interface"},{"v":"@proteinjs/db/SourceRecordLoader","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db/MigrationTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/TransactionRunner","w":"@proteinjs/db/TransactionRunnerService","value":"implements interface"}]}';
|
|
18
18
|
|
|
19
19
|
/** Generate Source Links */
|
|
20
20
|
|
|
@@ -31,6 +31,7 @@ import { ReferenceSerializer } from '../src/serializers/ReferenceSerializer';
|
|
|
31
31
|
import { TableSerializer } from '../src/serializers/TableSerializer';
|
|
32
32
|
import { SourceRecordLoader } from '../src/source/SourceRecordLoader';
|
|
33
33
|
import { MigrationTable } from '../src/tables/MigrationTable';
|
|
34
|
+
import { TransactionRunner } from '../src/transaction/TransactionRunner';
|
|
34
35
|
|
|
35
36
|
const sourceLinks = {
|
|
36
37
|
'@proteinjs/db/Db': Db,
|
|
@@ -46,6 +47,7 @@ const sourceLinks = {
|
|
|
46
47
|
'@proteinjs/db/TableSerializer': TableSerializer,
|
|
47
48
|
'@proteinjs/db/SourceRecordLoader': SourceRecordLoader,
|
|
48
49
|
'@proteinjs/db/MigrationTable': MigrationTable,
|
|
50
|
+
'@proteinjs/db/TransactionRunner': TransactionRunner,
|
|
49
51
|
};
|
|
50
52
|
|
|
51
53
|
/** Load Source Graph and Links */
|
package/index.ts
CHANGED
|
@@ -8,6 +8,9 @@ export * from './src/reference/Reference';
|
|
|
8
8
|
export * from './src/RecordIterator';
|
|
9
9
|
export * from './src/source/SourceRecord';
|
|
10
10
|
export * from './src/QueryBuilderFactory';
|
|
11
|
+
export * from './src/TableWatcher';
|
|
12
|
+
export * from './src/transaction/Transaction';
|
|
13
|
+
export * from './src/transaction/TransactionRunner';
|
|
11
14
|
|
|
12
15
|
export * from './src/schema/SchemaOperations';
|
|
13
16
|
export * from './src/schema/SchemaMetadata';
|
|
@@ -18,11 +21,11 @@ export * from './src/tables/MigrationTable';
|
|
|
18
21
|
|
|
19
22
|
export * from './src/services/DbService';
|
|
20
23
|
export * from './src/services/MigrationRunnerService';
|
|
21
|
-
|
|
22
|
-
export * from './src/TableWatcher';
|
|
24
|
+
export * from './src/services/TransactionRunnerService';
|
|
23
25
|
|
|
24
26
|
export * from './test/reusable/TableManagerTests';
|
|
25
27
|
export * from './test/reusable/CrudTests';
|
|
26
28
|
export * from './test/reusable/ColumnTypesTests';
|
|
29
|
+
export * from './test/reusable/TransactionTests';
|
|
27
30
|
|
|
28
31
|
export * from '@proteinjs/db-query';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/db",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Db",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
},
|
|
50
50
|
"main": "./dist/generated/index.js",
|
|
51
51
|
"types": "./dist/generated/index.d.ts",
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "98ad6e94d14a8330f5ed61f0758f2eb7b902f5ac"
|
|
53
53
|
}
|
package/src/Db.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { DbService, Query, getDbService } from './services/DbService';
|
|
2
2
|
import { Service } from '@proteinjs/service';
|
|
3
3
|
import { Loadable, SourceRepository } from '@proteinjs/reflection';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
Column,
|
|
6
|
+
Table,
|
|
7
|
+
getColumnPropertyName,
|
|
8
|
+
tableByName,
|
|
9
|
+
addDefaultFieldValues,
|
|
10
|
+
addUpdateFieldValues,
|
|
11
|
+
} from './Table';
|
|
5
12
|
import { Record, RecordSerializer, SerializedRecord } from './Record';
|
|
6
13
|
import { Logger } from '@proteinjs/logger';
|
|
7
14
|
import { SourceRecordLoader } from './source/SourceRecordLoader';
|
|
@@ -13,6 +20,7 @@ import { TableAuth } from './auth/TableAuth';
|
|
|
13
20
|
import { TableServiceAuth } from './auth/TableServiceAuth';
|
|
14
21
|
import { TableWatcherRunner } from './TableWatcherRunner';
|
|
15
22
|
|
|
23
|
+
/** get `Db` if on server, and `DbService` if on browser */
|
|
16
24
|
export const getDb = <R extends Record = Record>() =>
|
|
17
25
|
typeof self === 'undefined' ? new Db<R>() : (getDbService() as Db<R>);
|
|
18
26
|
export const getDbAsSystem = <R extends Record = Record>() => new Db<R>(undefined, undefined, true);
|
|
@@ -38,8 +46,12 @@ export interface DbDriver {
|
|
|
38
46
|
start?(): Promise<void>;
|
|
39
47
|
stop?(): Promise<void>;
|
|
40
48
|
getTableManager(): TableManager;
|
|
41
|
-
runQuery(
|
|
42
|
-
|
|
49
|
+
runQuery(
|
|
50
|
+
generateStatement: (config: DbDriverQueryStatementConfig) => Statement,
|
|
51
|
+
transaction?: any
|
|
52
|
+
): Promise<SerializedRecord[]>;
|
|
53
|
+
runDml(generateStatement: (config: DbDriverDmlStatementConfig) => Statement, transaction?: any): Promise<number>;
|
|
54
|
+
runTransaction<T>(fn: (transaction: any) => Promise<T>): Promise<T>;
|
|
43
55
|
}
|
|
44
56
|
|
|
45
57
|
export class Db<R extends Record = Record> implements DbService<R> {
|
|
@@ -49,6 +61,7 @@ export class Db<R extends Record = Record> implements DbService<R> {
|
|
|
49
61
|
private statementConfigFactory: StatementConfigFactory;
|
|
50
62
|
private auth = new TableAuth();
|
|
51
63
|
private tableWatcherRunner = new TableWatcherRunner<R>();
|
|
64
|
+
private currentTransaction?: any;
|
|
52
65
|
public serviceMetadata: Service['serviceMetadata'] = {
|
|
53
66
|
auth: {
|
|
54
67
|
canAccess: (methodName, args) => new TableServiceAuth().canAccess(methodName, args),
|
|
@@ -101,7 +114,7 @@ export class Db<R extends Record = Record> implements DbService<R> {
|
|
|
101
114
|
}
|
|
102
115
|
|
|
103
116
|
let recordCopy = Object.assign({}, record);
|
|
104
|
-
await
|
|
117
|
+
await addDefaultFieldValues(table, recordCopy);
|
|
105
118
|
recordCopy = await this.tableWatcherRunner.runBeforeInsertTableWatchers(table, recordCopy);
|
|
106
119
|
const recordSearializer = new RecordSerializer(table);
|
|
107
120
|
const serializedRecord = await recordSearializer.serialize(recordCopy);
|
|
@@ -111,20 +124,11 @@ export class Db<R extends Record = Record> implements DbService<R> {
|
|
|
111
124
|
serializedRecord as Partial<T>,
|
|
112
125
|
this.statementConfigFactory.getStatementConfig(config)
|
|
113
126
|
);
|
|
114
|
-
await this.dbDriver.runDml(generateInsert);
|
|
127
|
+
await this.dbDriver.runDml(generateInsert, this.currentTransaction);
|
|
115
128
|
await this.tableWatcherRunner.runAfterInsertTableWatchers(table, recordCopy as T);
|
|
116
129
|
return recordCopy as T;
|
|
117
130
|
}
|
|
118
131
|
|
|
119
|
-
private async addDefaultFieldValues<T extends R>(table: Table<T>, record: any) {
|
|
120
|
-
for (const columnPropertyName in table.columns) {
|
|
121
|
-
const column = (table.columns as any)[columnPropertyName] as Column<any, any>;
|
|
122
|
-
if (column.options?.defaultValue && typeof record[columnPropertyName] === 'undefined') {
|
|
123
|
-
record[columnPropertyName] = await column.options.defaultValue(record);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
132
|
async update<T extends R>(table: Table<T>, record: Partial<T>, query?: Query<T>): Promise<number> {
|
|
129
133
|
if (!this.runAsSystem) {
|
|
130
134
|
this.auth.canUpdate(table);
|
|
@@ -135,7 +139,7 @@ export class Db<R extends Record = Record> implements DbService<R> {
|
|
|
135
139
|
}
|
|
136
140
|
|
|
137
141
|
let recordCopy = Object.assign({}, record);
|
|
138
|
-
await
|
|
142
|
+
await addUpdateFieldValues(table, recordCopy);
|
|
139
143
|
const qb = new QueryBuilderFactory().getQueryBuilder(table, query);
|
|
140
144
|
this.addColumnQueries(table, qb);
|
|
141
145
|
if (!query) {
|
|
@@ -153,20 +157,11 @@ export class Db<R extends Record = Record> implements DbService<R> {
|
|
|
153
157
|
qb,
|
|
154
158
|
this.statementConfigFactory.getStatementConfig(config)
|
|
155
159
|
);
|
|
156
|
-
const recordUpdateCount = await this.dbDriver.runDml(generateUpdate);
|
|
160
|
+
const recordUpdateCount = await this.dbDriver.runDml(generateUpdate, this.currentTransaction);
|
|
157
161
|
await this.tableWatcherRunner.runAfterUpdateTableWatchers(table, recordUpdateCount, recordCopy, qb);
|
|
158
162
|
return recordUpdateCount;
|
|
159
163
|
}
|
|
160
164
|
|
|
161
|
-
private async addUpdateFieldValues<T extends R>(table: Table<T>, record: any) {
|
|
162
|
-
for (const columnPropertyName in table.columns) {
|
|
163
|
-
const column = (table.columns as any)[columnPropertyName] as Column<any, any>;
|
|
164
|
-
if (column.options?.updateValue) {
|
|
165
|
-
record[columnPropertyName] = await column.options.updateValue(record);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
165
|
async delete<T extends R>(table: Table<T>, query: Query<T>): Promise<number> {
|
|
171
166
|
if (!this.runAsSystem) {
|
|
172
167
|
this.auth.canDelete(table);
|
|
@@ -185,7 +180,7 @@ export class Db<R extends Record = Record> implements DbService<R> {
|
|
|
185
180
|
new StatementFactory<T>().delete(table.name, deleteQb, this.statementConfigFactory.getStatementConfig(config));
|
|
186
181
|
await this.runColumnBeforeDeletes(table, recordsToDelete);
|
|
187
182
|
await this.tableWatcherRunner.runBeforeDeleteTableWatchers(table, recordsToDelete, qb);
|
|
188
|
-
const recordDeleteCount = await this.dbDriver.runDml(generateDelete);
|
|
183
|
+
const recordDeleteCount = await this.dbDriver.runDml(generateDelete, this.currentTransaction);
|
|
189
184
|
await this.runCascadeDeletions(table, recordsToDeleteIds);
|
|
190
185
|
await this.tableWatcherRunner.runAfterDeleteTableWatchers(table, recordDeleteCount, recordsToDelete, qb);
|
|
191
186
|
return recordDeleteCount;
|
|
@@ -239,7 +234,7 @@ export class Db<R extends Record = Record> implements DbService<R> {
|
|
|
239
234
|
this.addColumnQueries(table, qb);
|
|
240
235
|
const generateQuery = (config: DbDriverQueryStatementConfig) =>
|
|
241
236
|
qb.toSql(this.statementConfigFactory.getStatementConfig(config));
|
|
242
|
-
const serializedRecords = await this.dbDriver.runQuery(generateQuery);
|
|
237
|
+
const serializedRecords = await this.dbDriver.runQuery(generateQuery, this.currentTransaction);
|
|
243
238
|
const recordSearializer = new RecordSerializer(table);
|
|
244
239
|
return await Promise.all(
|
|
245
240
|
serializedRecords.map(async (serializedRecord) => recordSearializer.deserialize(serializedRecord))
|
|
@@ -256,7 +251,7 @@ export class Db<R extends Record = Record> implements DbService<R> {
|
|
|
256
251
|
this.addColumnQueries(table, qb);
|
|
257
252
|
const generateQuery = (config: DbDriverQueryStatementConfig) =>
|
|
258
253
|
qb.toSql(this.statementConfigFactory.getStatementConfig(config));
|
|
259
|
-
const result = await this.dbDriver.runQuery(generateQuery);
|
|
254
|
+
const result = await this.dbDriver.runQuery(generateQuery, this.currentTransaction);
|
|
260
255
|
return result[0]['count'];
|
|
261
256
|
}
|
|
262
257
|
|
|
@@ -268,4 +263,44 @@ export class Db<R extends Record = Record> implements DbService<R> {
|
|
|
268
263
|
}
|
|
269
264
|
}
|
|
270
265
|
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Run a transaction.
|
|
269
|
+
*
|
|
270
|
+
* Use this db instance for any operation you want to include in the transaction.
|
|
271
|
+
*
|
|
272
|
+
* Note: This method uses Db instance state. Usually it is best to create a new instance
|
|
273
|
+
* of Db to run a transaction.
|
|
274
|
+
*
|
|
275
|
+
* Note: Nested transactions are not supported; will throw.
|
|
276
|
+
*
|
|
277
|
+
*
|
|
278
|
+
* Example:
|
|
279
|
+
*
|
|
280
|
+
* ```
|
|
281
|
+
* const db = getDb();
|
|
282
|
+
* const results = await db.runTransaction(async () => {
|
|
283
|
+
* const emp1 = await db.insert(emplyeeTable, testEmployee1);
|
|
284
|
+
* const emp2 = await db.insert(emplyeeTable, testEmployee2);
|
|
285
|
+
* await db.update(emplyeeTable, { department: 'R&D' }, { id: emp1.id });
|
|
286
|
+
* await someFunctionThatDoesDbOps(db);
|
|
287
|
+
* return { emp1, emp2 };
|
|
288
|
+
* });
|
|
289
|
+
* ```
|
|
290
|
+
*/
|
|
291
|
+
async runTransaction<T>(fn: () => Promise<T>): Promise<T> {
|
|
292
|
+
if (this.currentTransaction) {
|
|
293
|
+
throw new Error(`Nested transactions are not supported. A transaction is already running on this Db instance.`);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
return await this.dbDriver.runTransaction(async (transaction) => {
|
|
297
|
+
this.currentTransaction = transaction;
|
|
298
|
+
try {
|
|
299
|
+
const result = await fn();
|
|
300
|
+
return result;
|
|
301
|
+
} finally {
|
|
302
|
+
this.currentTransaction = undefined;
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
}
|
|
271
306
|
}
|