@proteinjs/db 1.18.1 → 1.19.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 +11 -0
- package/dist/generated/index.js +1 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/test/index.d.ts +13 -0
- package/dist/generated/test/index.d.ts.map +1 -0
- package/dist/generated/test/index.js +91 -0
- package/dist/generated/test/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/src/Columns.d.ts +10 -3
- package/dist/src/Columns.d.ts.map +1 -1
- package/dist/src/Columns.js +3 -16
- package/dist/src/Columns.js.map +1 -1
- package/dist/src/Db.d.ts +17 -0
- package/dist/src/Db.d.ts.map +1 -1
- package/dist/src/Db.js +201 -31
- package/dist/src/Db.js.map +1 -1
- package/dist/test/reusable/CascadeDeleteTests.d.ts +194 -0
- package/dist/test/reusable/CascadeDeleteTests.d.ts.map +1 -0
- package/dist/test/reusable/CascadeDeleteTests.js +643 -0
- package/dist/test/reusable/CascadeDeleteTests.js.map +1 -0
- package/dist/test/reusable/TableManagerTests.d.ts.map +1 -1
- package/dist/test/reusable/TableManagerTests.js.map +1 -1
- package/generated/index.ts +1 -1
- package/generated/test/index.ts +84 -0
- package/index.ts +1 -0
- package/package.json +14 -10
- package/src/Columns.ts +17 -3
- package/src/Db.ts +161 -15
- package/test/reusable/CascadeDeleteTests.ts +478 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/** Load Dependency Source Graphs */
|
|
2
|
+
|
|
3
|
+
import '@proteinjs/db-query';
|
|
4
|
+
import '@proteinjs/logger';
|
|
5
|
+
import '@proteinjs/reflection';
|
|
6
|
+
import '@proteinjs/serializer';
|
|
7
|
+
import '@proteinjs/server-api';
|
|
8
|
+
import '@proteinjs/service';
|
|
9
|
+
import '@proteinjs/user-auth';
|
|
10
|
+
import '@proteinjs/util';
|
|
11
|
+
import 'moment';
|
|
12
|
+
import 'uuid';
|
|
13
|
+
|
|
14
|
+
/** Generate Source Graph */
|
|
15
|
+
|
|
16
|
+
const sourceGraph =
|
|
17
|
+
'{"options":{"directed":true,"multigraph":false,"compound":false},"nodes":[{"v":"@proteinjs/db/MemberRefTable","value":{"packageName":"@proteinjs/db","name":"MemberRefTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/MemberRefTable","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"}],"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/MemberRef"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"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/db/GroupRefTable","value":{"packageName":"@proteinjs/db","name":"GroupRefTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/GroupRefTable","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"}],"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/GroupRef"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/MemberArrTable","value":{"packageName":"@proteinjs/db","name":"MemberArrTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/MemberArrTable","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"}],"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/MemberArr"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/GroupArrTable","value":{"packageName":"@proteinjs/db","name":"GroupArrTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/GroupArrTable","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"}],"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/GroupArr"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/MemberDynTable","value":{"packageName":"@proteinjs/db","name":"MemberDynTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/MemberDynTable","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"}],"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/MemberDyn"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/GroupDynTable","value":{"packageName":"@proteinjs/db","name":"GroupDynTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/GroupDynTable","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"}],"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/GroupDyn"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/PostTable","value":{"packageName":"@proteinjs/db","name":"PostTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/PostTable","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"}],"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/Post"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/CommentTable","value":{"packageName":"@proteinjs/db","name":"CommentTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/CommentTable","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"}],"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/Comment"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/MemberArrRevTable","value":{"packageName":"@proteinjs/db","name":"MemberArrRevTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/MemberArrRevTable","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"}],"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/MemberArrRev"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/GroupArrRevTable","value":{"packageName":"@proteinjs/db","name":"GroupArrRevTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/GroupArrRevTable","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"}],"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/GroupArrRev"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/WorkerTable","value":{"packageName":"@proteinjs/db","name":"WorkerTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/WorkerTable","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"}],"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/Worker"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/TaskTable","value":{"packageName":"@proteinjs/db","name":"TaskTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/TaskTable","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"}],"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/Task"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/TestTable","value":{"packageName":"@proteinjs/db","name":"TestTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/ColumnTypesTests.ts","qualifiedName":"@proteinjs/db/TestTable","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"}],"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/TestRecord"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/EmployeeTestTable","value":{"packageName":"@proteinjs/db","name":"EmployeeTestTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CrudTests.ts","qualifiedName":"@proteinjs/db/EmployeeTestTable","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"}],"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/Employee"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/ReservedWordTestTable","value":{"packageName":"@proteinjs/db","name":"ReservedWordTestTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CrudTests.ts","qualifiedName":"@proteinjs/db/ReservedWordTestTable","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"}],"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/ReservedWordTest"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"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":"transactionContextFactory","type":{"packageName":"@proteinjs/db","name":"DefaultTransactionContextFactory","filePath":null,"qualifiedName":"@proteinjs/db/DefaultTransactionContextFactory","typeParameters":null,"directParents":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":"getTable","type":{"packageName":"","name":"(tableName: string) => Table<any>","filePath":null,"qualifiedName":"/(tableName: string) => Table<any>","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"private"},{"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":true,"visibility":"public","parameters":[]},{"name":"getDefaultTransactionContextFactory","returnType":{"packageName":"@proteinjs/db","name":"DefaultTransactionContextFactory","filePath":null,"qualifiedName":"@proteinjs/db/DefaultTransactionContextFactory","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":"options","type":{"packageName":"","name":"QueryOptions<T>","filePath":null,"qualifiedName":"/QueryOptions<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":"deletedRecords","type":{"packageName":"","name":"Record[]","filePath":null,"qualifiedName":"/Record[]","typeParameters":null,"directParents":null}}]},{"name":"runColumnReverseCascadeDeletions","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":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":"deletedRecords","type":{"packageName":"","name":"Record[]","filePath":null,"qualifiedName":"/Record[]","typeParameters":null,"directParents":null}}]},{"name":"reverseDeleteReferenceArrayHolders","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"referencingTable","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"columnPropertyName","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"deletedIds","type":{"packageName":"","name":"string[]","filePath":null,"qualifiedName":"/string[]","typeParameters":null,"directParents":null}},{"name":"deletedIdSet","type":{"packageName":"","name":"Set<string>","filePath":null,"qualifiedName":"/Set<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":"options","type":{"packageName":"","name":"QueryOptions<T>","filePath":null,"qualifiedName":"/QueryOptions<T>","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":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"@proteinjs/db-query","name":"QueryBuilder","filePath":null,"qualifiedName":"@proteinjs/db-query/QueryBuilder","typeParameters":null,"directParents":null}},{"name":"options","type":{"packageName":"","name":"QueryOptions<T>","filePath":null,"qualifiedName":"/QueryOptions<T>","typeParameters":null,"directParents":null}}]},{"name":"preloadReferences","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"records","type":{"packageName":"","name":"any[]","filePath":null,"qualifiedName":"/any[]","typeParameters":null,"directParents":null}},{"name":"queryOptions","type":{"packageName":"","name":"QueryOptions<any>","filePath":null,"qualifiedName":"/QueryOptions<any>","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":"operation","type":{"packageName":"","name":"\'read\' | \'write\' | \'delete\'","filePath":null,"qualifiedName":"/\'read\' | \'write\' | \'delete\'","typeParameters":null,"directParents":null}}]},{"name":"addColumnInsertHooks","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":"record","type":{"packageName":"","name":"any","filePath":null,"qualifiedName":"/any","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}}]},{"name":"chunk","returnType":{"packageName":"","name":"T[][]","filePath":null,"qualifiedName":"/T[][]","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"arr","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}},{"name":"size","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","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":"options","type":{"packageName":"","name":"QueryOptions<T>","filePath":null,"qualifiedName":"/QueryOptions<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":"options","type":{"packageName":"","name":"QueryOptions<T>","filePath":null,"qualifiedName":"/QueryOptions<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/serializer/CustomSerializableObject"},{"v":"/Record) => Promise"},{"v":"/Record, runAsSystem: boolean) => Promise"},{"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":"initialQb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}},{"name":"deleteQb","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":"initialQb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}},{"name":"deleteQb","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":"@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":"/\'public\' | \'authenticated\' | string[]"},{"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/serializer/CustomSerializer"},{"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/DefaultTransactionContextFactory","value":{"packageName":"@proteinjs/db","name":"DefaultTransactionContextFactory","filePath":"/home/runner/work/db/db/packages/db/src/transaction/TransactionContextFactory.ts","qualifiedName":"@proteinjs/db/DefaultTransactionContextFactory","properties":[],"methods":[{"name":"getTransactionContext","returnType":{"packageName":"@proteinjs/db","name":"TransactionContextData","filePath":null,"qualifiedName":"@proteinjs/db/TransactionContextData","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]},{"name":"runInContext","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":"transaction","type":{"packageName":"","name":"any","filePath":null,"qualifiedName":"/any","typeParameters":null,"directParents":null}},{"name":"fn","type":{"packageName":"","name":"() => Promise<T>","filePath":null,"qualifiedName":"/() => Promise<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"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":[{"name":"serviceMetadata","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"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/MemberRefTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/GroupRefTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/MemberArrTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/GroupArrTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/MemberDynTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/GroupDynTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/PostTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/CommentTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/MemberArrRevTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/GroupArrRevTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/WorkerTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/TaskTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/TestTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/EmployeeTestTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/ReservedWordTestTable","w":"@proteinjs/db/Table","value":"extends class"},{"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/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/DefaultTransactionContextFactory","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db/TransactionRunner","w":"@proteinjs/db/TransactionRunnerService","value":"implements interface"}]}';
|
|
18
|
+
|
|
19
|
+
/** Generate Source Links */
|
|
20
|
+
|
|
21
|
+
import { MemberRefTable } from '../../test/reusable/CascadeDeleteTests';
|
|
22
|
+
import { Table } from '../../src/Table';
|
|
23
|
+
import { GroupRefTable } from '../../test/reusable/CascadeDeleteTests';
|
|
24
|
+
import { MemberArrTable } from '../../test/reusable/CascadeDeleteTests';
|
|
25
|
+
import { GroupArrTable } from '../../test/reusable/CascadeDeleteTests';
|
|
26
|
+
import { MemberDynTable } from '../../test/reusable/CascadeDeleteTests';
|
|
27
|
+
import { GroupDynTable } from '../../test/reusable/CascadeDeleteTests';
|
|
28
|
+
import { PostTable } from '../../test/reusable/CascadeDeleteTests';
|
|
29
|
+
import { CommentTable } from '../../test/reusable/CascadeDeleteTests';
|
|
30
|
+
import { MemberArrRevTable } from '../../test/reusable/CascadeDeleteTests';
|
|
31
|
+
import { GroupArrRevTable } from '../../test/reusable/CascadeDeleteTests';
|
|
32
|
+
import { WorkerTable } from '../../test/reusable/CascadeDeleteTests';
|
|
33
|
+
import { TaskTable } from '../../test/reusable/CascadeDeleteTests';
|
|
34
|
+
import { TestTable } from '../../test/reusable/ColumnTypesTests';
|
|
35
|
+
import { EmployeeTestTable } from '../../test/reusable/CrudTests';
|
|
36
|
+
import { ReservedWordTestTable } from '../../test/reusable/CrudTests';
|
|
37
|
+
import { Db } from '../../src/Db';
|
|
38
|
+
import { DbInitStartupTask } from '../../src/DbInitStartupTask';
|
|
39
|
+
import { MigrationRunner } from '../../src/MigrationRunner';
|
|
40
|
+
import { Reference } from '../../src/reference/Reference';
|
|
41
|
+
import { ReferenceArray } from '../../src/reference/ReferenceArray';
|
|
42
|
+
import { ReferenceArraySerializer } from '../../src/serializers/ReferenceArraySerializer';
|
|
43
|
+
import { ReferenceSerializer } from '../../src/serializers/ReferenceSerializer';
|
|
44
|
+
import { TableSerializer } from '../../src/serializers/TableSerializer';
|
|
45
|
+
import { SourceRecordLoader } from '../../src/source/SourceRecordLoader';
|
|
46
|
+
import { MigrationTable } from '../../src/tables/MigrationTable';
|
|
47
|
+
import { TransactionRunner } from '../../src/transaction/TransactionRunner';
|
|
48
|
+
|
|
49
|
+
const sourceLinks = {
|
|
50
|
+
'@proteinjs/db/MemberRefTable': MemberRefTable,
|
|
51
|
+
'@proteinjs/db/Table': Table,
|
|
52
|
+
'@proteinjs/db/GroupRefTable': GroupRefTable,
|
|
53
|
+
'@proteinjs/db/MemberArrTable': MemberArrTable,
|
|
54
|
+
'@proteinjs/db/GroupArrTable': GroupArrTable,
|
|
55
|
+
'@proteinjs/db/MemberDynTable': MemberDynTable,
|
|
56
|
+
'@proteinjs/db/GroupDynTable': GroupDynTable,
|
|
57
|
+
'@proteinjs/db/PostTable': PostTable,
|
|
58
|
+
'@proteinjs/db/CommentTable': CommentTable,
|
|
59
|
+
'@proteinjs/db/MemberArrRevTable': MemberArrRevTable,
|
|
60
|
+
'@proteinjs/db/GroupArrRevTable': GroupArrRevTable,
|
|
61
|
+
'@proteinjs/db/WorkerTable': WorkerTable,
|
|
62
|
+
'@proteinjs/db/TaskTable': TaskTable,
|
|
63
|
+
'@proteinjs/db/TestTable': TestTable,
|
|
64
|
+
'@proteinjs/db/EmployeeTestTable': EmployeeTestTable,
|
|
65
|
+
'@proteinjs/db/ReservedWordTestTable': ReservedWordTestTable,
|
|
66
|
+
'@proteinjs/db/Db': Db,
|
|
67
|
+
'@proteinjs/db/DbInitStartupTask': DbInitStartupTask,
|
|
68
|
+
'@proteinjs/db/MigrationRunner': MigrationRunner,
|
|
69
|
+
'@proteinjs/db/Reference': Reference,
|
|
70
|
+
'@proteinjs/db/ReferenceArray': ReferenceArray,
|
|
71
|
+
'@proteinjs/db/ReferenceArraySerializer': ReferenceArraySerializer,
|
|
72
|
+
'@proteinjs/db/ReferenceSerializer': ReferenceSerializer,
|
|
73
|
+
'@proteinjs/db/TableSerializer': TableSerializer,
|
|
74
|
+
'@proteinjs/db/SourceRecordLoader': SourceRecordLoader,
|
|
75
|
+
'@proteinjs/db/MigrationTable': MigrationTable,
|
|
76
|
+
'@proteinjs/db/TransactionRunner': TransactionRunner,
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/** Load Source Graph and Links */
|
|
80
|
+
|
|
81
|
+
import { SourceRepository } from '@proteinjs/reflection';
|
|
82
|
+
SourceRepository.merge(sourceGraph, sourceLinks);
|
|
83
|
+
|
|
84
|
+
export * from '../../index';
|
package/index.ts
CHANGED
|
@@ -30,5 +30,6 @@ export * from './test/reusable/CrudTests';
|
|
|
30
30
|
export * from './test/reusable/ColumnTypesTests';
|
|
31
31
|
export * from './test/reusable/DynamicReferenceColumn';
|
|
32
32
|
export * from './test/reusable/TransactionTests';
|
|
33
|
+
export * from './test/reusable/CascadeDeleteTests';
|
|
33
34
|
|
|
34
35
|
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.19.0",
|
|
4
4
|
"description": "Db",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -17,24 +17,24 @@
|
|
|
17
17
|
"license": "MIT",
|
|
18
18
|
"scripts": {
|
|
19
19
|
"clean": "rm -rf dist/ node_modules/ generated/",
|
|
20
|
-
"build": "reflection-build && tsc",
|
|
20
|
+
"build": "reflection-build && REFLECTION_SOURCE_DIRS=test,src reflection-build && tsc",
|
|
21
21
|
"watch": "reflection-watch",
|
|
22
22
|
"test": "jest"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@proteinjs/db-query": "^1.
|
|
26
|
-
"@proteinjs/logger": "1.0.
|
|
25
|
+
"@proteinjs/db-query": "^1.4.0",
|
|
26
|
+
"@proteinjs/logger": "1.0.11",
|
|
27
27
|
"@proteinjs/reflection": "1.1.10",
|
|
28
|
-
"@proteinjs/serializer": "1.1.
|
|
29
|
-
"@proteinjs/server-api": "2.0.
|
|
30
|
-
"@proteinjs/service": "1.2.
|
|
31
|
-
"@proteinjs/user-auth": "1.1.
|
|
28
|
+
"@proteinjs/serializer": "1.1.1",
|
|
29
|
+
"@proteinjs/server-api": "2.0.1",
|
|
30
|
+
"@proteinjs/service": "1.2.7",
|
|
31
|
+
"@proteinjs/user-auth": "1.1.6",
|
|
32
32
|
"@proteinjs/util": "1.5.0",
|
|
33
33
|
"moment": "2.29.4",
|
|
34
34
|
"uuid": "8.3.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@proteinjs/reflection-build": "1.
|
|
37
|
+
"@proteinjs/reflection-build": "1.3.0",
|
|
38
38
|
"@types/jest": "29.5.5",
|
|
39
39
|
"@types/node": "14.0.27",
|
|
40
40
|
"@types/uuid": "8.3.0",
|
|
@@ -49,5 +49,9 @@
|
|
|
49
49
|
},
|
|
50
50
|
"main": "./dist/generated/index.js",
|
|
51
51
|
"types": "./dist/generated/index.d.ts",
|
|
52
|
-
"
|
|
52
|
+
"exports": {
|
|
53
|
+
".": "./dist/generated/index.js",
|
|
54
|
+
"./test": "./dist/generated/test/index.js"
|
|
55
|
+
},
|
|
56
|
+
"gitHead": "5f31f973e8ce8d8810b344b15c22ec0b99018a06"
|
|
53
57
|
}
|
package/src/Columns.ts
CHANGED
|
@@ -8,6 +8,11 @@ import { Reference } from './reference/Reference';
|
|
|
8
8
|
import { QueryBuilderFactory } from './QueryBuilderFactory';
|
|
9
9
|
import { Serializer } from '@proteinjs/serializer';
|
|
10
10
|
|
|
11
|
+
export interface ReferenceColumnOptions extends ColumnOptions {
|
|
12
|
+
/** If true, when a record in the referenced table is deleted, this record is deleted */
|
|
13
|
+
reverseCascadeDelete?: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
11
16
|
export class IntegerColumn implements Column<number, number> {
|
|
12
17
|
constructor(
|
|
13
18
|
public name: string,
|
|
@@ -212,11 +217,13 @@ export class ReferenceArrayColumn<T extends Record> extends ObjectColumn<Referen
|
|
|
212
217
|
* @param cascadeDelete if true referenced records will be deleted when this record is deleted
|
|
213
218
|
* @param options generic column options
|
|
214
219
|
*/
|
|
220
|
+
public reverseCascadeDelete: boolean;
|
|
221
|
+
|
|
215
222
|
constructor(
|
|
216
223
|
name: string,
|
|
217
224
|
public referenceTable: string,
|
|
218
225
|
public cascadeDelete: boolean,
|
|
219
|
-
options?:
|
|
226
|
+
options?: ReferenceColumnOptions
|
|
220
227
|
) {
|
|
221
228
|
super(
|
|
222
229
|
name,
|
|
@@ -229,6 +236,7 @@ export class ReferenceArrayColumn<T extends Record> extends ObjectColumn<Referen
|
|
|
229
236
|
options
|
|
230
237
|
)
|
|
231
238
|
);
|
|
239
|
+
this.reverseCascadeDelete = !!options?.reverseCascadeDelete;
|
|
232
240
|
}
|
|
233
241
|
|
|
234
242
|
async serialize(fieldValue: ReferenceArray<T> | null | undefined): Promise<string | null> {
|
|
@@ -290,11 +298,13 @@ export class ReferenceColumn<T extends Record> extends StringColumn<Reference<T>
|
|
|
290
298
|
* @param cascadeDelete if true referenced record will be deleted when this record is deleted
|
|
291
299
|
* @param options generic column options
|
|
292
300
|
*/
|
|
301
|
+
public reverseCascadeDelete: boolean;
|
|
302
|
+
|
|
293
303
|
constructor(
|
|
294
304
|
name: string,
|
|
295
305
|
public referenceTable: string,
|
|
296
306
|
public cascadeDelete: boolean,
|
|
297
|
-
options?:
|
|
307
|
+
options?: ReferenceColumnOptions
|
|
298
308
|
) {
|
|
299
309
|
super(
|
|
300
310
|
name,
|
|
@@ -308,6 +318,7 @@ export class ReferenceColumn<T extends Record> extends StringColumn<Reference<T>
|
|
|
308
318
|
),
|
|
309
319
|
36
|
|
310
320
|
);
|
|
321
|
+
this.reverseCascadeDelete = !!options?.reverseCascadeDelete;
|
|
311
322
|
}
|
|
312
323
|
|
|
313
324
|
async serialize(fieldValue: Reference<T> | null | undefined): Promise<string | null> {
|
|
@@ -451,11 +462,13 @@ export class DynamicReferenceTableNameColumn extends StringColumn<string> {
|
|
|
451
462
|
*/
|
|
452
463
|
|
|
453
464
|
export class DynamicReferenceColumn<T extends Record> extends StringColumn<Reference<T>> {
|
|
465
|
+
public reverseCascadeDelete: boolean;
|
|
466
|
+
|
|
454
467
|
constructor(
|
|
455
468
|
name: string,
|
|
456
469
|
public dynamicRefTableColName: string,
|
|
457
470
|
public cascadeDelete: boolean = false,
|
|
458
|
-
options?:
|
|
471
|
+
options?: ReferenceColumnOptions
|
|
459
472
|
) {
|
|
460
473
|
super(
|
|
461
474
|
name,
|
|
@@ -469,6 +482,7 @@ export class DynamicReferenceColumn<T extends Record> extends StringColumn<Refer
|
|
|
469
482
|
),
|
|
470
483
|
36
|
|
471
484
|
);
|
|
485
|
+
this.reverseCascadeDelete = !!options?.reverseCascadeDelete;
|
|
472
486
|
}
|
|
473
487
|
|
|
474
488
|
async serialize(fieldValue: Reference<T> | null | undefined): Promise<string | null> {
|