@spinajs/orm 2.0.180 → 2.0.181

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.
Files changed (91) hide show
  1. package/lib/cjs/builders.d.ts +643 -643
  2. package/lib/cjs/builders.js +1602 -1602
  3. package/lib/cjs/builders.js.map +1 -1
  4. package/lib/cjs/converters.d.ts +34 -34
  5. package/lib/cjs/converters.js +104 -104
  6. package/lib/cjs/decorators.d.ts +152 -152
  7. package/lib/cjs/decorators.js +449 -449
  8. package/lib/cjs/dehydrators.d.ts +10 -10
  9. package/lib/cjs/dehydrators.js +47 -47
  10. package/lib/cjs/driver.d.ts +82 -82
  11. package/lib/cjs/driver.js +102 -102
  12. package/lib/cjs/driver.js.map +1 -1
  13. package/lib/cjs/enums.d.ts +116 -116
  14. package/lib/cjs/enums.js +126 -126
  15. package/lib/cjs/enums.js.map +1 -1
  16. package/lib/cjs/exceptions.d.ts +6 -6
  17. package/lib/cjs/exceptions.js +10 -10
  18. package/lib/cjs/hydrators.d.ts +19 -19
  19. package/lib/cjs/hydrators.js +132 -132
  20. package/lib/cjs/hydrators.js.map +1 -1
  21. package/lib/cjs/index.d.ts +17 -17
  22. package/lib/cjs/index.js +33 -33
  23. package/lib/cjs/interfaces.d.ts +919 -919
  24. package/lib/cjs/interfaces.js +279 -279
  25. package/lib/cjs/interfaces.js.map +1 -1
  26. package/lib/cjs/middlewares.d.ts +62 -62
  27. package/lib/cjs/middlewares.js +258 -258
  28. package/lib/cjs/model.d.ts +284 -284
  29. package/lib/cjs/model.js +810 -810
  30. package/lib/cjs/orm.d.ts +61 -61
  31. package/lib/cjs/orm.js +333 -333
  32. package/lib/cjs/orm.js.map +1 -1
  33. package/lib/cjs/relation-objects.d.ts +108 -108
  34. package/lib/cjs/relation-objects.js +221 -221
  35. package/lib/cjs/relations.d.ts +61 -61
  36. package/lib/cjs/relations.js +194 -194
  37. package/lib/cjs/relations.js.map +1 -1
  38. package/lib/cjs/statements.d.ts +143 -143
  39. package/lib/cjs/statements.js +309 -309
  40. package/lib/cjs/statements.js.map +1 -1
  41. package/lib/cjs/types.d.ts +32 -32
  42. package/lib/cjs/types.js +2 -2
  43. package/lib/cjs/wrappers.d.ts +5 -5
  44. package/lib/cjs/wrappers.js +12 -12
  45. package/lib/mjs/builders.d.ts +643 -643
  46. package/lib/mjs/builders.js +1594 -1594
  47. package/lib/mjs/builders.js.map +1 -1
  48. package/lib/mjs/converters.d.ts +34 -34
  49. package/lib/mjs/converters.js +96 -96
  50. package/lib/mjs/decorators.d.ts +152 -152
  51. package/lib/mjs/decorators.js +422 -422
  52. package/lib/mjs/dehydrators.d.ts +10 -10
  53. package/lib/mjs/dehydrators.js +41 -41
  54. package/lib/mjs/driver.d.ts +82 -82
  55. package/lib/mjs/driver.js +98 -98
  56. package/lib/mjs/driver.js.map +1 -1
  57. package/lib/mjs/enums.d.ts +116 -116
  58. package/lib/mjs/enums.js +123 -123
  59. package/lib/mjs/enums.js.map +1 -1
  60. package/lib/mjs/exceptions.d.ts +6 -6
  61. package/lib/mjs/exceptions.js +6 -6
  62. package/lib/mjs/hydrators.d.ts +19 -19
  63. package/lib/mjs/hydrators.js +128 -128
  64. package/lib/mjs/hydrators.js.map +1 -1
  65. package/lib/mjs/index.d.ts +17 -17
  66. package/lib/mjs/index.js +17 -17
  67. package/lib/mjs/interfaces.d.ts +919 -919
  68. package/lib/mjs/interfaces.js +267 -267
  69. package/lib/mjs/interfaces.js.map +1 -1
  70. package/lib/mjs/middlewares.d.ts +62 -62
  71. package/lib/mjs/middlewares.js +249 -249
  72. package/lib/mjs/model.d.ts +284 -284
  73. package/lib/mjs/model.js +800 -800
  74. package/lib/mjs/orm.d.ts +61 -61
  75. package/lib/mjs/orm.js +326 -326
  76. package/lib/mjs/orm.js.map +1 -1
  77. package/lib/mjs/relation-objects.d.ts +108 -108
  78. package/lib/mjs/relation-objects.js +211 -211
  79. package/lib/mjs/relations.d.ts +61 -61
  80. package/lib/mjs/relations.js +191 -191
  81. package/lib/mjs/relations.js.map +1 -1
  82. package/lib/mjs/statements.d.ts +143 -143
  83. package/lib/mjs/statements.js +301 -301
  84. package/lib/mjs/statements.js.map +1 -1
  85. package/lib/mjs/types.d.ts +32 -32
  86. package/lib/mjs/types.js +1 -1
  87. package/lib/mjs/wrappers.d.ts +5 -5
  88. package/lib/mjs/wrappers.js +9 -9
  89. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  90. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  91. package/package.json +5 -5
@@ -1,11 +1,11 @@
1
- import { ModelBase } from './model.js';
2
- export declare abstract class ModelDehydrator {
3
- abstract dehydrate(model: ModelBase, omit?: string[]): any;
4
- }
5
- export declare class StandardModelDehydrator extends ModelDehydrator {
6
- dehydrate(model: ModelBase, omit?: string[]): {};
7
- }
8
- export declare class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
9
- dehydrate(model: ModelBase<unknown>, omit?: string[]): any;
10
- }
1
+ import { ModelBase } from './model.js';
2
+ export declare abstract class ModelDehydrator {
3
+ abstract dehydrate(model: ModelBase, omit?: string[]): any;
4
+ }
5
+ export declare class StandardModelDehydrator extends ModelDehydrator {
6
+ dehydrate(model: ModelBase, omit?: string[]): {};
7
+ }
8
+ export declare class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
9
+ dehydrate(model: ModelBase<unknown>, omit?: string[]): any;
10
+ }
11
11
  //# sourceMappingURL=dehydrators.d.ts.map
@@ -1,48 +1,48 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StandardModelWithRelationsDehydrator = exports.StandardModelDehydrator = exports.ModelDehydrator = void 0;
4
- const exceptions_js_1 = require("./exceptions.js");
5
- const interfaces_js_1 = require("./interfaces.js");
6
- class ModelDehydrator {
7
- }
8
- exports.ModelDehydrator = ModelDehydrator;
9
- class StandardModelDehydrator extends ModelDehydrator {
10
- dehydrate(model, omit) {
11
- const obj = {};
12
- const relArr = [...model.ModelDescriptor.Relations.values()];
13
- model.ModelDescriptor.Columns?.forEach((c) => {
14
- // if in omit list OR it is foreign key for relation - skip
15
- if ((omit && omit.indexOf(c.Name) !== -1) || (relArr.find((r) => r.ForeignKey === c.Name) && !c.PrimaryKey)) {
16
- return;
17
- }
18
- const val = model[c.Name];
19
- if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
20
- throw new exceptions_js_1.OrmException(`Field ${c.Name} cannot be null`);
21
- }
22
- obj[c.Name] = c.Converter ? c.Converter.toDB(val, model, null) : val;
23
- });
24
- return obj;
25
- }
26
- }
27
- exports.StandardModelDehydrator = StandardModelDehydrator;
28
- class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
29
- dehydrate(model, omit) {
30
- const obj = super.dehydrate(model, omit);
31
- const relArr = [...model.ModelDescriptor.Relations.values()];
32
- for (const val of relArr) {
33
- if (val.Type === interfaces_js_1.RelationType.One) {
34
- if (model[val.Name].Value) {
35
- obj[val.Name] = model[val.Name].Value.dehydrateWithRelations();
36
- }
37
- }
38
- if (val.Type === interfaces_js_1.RelationType.Many) {
39
- if (model[val.Name]) {
40
- obj[val.Name] = [...model[val.Name].map((x) => x.dehydrateWithRelations())];
41
- }
42
- }
43
- }
44
- return obj;
45
- }
46
- }
47
- exports.StandardModelWithRelationsDehydrator = StandardModelWithRelationsDehydrator;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StandardModelWithRelationsDehydrator = exports.StandardModelDehydrator = exports.ModelDehydrator = void 0;
4
+ const exceptions_js_1 = require("./exceptions.js");
5
+ const interfaces_js_1 = require("./interfaces.js");
6
+ class ModelDehydrator {
7
+ }
8
+ exports.ModelDehydrator = ModelDehydrator;
9
+ class StandardModelDehydrator extends ModelDehydrator {
10
+ dehydrate(model, omit) {
11
+ const obj = {};
12
+ const relArr = [...model.ModelDescriptor.Relations.values()];
13
+ model.ModelDescriptor.Columns?.forEach((c) => {
14
+ // if in omit list OR it is foreign key for relation - skip
15
+ if ((omit && omit.indexOf(c.Name) !== -1) || (relArr.find((r) => r.ForeignKey === c.Name) && !c.PrimaryKey)) {
16
+ return;
17
+ }
18
+ const val = model[c.Name];
19
+ if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
20
+ throw new exceptions_js_1.OrmException(`Field ${c.Name} cannot be null`);
21
+ }
22
+ obj[c.Name] = c.Converter ? c.Converter.toDB(val, model, null) : val;
23
+ });
24
+ return obj;
25
+ }
26
+ }
27
+ exports.StandardModelDehydrator = StandardModelDehydrator;
28
+ class StandardModelWithRelationsDehydrator extends StandardModelDehydrator {
29
+ dehydrate(model, omit) {
30
+ const obj = super.dehydrate(model, omit);
31
+ const relArr = [...model.ModelDescriptor.Relations.values()];
32
+ for (const val of relArr) {
33
+ if (val.Type === interfaces_js_1.RelationType.One) {
34
+ if (model[val.Name].Value) {
35
+ obj[val.Name] = model[val.Name].Value.dehydrateWithRelations();
36
+ }
37
+ }
38
+ if (val.Type === interfaces_js_1.RelationType.Many) {
39
+ if (model[val.Name]) {
40
+ obj[val.Name] = [...model[val.Name].map((x) => x.dehydrateWithRelations())];
41
+ }
42
+ }
43
+ }
44
+ return obj;
45
+ }
46
+ }
47
+ exports.StandardModelWithRelationsDehydrator = StandardModelWithRelationsDehydrator;
48
48
  //# sourceMappingURL=dehydrators.js.map
@@ -1,83 +1,83 @@
1
- import { Log } from '@spinajs/log-common';
2
- import { IColumnDescriptor, IDriverOptions } from './interfaces.js';
3
- import { SyncService, IContainer, Container } from '@spinajs/di';
4
- import { UpdateQueryBuilder, SelectQueryBuilder, IndexQueryBuilder, DeleteQueryBuilder, InsertQueryBuilder, SchemaQueryBuilder, QueryBuilder, TruncateTableQueryBuilder, Builder } from './builders.js';
5
- import './hydrators.js';
6
- import './dehydrators.js';
7
- export type TransactionCallback = (driver: OrmDriver) => Promise<any>;
8
- export declare abstract class OrmDriver<T extends IDriverOptions = IDriverOptions> extends SyncService {
9
- /**
10
- * Connection options
11
- */
12
- Options: T;
13
- Container: IContainer;
14
- protected RootContainer: Container;
15
- protected Log: Log;
16
- constructor(options: T);
17
- /**
18
- * Executes query on database
19
- *
20
- * @param stmt - query string or query objects that is executed in database
21
- * @param params - binding parameters
22
- * @param context - query context to optimize queries sent to DB
23
- */
24
- abstract execute(builder: Builder<any>): Promise<any[] | any>;
25
- /**
26
- * Checks if database is avaible
27
- * @returns false if cannot reach database
28
- */
29
- abstract ping(): Promise<boolean>;
30
- /**
31
- * Connects to database
32
- * @throws OrmException if can't connec to to database
33
- */
34
- abstract connect(): Promise<OrmDriver>;
35
- /**
36
- * Disconnects from database
37
- */
38
- abstract disconnect(): Promise<OrmDriver>;
39
- abstract tableInfo(name: string, schema?: string): Promise<IColumnDescriptor[]>;
40
- resolve(): void;
41
- /**
42
- * Creates select query builder associated with this connection.
43
- * This can be used to execute raw queries to db without orm model layer
44
- */
45
- select<T>(): SelectQueryBuilder<T>;
46
- /**
47
- * Creates delete query builder associated with this connection.
48
- * This can be used to execute raw queries to db without orm model layer
49
- */
50
- del<T>(): DeleteQueryBuilder<T>;
51
- /**
52
- * Creates insert query builder associated with this connection.
53
- * This can be used to execute raw queries to db without orm model layer
54
- */
55
- insert(): InsertQueryBuilder;
56
- /**
57
- * Truncates given table
58
- */
59
- truncate(table: string): TruncateTableQueryBuilder;
60
- /**
61
- * Creates update query builder associated with this connection.
62
- * This can be used to execute raw queries to db without orm model layer
63
- */
64
- update<T>(): UpdateQueryBuilder<T>;
65
- /**
66
- * Creates schema query builder associated with this connection.
67
- * This can be use to modify database structure
68
- */
69
- schema(): SchemaQueryBuilder;
70
- /**
71
- * Creates index query builder associated with this connection.
72
- * This can be use to create table indexes
73
- */
74
- index(): IndexQueryBuilder;
75
- /**
76
- * Executes all queries in transaction
77
- *
78
- * @param queryOrCallback - one or more queries to execute in transaction scope. If parameter is function
79
- * its executed in transaction scope, thus all db operation in callback function are in transaction
80
- */
81
- abstract transaction(queryOrCallback?: QueryBuilder[] | TransactionCallback): Promise<void>;
82
- }
1
+ import { Log } from '@spinajs/log-common';
2
+ import { IColumnDescriptor, IDriverOptions } from './interfaces.js';
3
+ import { SyncService, IContainer, Container } from '@spinajs/di';
4
+ import { UpdateQueryBuilder, SelectQueryBuilder, IndexQueryBuilder, DeleteQueryBuilder, InsertQueryBuilder, SchemaQueryBuilder, QueryBuilder, TruncateTableQueryBuilder, Builder } from './builders.js';
5
+ import './hydrators.js';
6
+ import './dehydrators.js';
7
+ export type TransactionCallback = (driver: OrmDriver) => Promise<any>;
8
+ export declare abstract class OrmDriver<T extends IDriverOptions = IDriverOptions> extends SyncService {
9
+ /**
10
+ * Connection options
11
+ */
12
+ Options: T;
13
+ Container: IContainer;
14
+ protected RootContainer: Container;
15
+ protected Log: Log;
16
+ constructor(options: T);
17
+ /**
18
+ * Executes query on database
19
+ *
20
+ * @param stmt - query string or query objects that is executed in database
21
+ * @param params - binding parameters
22
+ * @param context - query context to optimize queries sent to DB
23
+ */
24
+ abstract execute(builder: Builder<any>): Promise<any[] | any>;
25
+ /**
26
+ * Checks if database is avaible
27
+ * @returns false if cannot reach database
28
+ */
29
+ abstract ping(): Promise<boolean>;
30
+ /**
31
+ * Connects to database
32
+ * @throws OrmException if can't connec to to database
33
+ */
34
+ abstract connect(): Promise<OrmDriver>;
35
+ /**
36
+ * Disconnects from database
37
+ */
38
+ abstract disconnect(): Promise<OrmDriver>;
39
+ abstract tableInfo(name: string, schema?: string): Promise<IColumnDescriptor[]>;
40
+ resolve(): void;
41
+ /**
42
+ * Creates select query builder associated with this connection.
43
+ * This can be used to execute raw queries to db without orm model layer
44
+ */
45
+ select<T>(): SelectQueryBuilder<T>;
46
+ /**
47
+ * Creates delete query builder associated with this connection.
48
+ * This can be used to execute raw queries to db without orm model layer
49
+ */
50
+ del<T>(): DeleteQueryBuilder<T>;
51
+ /**
52
+ * Creates insert query builder associated with this connection.
53
+ * This can be used to execute raw queries to db without orm model layer
54
+ */
55
+ insert(): InsertQueryBuilder;
56
+ /**
57
+ * Truncates given table
58
+ */
59
+ truncate(table: string): TruncateTableQueryBuilder;
60
+ /**
61
+ * Creates update query builder associated with this connection.
62
+ * This can be used to execute raw queries to db without orm model layer
63
+ */
64
+ update<T>(): UpdateQueryBuilder<T>;
65
+ /**
66
+ * Creates schema query builder associated with this connection.
67
+ * This can be use to modify database structure
68
+ */
69
+ schema(): SchemaQueryBuilder;
70
+ /**
71
+ * Creates index query builder associated with this connection.
72
+ * This can be use to create table indexes
73
+ */
74
+ index(): IndexQueryBuilder;
75
+ /**
76
+ * Executes all queries in transaction
77
+ *
78
+ * @param queryOrCallback - one or more queries to execute in transaction scope. If parameter is function
79
+ * its executed in transaction scope, thus all db operation in callback function are in transaction
80
+ */
81
+ abstract transaction(queryOrCallback?: QueryBuilder[] | TransactionCallback): Promise<void>;
82
+ }
83
83
  //# sourceMappingURL=driver.d.ts.map
package/lib/cjs/driver.js CHANGED
@@ -1,103 +1,103 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.OrmDriver = void 0;
13
- const log_common_1 = require("@spinajs/log-common");
14
- /* eslint-disable prettier/prettier */
15
- const interfaces_js_1 = require("./interfaces.js");
16
- const di_1 = require("@spinajs/di");
17
- const builders_js_1 = require("./builders.js");
18
- const converters_js_1 = require("./converters.js");
19
- require("./hydrators.js");
20
- require("./dehydrators.js");
21
- class OrmDriver extends di_1.SyncService {
22
- constructor(options) {
23
- super();
24
- /**
25
- * Connection options
26
- */
27
- this.Options = {
28
- AliasSeparator: '$',
29
- Driver: 'unknown',
30
- Name: 'orm-driver',
31
- DefaultConnection: false
32
- };
33
- this.Options = Object.assign(this.Options, options);
34
- }
35
- resolve() {
36
- this.Log = di_1.DI.resolve(log_common_1.Log, [`orm-driver-${this.Options.Name}`]);
37
- this.Log.addVariable('orm-name', this.Options.Name);
38
- this.Log.addVariable('orm-host', this.Options.Host);
39
- this.Log.addVariable('orm-database', this.Options.Database);
40
- this.Container = this.RootContainer.child();
41
- this.Container.register(converters_js_1.StandardModelToSqlConverter).as(interfaces_js_1.ModelToSqlConverter);
42
- this.Container.register(converters_js_1.StandardObjectToSqlConverter).as(interfaces_js_1.ObjectToSqlConverter);
43
- this.Container.register(converters_js_1.JsonValueConverter).as(converters_js_1.JsonValueConverter);
44
- this.Container.register(converters_js_1.UuidConverter).as(converters_js_1.UuidConverter);
45
- this.Container.register(converters_js_1.UniversalValueConverter).as(converters_js_1.UniversalValueConverter);
46
- }
47
- /**
48
- * Creates select query builder associated with this connection.
49
- * This can be used to execute raw queries to db without orm model layer
50
- */
51
- select() {
52
- return this.Container.resolve(builders_js_1.SelectQueryBuilder, [this]);
53
- }
54
- /**
55
- * Creates delete query builder associated with this connection.
56
- * This can be used to execute raw queries to db without orm model layer
57
- */
58
- del() {
59
- return this.Container.resolve(builders_js_1.DeleteQueryBuilder, [this]);
60
- }
61
- /**
62
- * Creates insert query builder associated with this connection.
63
- * This can be used to execute raw queries to db without orm model layer
64
- */
65
- insert() {
66
- return this.Container.resolve(builders_js_1.InsertQueryBuilder, [this]);
67
- }
68
- /**
69
- * Truncates given table
70
- */
71
- truncate(table) {
72
- const b = this.Container.resolve(builders_js_1.TruncateTableQueryBuilder, [this]);
73
- b.setTable(table);
74
- return b;
75
- }
76
- /**
77
- * Creates update query builder associated with this connection.
78
- * This can be used to execute raw queries to db without orm model layer
79
- */
80
- update() {
81
- return this.Container.resolve(builders_js_1.UpdateQueryBuilder, [this]);
82
- }
83
- /**
84
- * Creates schema query builder associated with this connection.
85
- * This can be use to modify database structure
86
- */
87
- schema() {
88
- return this.Container.resolve(builders_js_1.SchemaQueryBuilder, [this]);
89
- }
90
- /**
91
- * Creates index query builder associated with this connection.
92
- * This can be use to create table indexes
93
- */
94
- index() {
95
- return this.Container.resolve(builders_js_1.IndexQueryBuilder, [this]);
96
- }
97
- }
98
- __decorate([
99
- (0, di_1.Autoinject)(),
100
- __metadata("design:type", di_1.Container)
101
- ], OrmDriver.prototype, "RootContainer", void 0);
102
- exports.OrmDriver = OrmDriver;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.OrmDriver = void 0;
13
+ const log_common_1 = require("@spinajs/log-common");
14
+ /* eslint-disable prettier/prettier */
15
+ const interfaces_js_1 = require("./interfaces.js");
16
+ const di_1 = require("@spinajs/di");
17
+ const builders_js_1 = require("./builders.js");
18
+ const converters_js_1 = require("./converters.js");
19
+ require("./hydrators.js");
20
+ require("./dehydrators.js");
21
+ class OrmDriver extends di_1.SyncService {
22
+ constructor(options) {
23
+ super();
24
+ /**
25
+ * Connection options
26
+ */
27
+ this.Options = {
28
+ AliasSeparator: '$',
29
+ Driver: 'unknown',
30
+ Name: 'orm-driver',
31
+ DefaultConnection: false
32
+ };
33
+ this.Options = Object.assign(this.Options, options);
34
+ }
35
+ resolve() {
36
+ this.Log = di_1.DI.resolve(log_common_1.Log, [`orm-driver-${this.Options.Name}`]);
37
+ this.Log.addVariable('orm-name', this.Options.Name);
38
+ this.Log.addVariable('orm-host', this.Options.Host);
39
+ this.Log.addVariable('orm-database', this.Options.Database);
40
+ this.Container = this.RootContainer.child();
41
+ this.Container.register(converters_js_1.StandardModelToSqlConverter).as(interfaces_js_1.ModelToSqlConverter);
42
+ this.Container.register(converters_js_1.StandardObjectToSqlConverter).as(interfaces_js_1.ObjectToSqlConverter);
43
+ this.Container.register(converters_js_1.JsonValueConverter).as(converters_js_1.JsonValueConverter);
44
+ this.Container.register(converters_js_1.UuidConverter).as(converters_js_1.UuidConverter);
45
+ this.Container.register(converters_js_1.UniversalValueConverter).as(converters_js_1.UniversalValueConverter);
46
+ }
47
+ /**
48
+ * Creates select query builder associated with this connection.
49
+ * This can be used to execute raw queries to db without orm model layer
50
+ */
51
+ select() {
52
+ return this.Container.resolve(builders_js_1.SelectQueryBuilder, [this]);
53
+ }
54
+ /**
55
+ * Creates delete query builder associated with this connection.
56
+ * This can be used to execute raw queries to db without orm model layer
57
+ */
58
+ del() {
59
+ return this.Container.resolve(builders_js_1.DeleteQueryBuilder, [this]);
60
+ }
61
+ /**
62
+ * Creates insert query builder associated with this connection.
63
+ * This can be used to execute raw queries to db without orm model layer
64
+ */
65
+ insert() {
66
+ return this.Container.resolve(builders_js_1.InsertQueryBuilder, [this]);
67
+ }
68
+ /**
69
+ * Truncates given table
70
+ */
71
+ truncate(table) {
72
+ const b = this.Container.resolve(builders_js_1.TruncateTableQueryBuilder, [this]);
73
+ b.setTable(table);
74
+ return b;
75
+ }
76
+ /**
77
+ * Creates update query builder associated with this connection.
78
+ * This can be used to execute raw queries to db without orm model layer
79
+ */
80
+ update() {
81
+ return this.Container.resolve(builders_js_1.UpdateQueryBuilder, [this]);
82
+ }
83
+ /**
84
+ * Creates schema query builder associated with this connection.
85
+ * This can be use to modify database structure
86
+ */
87
+ schema() {
88
+ return this.Container.resolve(builders_js_1.SchemaQueryBuilder, [this]);
89
+ }
90
+ /**
91
+ * Creates index query builder associated with this connection.
92
+ * This can be use to create table indexes
93
+ */
94
+ index() {
95
+ return this.Container.resolve(builders_js_1.IndexQueryBuilder, [this]);
96
+ }
97
+ }
98
+ exports.OrmDriver = OrmDriver;
99
+ __decorate([
100
+ (0, di_1.Autoinject)(),
101
+ __metadata("design:type", di_1.Container)
102
+ ], OrmDriver.prototype, "RootContainer", void 0);
103
103
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/driver.ts"],"names":[],"mappings":"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"}