@asapjs/sequelize 0.10.44 → 1.0.0-alpha.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/dist/console/index.js +4 -4
- package/dist/console/index.js.map +1 -1
- package/dist/dbml/index.d.ts.map +1 -1
- package/dist/dbml/index.js +2 -2
- package/dist/dbml/index.js.map +1 -1
- package/dist/dto/ExtendableDto.d.ts +1 -1
- package/dist/dto/ExtendableDto.d.ts.map +1 -1
- package/dist/dto/ExtendableDto.js +12 -12
- package/dist/dto/ExtendableDto.js.map +1 -1
- package/dist/dto/PaginationQueryDto.js +4 -4
- package/dist/dto/PaginationQueryDto.js.map +1 -1
- package/dist/dto/index.d.ts.map +1 -1
- package/dist/dto/index.js +2 -2
- package/dist/dto/index.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -4
- package/dist/index.js.map +1 -1
- package/dist/plugin.d.ts +8 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +59 -0
- package/dist/plugin.js.map +1 -0
- package/dist/repository/index.d.ts +2 -2
- package/dist/repository/index.d.ts.map +1 -1
- package/dist/repository/index.js.map +1 -1
- package/dist/sequelize/index.d.ts.map +1 -1
- package/dist/sequelize/index.js +19 -19
- package/dist/sequelize/index.js.map +1 -1
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +17 -3
- package/dist/table/index.js.map +1 -1
- package/dist/types/belongsto.d.ts +1 -1
- package/dist/types/belongsto.d.ts.map +1 -1
- package/dist/types/belongsto.js +2 -2
- package/dist/types/belongsto.js.map +1 -1
- package/dist/types/decorators.d.ts +4 -0
- package/dist/types/decorators.d.ts.map +1 -0
- package/dist/types/decorators.js +56 -0
- package/dist/types/decorators.js.map +1 -0
- package/dist/types/foreignkey.d.ts +1 -1
- package/dist/types/foreignkey.d.ts.map +1 -1
- package/dist/types/foreignkey.js +4 -4
- package/dist/types/foreignkey.js.map +1 -1
- package/dist/types/generators/toSequelizeGenerator.d.ts +1 -1
- package/dist/types/generators/toSequelizeGenerator.d.ts.map +1 -1
- package/dist/types/generators/toSwaggerGenerator.d.ts +1 -1
- package/dist/types/generators/toSwaggerGenerator.d.ts.map +1 -1
- package/dist/types/generators/typeGenerator.d.ts +1 -1
- package/dist/types/generators/typeGenerator.d.ts.map +1 -1
- package/dist/types/generators/typeGenerator.js.map +1 -1
- package/dist/types/index.d.ts +5 -23
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -38
- package/dist/types/index.js.map +1 -1
- package/dist/types/paging.d.ts +1 -1
- package/dist/types/paging.d.ts.map +1 -1
- package/dist/types/paging.js +3 -3
- package/dist/types/paging.js.map +1 -1
- package/dist/types/query.d.ts +1 -1
- package/dist/types/query.d.ts.map +1 -1
- package/dist/types/query.js +2 -2
- package/dist/types/query.js.map +1 -1
- package/dist/types/register.d.ts +2 -0
- package/dist/types/register.d.ts.map +1 -0
- package/dist/types/register.js +25 -0
- package/dist/types/register.js.map +1 -0
- package/dist/types/schema-extensions.d.ts +52 -0
- package/dist/types/schema-extensions.d.ts.map +1 -0
- package/dist/types/schema-extensions.js +56 -0
- package/dist/types/schema-extensions.js.map +1 -0
- package/dist/utils/getUserIdInQuery.d.ts.map +1 -1
- package/dist/utils/isClass.d.ts.map +1 -1
- package/dist/utils/promiseTimeout.d.ts.map +1 -1
- package/dist/utils/swagger.d.ts +4 -0
- package/dist/utils/swagger.d.ts.map +1 -0
- package/dist/utils/swagger.js +26 -0
- package/dist/utils/swagger.js.map +1 -0
- package/package.json +18 -8
- package/.yarnrc.yml +0 -1
- package/dist/types/array.d.ts +0 -7
- package/dist/types/array.d.ts.map +0 -1
- package/dist/types/array.js +0 -58
- package/dist/types/array.js.map +0 -1
- package/dist/types/base64.d.ts +0 -10
- package/dist/types/base64.d.ts.map +0 -1
- package/dist/types/base64.js +0 -20
- package/dist/types/base64.js.map +0 -1
- package/dist/types/bigint.d.ts +0 -12
- package/dist/types/bigint.d.ts.map +0 -1
- package/dist/types/bigint.js +0 -27
- package/dist/types/bigint.js.map +0 -1
- package/dist/types/binary.d.ts +0 -10
- package/dist/types/binary.d.ts.map +0 -1
- package/dist/types/binary.js +0 -20
- package/dist/types/binary.js.map +0 -1
- package/dist/types/boolean.d.ts +0 -9
- package/dist/types/boolean.d.ts.map +0 -1
- package/dist/types/boolean.js +0 -27
- package/dist/types/boolean.js.map +0 -1
- package/dist/types/dateonly.d.ts +0 -8
- package/dist/types/dateonly.d.ts.map +0 -1
- package/dist/types/dateonly.js +0 -20
- package/dist/types/dateonly.js.map +0 -1
- package/dist/types/datetime.d.ts +0 -8
- package/dist/types/datetime.d.ts.map +0 -1
- package/dist/types/datetime.js +0 -20
- package/dist/types/datetime.js.map +0 -1
- package/dist/types/decemal.d.ts +0 -11
- package/dist/types/decemal.d.ts.map +0 -1
- package/dist/types/decemal.js +0 -30
- package/dist/types/decemal.js.map +0 -1
- package/dist/types/double.d.ts +0 -11
- package/dist/types/double.d.ts.map +0 -1
- package/dist/types/double.js +0 -27
- package/dist/types/double.js.map +0 -1
- package/dist/types/dto.d.ts +0 -10
- package/dist/types/dto.d.ts.map +0 -1
- package/dist/types/dto.js +0 -23
- package/dist/types/dto.js.map +0 -1
- package/dist/types/enum.d.ts +0 -9
- package/dist/types/enum.d.ts.map +0 -1
- package/dist/types/enum.js +0 -26
- package/dist/types/enum.js.map +0 -1
- package/dist/types/float.d.ts +0 -11
- package/dist/types/float.d.ts.map +0 -1
- package/dist/types/float.js +0 -27
- package/dist/types/float.js.map +0 -1
- package/dist/types/int.d.ts +0 -12
- package/dist/types/int.d.ts.map +0 -1
- package/dist/types/int.js +0 -27
- package/dist/types/int.js.map +0 -1
- package/dist/types/json.d.ts +0 -9
- package/dist/types/json.d.ts.map +0 -1
- package/dist/types/json.js +0 -31
- package/dist/types/json.js.map +0 -1
- package/dist/types/long.d.ts +0 -12
- package/dist/types/long.d.ts.map +0 -1
- package/dist/types/long.js +0 -27
- package/dist/types/long.js.map +0 -1
- package/dist/types/password.d.ts +0 -6
- package/dist/types/password.d.ts.map +0 -1
- package/dist/types/password.js +0 -20
- package/dist/types/password.js.map +0 -1
- package/dist/types/string.d.ts +0 -11
- package/dist/types/string.d.ts.map +0 -1
- package/dist/types/string.js +0 -26
- package/dist/types/string.js.map +0 -1
- package/dist/types/text.d.ts +0 -9
- package/dist/types/text.d.ts.map +0 -1
- package/dist/types/text.js +0 -16
- package/dist/types/text.js.map +0 -1
- package/tsconfig.json +0 -21
package/dist/sequelize/index.js
CHANGED
|
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.healthCheck = exports.generateDBML = exports.initSequelizeModule = exports.getSequelize = exports.modelsSync = exports.addDtosToSwagger = exports.addModelsToSequelize = exports.loadPath = exports.dbInit = void 0;
|
|
16
16
|
const sequelize_typescript_1 = require("sequelize-typescript");
|
|
17
17
|
const fs_1 = __importDefault(require("fs"));
|
|
18
|
-
const
|
|
18
|
+
const common_1 = require("@asapjs/common");
|
|
19
19
|
require("reflect-metadata");
|
|
20
20
|
const promiseTimeout_1 = require("../utils/promiseTimeout");
|
|
21
21
|
let container = null;
|
|
@@ -27,7 +27,7 @@ const dbInit = (config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
27
27
|
sequelize
|
|
28
28
|
.authenticate()
|
|
29
29
|
.then(() => {
|
|
30
|
-
|
|
30
|
+
common_1.logger.info('@sequelize :: Database connected.');
|
|
31
31
|
})
|
|
32
32
|
.catch((err) => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
33
|
// if error occured for database is not exist, create it
|
|
@@ -35,30 +35,30 @@ const dbInit = (config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
35
35
|
err.original.code === 'ER_BAD_DB_ERROR' &&
|
|
36
36
|
err.original.sqlMessage.startsWith('Unknown database')) {
|
|
37
37
|
const databaseName = config.database;
|
|
38
|
-
|
|
38
|
+
common_1.logger.error(`@sequelize :: Database ${databaseName} has not craeted. Run auto database create process`);
|
|
39
39
|
const temp_config = Object.assign({}, config);
|
|
40
40
|
temp_config.database = undefined;
|
|
41
41
|
// create temp sequelize connection
|
|
42
42
|
const sequelize_temp = new sequelize_typescript_1.Sequelize(temp_config);
|
|
43
43
|
sequelize_temp.authenticate().then(() => {
|
|
44
|
-
|
|
44
|
+
common_1.logger.info('@sequelize(temp_session) :: Database connected.');
|
|
45
45
|
});
|
|
46
46
|
// if database is not exist, run create database query
|
|
47
47
|
yield sequelize_temp.query(`CREATE DATABASE IF NOT EXISTS \`${databaseName}\`;`).then(() => {
|
|
48
|
-
|
|
48
|
+
common_1.logger.info(`@sequelize(temp_session) :: Database ${databaseName} Create Successfully`);
|
|
49
49
|
});
|
|
50
50
|
sequelize_temp.close().then(() => {
|
|
51
|
-
|
|
51
|
+
common_1.logger.info(`@sequelize(temp_session) :: Release temp session successfully`);
|
|
52
52
|
});
|
|
53
53
|
sequelize.authenticate().then(() => {
|
|
54
|
-
|
|
54
|
+
common_1.logger.info('@sequelize :: Database Reconnect Successfully');
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
else {
|
|
58
|
-
|
|
58
|
+
common_1.logger.error('@sequelize :: Unable to connect to the database:\n', err);
|
|
59
59
|
}
|
|
60
60
|
}));
|
|
61
|
-
|
|
61
|
+
common_1.logger.info('@sequelize :: database initalize.');
|
|
62
62
|
return sequelize;
|
|
63
63
|
});
|
|
64
64
|
exports.dbInit = dbInit;
|
|
@@ -71,13 +71,13 @@ const extensionInlcude = (includeFileName, fileName) => {
|
|
|
71
71
|
};
|
|
72
72
|
const loadPath = (path, subPath) => __awaiter(void 0, void 0, void 0, function* () {
|
|
73
73
|
const files = yield fs_1.default.readdirSync(path + subPath, { withFileTypes: true });
|
|
74
|
-
|
|
75
|
-
const extension = 'js';
|
|
74
|
+
const extension = process.env.NODE_ENV === 'production' ? 'js' : 'ts';
|
|
76
75
|
for (const file of files) {
|
|
77
76
|
if (file.isDirectory()) {
|
|
78
77
|
yield (0, exports.loadPath)(path, `${subPath}/${file.name}`);
|
|
79
78
|
}
|
|
80
79
|
else if (extensionInlcude('Table', file.name) && file.name.endsWith('map') === false) {
|
|
80
|
+
common_1.logger.info(`@sequelize :: Loading table: ${path}/${subPath}/${file.name}`);
|
|
81
81
|
models.push(require(`${path}/${subPath}/${file.name}`).default);
|
|
82
82
|
}
|
|
83
83
|
else if (extensionInlcude('Dto', file.name) && file.name.endsWith('map') === false) {
|
|
@@ -91,32 +91,32 @@ const loadPath = (path, subPath) => __awaiter(void 0, void 0, void 0, function*
|
|
|
91
91
|
exports.loadPath = loadPath;
|
|
92
92
|
const addModelsToSequelize = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
93
93
|
container.addModels(models);
|
|
94
|
-
|
|
94
|
+
common_1.logger.info('@sequelize :: add models to sequelize instance.');
|
|
95
95
|
});
|
|
96
96
|
exports.addModelsToSequelize = addModelsToSequelize;
|
|
97
97
|
const addDtosToSwagger = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
98
98
|
yield Promise.all(dtos.map((Dto) => {
|
|
99
99
|
const dto = new Dto();
|
|
100
100
|
if (!(dto === null || dto === void 0 ? void 0 : dto.init)) {
|
|
101
|
-
|
|
101
|
+
common_1.logger.warn(`@sequelize :: ${dto.constructor.name} is not a valid dto class. It should extends with ExtendableDto.`);
|
|
102
102
|
}
|
|
103
103
|
else {
|
|
104
104
|
dto === null || dto === void 0 ? void 0 : dto.init();
|
|
105
105
|
}
|
|
106
106
|
}));
|
|
107
|
-
|
|
107
|
+
common_1.logger.info('@sequelize :: add dto to swagger schemas.');
|
|
108
108
|
});
|
|
109
109
|
exports.addDtosToSwagger = addDtosToSwagger;
|
|
110
110
|
const modelsSync = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
111
111
|
yield container.sync({ alter: { drop: false } });
|
|
112
|
-
|
|
112
|
+
common_1.logger.info('@sequelize :: models sync finished');
|
|
113
113
|
return true;
|
|
114
114
|
});
|
|
115
115
|
exports.modelsSync = modelsSync;
|
|
116
116
|
const getSequelize = () => container;
|
|
117
117
|
exports.getSequelize = getSequelize;
|
|
118
118
|
const initSequelizeModule = (dirname) => __awaiter(void 0, void 0, void 0, function* () {
|
|
119
|
-
const dbContainer = yield (0, exports.dbInit)((0,
|
|
119
|
+
const dbContainer = yield (0, exports.dbInit)((0, common_1.getConfig)().db);
|
|
120
120
|
yield (0, exports.loadPath)(dirname, '');
|
|
121
121
|
yield (0, exports.addModelsToSequelize)();
|
|
122
122
|
yield (0, exports.addDtosToSwagger)();
|
|
@@ -128,17 +128,17 @@ exports.generateDBML = generateDBML;
|
|
|
128
128
|
const healthCheck = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
129
129
|
const connection = container;
|
|
130
130
|
if (!connection) {
|
|
131
|
-
|
|
131
|
+
common_1.logger.error(`@sequelize(health-check) :: Sequelize connection is not initialized`);
|
|
132
132
|
throw Error('Sequelize connection is not initialized');
|
|
133
133
|
}
|
|
134
134
|
try {
|
|
135
135
|
const check = connection.query(`SELECT 1`);
|
|
136
136
|
yield (0, promiseTimeout_1.promiseTimeout)(1000, check);
|
|
137
|
-
|
|
137
|
+
common_1.logger.info(`@sequelize(health-check) :: Sequelize connection is healthy`);
|
|
138
138
|
return true;
|
|
139
139
|
}
|
|
140
140
|
catch (err) {
|
|
141
|
-
|
|
141
|
+
common_1.logger.error(`@sequelize(health-check) :: Sequelize connection is not healthy`);
|
|
142
142
|
throw Error('Sequelize connection is not healthy');
|
|
143
143
|
}
|
|
144
144
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sequelize/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+DAAqF;AACrF,4CAAoB;AAEpB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sequelize/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,EAAgB,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,EAAgB,SAAS,EAAE,MAAM,UAAU,CAAC;AAInD,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,IACxB,CAAC,SAAS,SAAS,EAAE,QAAQ,CAAC,UAsDhD"}
|
package/dist/table/index.js
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Table =
|
|
3
|
+
exports.Table = Table;
|
|
4
4
|
const sequelize_typescript_1 = require("sequelize-typescript");
|
|
5
5
|
const belongsto_1 = require("../types/belongsto");
|
|
6
6
|
const foreignkey_1 = require("../types/foreignkey");
|
|
7
7
|
const dbml_1 = require("../dbml");
|
|
8
8
|
const console_1 = require("../console");
|
|
9
9
|
const types_1 = require("../types");
|
|
10
|
+
const schema_1 = require("@asapjs/schema");
|
|
11
|
+
const register_1 = require("../types/register");
|
|
10
12
|
function Table(options) {
|
|
11
13
|
return function (target) {
|
|
14
|
+
// Sequelize 플러그인과 타입 등록 확인
|
|
15
|
+
if (!schema_1.registry.has('sequelize')) {
|
|
16
|
+
schema_1.registry.register(schema_1.sequelizePlugin);
|
|
17
|
+
}
|
|
18
|
+
(0, register_1.registerSequelizeTypes)();
|
|
12
19
|
const modelName = options.tableName || target.name;
|
|
13
20
|
const types = (0, types_1.getTypesData)(target);
|
|
14
21
|
Object.entries(types).forEach(([key, type]) => {
|
|
@@ -19,7 +26,15 @@ function Table(options) {
|
|
|
19
26
|
(0, belongsto_1.TypeIsBelongsToAddColumn)(target, type, key);
|
|
20
27
|
}
|
|
21
28
|
else {
|
|
22
|
-
|
|
29
|
+
let sequelizeConfig = type.toSequelize();
|
|
30
|
+
// id 필드에 대한 특별 처리
|
|
31
|
+
if (key === 'id' && sequelizeConfig && !sequelizeConfig.primaryKey) {
|
|
32
|
+
// 오류 메시지로 보아 primaryKey가 제대로 전달되지 않고 있음
|
|
33
|
+
// 임시로 primaryKey를 true로 설정
|
|
34
|
+
console.warn(`Warning: 'id' field missing primaryKey in table '${modelName}'. Adding primaryKey: true`);
|
|
35
|
+
sequelizeConfig = Object.assign(Object.assign({}, sequelizeConfig), { primaryKey: true });
|
|
36
|
+
}
|
|
37
|
+
(0, sequelize_typescript_1.addAttribute)(target.prototype, key, sequelizeConfig);
|
|
23
38
|
}
|
|
24
39
|
});
|
|
25
40
|
if ((options === null || options === void 0 ? void 0 : options.timestamps) !== false) {
|
|
@@ -40,5 +55,4 @@ function Table(options) {
|
|
|
40
55
|
(0, sequelize_typescript_1.addOptions)(target.prototype, Object.assign(Object.assign({}, options), { charset: 'utf8mb4', collate: 'utf8mb4_general_ci' }));
|
|
41
56
|
};
|
|
42
57
|
}
|
|
43
|
-
exports.Table = Table;
|
|
44
58
|
//# sourceMappingURL=index.js.map
|
package/dist/table/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/table/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/table/index.ts"],"names":[],"mappings":";;AAUA,sBAuDC;AAhED,+DAA8E;AAC9E,kDAA8D;AAC9D,oDAA+D;AAC/D,kCAAmD;AACnD,wCAAyD;AACzD,oCAAmD;AACnD,2CAA2D;AAC3D,gDAA2D;AAE3D,SAAgB,KAAK,CAAC,OAAqB;IACzC,OAAO,UAA+B,MAAS;QAC7C,2BAA2B;QAC3B,IAAI,CAAC,iBAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,iBAAQ,CAAC,QAAQ,CAAC,wBAAe,CAAC,CAAC;QACrC,CAAC;QACD,IAAA,iCAAsB,GAAE,CAAC;QAEzB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC;QACnD,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;QAEnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACjC,IAAA,qCAAwB,EAAI,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACvC,IAAA,oCAAwB,EAAI,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAe,GAAI,IAAY,CAAC,WAAW,EAAE,CAAC;gBAElD,kBAAkB;gBAClB,IAAI,GAAG,KAAK,IAAI,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;oBACnE,wCAAwC;oBACxC,2BAA2B;oBAC3B,OAAO,CAAC,IAAI,CAAC,oDAAoD,SAAS,4BAA4B,CAAC,CAAC;oBACxG,eAAe,mCAAQ,eAAe,KAAE,UAAU,EAAE,IAAI,GAAE,CAAC;gBAC7D,CAAC;gBAED,IAAA,mCAAY,EAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,MAAK,KAAK,EAAE,CAAC;YAClC,IAAA,iCAAU,EAAC,MAAM,CAAC,SAAS,EAAE;gBAC3B,SAAS,EAAE,YAAY;gBACvB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YAEH,IAAA,iCAAU,EAAC,MAAM,CAAC,SAAS,EAAE;gBAC3B,SAAS,EAAE,YAAY;gBACvB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,gCAAgC;QAChC,IAAA,eAAY,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAA,kBAAe,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE/C,uBAAuB;QACvB,IAAA,mCAAY,EAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1C,IAAA,iCAAU,EAAC,MAAM,CAAC,SAAS,kCACtB,OAAO,KACV,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,oBAAoB,IAC7B,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClassType } from './index';
|
|
2
2
|
import { TypeIsData } from './generators/typeGenerator';
|
|
3
3
|
export declare const TypeIsBelongsToAddColumn: <T extends ClassType>(target: T, type: TypeIsData, key: string) => void;
|
|
4
|
-
declare const TypeIsBelongsTo: (...options: any[]) => (target?: any, propertyName?: string
|
|
4
|
+
declare const TypeIsBelongsTo: (...options: any[]) => (target?: any, propertyName?: string, propertyDescriptor?: PropertyDescriptor) => void & TypeIsData;
|
|
5
5
|
export default TypeIsBelongsTo;
|
|
6
6
|
//# sourceMappingURL=belongsto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"belongsto.d.ts","sourceRoot":"","sources":["../../src/types/belongsto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAiB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEvE,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"belongsto.d.ts","sourceRoot":"","sources":["../../src/types/belongsto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAiB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEvE,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,UAAU,EAAE,KAAK,MAAM,SASrG,CAAC;AAEF,QAAA,MAAM,eAAe,0BASO,YAAY,EAAC,qBAAsB,EAAC,uCAAwC,sBAHrG,CAAC;AAEJ,eAAe,eAAe,CAAC"}
|
package/dist/types/belongsto.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TypeIsBelongsToAddColumn = void 0;
|
|
4
|
-
const
|
|
4
|
+
const common_1 = require("@asapjs/common");
|
|
5
5
|
const sequelize_typescript_1 = require("sequelize-typescript");
|
|
6
6
|
const typeGenerator_1 = require("./generators/typeGenerator");
|
|
7
7
|
const TypeIsBelongsToAddColumn = (target, type, key) => {
|
|
8
8
|
if (!type.toSequelize) {
|
|
9
|
-
|
|
9
|
+
common_1.logger.error('@asapjs/sequelize :: TypeIs.BELONGSTO에 toSequelize가 정의되지 않았습니다.');
|
|
10
10
|
process.exit(1);
|
|
11
11
|
}
|
|
12
12
|
const { associatedClassGetter, optionsOrForeignKey } = type.toSequelize();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"belongsto.js","sourceRoot":"","sources":["../../src/types/belongsto.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"belongsto.js","sourceRoot":"","sources":["../../src/types/belongsto.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,+DAA2G;AAE3G,8DAAuE;AAEhE,MAAM,wBAAwB,GAAG,CAAsB,MAAS,EAAE,IAAgB,EAAE,GAAW,EAAE,EAAE;IACxG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,eAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1E,MAAM,OAAO,GAAG,IAAA,oDAA6B,EAAC,mBAAmB,CAAC,CAAC;IACnE,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC;IAClC,IAAA,qCAAc,EAAC,MAAM,CAAC,SAAS,EAAE,IAAI,2CAAoB,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC;AATW,QAAA,wBAAwB,4BASnC;AAEF,MAAM,eAAe,GAAG,IAAA,6BAAa,EAAC,CAAC,qBAA0B,EAAE,mBAAyB,EAAE,EAAE,CAAC,CAAC;IAChG,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAClB,qBAAqB;QACrB,mBAAmB;KACpB,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,kBAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TypeIs } from '@asapjs/schema';
|
|
2
|
+
export declare function createDecorator(typeName: keyof typeof TypeIs): (options?: any) => (target: any, propertyName: string, propertyDescriptor?: PropertyDescriptor) => void;
|
|
3
|
+
export declare const TypeIsDecorators: any;
|
|
4
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/types/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,gBAAgB,CAAC;AAWnE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,OAAO,MAAM,IACnD,UAAU,GAAG,MACX,QAAQ,GAAG,EAAE,cAAc,MAAM,EAAE,qBAAqB,kBAAkB,UA4BrF;AAiBD,eAAO,MAAM,gBAAgB,KAA2B,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeIsDecorators = void 0;
|
|
4
|
+
exports.createDecorator = createDecorator;
|
|
5
|
+
const schema_1 = require("@asapjs/schema");
|
|
6
|
+
const typeGenerator_1 = require("./generators/typeGenerator");
|
|
7
|
+
const register_1 = require("./register");
|
|
8
|
+
// 데코레이터가 생성될 때 sequelize 플러그인 확인
|
|
9
|
+
if (!schema_1.registry.has('sequelize')) {
|
|
10
|
+
schema_1.registry.register(schema_1.sequelizePlugin);
|
|
11
|
+
}
|
|
12
|
+
(0, register_1.registerSequelizeTypes)();
|
|
13
|
+
// 데코레이터로 사용할 수 있도록 wrapper 함수 생성
|
|
14
|
+
function createDecorator(typeName) {
|
|
15
|
+
return (options) => {
|
|
16
|
+
return (target, propertyName, propertyDescriptor) => {
|
|
17
|
+
// TypeIs에서 타입 생성
|
|
18
|
+
const typeFactory = schema_1.TypeIs[typeName];
|
|
19
|
+
if (!typeFactory) {
|
|
20
|
+
throw new Error(`Type ${typeName} is not registered in TypeIs`);
|
|
21
|
+
}
|
|
22
|
+
const schemaType = typeFactory(options);
|
|
23
|
+
// 기존 sequelize 메타데이터 시스템과 호환
|
|
24
|
+
(0, typeGenerator_1.saveTypesData)(target, propertyName, {
|
|
25
|
+
__name: schemaType.__name,
|
|
26
|
+
toSwagger: () => schemaType.toSwagger ? schemaType.toSwagger() : {},
|
|
27
|
+
toSequelize: () => schemaType.toSequelize ? schemaType.toSequelize() : {},
|
|
28
|
+
fixValue: schemaType.parse ? (v) => {
|
|
29
|
+
try {
|
|
30
|
+
return schemaType.parse(v);
|
|
31
|
+
}
|
|
32
|
+
catch (_a) {
|
|
33
|
+
return v;
|
|
34
|
+
}
|
|
35
|
+
} : undefined,
|
|
36
|
+
});
|
|
37
|
+
if (propertyDescriptor) {
|
|
38
|
+
propertyDescriptor.value = schemaType;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
// 모든 TypeIs 타입에 대한 데코레이터를 동적으로 생성
|
|
44
|
+
function createTypeIsDecorators() {
|
|
45
|
+
const decorators = {};
|
|
46
|
+
// TypeIs의 모든 속성에 대해 데코레이터 생성
|
|
47
|
+
for (const key in schema_1.TypeIs) {
|
|
48
|
+
if (schema_1.TypeIs.hasOwnProperty(key) && typeof schema_1.TypeIs[key] === 'function') {
|
|
49
|
+
decorators[key] = createDecorator(key);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return decorators;
|
|
53
|
+
}
|
|
54
|
+
// 모든 TypeIs 타입에 대한 데코레이터 export
|
|
55
|
+
exports.TypeIsDecorators = createTypeIsDecorators();
|
|
56
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/types/decorators.ts"],"names":[],"mappings":";;;AAWA,0CA8BC;AAzCD,2CAAmE;AACnE,8DAA2D;AAC3D,yCAAoD;AAEpD,iCAAiC;AACjC,IAAI,CAAC,iBAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;IAC/B,iBAAQ,CAAC,QAAQ,CAAC,wBAAe,CAAC,CAAC;AACrC,CAAC;AACD,IAAA,iCAAsB,GAAE,CAAC;AAEzB,iCAAiC;AACjC,SAAgB,eAAe,CAAC,QAA6B;IAC3D,OAAO,CAAC,OAAa,EAAE,EAAE;QACvB,OAAO,CAAC,MAAW,EAAE,YAAoB,EAAE,kBAAuC,EAAE,EAAE;YACpF,iBAAiB;YACjB,MAAM,WAAW,GAAG,eAAM,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,8BAA8B,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YAExC,6BAA6B;YAC7B,IAAA,6BAAa,EAAC,MAAM,EAAE,YAAY,EAAE;gBAClC,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;gBACnE,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gBACzE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAM,EAAE,EAAE;oBACtC,IAAI,CAAC;wBACH,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC7B,CAAC;oBAAC,WAAM,CAAC;wBACP,OAAO,CAAC,CAAC;oBACX,CAAC;gBACH,CAAC,CAAC,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;YAEH,IAAI,kBAAkB,EAAE,CAAC;gBACvB,kBAAkB,CAAC,KAAK,GAAG,UAAU,CAAC;YACxC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,kCAAkC;AAClC,SAAS,sBAAsB;IAC7B,MAAM,UAAU,GAAQ,EAAE,CAAC;IAE3B,6BAA6B;IAC7B,KAAK,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QACzB,IAAI,eAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,OAAO,eAAM,CAAC,GAA0B,CAAC,KAAK,UAAU,EAAE,CAAC;YAC3F,UAAU,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAA0B,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gCAAgC;AACnB,QAAA,gBAAgB,GAAG,sBAAsB,EAAE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TypeIsData } from './generators/typeGenerator';
|
|
2
2
|
import { ClassType } from './index';
|
|
3
3
|
export declare const TypeIsForienKeyAddColumn: <T extends ClassType>(target: T, type: TypeIsData, key: string) => void;
|
|
4
|
-
declare const TypeIsForeignKey: (...options: any[]) => (target?: any, propertyName?: string
|
|
4
|
+
declare const TypeIsForeignKey: (...options: any[]) => (target?: any, propertyName?: string, propertyDescriptor?: PropertyDescriptor) => void & TypeIsData;
|
|
5
5
|
export default TypeIsForeignKey;
|
|
6
6
|
//# sourceMappingURL=foreignkey.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foreignkey.d.ts","sourceRoot":"","sources":["../../src/types/foreignkey.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"foreignkey.d.ts","sourceRoot":"","sources":["../../src/types/foreignkey.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAOpC,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,UAAU,EAAE,KAAK,MAAM,SAiBrG,CAAC;AAEF,QAAA,MAAM,gBAAgB,0BAA8B,YAAW,EAAC,qBACrD,EAAC,uCAER,sBAGD,CAAC;AAEJ,eAAe,gBAAgB,CAAC"}
|
package/dist/types/foreignkey.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TypeIsForienKeyAddColumn = void 0;
|
|
4
|
-
const
|
|
4
|
+
const common_1 = require("@asapjs/common");
|
|
5
5
|
const typeGenerator_1 = require("./generators/typeGenerator");
|
|
6
|
-
const
|
|
6
|
+
const schema_1 = require("@asapjs/schema");
|
|
7
7
|
// sequelize-typescript
|
|
8
8
|
const foreign_key_service_1 = require("sequelize-typescript/dist/associations/foreign-key/foreign-key-service");
|
|
9
9
|
const attribute_service_1 = require("sequelize-typescript/dist/model/column/attribute-service");
|
|
10
10
|
const TypeIsForienKeyAddColumn = (target, type, key) => {
|
|
11
11
|
if (!type.toSequelize) {
|
|
12
|
-
|
|
12
|
+
common_1.logger.error('@asapjs/sequelize :: TypeIs.FOREIGNKEY에 toSequelize가 정의되지 않았습니다.');
|
|
13
13
|
process.exit(1);
|
|
14
14
|
}
|
|
15
15
|
const { extraData, table } = type.toSequelize();
|
|
16
16
|
(0, foreign_key_service_1.addForeignKey)(target.prototype, table, key);
|
|
17
17
|
if (extraData) {
|
|
18
18
|
// 지정한 type이 없을 경우 INT로 지정
|
|
19
|
-
const type = (extraData === null || extraData === void 0 ? void 0 : extraData.type) ||
|
|
19
|
+
const type = (extraData === null || extraData === void 0 ? void 0 : extraData.type) || schema_1.TypeIs.INT();
|
|
20
20
|
const sequelizeType = type().toSequelize();
|
|
21
21
|
(0, attribute_service_1.addAttribute)(target.prototype, key, Object.assign(Object.assign({}, extraData), sequelizeType));
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foreignkey.js","sourceRoot":"","sources":["../../src/types/foreignkey.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"foreignkey.js","sourceRoot":"","sources":["../../src/types/foreignkey.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,8DAAuE;AAGvE,2CAAwC;AAExC,uBAAuB;AACvB,gHAAuG;AACvG,gGAAwF;AAEjF,MAAM,wBAAwB,GAAG,CAAsB,MAAS,EAAE,IAAgB,EAAE,GAAW,EAAE,EAAE;IACxG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,eAAM,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChD,IAAA,mCAAa,EAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAE5C,IAAI,SAAS,EAAE,CAAC;QACd,0BAA0B;QAC1B,MAAM,IAAI,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,KAAI,eAAM,CAAC,GAAG,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAA,gCAAY,EAAC,MAAM,CAAC,SAAS,EAAE,GAAG,kCAC7B,SAAS,GACT,aAAa,EAChB,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,wBAAwB,4BAiBnC;AAEF,MAAM,gBAAgB,GAAG,IAAA,6BAAa,EAAC,CAAC,KAAU,EAAE,SAAe,EAAE,EAAE,CAAC,CAAC;IACvE,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAClB,KAAK;QACL,SAAS;KACV,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,kBAAe,gBAAgB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ModelAttributeColumnOptions } from 'sequelize';
|
|
2
|
-
export declare const toSequelizeGenerator: <T>(generator: (options?:
|
|
2
|
+
export declare const toSequelizeGenerator: <T>(generator: (options?: T & ModelAttributeColumnOptions) => ModelAttributeColumnOptions) => (options?: T & ModelAttributeColumnOptions) => ModelAttributeColumnOptions;
|
|
3
3
|
//# sourceMappingURL=toSequelizeGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toSequelizeGenerator.d.ts","sourceRoot":"","sources":["../../../src/types/generators/toSequelizeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"toSequelizeGenerator.d.ts","sourceRoot":"","sources":["../../../src/types/generators/toSequelizeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,eAAO,MAAM,oBAAoB,GAAI,CAAC,EACpC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,2BAA2B,KAAK,2BAA2B,gBAA/D,CAAC,GAAG,2BAA2B,KAAK,2BAC9C,CAAC"}
|
|
@@ -6,5 +6,5 @@ export interface ISwaggerData {
|
|
|
6
6
|
items?: any;
|
|
7
7
|
$ref?: string;
|
|
8
8
|
}
|
|
9
|
-
export declare const toSwaggerGenerator: <T>(generator: (options?:
|
|
9
|
+
export declare const toSwaggerGenerator: <T>(generator: (options?: T & ModelAttributeColumnOptions) => ISwaggerData) => (options?: T & ModelAttributeColumnOptions) => ISwaggerData;
|
|
10
10
|
//# sourceMappingURL=toSwaggerGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toSwaggerGenerator.d.ts","sourceRoot":"","sources":["../../../src/types/generators/toSwaggerGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"toSwaggerGenerator.d.ts","sourceRoot":"","sources":["../../../src/types/generators/toSwaggerGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,2BAA2B,KAAK,YAAY,gBAAhD,CAAC,GAAG,2BAA2B,KAAK,YACrF,CAAC"}
|
|
@@ -14,5 +14,5 @@ export declare const getTypesData: (target: any) => {
|
|
|
14
14
|
export declare const saveNewTypesData: (attributes: any, target: any) => void;
|
|
15
15
|
export declare const saveTypesData: (target: any, propertyName: any, value: any) => void;
|
|
16
16
|
export type TypeGeneratorPropsGenerator<T> = T & ModelAttributeColumnOptions;
|
|
17
|
-
export declare const typeGenerator: <T>(data: (...args: TypeGeneratorPropsGenerator<T>[]) => TypeIsData) => (...options: (
|
|
17
|
+
export declare const typeGenerator: <T>(data: (...args: TypeGeneratorPropsGenerator<T>[]) => TypeIsData) => (...options: (T | ModelAttributeColumnOptions)[]) => (target?: any, propertyName?: string, propertyDescriptor?: PropertyDescriptor) => void & TypeIsData;
|
|
18
18
|
//# sourceMappingURL=typeGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeGenerator.d.ts","sourceRoot":"","sources":["../../../src/types/generators/typeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;CAC5B,CAAC;AAIF,eAAO,MAAM,OAAO;;CAEnB,CAAC;AAEF,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"typeGenerator.d.ts","sourceRoot":"","sources":["../../../src/types/generators/typeGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;CAC5B,CAAC;AAIF,eAAO,MAAM,OAAO;;CAEnB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,QAAQ,GAAG,KAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAIrE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,YAAY,GAAG,EAAE,QAAQ,GAAG,SAE5D,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,QAAQ,GAAG,EAAE,cAAc,GAAG,EAAE,OAAO,GAAG,SAMvE,CAAC;AAEF,MAAM,MAAM,2BAA2B,CAAC,CAAC,IAAI,CAAC,GAAG,2BAA2B,CAAC;AAE7E,eAAO,MAAM,aAAa,GACvB,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,MAClE,GAAG,SAAS,CAAC,CAAC,GAAG,2BAA2B,CAAC,EAAE,MACtC,SAAS,GAAG,EAAE,eAAe,MAAM,EAAE,qBAAqB,kBAAkB,KAAG,IAAI,GAAG,UAa/F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeGenerator.js","sourceRoot":"","sources":["../../../src/types/generators/typeGenerator.ts"],"names":[],"mappings":";;;AASA,MAAM,IAAI,GAA2B,EAAE,CAAC;AAEjC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAFW,QAAA,OAAO,WAElB;AAEK,MAAM,YAAY,GAAG,CAAC,MAAW,EAAiC,EAAE;;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,0CAAE,IAAI,CAAA,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAJW,QAAA,YAAY,gBAIvB;AAEK,MAAM,gBAAgB,GAAG,CAAC,UAAe,EAAE,MAAW,EAAE,EAAE;IAC/D,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;AAC7C,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEK,MAAM,aAAa,GAAG,CAAC,MAAW,EAAE,YAAiB,EAAE,KAAU,EAAE,EAAE;IAC1E,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;IAEnC,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IAE5B,IAAA,wBAAgB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB;AAIK,MAAM,aAAa,GACxB,CAAI,IAA+D,EAAE,EAAE,CACvE,CAAC,GAAG,OAA4C,EAAE,EAAE;IAClD,OAAO,CAAC,MAAY,EAAE,YAAqB,EAAE,kBAAuC,EAAqB,EAAE;QACzG,IAAI,MAAM,KAAK,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"typeGenerator.js","sourceRoot":"","sources":["../../../src/types/generators/typeGenerator.ts"],"names":[],"mappings":";;;AASA,MAAM,IAAI,GAA2B,EAAE,CAAC;AAEjC,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAFW,QAAA,OAAO,WAElB;AAEK,MAAM,YAAY,GAAG,CAAC,MAAW,EAAiC,EAAE;;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,0CAAE,IAAI,CAAA,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAJW,QAAA,YAAY,gBAIvB;AAEK,MAAM,gBAAgB,GAAG,CAAC,UAAe,EAAE,MAAW,EAAE,EAAE;IAC/D,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;AAC7C,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEK,MAAM,aAAa,GAAG,CAAC,MAAW,EAAE,YAAiB,EAAE,KAAU,EAAE,EAAE;IAC1E,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;IAEnC,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IAE5B,IAAA,wBAAgB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB;AAIK,MAAM,aAAa,GACxB,CAAI,IAA+D,EAAE,EAAE,CACvE,CAAC,GAAG,OAA4C,EAAE,EAAE;IAClD,OAAO,CAAC,MAAY,EAAE,YAAqB,EAAE,kBAAuC,EAAqB,EAAE;QACzG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAI,OAA4C,CAAC,CAAC;YAEpE,IAAA,qBAAa,EAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAE1C,IAAI,kBAAkB,EAAE,CAAC;gBACvB,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC;YAClC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,GAAI,OAA4C,CAAQ,CAAC;QACvE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAhBS,QAAA,aAAa,iBAgBtB"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,26 +1,8 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
DECIMAL: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./decemal").TypeIsDecemalOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
7
|
-
DOUBLE: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./double").TypeIsDoubleOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
8
|
-
STRING: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./string").TypeIsStringOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
9
|
-
TEXT: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./text").TypeIsTextOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
10
|
-
PASSWORD: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./string").TypeIsStringOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
11
|
-
ENUM: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./enum").TypeIsEnumOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
12
|
-
JSON: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./json").TypeIsJsonOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
13
|
-
BASE64: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./base64").TypeIsBase64Option)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
14
|
-
BINARY: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./binary").TypeIsBinaryOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
15
|
-
BOOLEAN: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./boolean").TypeIsBooleanOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
16
|
-
DATEONLY: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./dateonly").TypeIsDateOnlyOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
17
|
-
DATETIME: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./datetime").TypeIsDateTimeOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
18
|
-
FOREIGNKEY: (...options: any[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
19
|
-
BELONGSTO: (...options: any[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
20
|
-
DTO: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./dto").TypeIsDtoOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
21
|
-
QUERY: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./query").TypeIsQueryOption)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
22
|
-
ARRAY: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./type").DtoOrTypeIs)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
23
|
-
PAGING: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./type").DtoOrTypeIs)[]) => (target?: any, propertyName?: string | undefined, propertyDescriptor?: PropertyDescriptor | undefined) => void & import("./generators/typeGenerator").TypeIsData;
|
|
1
|
+
export declare const LegacyTypeIs: {
|
|
2
|
+
FOREIGNKEY: (...options: any[]) => (target?: any, propertyName?: string, propertyDescriptor?: PropertyDescriptor) => void & import("./generators/typeGenerator").TypeIsData;
|
|
3
|
+
BELONGSTO: (...options: any[]) => (target?: any, propertyName?: string, propertyDescriptor?: PropertyDescriptor) => void & import("./generators/typeGenerator").TypeIsData;
|
|
4
|
+
QUERY: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./query").TypeIsQueryOption)[]) => (target?: any, propertyName?: string, propertyDescriptor?: PropertyDescriptor) => void & import("./generators/typeGenerator").TypeIsData;
|
|
5
|
+
PAGING: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | import("./type").DtoOrTypeIs)[]) => (target?: any, propertyName?: string, propertyDescriptor?: PropertyDescriptor) => void & import("./generators/typeGenerator").TypeIsData;
|
|
24
6
|
};
|
|
25
7
|
export { DtoOrTypeIs, ClassType } from './type';
|
|
26
8
|
export { TypeIsData, getTypesData, getData } from './generators/typeGenerator';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;wCAS6hB,YAAY,EAAC,qBAAsB,EAAC,uCAAwC;uCAA5E,YAAY,EAAC,qBAAsB,EAAC,uCAAwC;4JAA5E,YAAY,EAAC,qBAAsB,EAAC,uCAAwC;sJAA5E,YAAY,EAAC,qBAAsB,EAAC,uCAAwC;CAJjoB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -3,51 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getData = exports.getTypesData = exports.
|
|
7
|
-
|
|
8
|
-
const bigint_1 = __importDefault(require("./bigint"));
|
|
9
|
-
const long_1 = __importDefault(require("./long"));
|
|
10
|
-
const float_1 = __importDefault(require("./float"));
|
|
11
|
-
const decemal_1 = __importDefault(require("./decemal"));
|
|
12
|
-
const double_1 = __importDefault(require("./double"));
|
|
13
|
-
const string_1 = __importDefault(require("./string"));
|
|
14
|
-
const text_1 = __importDefault(require("./text"));
|
|
15
|
-
const password_1 = __importDefault(require("./password"));
|
|
16
|
-
const enum_1 = __importDefault(require("./enum"));
|
|
17
|
-
const json_1 = __importDefault(require("./json"));
|
|
18
|
-
const base64_1 = __importDefault(require("./base64"));
|
|
19
|
-
const binary_1 = __importDefault(require("./binary"));
|
|
20
|
-
const boolean_1 = __importDefault(require("./boolean"));
|
|
21
|
-
const dateonly_1 = __importDefault(require("./dateonly"));
|
|
22
|
-
const datetime_1 = __importDefault(require("./datetime"));
|
|
6
|
+
exports.getData = exports.getTypesData = exports.LegacyTypeIs = void 0;
|
|
7
|
+
// Sequelize 전용 타입들만 import
|
|
23
8
|
const foreignkey_1 = __importDefault(require("./foreignkey"));
|
|
24
9
|
const belongsto_1 = __importDefault(require("./belongsto"));
|
|
25
|
-
const dto_1 = __importDefault(require("./dto"));
|
|
26
10
|
const query_1 = __importDefault(require("./query"));
|
|
27
|
-
const array_1 = __importDefault(require("./array"));
|
|
28
11
|
const paging_1 = __importDefault(require("./paging"));
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
BIGINT: bigint_1.default,
|
|
32
|
-
LONG: long_1.default,
|
|
33
|
-
FLOAT: float_1.default,
|
|
34
|
-
DECIMAL: decemal_1.default,
|
|
35
|
-
DOUBLE: double_1.default,
|
|
36
|
-
STRING: string_1.default,
|
|
37
|
-
TEXT: text_1.default,
|
|
38
|
-
PASSWORD: password_1.default,
|
|
39
|
-
ENUM: enum_1.default,
|
|
40
|
-
JSON: json_1.default,
|
|
41
|
-
BASE64: base64_1.default,
|
|
42
|
-
BINARY: binary_1.default,
|
|
43
|
-
BOOLEAN: boolean_1.default,
|
|
44
|
-
DATEONLY: dateonly_1.default,
|
|
45
|
-
DATETIME: datetime_1.default,
|
|
12
|
+
// 레거시 코드를 위한 export - 사용하지 말 것
|
|
13
|
+
exports.LegacyTypeIs = {
|
|
46
14
|
FOREIGNKEY: foreignkey_1.default,
|
|
47
15
|
BELONGSTO: belongsto_1.default,
|
|
48
|
-
DTO: dto_1.default,
|
|
49
16
|
QUERY: query_1.default,
|
|
50
|
-
ARRAY: array_1.default,
|
|
51
17
|
PAGING: paging_1.default,
|
|
52
18
|
};
|
|
53
19
|
var typeGenerator_1 = require("./generators/typeGenerator");
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;AAAA,2BAA2B;AAC3B,8DAA4C;AAC5C,4DAA0C;AAC1C,oDAAkC;AAClC,sDAAoC;AAEpC,+BAA+B;AAClB,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE,oBAAgB;IAC5B,SAAS,EAAE,mBAAe;IAC1B,KAAK,EAAE,eAAW;IAClB,MAAM,EAAE,gBAAY;CACrB,CAAC;AAGF,4DAA+E;AAA1D,6GAAA,YAAY,OAAA;AAAE,wGAAA,OAAO,OAAA"}
|
package/dist/types/paging.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DtoOrTypeIs } from './index';
|
|
2
2
|
import { TypeIsData } from './generators/typeGenerator';
|
|
3
3
|
export declare const TypeIsPagingToSwagger: (options?: (DtoOrTypeIs & import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>>) | undefined) => import("./generators/toSwaggerGenerator").ISwaggerData;
|
|
4
|
-
declare const TypeIsPaging: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | DtoOrTypeIs)[]) => (target?: any, propertyName?: string
|
|
4
|
+
declare const TypeIsPaging: (...options: (import("sequelize").ModelAttributeColumnOptions<import("sequelize").Model<any, any>> | DtoOrTypeIs)[]) => (target?: any, propertyName?: string, propertyDescriptor?: PropertyDescriptor) => void & TypeIsData;
|
|
5
5
|
export default TypeIsPaging;
|
|
6
6
|
//# sourceMappingURL=paging.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paging.d.ts","sourceRoot":"","sources":["../../src/types/paging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAiB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMvE,eAAO,MAAM,qBAAqB,wLAkEhC,CAAC;AAEH,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"paging.d.ts","sourceRoot":"","sources":["../../src/types/paging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAiB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMvE,eAAO,MAAM,qBAAqB,wLAkEhC,CAAC;AAEH,QAAA,MAAM,YAAY,2HApCV,YAAU,EAAC,qBACL,EAAC,uCAEJ,sBAoCR,CAAC;AAEJ,eAAe,YAAY,CAAC"}
|
package/dist/types/paging.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.TypeIsPagingToSwagger = void 0;
|
|
|
7
7
|
const typeGenerator_1 = require("./generators/typeGenerator");
|
|
8
8
|
const isClass_1 = __importDefault(require("../utils/isClass"));
|
|
9
9
|
const toSwaggerGenerator_1 = require("./generators/toSwaggerGenerator");
|
|
10
|
-
const
|
|
10
|
+
const swagger_1 = require("../utils/swagger");
|
|
11
11
|
exports.TypeIsPagingToSwagger = (0, toSwaggerGenerator_1.toSwaggerGenerator)((options) => {
|
|
12
12
|
var _a;
|
|
13
13
|
const isDto = (0, isClass_1.default)(options);
|
|
@@ -53,7 +53,7 @@ exports.TypeIsPagingToSwagger = (0, toSwaggerGenerator_1.toSwaggerGenerator)((op
|
|
|
53
53
|
if (isDto) {
|
|
54
54
|
const dto = new options();
|
|
55
55
|
const name = `${dto.constructor.name}_PAGING`;
|
|
56
|
-
(0,
|
|
56
|
+
(0, swagger_1.addScheme)({
|
|
57
57
|
name,
|
|
58
58
|
data: generateScheme(dto.swagger()),
|
|
59
59
|
});
|
|
@@ -64,7 +64,7 @@ exports.TypeIsPagingToSwagger = (0, toSwaggerGenerator_1.toSwaggerGenerator)((op
|
|
|
64
64
|
else {
|
|
65
65
|
const type = options();
|
|
66
66
|
const name = `TYPE_${type.__name.toUpperCase()}_PAGING`;
|
|
67
|
-
(0,
|
|
67
|
+
(0, swagger_1.addScheme)({
|
|
68
68
|
name,
|
|
69
69
|
data: generateScheme((_a = type.toSwagger) === null || _a === void 0 ? void 0 : _a.call(type)),
|
|
70
70
|
});
|