@spinajs/orm-mssql 2.0.85 → 2.0.87

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 (63) hide show
  1. package/lib/{compilers.d.ts → cjs/compilers.d.ts} +0 -0
  2. package/lib/cjs/compilers.d.ts.map +1 -0
  3. package/lib/cjs/compilers.js +260 -0
  4. package/lib/cjs/compilers.js.map +1 -0
  5. package/lib/{converters.d.ts → cjs/converters.d.ts} +0 -0
  6. package/lib/cjs/converters.d.ts.map +1 -0
  7. package/lib/cjs/converters.js +25 -0
  8. package/lib/cjs/converters.js.map +1 -0
  9. package/lib/{dehydrator.d.ts → cjs/dehydrator.d.ts} +0 -0
  10. package/lib/cjs/dehydrator.d.ts.map +1 -0
  11. package/lib/cjs/dehydrator.js +17 -0
  12. package/lib/cjs/dehydrator.js.map +1 -0
  13. package/lib/{index.d.ts → cjs/index.d.ts} +0 -0
  14. package/lib/cjs/index.d.ts.map +1 -0
  15. package/lib/cjs/index.js +199 -0
  16. package/lib/cjs/index.js.map +1 -0
  17. package/lib/{types.d.ts → cjs/types.d.ts} +0 -0
  18. package/lib/cjs/types.d.ts.map +1 -0
  19. package/lib/cjs/types.js +3 -0
  20. package/lib/cjs/types.js.map +1 -0
  21. package/lib/cjs/util.d.ts +1 -0
  22. package/lib/cjs/util.d.ts.map +1 -0
  23. package/lib/cjs/util.js +1 -0
  24. package/lib/cjs/util.js.map +1 -0
  25. package/lib/mjs/compilers.d.ts +50 -0
  26. package/lib/mjs/compilers.d.ts.map +1 -0
  27. package/lib/{compilers.js → mjs/compilers.js} +0 -0
  28. package/lib/mjs/compilers.js.map +1 -0
  29. package/lib/mjs/converters.d.ts +7 -0
  30. package/lib/mjs/converters.d.ts.map +1 -0
  31. package/lib/{converters.js → mjs/converters.js} +0 -0
  32. package/lib/mjs/converters.js.map +1 -0
  33. package/lib/mjs/dehydrator.d.ts +5 -0
  34. package/lib/mjs/dehydrator.d.ts.map +1 -0
  35. package/lib/{dehydrator.js → mjs/dehydrator.js} +0 -0
  36. package/lib/mjs/dehydrator.js.map +1 -0
  37. package/lib/mjs/index.d.ts +17 -0
  38. package/lib/mjs/index.d.ts.map +1 -0
  39. package/lib/{index.js → mjs/index.js} +0 -0
  40. package/lib/mjs/index.js.map +1 -0
  41. package/lib/mjs/types.d.ts +18 -0
  42. package/lib/mjs/types.d.ts.map +1 -0
  43. package/lib/{types.js → mjs/types.js} +0 -0
  44. package/lib/mjs/types.js.map +1 -0
  45. package/lib/{util.d.ts → mjs/util.d.ts} +0 -0
  46. package/lib/mjs/util.d.ts.map +1 -0
  47. package/lib/{util.js → mjs/util.js} +0 -0
  48. package/lib/mjs/util.js.map +1 -0
  49. package/lib/tsconfig.cjs.tsbuildinfo +1 -0
  50. package/lib/tsconfig.tsbuildinfo +1 -0
  51. package/package.json +16 -7
  52. package/lib/compilers.d.ts.map +0 -1
  53. package/lib/compilers.js.map +0 -1
  54. package/lib/converters.d.ts.map +0 -1
  55. package/lib/converters.js.map +0 -1
  56. package/lib/dehydrator.d.ts.map +0 -1
  57. package/lib/dehydrator.js.map +0 -1
  58. package/lib/index.d.ts.map +0 -1
  59. package/lib/index.js.map +0 -1
  60. package/lib/types.d.ts.map +0 -1
  61. package/lib/types.js.map +0 -1
  62. package/lib/util.d.ts.map +0 -1
  63. package/lib/util.js.map +0 -1
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,eAAe,EAAgD,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAqD,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AACvR,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAG9M,qBACa,6BAA8B,SAAQ,2BAA2B;IACrE,OAAO;;;;CAiDf;AAED,qBACa,wBAAyB,SAAQ,sBAAsB;IAClE,SAAS,CAAC,WAAW,UAAS;gBAElB,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB;IAMvD,OAAO;;;;IAmBd,SAAS,CAAC,IAAI;CAGf;AAED,qBACa,wBAAyB,YAAW,mBAAmB;IACtD,SAAS,CAAC,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB;IAM/C,OAAO,IAAI,eAAe;CAgBlC;AAED,qBACa,kBAAmB,SAAQ,qBAAqB;IACpD,OAAO,IAAI,eAAe;CAiBlC;AAED,qBACa,oBAAqB,SAAQ,uBAAuB;IACxD,OAAO,IAAI,eAAe;CAclC;AAED,qBACa,uBAAwB,SAAQ,qBAAqB;IACzD,OAAO,IAAI,eAAe,EAAE;IAcnC,SAAS,CAAC,QAAQ;IAWlB,SAAS,CAAC,YAAY;IAMtB,SAAS,CAAC,MAAM;CAGjB;AAED,qBACa,wBAAyB,SAAQ,sBAAsB;IACtD,SAAS,CAAC,OAAO,EAAE,kBAAkB;gBAA3B,OAAO,EAAE,kBAAkB;CAMlD;AAED,qBACa,wBAAyB,SAAQ,sBAAsB;IAC3D,OAAO;;;;IAcd,SAAS,CAAC,IAAI;CAMf;AAED,qBAEa,uBAAwB,YAAW,kBAAkB;IACzD,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM;CAmBpD"}
@@ -0,0 +1,260 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.MsSqlTableAliasCompiler = exports.MsSqlDeleteQueryCompiler = exports.MsSqlColumnQueryCompiler = exports.MsSqlTableQueryCompiler = exports.MsSqlOrderByCompiler = exports.MsSqlLimitCompiler = exports.MsSqlTableExistsCompiler = exports.MsSqlInsertQueryCompiler = exports.MsSqlOnDuplicateQueryCompiler = void 0;
16
+ const configuration_1 = require("@spinajs/configuration");
17
+ const di_1 = require("@spinajs/di");
18
+ const orm_1 = require("@spinajs/orm");
19
+ const orm_sql_1 = require("@spinajs/orm-sql");
20
+ const lodash_1 = __importDefault(require("lodash"));
21
+ let MsSqlOnDuplicateQueryCompiler = class MsSqlOnDuplicateQueryCompiler extends orm_sql_1.SqlOnDuplicateQueryCompiler {
22
+ compile() {
23
+ const table = this._builder.getParent().Container.resolve(orm_1.TableAliasCompiler).compile(this._builder.getParent());
24
+ const descriptor = (0, orm_1.extractModelDescriptor)(this._builder.getParent().Model);
25
+ if (this._builder.getColumn().length === 0) {
26
+ throw new orm_1.OrmException(`no unique columns defined in table ${this._builder.getParent().Table}`);
27
+ }
28
+ const columns = this._builder
29
+ .getColumnsToUpdate()
30
+ .map((c) => {
31
+ if (lodash_1.default.isString(c)) {
32
+ return `\`${c}\` = ?`;
33
+ }
34
+ else {
35
+ return c.Query;
36
+ }
37
+ })
38
+ .join(',');
39
+ const parent = this._builder.getParent();
40
+ const valueMap = parent.getColumns()
41
+ .map((c) => c.Column);
42
+ const bindings = this._builder.getColumnsToUpdate().map((c) => {
43
+ if (lodash_1.default.isString(c)) {
44
+ return parent.Values[0][valueMap.indexOf(c)];
45
+ }
46
+ else {
47
+ return c.Bindings;
48
+ }
49
+ });
50
+ const wBindings = this._builder.getColumn().map((c) => {
51
+ return parent.Values[0][valueMap.indexOf(c)];
52
+ });
53
+ return {
54
+ bindings: wBindings.concat(bindings),
55
+ expression: `MERGE INTO ${table} WITH (HOLDLOCK) AS target
56
+ USING (SELECT * FROM ${table} WHERE ${this._builder.getColumn().map((c) => {
57
+ return `${c} = ?`;
58
+ })}) as source
59
+ ON (target.${descriptor.PrimaryKey} = source.${descriptor.PrimaryKey})
60
+ WHEN MATCHED
61
+ THEN UPDATE
62
+ SET ${columns}
63
+ WHEN NOT MATCHED
64
+ THEN `.replace(/(\r\n|\n|\r)/gm, ''),
65
+ };
66
+ }
67
+ };
68
+ MsSqlOnDuplicateQueryCompiler = __decorate([
69
+ (0, di_1.NewInstance)()
70
+ ], MsSqlOnDuplicateQueryCompiler);
71
+ exports.MsSqlOnDuplicateQueryCompiler = MsSqlOnDuplicateQueryCompiler;
72
+ let MsSqlInsertQueryCompiler = class MsSqlInsertQueryCompiler extends orm_sql_1.SqlInsertQueryCompiler {
73
+ constructor(container, builder) {
74
+ super(container, builder);
75
+ this.isDuplicate = false;
76
+ this.isDuplicate = this._builder.DuplicateQueryBuilder !== null && this._builder.DuplicateQueryBuilder !== undefined;
77
+ }
78
+ compile() {
79
+ if (this._builder.Ignore) {
80
+ throw new orm_1.OrmException(`mssql insert or ignore is not supported`);
81
+ }
82
+ const into = this.into();
83
+ const columns = this.columns();
84
+ const values = this.values();
85
+ const iBindings = values.bindings;
86
+ const iExpression = `${into} ${columns} ${values.data}`;
87
+ const dResult = super.upsort();
88
+ return {
89
+ bindings: dResult.bindings.concat(iBindings),
90
+ expression: dResult.expression + iExpression + '; SELECT SCOPE_IDENTITY() as ID;',
91
+ };
92
+ }
93
+ into() {
94
+ return `INSERT ${this.isDuplicate ? '' : `INTO ${this._container.resolve(orm_1.TableAliasCompiler).compile(this._builder)}`} `;
95
+ }
96
+ };
97
+ MsSqlInsertQueryCompiler = __decorate([
98
+ (0, di_1.NewInstance)(),
99
+ __metadata("design:paramtypes", [Object, orm_1.InsertQueryBuilder])
100
+ ], MsSqlInsertQueryCompiler);
101
+ exports.MsSqlInsertQueryCompiler = MsSqlInsertQueryCompiler;
102
+ let MsSqlTableExistsCompiler = class MsSqlTableExistsCompiler {
103
+ constructor(builder) {
104
+ this.builder = builder;
105
+ if (builder === null) {
106
+ throw new Error('table exists query builder cannot be null');
107
+ }
108
+ }
109
+ compile() {
110
+ const bindings = [this.builder.Table];
111
+ let expression = '';
112
+ if (this.builder.Database) {
113
+ bindings.push(this.builder.Database);
114
+ expression = `SELECT TOP(1) * FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=? AND TABLE_CATALOG=? ORDER BY TABLE_NAME`;
115
+ }
116
+ else {
117
+ expression = `SELECT TOP(1) * FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=? ORDER BY TABLE_NAME`;
118
+ }
119
+ return {
120
+ bindings,
121
+ expression,
122
+ };
123
+ }
124
+ };
125
+ MsSqlTableExistsCompiler = __decorate([
126
+ (0, di_1.NewInstance)(),
127
+ __metadata("design:paramtypes", [orm_1.TableExistsQueryBuilder])
128
+ ], MsSqlTableExistsCompiler);
129
+ exports.MsSqlTableExistsCompiler = MsSqlTableExistsCompiler;
130
+ let MsSqlLimitCompiler = class MsSqlLimitCompiler extends orm_sql_1.SqlLimitQueryCompiler {
131
+ compile() {
132
+ const limits = this._builder.getLimits();
133
+ const bindings = [];
134
+ let stmt = '';
135
+ if (limits.limit > 0) {
136
+ stmt += ` OFFSET ? ROWS`;
137
+ bindings.push(Math.max(limits.offset, 0));
138
+ stmt += ` FETCH NEXT ? ROWS ONLY`;
139
+ bindings.push(limits.limit);
140
+ }
141
+ return {
142
+ bindings,
143
+ expression: stmt,
144
+ };
145
+ }
146
+ };
147
+ MsSqlLimitCompiler = __decorate([
148
+ (0, di_1.NewInstance)()
149
+ ], MsSqlLimitCompiler);
150
+ exports.MsSqlLimitCompiler = MsSqlLimitCompiler;
151
+ let MsSqlOrderByCompiler = class MsSqlOrderByCompiler extends orm_sql_1.SqlOrderByQueryCompiler {
152
+ compile() {
153
+ const sort = this._builder.getSort();
154
+ let stmt = '';
155
+ const bindings = [];
156
+ if (sort) {
157
+ stmt = ` ORDER BY \`${sort.column}\` ${sort.order.toLowerCase() === 'asc' ? 'ASC' : 'DESC'}`;
158
+ }
159
+ return {
160
+ bindings,
161
+ expression: stmt,
162
+ };
163
+ }
164
+ };
165
+ MsSqlOrderByCompiler = __decorate([
166
+ (0, di_1.NewInstance)()
167
+ ], MsSqlOrderByCompiler);
168
+ exports.MsSqlOrderByCompiler = MsSqlOrderByCompiler;
169
+ let MsSqlTableQueryCompiler = class MsSqlTableQueryCompiler extends orm_sql_1.SqlTableQueryCompiler {
170
+ compile() {
171
+ const _table = this._table();
172
+ const _columns = this._columns();
173
+ const _keys = [this._foreignKeys()];
174
+ const _unique = this.builder.Columns.filter((c) => c.Unique).map((c) => c.Name);
175
+ return [
176
+ {
177
+ bindings: [],
178
+ expression: `${_table} (${_columns} ${_unique.length !== 0 ? `, UNIQUE(${_unique.join(',')}) ` : ''} ${_keys ? ',' + _keys.filter((k) => k && k !== '').join(',') : ''})`,
179
+ },
180
+ ];
181
+ }
182
+ _columns() {
183
+ return this.builder.Columns.map((c) => {
184
+ const expr = this.container.resolve(orm_1.ColumnQueryCompiler, [c]).compile().expression;
185
+ if (c.PrimaryKey) {
186
+ return expr + ' PRIMARY KEY';
187
+ }
188
+ return expr;
189
+ }).join(',');
190
+ }
191
+ _foreignKeys() {
192
+ return this.builder.ForeignKeys.map((f) => {
193
+ return this.container.resolve(orm_1.ForeignKeyQueryCompiler, [f]).compile().expression;
194
+ }).join(',');
195
+ }
196
+ _table() {
197
+ return `CREATE${this.builder.Temporary ? ' TEMPORARY ' : ' '}TABLE ${this.builder.CheckExists ? 'IF NOT EXISTS ' : ''}${this.container.resolve(orm_1.TableAliasCompiler).compile(this.builder)}`;
198
+ }
199
+ };
200
+ MsSqlTableQueryCompiler = __decorate([
201
+ (0, di_1.NewInstance)()
202
+ ], MsSqlTableQueryCompiler);
203
+ exports.MsSqlTableQueryCompiler = MsSqlTableQueryCompiler;
204
+ let MsSqlColumnQueryCompiler = class MsSqlColumnQueryCompiler extends orm_sql_1.SqlColumnQueryCompiler {
205
+ constructor(builder) {
206
+ super(builder);
207
+ this.builder = builder;
208
+ // MSSQL usess this expression for AUTO_INCREMENT
209
+ this._statementsMappings.autoincrement = () => `IDENTITY(1,1)`;
210
+ }
211
+ };
212
+ MsSqlColumnQueryCompiler = __decorate([
213
+ (0, di_1.NewInstance)(),
214
+ __metadata("design:paramtypes", [orm_1.ColumnQueryBuilder])
215
+ ], MsSqlColumnQueryCompiler);
216
+ exports.MsSqlColumnQueryCompiler = MsSqlColumnQueryCompiler;
217
+ let MsSqlDeleteQueryCompiler = class MsSqlDeleteQueryCompiler extends orm_sql_1.SqlDeleteQueryCompiler {
218
+ compile() {
219
+ const _bindings = [];
220
+ const _from = this.from();
221
+ const _where = this.where(this._builder);
222
+ const _expression = _from + (_where.expression ? ` WHERE ${_where.expression}` : '');
223
+ _bindings.push(..._where.bindings);
224
+ return {
225
+ bindings: _bindings,
226
+ expression: _expression.trim(),
227
+ };
228
+ }
229
+ from() {
230
+ const lBuilder = this._builder;
231
+ const limits = lBuilder.getLimits();
232
+ return `DELETE ${limits.limit > 0 ? `TOP ${limits.limit} ` : ''}FROM ${this._container.resolve(orm_1.TableAliasCompiler).compile(this._builder)}`;
233
+ }
234
+ };
235
+ MsSqlDeleteQueryCompiler = __decorate([
236
+ (0, di_1.NewInstance)()
237
+ ], MsSqlDeleteQueryCompiler);
238
+ exports.MsSqlDeleteQueryCompiler = MsSqlDeleteQueryCompiler;
239
+ let MsSqlTableAliasCompiler = class MsSqlTableAliasCompiler {
240
+ compile(builder, tbl) {
241
+ let table = '';
242
+ if (builder.Database) {
243
+ table += `\`${builder.Database}\`.`;
244
+ }
245
+ if (builder.Driver.Options.Options?.Schema) {
246
+ table += `\`${builder.Driver.Options.Options?.Schema}\`.`;
247
+ }
248
+ table += `\`${tbl ? tbl : builder.Table}\``;
249
+ if (builder.TableAlias) {
250
+ table += ` as \`${builder.TableAlias}\``;
251
+ }
252
+ return table;
253
+ }
254
+ };
255
+ MsSqlTableAliasCompiler = __decorate([
256
+ (0, di_1.Inject)(configuration_1.Configuration),
257
+ (0, di_1.NewInstance)()
258
+ ], MsSqlTableAliasCompiler);
259
+ exports.MsSqlTableAliasCompiler = MsSqlTableAliasCompiler;
260
+ //# sourceMappingURL=compilers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../src/converters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,qBAAa,2BAA4B,SAAQ,sBAAsB;IAC9D,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,QAAQ;IAY3B,MAAM,CAAC,KAAK,EAAE,IAAI;CAO1B"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MsSqlDatetimeValueConverter = void 0;
4
+ /* eslint-disable prettier/prettier */
5
+ const orm_1 = require("@spinajs/orm");
6
+ const luxon_1 = require("luxon");
7
+ class MsSqlDatetimeValueConverter extends orm_1.DatetimeValueConverter {
8
+ toDB(value) {
9
+ if (value instanceof Date) {
10
+ return value.toISOString();
11
+ }
12
+ if (value instanceof luxon_1.DateTime) {
13
+ return value.toISO({ includeOffset: false });
14
+ }
15
+ return null;
16
+ }
17
+ fromDB(value) {
18
+ if (!value) {
19
+ return null;
20
+ }
21
+ return luxon_1.DateTime.fromJSDate(value);
22
+ }
23
+ }
24
+ exports.MsSqlDatetimeValueConverter = MsSqlDatetimeValueConverter;
25
+ //# sourceMappingURL=converters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/converters.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,sCAAsD;AACtD,iCAAiC;AAEjC,MAAa,2BAA4B,SAAQ,4BAAsB;IAC9D,IAAI,CAAC,KAAsB;QAChC,IAAI,KAAK,YAAY,IAAI,EAAE;YACzB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;SAC5B;QAED,IAAI,KAAK,YAAY,gBAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;SAC9C;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,KAAW;QACvB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QAED,OAAO,gBAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;CACF;AApBD,kEAoBC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dehydrator.d.ts","sourceRoot":"","sources":["../../src/dehydrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAElE,qBAAa,oBAAqB,SAAQ,uBAAuB;IACxD,SAAS,CAAC,KAAK,EAAE,SAAS;CAWlC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MssqlModelDehydrator = void 0;
4
+ const orm_1 = require("@spinajs/orm");
5
+ class MssqlModelDehydrator extends orm_1.StandardModelDehydrator {
6
+ dehydrate(model) {
7
+ const obj = super.dehydrate(model);
8
+ const pColumn = model.ModelDescriptor.Columns.find((c) => c.PrimaryKey);
9
+ // MSSQL do not allow for NULL when inserting with primary key
10
+ if (pColumn && !obj[pColumn.Name]) {
11
+ delete obj[pColumn.Name];
12
+ }
13
+ return obj;
14
+ }
15
+ }
16
+ exports.MssqlModelDehydrator = MssqlModelDehydrator;
17
+ //# sourceMappingURL=dehydrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dehydrator.js","sourceRoot":"","sources":["../../src/dehydrator.ts"],"names":[],"mappings":";;;AAAA,sCAAkE;AAElE,MAAa,oBAAqB,SAAQ,6BAAuB;IACxD,SAAS,CAAC,KAAgB;QAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAExE,8DAA8D;QAC9D,IAAI,OAAO,IAAI,CAAE,GAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1C,OAAQ,GAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACnC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAZD,oDAYC"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkM,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAA2C,cAAc,EAAE,MAAM,cAAc,CAAC;AAKtW,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,qBAEa,cAAe,SAAQ,SAAS;IAC3C,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,cAAc,CAAQ;IACvD,SAAS,CAAC,YAAY,SAAK;IAC3B,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAQ;gBAExC,OAAO,EAAE,cAAc;IAItB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAmEzE,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAsBnC,OAAO;IAgBD,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAKhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAkCtE,WAAW,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BhG"}
@@ -0,0 +1,199 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.MsSqlOrmDriver = void 0;
16
+ const orm_1 = require("@spinajs/orm");
17
+ /* eslint-disable security/detect-object-injection */
18
+ const di_1 = require("@spinajs/di");
19
+ const log_common_1 = require("@spinajs/log-common");
20
+ const orm_sql_1 = require("@spinajs/orm-sql");
21
+ const mssql_1 = __importDefault(require("mssql"));
22
+ const compilers_js_1 = require("./compilers.js");
23
+ const dehydrator_js_1 = require("./dehydrator.js");
24
+ const converters_js_1 = require("./converters.js");
25
+ let MsSqlOrmDriver = class MsSqlOrmDriver extends orm_sql_1.SqlDriver {
26
+ constructor(options) {
27
+ super(Object.assign({ AliasSeparator: '#' }, options));
28
+ this._connectionPool = null;
29
+ this._executionId = 0;
30
+ this._transactionRequest = null;
31
+ }
32
+ async execute(stmt, params, context) {
33
+ const tName = `query-${this._executionId++}`;
34
+ let finalQuery = stmt.replaceAll('`', '');
35
+ this.Log.timeStart(`query-${tName}`);
36
+ try {
37
+ const req = this._transactionRequest ?? this._connectionPool.request();
38
+ let idx = 0;
39
+ let i = 0;
40
+ /**
41
+ * Brute force replacement ? for @parameters
42
+ * MSSQL driver requires named parameters in query string
43
+ */
44
+ while ((idx = finalQuery.indexOf('?')) !== -1) {
45
+ finalQuery = finalQuery.substring(0, idx) + `@p${i}` + finalQuery.substring(idx + 1, finalQuery.length);
46
+ req.input(`p${i}`, params[i]);
47
+ i++;
48
+ }
49
+ const result = await req.query(finalQuery);
50
+ const tDiff = this.Log.timeEnd(`query-${tName}`);
51
+ void this.Log.write({
52
+ Level: log_common_1.LogLevel.Trace,
53
+ Variables: {
54
+ error: null,
55
+ message: `Executed: ${finalQuery}, bindings: ${params ? params.join(',') : 'none'}`,
56
+ logger: this.Log.Name,
57
+ level: 'TRACE',
58
+ duration: tDiff,
59
+ },
60
+ });
61
+ switch (context) {
62
+ case orm_1.QueryContext.Update:
63
+ case orm_1.QueryContext.Delete:
64
+ return {
65
+ RowsAffected: result.rowsAffected[0],
66
+ };
67
+ case orm_1.QueryContext.Insert:
68
+ return {
69
+ RowsAffected: result.rowsAffected[0],
70
+ LastInsertId: result.recordset[0].ID,
71
+ };
72
+ default:
73
+ return result.recordset;
74
+ }
75
+ }
76
+ catch (err) {
77
+ const tDiff = this.Log.timeEnd(`query-${tName}`);
78
+ void this.Log.write({
79
+ Level: log_common_1.LogLevel.Error,
80
+ Variables: {
81
+ error: err,
82
+ message: `Failed: ${finalQuery}, bindings: ${params ? params.join(',') : 'none'}`,
83
+ logger: this.Log.Name,
84
+ level: 'Error',
85
+ duration: tDiff,
86
+ },
87
+ });
88
+ throw err;
89
+ }
90
+ }
91
+ async ping() {
92
+ try {
93
+ await this.execute('SELECT 1', [], orm_1.QueryContext.Select);
94
+ return true;
95
+ }
96
+ catch {
97
+ return false;
98
+ }
99
+ }
100
+ async connect() {
101
+ this._connectionPool = await mssql_1.default.connect({
102
+ user: this.Options.User,
103
+ password: this.Options.Password,
104
+ database: this.Options.Database,
105
+ server: this.Options.Host,
106
+ options: {
107
+ trustServerCertificate: this.Options.Options?.TrustServerCertificate ?? true,
108
+ cryptoCredentialsDetails: this.Options.Options?.CryptoCredentialsDetails ? this.Options.Options?.CryptoCredentialsDetails : {},
109
+ },
110
+ pool: {
111
+ max: this.Options.PoolLimit ?? 10,
112
+ min: 0,
113
+ idleTimeoutMillis: 3000,
114
+ },
115
+ });
116
+ await this.execute(`USE ${this.Options.Database}`, [], orm_1.QueryContext.Schema);
117
+ return this;
118
+ }
119
+ resolve() {
120
+ super.resolve();
121
+ this.Container.register(compilers_js_1.MsSqlTableExistsCompiler).as(orm_1.TableExistsCompiler);
122
+ this.Container.register(compilers_js_1.MsSqlLimitCompiler).as(orm_1.LimitQueryCompiler);
123
+ this.Container.register(compilers_js_1.MsSqlOrderByCompiler).as(orm_1.OrderByQueryCompiler);
124
+ this.Container.register(compilers_js_1.MsSqlTableQueryCompiler).as(orm_1.TableQueryCompiler);
125
+ this.Container.register(compilers_js_1.MsSqlColumnQueryCompiler).as(orm_1.ColumnQueryCompiler);
126
+ this.Container.register(compilers_js_1.MsSqlInsertQueryCompiler).as(orm_1.InsertQueryCompiler);
127
+ this.Container.register(compilers_js_1.MsSqlDeleteQueryCompiler).as(orm_1.DeleteQueryCompiler);
128
+ this.Container.register(dehydrator_js_1.MssqlModelDehydrator).as(orm_1.ModelDehydrator);
129
+ this.Container.register(compilers_js_1.MsSqlTableAliasCompiler).as(orm_1.TableAliasCompiler);
130
+ this.Container.register(converters_js_1.MsSqlDatetimeValueConverter).as(orm_1.DatetimeValueConverter);
131
+ this.Container.register(compilers_js_1.MsSqlOnDuplicateQueryCompiler).as(orm_1.OnDuplicateQueryCompiler);
132
+ }
133
+ async disconnect() {
134
+ await this._connectionPool.close();
135
+ return this;
136
+ }
137
+ async tableInfo(name, schema) {
138
+ const tblInfo = (await this.execute(`SELECT * FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME=? ${schema ? 'AND TABLE_CATALOG=?' : ''}`, schema ? [name, schema] : [name], orm_1.QueryContext.Select));
139
+ if (!tblInfo || !Array.isArray(tblInfo) || tblInfo.length === 0) {
140
+ return null;
141
+ }
142
+ const indexList = (await this.execute(`select C.COLUMN_NAME,T.CONSTRAINT_TYPE FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS T JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE C ON C.CONSTRAINT_NAME=T.CONSTRAINT_NAME WHERE C.TABLE_NAME=? ${schema ? ' AND c.TABLE_CATALOG=?' : ''}`, schema ? [name, schema] : [name], orm_1.QueryContext.Select));
143
+ return tblInfo.map((r) => {
144
+ const isPrimary = indexList.find((c) => c.CONSTRAINT_TYPE === 'PRIMARY KEY' && c.COLUMN_NAME === r.COLUMN_NAME) !== undefined;
145
+ const sUnique = indexList.find((c) => c.CONSTRAINT_TYPE === 'UNIQUE' && c.COLUMN_NAME === r.COLUMN_NAME) !== undefined;
146
+ return {
147
+ Type: r.DATA_TYPE,
148
+ MaxLength: -1,
149
+ Comment: '',
150
+ DefaultValue: r.COLUMN_DEFAULT,
151
+ NativeType: r.DATA_TYPE,
152
+ Unsigned: false,
153
+ Nullable: r.IS_NULLABLE,
154
+ PrimaryKey: isPrimary,
155
+ Uuid: false,
156
+ Ignore: false,
157
+ // simply assumpt that integer pkeys are autoincement / auto fill by default
158
+ AutoIncrement: isPrimary && r.DATA_TYPE === 'int',
159
+ Name: r.COLUMN_NAME,
160
+ Converter: null,
161
+ Schema: schema ? schema : this.Options.Database,
162
+ Unique: sUnique,
163
+ };
164
+ });
165
+ }
166
+ async transaction(queryOrCallback) {
167
+ if (!queryOrCallback) {
168
+ return;
169
+ }
170
+ const transaction = this._connectionPool.transaction();
171
+ await transaction.begin();
172
+ this._transactionRequest = transaction.request();
173
+ try {
174
+ if (Array.isArray(queryOrCallback)) {
175
+ for (const q of queryOrCallback) {
176
+ await q;
177
+ }
178
+ }
179
+ else {
180
+ await queryOrCallback(this);
181
+ }
182
+ await transaction.commit();
183
+ }
184
+ catch (err) {
185
+ await transaction.rollback();
186
+ throw err;
187
+ }
188
+ finally {
189
+ this._transactionRequest = null;
190
+ }
191
+ }
192
+ };
193
+ MsSqlOrmDriver = __decorate([
194
+ (0, di_1.Injectable)('orm-driver-mssql'),
195
+ (0, di_1.NewInstance)(),
196
+ __metadata("design:paramtypes", [Object])
197
+ ], MsSqlOrmDriver);
198
+ exports.MsSqlOrmDriver = MsSqlOrmDriver;
199
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,GAAG,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ import { IContainer } from '@spinajs/di';
2
+ import { TableExistsCompiler, TableExistsQueryBuilder, ICompilerOutput, ColumnQueryBuilder, TableAliasCompiler, IQueryBuilder, InsertQueryBuilder } from '@spinajs/orm';
3
+ import { SqlColumnQueryCompiler, SqlDeleteQueryCompiler, SqlInsertQueryCompiler, SqlLimitQueryCompiler, SqlOrderByQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler } from '@spinajs/orm-sql';
4
+ export declare class MsSqlOnDuplicateQueryCompiler extends SqlOnDuplicateQueryCompiler {
5
+ compile(): {
6
+ bindings: any[];
7
+ expression: string;
8
+ };
9
+ }
10
+ export declare class MsSqlInsertQueryCompiler extends SqlInsertQueryCompiler {
11
+ protected isDuplicate: boolean;
12
+ constructor(container: IContainer, builder: InsertQueryBuilder);
13
+ compile(): {
14
+ bindings: any[];
15
+ expression: string;
16
+ };
17
+ protected into(): string;
18
+ }
19
+ export declare class MsSqlTableExistsCompiler implements TableExistsCompiler {
20
+ protected builder: TableExistsQueryBuilder;
21
+ constructor(builder: TableExistsQueryBuilder);
22
+ compile(): ICompilerOutput;
23
+ }
24
+ export declare class MsSqlLimitCompiler extends SqlLimitQueryCompiler {
25
+ compile(): ICompilerOutput;
26
+ }
27
+ export declare class MsSqlOrderByCompiler extends SqlOrderByQueryCompiler {
28
+ compile(): ICompilerOutput;
29
+ }
30
+ export declare class MsSqlTableQueryCompiler extends SqlTableQueryCompiler {
31
+ compile(): ICompilerOutput[];
32
+ protected _columns(): string;
33
+ protected _foreignKeys(): string;
34
+ protected _table(): string;
35
+ }
36
+ export declare class MsSqlColumnQueryCompiler extends SqlColumnQueryCompiler {
37
+ protected builder: ColumnQueryBuilder;
38
+ constructor(builder: ColumnQueryBuilder);
39
+ }
40
+ export declare class MsSqlDeleteQueryCompiler extends SqlDeleteQueryCompiler {
41
+ compile(): {
42
+ bindings: any[];
43
+ expression: string;
44
+ };
45
+ protected from(): string;
46
+ }
47
+ export declare class MsSqlTableAliasCompiler implements TableAliasCompiler {
48
+ compile(builder: IQueryBuilder, tbl?: string): string;
49
+ }
50
+ //# sourceMappingURL=compilers.d.ts.map