bigal 13.0.0-beta4 → 13.0.0-beta5
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 +1 -1
- package/dist/index.cjs +638 -18
- package/dist/index.d.cts +419 -4
- package/dist/index.d.mts +419 -4
- package/dist/index.d.ts +419 -4
- package/dist/index.mjs +623 -4
- package/package.json +1 -21
- package/dist/decorators/index.cjs +0 -282
- package/dist/decorators/index.d.cts +0 -1
- package/dist/decorators/index.d.mts +0 -1
- package/dist/decorators/index.d.ts +0 -1
- package/dist/decorators/index.mjs +0 -271
- package/dist/metadata/index.cjs +0 -369
- package/dist/metadata/index.d.cts +0 -1
- package/dist/metadata/index.d.mts +0 -1
- package/dist/metadata/index.d.ts +0 -1
- package/dist/metadata/index.mjs +0 -358
- package/dist/shared/bigal.03669aef.d.cts +0 -105
- package/dist/shared/bigal.03669aef.d.mts +0 -105
- package/dist/shared/bigal.03669aef.d.ts +0 -105
- package/dist/shared/bigal.06e3c45d.d.cts +0 -315
- package/dist/shared/bigal.06e3c45d.d.mts +0 -315
- package/dist/shared/bigal.06e3c45d.d.ts +0 -315
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const _ = require('lodash');
|
|
4
|
-
const metadata_index = require('../metadata/index.cjs');
|
|
5
|
-
|
|
6
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
7
|
-
|
|
8
|
-
const ___default = /*#__PURE__*/_interopDefaultCompat(_);
|
|
9
|
-
|
|
10
|
-
function column(dbColumnNameOrOptions, options) {
|
|
11
|
-
return function columnDecorator(object, propertyName) {
|
|
12
|
-
if (!dbColumnNameOrOptions) {
|
|
13
|
-
dbColumnNameOrOptions = ___default.snakeCase(propertyName);
|
|
14
|
-
}
|
|
15
|
-
let dbColumnName;
|
|
16
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
17
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
18
|
-
} else {
|
|
19
|
-
options = dbColumnNameOrOptions;
|
|
20
|
-
}
|
|
21
|
-
if (!options) {
|
|
22
|
-
options = {};
|
|
23
|
-
}
|
|
24
|
-
if (!dbColumnName) {
|
|
25
|
-
dbColumnName = options.name ?? ___default.snakeCase(propertyName);
|
|
26
|
-
}
|
|
27
|
-
const metadataStorage = metadata_index.getMetadataStorage();
|
|
28
|
-
const columnCollectionOptions = options;
|
|
29
|
-
if (columnCollectionOptions.collection || columnCollectionOptions.via) {
|
|
30
|
-
if (!columnCollectionOptions.collection) {
|
|
31
|
-
throw new Error("Unable to determine collection value. Please try specifying values as a strings to avoid circular dependency issues.");
|
|
32
|
-
}
|
|
33
|
-
metadataStorage.columns.push(
|
|
34
|
-
new metadata_index.ColumnCollectionMetadata({
|
|
35
|
-
target: object.constructor.name,
|
|
36
|
-
name: dbColumnName,
|
|
37
|
-
propertyName,
|
|
38
|
-
required: columnCollectionOptions.required,
|
|
39
|
-
collection: columnCollectionOptions.collection,
|
|
40
|
-
through: columnCollectionOptions.through,
|
|
41
|
-
via: columnCollectionOptions.via
|
|
42
|
-
})
|
|
43
|
-
);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const columnModelOptions = options;
|
|
47
|
-
if (columnModelOptions.model) {
|
|
48
|
-
metadataStorage.columns.push(
|
|
49
|
-
new metadata_index.ColumnModelMetadata({
|
|
50
|
-
target: object.constructor.name,
|
|
51
|
-
name: dbColumnName,
|
|
52
|
-
propertyName,
|
|
53
|
-
required: columnModelOptions.required,
|
|
54
|
-
model: columnModelOptions.model
|
|
55
|
-
})
|
|
56
|
-
);
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
const columnTypeOptions = options;
|
|
60
|
-
metadataStorage.columns.push(
|
|
61
|
-
new metadata_index.ColumnTypeMetadata({
|
|
62
|
-
target: object.constructor.name,
|
|
63
|
-
name: dbColumnName,
|
|
64
|
-
propertyName,
|
|
65
|
-
required: columnTypeOptions.required,
|
|
66
|
-
type: columnTypeOptions.type,
|
|
67
|
-
defaultsTo: columnTypeOptions.defaultsTo,
|
|
68
|
-
enum: columnTypeOptions.enum,
|
|
69
|
-
maxLength: columnTypeOptions.maxLength
|
|
70
|
-
})
|
|
71
|
-
);
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
function createDateColumn(dbColumnNameOrOptions, options) {
|
|
76
|
-
return function createDateColumnDecorator(object, propertyName) {
|
|
77
|
-
const metadataStorage = metadata_index.getMetadataStorage();
|
|
78
|
-
let dbColumnName;
|
|
79
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
80
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
81
|
-
} else {
|
|
82
|
-
options = dbColumnNameOrOptions;
|
|
83
|
-
}
|
|
84
|
-
if (dbColumnNameOrOptions) {
|
|
85
|
-
if (!options) {
|
|
86
|
-
options = {};
|
|
87
|
-
}
|
|
88
|
-
if (!dbColumnName) {
|
|
89
|
-
dbColumnName = options.name ?? ___default.snakeCase(propertyName);
|
|
90
|
-
}
|
|
91
|
-
metadataStorage.columns.push(
|
|
92
|
-
new metadata_index.ColumnTypeMetadata({
|
|
93
|
-
target: object.constructor.name,
|
|
94
|
-
name: dbColumnName,
|
|
95
|
-
propertyName,
|
|
96
|
-
createDate: true,
|
|
97
|
-
required: options.required,
|
|
98
|
-
type: options.type
|
|
99
|
-
})
|
|
100
|
-
);
|
|
101
|
-
} else {
|
|
102
|
-
metadataStorage.columnModifiers.push({
|
|
103
|
-
target: object.constructor.name,
|
|
104
|
-
name: dbColumnName ?? ___default.snakeCase(propertyName),
|
|
105
|
-
propertyName,
|
|
106
|
-
createDate: true,
|
|
107
|
-
required: options ? options.required : void 0,
|
|
108
|
-
type: options ? options.type : "datetime"
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
function primaryColumn(dbColumnNameOrOptions, options) {
|
|
115
|
-
return function primaryColumnDecorator(object, propertyName) {
|
|
116
|
-
let dbColumnName;
|
|
117
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
118
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
119
|
-
} else {
|
|
120
|
-
options = dbColumnNameOrOptions;
|
|
121
|
-
}
|
|
122
|
-
if (dbColumnNameOrOptions) {
|
|
123
|
-
if (!options) {
|
|
124
|
-
options = {};
|
|
125
|
-
}
|
|
126
|
-
if (!dbColumnName) {
|
|
127
|
-
dbColumnName = options.name ?? ___default.snakeCase(propertyName);
|
|
128
|
-
}
|
|
129
|
-
const { type } = options;
|
|
130
|
-
const { model } = options;
|
|
131
|
-
const metadataStorage = metadata_index.getMetadataStorage();
|
|
132
|
-
if (model) {
|
|
133
|
-
metadataStorage.columns.push(
|
|
134
|
-
new metadata_index.ColumnModelMetadata({
|
|
135
|
-
target: object.constructor.name,
|
|
136
|
-
name: dbColumnName,
|
|
137
|
-
propertyName,
|
|
138
|
-
primary: true,
|
|
139
|
-
required: options.required,
|
|
140
|
-
model
|
|
141
|
-
})
|
|
142
|
-
);
|
|
143
|
-
} else {
|
|
144
|
-
metadataStorage.columns.push(
|
|
145
|
-
new metadata_index.ColumnTypeMetadata({
|
|
146
|
-
target: object.constructor.name,
|
|
147
|
-
name: dbColumnName,
|
|
148
|
-
propertyName,
|
|
149
|
-
primary: true,
|
|
150
|
-
required: options.required,
|
|
151
|
-
type
|
|
152
|
-
})
|
|
153
|
-
);
|
|
154
|
-
}
|
|
155
|
-
} else {
|
|
156
|
-
const metadataStorage = metadata_index.getMetadataStorage();
|
|
157
|
-
metadataStorage.columnModifiers.push({
|
|
158
|
-
target: object.constructor.name,
|
|
159
|
-
name: dbColumnName ?? ___default.snakeCase(propertyName),
|
|
160
|
-
propertyName,
|
|
161
|
-
primary: true,
|
|
162
|
-
required: options ? options.required : void 0,
|
|
163
|
-
type: options ? options.type : void 0,
|
|
164
|
-
model: options ? options.model : void 0
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
function table(dbNameOrTableOptions, options) {
|
|
171
|
-
return function tableDecorator(classObject) {
|
|
172
|
-
const className = classObject.name;
|
|
173
|
-
let dbTableName;
|
|
174
|
-
if (typeof dbNameOrTableOptions === "string") {
|
|
175
|
-
dbTableName = dbNameOrTableOptions;
|
|
176
|
-
} else {
|
|
177
|
-
options = dbNameOrTableOptions;
|
|
178
|
-
}
|
|
179
|
-
if (!options) {
|
|
180
|
-
options = {};
|
|
181
|
-
}
|
|
182
|
-
if (!options.name) {
|
|
183
|
-
options.name = dbTableName ?? ___default.snakeCase(className);
|
|
184
|
-
}
|
|
185
|
-
const metadataStorage = metadata_index.getMetadataStorage();
|
|
186
|
-
const modelMetadata = new metadata_index.ModelMetadata({
|
|
187
|
-
name: className,
|
|
188
|
-
type: classObject,
|
|
189
|
-
tableName: options.name,
|
|
190
|
-
readonly: options.readonly ?? false,
|
|
191
|
-
connection: options.connection
|
|
192
|
-
});
|
|
193
|
-
metadataStorage.models.push(modelMetadata);
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
function updateDateColumn(dbColumnNameOrOptions, options) {
|
|
198
|
-
return function updateDateColumnDecorator(object, propertyName) {
|
|
199
|
-
let dbColumnName;
|
|
200
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
201
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
202
|
-
} else {
|
|
203
|
-
options = dbColumnNameOrOptions;
|
|
204
|
-
}
|
|
205
|
-
if (dbColumnNameOrOptions) {
|
|
206
|
-
if (!options) {
|
|
207
|
-
options = {};
|
|
208
|
-
}
|
|
209
|
-
if (!dbColumnName) {
|
|
210
|
-
dbColumnName = options.name ?? ___default.snakeCase(propertyName);
|
|
211
|
-
}
|
|
212
|
-
const metadataStorage = metadata_index.getMetadataStorage();
|
|
213
|
-
metadataStorage.columns.push(
|
|
214
|
-
new metadata_index.ColumnTypeMetadata({
|
|
215
|
-
target: object.constructor.name,
|
|
216
|
-
name: dbColumnName,
|
|
217
|
-
propertyName,
|
|
218
|
-
updateDate: true,
|
|
219
|
-
required: options.required,
|
|
220
|
-
type: options.type
|
|
221
|
-
})
|
|
222
|
-
);
|
|
223
|
-
} else {
|
|
224
|
-
const metadataStorage = metadata_index.getMetadataStorage();
|
|
225
|
-
metadataStorage.columnModifiers.push({
|
|
226
|
-
target: object.constructor.name,
|
|
227
|
-
name: dbColumnName ?? ___default.snakeCase(propertyName),
|
|
228
|
-
propertyName,
|
|
229
|
-
updateDate: true,
|
|
230
|
-
required: options ? options.required : void 0,
|
|
231
|
-
type: options ? options.type : "datetime"
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
function versionColumn(dbColumnNameOrOptions, options) {
|
|
238
|
-
return function versionColumnDecorator(object, propertyName) {
|
|
239
|
-
let dbColumnName;
|
|
240
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
241
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
242
|
-
} else {
|
|
243
|
-
options = dbColumnNameOrOptions;
|
|
244
|
-
}
|
|
245
|
-
if (dbColumnNameOrOptions) {
|
|
246
|
-
if (!options) {
|
|
247
|
-
options = {};
|
|
248
|
-
}
|
|
249
|
-
if (!dbColumnName) {
|
|
250
|
-
dbColumnName = options.name ?? ___default.snakeCase(propertyName);
|
|
251
|
-
}
|
|
252
|
-
const metadataStorage = metadata_index.getMetadataStorage();
|
|
253
|
-
metadataStorage.columns.push(
|
|
254
|
-
new metadata_index.ColumnTypeMetadata({
|
|
255
|
-
target: object.constructor.name,
|
|
256
|
-
name: dbColumnName,
|
|
257
|
-
propertyName,
|
|
258
|
-
version: true,
|
|
259
|
-
required: options.required,
|
|
260
|
-
type: options.type
|
|
261
|
-
})
|
|
262
|
-
);
|
|
263
|
-
} else {
|
|
264
|
-
const metadataStorage = metadata_index.getMetadataStorage();
|
|
265
|
-
metadataStorage.columnModifiers.push({
|
|
266
|
-
target: object.constructor.name,
|
|
267
|
-
name: dbColumnName ?? ___default.snakeCase(propertyName),
|
|
268
|
-
propertyName,
|
|
269
|
-
version: true,
|
|
270
|
-
required: options ? options.required : void 0,
|
|
271
|
-
type: options ? options.type : void 0
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
};
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
exports.column = column;
|
|
278
|
-
exports.createDateColumn = createDateColumn;
|
|
279
|
-
exports.primaryColumn = primaryColumn;
|
|
280
|
-
exports.table = table;
|
|
281
|
-
exports.updateDateColumn = updateDateColumn;
|
|
282
|
-
exports.versionColumn = versionColumn;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { c as column, a as createDateColumn, p as primaryColumn, t as table, u as updateDateColumn, v as versionColumn } from '../shared/bigal.03669aef.cjs';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { c as column, a as createDateColumn, p as primaryColumn, t as table, u as updateDateColumn, v as versionColumn } from '../shared/bigal.03669aef.mjs';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { c as column, a as createDateColumn, p as primaryColumn, t as table, u as updateDateColumn, v as versionColumn } from '../shared/bigal.03669aef.js';
|
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
import _ from 'lodash';
|
|
2
|
-
import { getMetadataStorage, ColumnCollectionMetadata, ColumnModelMetadata, ColumnTypeMetadata, ModelMetadata } from '../metadata/index.mjs';
|
|
3
|
-
|
|
4
|
-
function column(dbColumnNameOrOptions, options) {
|
|
5
|
-
return function columnDecorator(object, propertyName) {
|
|
6
|
-
if (!dbColumnNameOrOptions) {
|
|
7
|
-
dbColumnNameOrOptions = _.snakeCase(propertyName);
|
|
8
|
-
}
|
|
9
|
-
let dbColumnName;
|
|
10
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
11
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
12
|
-
} else {
|
|
13
|
-
options = dbColumnNameOrOptions;
|
|
14
|
-
}
|
|
15
|
-
if (!options) {
|
|
16
|
-
options = {};
|
|
17
|
-
}
|
|
18
|
-
if (!dbColumnName) {
|
|
19
|
-
dbColumnName = options.name ?? _.snakeCase(propertyName);
|
|
20
|
-
}
|
|
21
|
-
const metadataStorage = getMetadataStorage();
|
|
22
|
-
const columnCollectionOptions = options;
|
|
23
|
-
if (columnCollectionOptions.collection || columnCollectionOptions.via) {
|
|
24
|
-
if (!columnCollectionOptions.collection) {
|
|
25
|
-
throw new Error("Unable to determine collection value. Please try specifying values as a strings to avoid circular dependency issues.");
|
|
26
|
-
}
|
|
27
|
-
metadataStorage.columns.push(
|
|
28
|
-
new ColumnCollectionMetadata({
|
|
29
|
-
target: object.constructor.name,
|
|
30
|
-
name: dbColumnName,
|
|
31
|
-
propertyName,
|
|
32
|
-
required: columnCollectionOptions.required,
|
|
33
|
-
collection: columnCollectionOptions.collection,
|
|
34
|
-
through: columnCollectionOptions.through,
|
|
35
|
-
via: columnCollectionOptions.via
|
|
36
|
-
})
|
|
37
|
-
);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const columnModelOptions = options;
|
|
41
|
-
if (columnModelOptions.model) {
|
|
42
|
-
metadataStorage.columns.push(
|
|
43
|
-
new ColumnModelMetadata({
|
|
44
|
-
target: object.constructor.name,
|
|
45
|
-
name: dbColumnName,
|
|
46
|
-
propertyName,
|
|
47
|
-
required: columnModelOptions.required,
|
|
48
|
-
model: columnModelOptions.model
|
|
49
|
-
})
|
|
50
|
-
);
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const columnTypeOptions = options;
|
|
54
|
-
metadataStorage.columns.push(
|
|
55
|
-
new ColumnTypeMetadata({
|
|
56
|
-
target: object.constructor.name,
|
|
57
|
-
name: dbColumnName,
|
|
58
|
-
propertyName,
|
|
59
|
-
required: columnTypeOptions.required,
|
|
60
|
-
type: columnTypeOptions.type,
|
|
61
|
-
defaultsTo: columnTypeOptions.defaultsTo,
|
|
62
|
-
enum: columnTypeOptions.enum,
|
|
63
|
-
maxLength: columnTypeOptions.maxLength
|
|
64
|
-
})
|
|
65
|
-
);
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function createDateColumn(dbColumnNameOrOptions, options) {
|
|
70
|
-
return function createDateColumnDecorator(object, propertyName) {
|
|
71
|
-
const metadataStorage = getMetadataStorage();
|
|
72
|
-
let dbColumnName;
|
|
73
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
74
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
75
|
-
} else {
|
|
76
|
-
options = dbColumnNameOrOptions;
|
|
77
|
-
}
|
|
78
|
-
if (dbColumnNameOrOptions) {
|
|
79
|
-
if (!options) {
|
|
80
|
-
options = {};
|
|
81
|
-
}
|
|
82
|
-
if (!dbColumnName) {
|
|
83
|
-
dbColumnName = options.name ?? _.snakeCase(propertyName);
|
|
84
|
-
}
|
|
85
|
-
metadataStorage.columns.push(
|
|
86
|
-
new ColumnTypeMetadata({
|
|
87
|
-
target: object.constructor.name,
|
|
88
|
-
name: dbColumnName,
|
|
89
|
-
propertyName,
|
|
90
|
-
createDate: true,
|
|
91
|
-
required: options.required,
|
|
92
|
-
type: options.type
|
|
93
|
-
})
|
|
94
|
-
);
|
|
95
|
-
} else {
|
|
96
|
-
metadataStorage.columnModifiers.push({
|
|
97
|
-
target: object.constructor.name,
|
|
98
|
-
name: dbColumnName ?? _.snakeCase(propertyName),
|
|
99
|
-
propertyName,
|
|
100
|
-
createDate: true,
|
|
101
|
-
required: options ? options.required : void 0,
|
|
102
|
-
type: options ? options.type : "datetime"
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
function primaryColumn(dbColumnNameOrOptions, options) {
|
|
109
|
-
return function primaryColumnDecorator(object, propertyName) {
|
|
110
|
-
let dbColumnName;
|
|
111
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
112
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
113
|
-
} else {
|
|
114
|
-
options = dbColumnNameOrOptions;
|
|
115
|
-
}
|
|
116
|
-
if (dbColumnNameOrOptions) {
|
|
117
|
-
if (!options) {
|
|
118
|
-
options = {};
|
|
119
|
-
}
|
|
120
|
-
if (!dbColumnName) {
|
|
121
|
-
dbColumnName = options.name ?? _.snakeCase(propertyName);
|
|
122
|
-
}
|
|
123
|
-
const { type } = options;
|
|
124
|
-
const { model } = options;
|
|
125
|
-
const metadataStorage = getMetadataStorage();
|
|
126
|
-
if (model) {
|
|
127
|
-
metadataStorage.columns.push(
|
|
128
|
-
new ColumnModelMetadata({
|
|
129
|
-
target: object.constructor.name,
|
|
130
|
-
name: dbColumnName,
|
|
131
|
-
propertyName,
|
|
132
|
-
primary: true,
|
|
133
|
-
required: options.required,
|
|
134
|
-
model
|
|
135
|
-
})
|
|
136
|
-
);
|
|
137
|
-
} else {
|
|
138
|
-
metadataStorage.columns.push(
|
|
139
|
-
new ColumnTypeMetadata({
|
|
140
|
-
target: object.constructor.name,
|
|
141
|
-
name: dbColumnName,
|
|
142
|
-
propertyName,
|
|
143
|
-
primary: true,
|
|
144
|
-
required: options.required,
|
|
145
|
-
type
|
|
146
|
-
})
|
|
147
|
-
);
|
|
148
|
-
}
|
|
149
|
-
} else {
|
|
150
|
-
const metadataStorage = getMetadataStorage();
|
|
151
|
-
metadataStorage.columnModifiers.push({
|
|
152
|
-
target: object.constructor.name,
|
|
153
|
-
name: dbColumnName ?? _.snakeCase(propertyName),
|
|
154
|
-
propertyName,
|
|
155
|
-
primary: true,
|
|
156
|
-
required: options ? options.required : void 0,
|
|
157
|
-
type: options ? options.type : void 0,
|
|
158
|
-
model: options ? options.model : void 0
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
function table(dbNameOrTableOptions, options) {
|
|
165
|
-
return function tableDecorator(classObject) {
|
|
166
|
-
const className = classObject.name;
|
|
167
|
-
let dbTableName;
|
|
168
|
-
if (typeof dbNameOrTableOptions === "string") {
|
|
169
|
-
dbTableName = dbNameOrTableOptions;
|
|
170
|
-
} else {
|
|
171
|
-
options = dbNameOrTableOptions;
|
|
172
|
-
}
|
|
173
|
-
if (!options) {
|
|
174
|
-
options = {};
|
|
175
|
-
}
|
|
176
|
-
if (!options.name) {
|
|
177
|
-
options.name = dbTableName ?? _.snakeCase(className);
|
|
178
|
-
}
|
|
179
|
-
const metadataStorage = getMetadataStorage();
|
|
180
|
-
const modelMetadata = new ModelMetadata({
|
|
181
|
-
name: className,
|
|
182
|
-
type: classObject,
|
|
183
|
-
tableName: options.name,
|
|
184
|
-
readonly: options.readonly ?? false,
|
|
185
|
-
connection: options.connection
|
|
186
|
-
});
|
|
187
|
-
metadataStorage.models.push(modelMetadata);
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
function updateDateColumn(dbColumnNameOrOptions, options) {
|
|
192
|
-
return function updateDateColumnDecorator(object, propertyName) {
|
|
193
|
-
let dbColumnName;
|
|
194
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
195
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
196
|
-
} else {
|
|
197
|
-
options = dbColumnNameOrOptions;
|
|
198
|
-
}
|
|
199
|
-
if (dbColumnNameOrOptions) {
|
|
200
|
-
if (!options) {
|
|
201
|
-
options = {};
|
|
202
|
-
}
|
|
203
|
-
if (!dbColumnName) {
|
|
204
|
-
dbColumnName = options.name ?? _.snakeCase(propertyName);
|
|
205
|
-
}
|
|
206
|
-
const metadataStorage = getMetadataStorage();
|
|
207
|
-
metadataStorage.columns.push(
|
|
208
|
-
new ColumnTypeMetadata({
|
|
209
|
-
target: object.constructor.name,
|
|
210
|
-
name: dbColumnName,
|
|
211
|
-
propertyName,
|
|
212
|
-
updateDate: true,
|
|
213
|
-
required: options.required,
|
|
214
|
-
type: options.type
|
|
215
|
-
})
|
|
216
|
-
);
|
|
217
|
-
} else {
|
|
218
|
-
const metadataStorage = getMetadataStorage();
|
|
219
|
-
metadataStorage.columnModifiers.push({
|
|
220
|
-
target: object.constructor.name,
|
|
221
|
-
name: dbColumnName ?? _.snakeCase(propertyName),
|
|
222
|
-
propertyName,
|
|
223
|
-
updateDate: true,
|
|
224
|
-
required: options ? options.required : void 0,
|
|
225
|
-
type: options ? options.type : "datetime"
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
function versionColumn(dbColumnNameOrOptions, options) {
|
|
232
|
-
return function versionColumnDecorator(object, propertyName) {
|
|
233
|
-
let dbColumnName;
|
|
234
|
-
if (typeof dbColumnNameOrOptions === "string") {
|
|
235
|
-
dbColumnName = dbColumnNameOrOptions;
|
|
236
|
-
} else {
|
|
237
|
-
options = dbColumnNameOrOptions;
|
|
238
|
-
}
|
|
239
|
-
if (dbColumnNameOrOptions) {
|
|
240
|
-
if (!options) {
|
|
241
|
-
options = {};
|
|
242
|
-
}
|
|
243
|
-
if (!dbColumnName) {
|
|
244
|
-
dbColumnName = options.name ?? _.snakeCase(propertyName);
|
|
245
|
-
}
|
|
246
|
-
const metadataStorage = getMetadataStorage();
|
|
247
|
-
metadataStorage.columns.push(
|
|
248
|
-
new ColumnTypeMetadata({
|
|
249
|
-
target: object.constructor.name,
|
|
250
|
-
name: dbColumnName,
|
|
251
|
-
propertyName,
|
|
252
|
-
version: true,
|
|
253
|
-
required: options.required,
|
|
254
|
-
type: options.type
|
|
255
|
-
})
|
|
256
|
-
);
|
|
257
|
-
} else {
|
|
258
|
-
const metadataStorage = getMetadataStorage();
|
|
259
|
-
metadataStorage.columnModifiers.push({
|
|
260
|
-
target: object.constructor.name,
|
|
261
|
-
name: dbColumnName ?? _.snakeCase(propertyName),
|
|
262
|
-
propertyName,
|
|
263
|
-
version: true,
|
|
264
|
-
required: options ? options.required : void 0,
|
|
265
|
-
type: options ? options.type : void 0
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
};
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
export { column, createDateColumn, primaryColumn, table, updateDateColumn, versionColumn };
|