@asapjs/sequelize 1.0.0-alpha.10 → 1.0.0-alpha.12
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/dto/ExtendableDto.d.ts +27 -2
- package/dist/dto/ExtendableDto.d.ts.map +1 -1
- package/dist/dto/ExtendableDto.js +51 -39
- package/dist/dto/ExtendableDto.js.map +1 -1
- package/dist/dto/index.d.ts +1 -1
- package/dist/dto/index.d.ts.map +1 -1
- package/dist/dto/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/repository/index.d.ts +18 -9
- package/dist/repository/index.d.ts.map +1 -1
- package/dist/repository/index.js +27 -24
- package/dist/repository/index.js.map +1 -1
- package/package.json +44 -44
|
@@ -1,17 +1,42 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { Model } from 'sequelize-typescript';
|
|
3
3
|
import { Attributes, Includeable } from 'sequelize';
|
|
4
|
+
/** 페이징 응답 타입. pagingMap() 반환 타입으로 추론됩니다. */
|
|
5
|
+
export interface PagingResponse<T> {
|
|
6
|
+
data: T[];
|
|
7
|
+
page: number;
|
|
8
|
+
page_size: number;
|
|
9
|
+
max_page: number;
|
|
10
|
+
has_prev: boolean;
|
|
11
|
+
has_next: boolean;
|
|
12
|
+
total_elements: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* DTO 클래스에서 ExtendableDto 메서드(init, map, pagingMap 등)를 제외한
|
|
16
|
+
* 실제 데이터 필드만 남긴 plain 타입. map() 결과·API 응답 타입에 사용.
|
|
17
|
+
*/
|
|
18
|
+
export type DtoData<T extends ExtendableDto> = Omit<T, keyof ExtendableDto>;
|
|
4
19
|
interface DtoMiddlewareReturn {
|
|
5
20
|
as?: string;
|
|
6
21
|
model: typeof Model;
|
|
7
22
|
attributes: Attributes<Model>;
|
|
8
23
|
include?: Includeable[];
|
|
9
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* DTO 베이스 클래스.
|
|
27
|
+
* map() / pagingMap() 반환 타입은 DtoData<T> — 데이터 필드만 포함(init, map, pagingMap 등 메서드 제외).
|
|
28
|
+
*/
|
|
10
29
|
export default class ExtendableDto {
|
|
11
30
|
static isInitlized: boolean;
|
|
12
31
|
init: () => void;
|
|
13
|
-
|
|
14
|
-
|
|
32
|
+
/** 배열 입력 시 DtoData<T>[], 단일 객체 입력 시 DtoData<T> 로 반환됩니다. */
|
|
33
|
+
map<T extends ExtendableDto>(this: T, data: any[]): DtoData<T>[];
|
|
34
|
+
map<T extends ExtendableDto>(this: T, data: any): DtoData<T>;
|
|
35
|
+
/** 반환 타입은 PagingResponse<DtoData<T>> — 데이터 필드만 포함합니다. */
|
|
36
|
+
pagingMap<T extends ExtendableDto>(this: T, data: {
|
|
37
|
+
data: any[];
|
|
38
|
+
[key: string]: any;
|
|
39
|
+
}): PagingResponse<DtoData<T>>;
|
|
15
40
|
middleware: (as?: string, user?: any, extraAs?: string[]) => DtoMiddlewareReturn;
|
|
16
41
|
generateScheme: () => {
|
|
17
42
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendableDto.d.ts","sourceRoot":"","sources":["../../src/dto/ExtendableDto.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,WAAW,CAAC;AAQ7D,UAAU,mBAAmB;
|
|
1
|
+
{"version":3,"file":"ExtendableDto.d.ts","sourceRoot":"","sources":["../../src/dto/ExtendableDto.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,WAAW,CAAC;AAQ7D,4CAA4C;AAC5C,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,aAAa,CAAC,CAAC;AAE5E,UAAU,mBAAmB;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC,MAAM,CAAC,WAAW,UAAS;IAEpB,IAAI,aAGT;IAEF,2DAA2D;IACpD,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE;IAChE,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAyCnE,yDAAyD;IAClD,SAAS,CAAC,CAAC,SAAS,aAAa,EACvC,IAAI,EAAE,CAAC,EACP,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GACvC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAMtB,UAAU,GAAI,KAAK,MAAM,EAAE,OAAO,GAAG,EAAE,UAAU,MAAM,EAAE,yBA6F9D;IAEK,cAAc;;;;;MAsBnB;IAEK,OAAO;;MAKZ;CACF"}
|
|
@@ -5,53 +5,24 @@ const sequelize_1 = require("sequelize");
|
|
|
5
5
|
const types_1 = require("../types");
|
|
6
6
|
const common_1 = require("@asapjs/common");
|
|
7
7
|
const swagger_1 = require("../utils/swagger");
|
|
8
|
+
/**
|
|
9
|
+
* DTO 베이스 클래스.
|
|
10
|
+
* map() / pagingMap() 반환 타입은 DtoData<T> — 데이터 필드만 포함(init, map, pagingMap 등 메서드 제외).
|
|
11
|
+
*/
|
|
8
12
|
class ExtendableDto {
|
|
9
13
|
constructor() {
|
|
10
14
|
this.init = () => {
|
|
11
15
|
const dtoName = this.constructor.name;
|
|
12
16
|
(0, swagger_1.addScheme)({ name: dtoName, data: this.generateScheme() });
|
|
13
17
|
};
|
|
14
|
-
this.map = (data) => {
|
|
15
|
-
const types = (0, types_1.getTypesData)(this);
|
|
16
|
-
const properties = Object.assign({}, types);
|
|
17
|
-
const o = (data === null || data === void 0 ? void 0 : data.dataValues) || data;
|
|
18
|
-
const isArray = Array.isArray(o);
|
|
19
|
-
if (isArray) {
|
|
20
|
-
return o.map((item) => this.map(item));
|
|
21
|
-
}
|
|
22
|
-
return Object.keys(properties).reduce((p, key) => {
|
|
23
|
-
var _a, _b;
|
|
24
|
-
const property = properties[key];
|
|
25
|
-
if (property.__name === 'dto') {
|
|
26
|
-
// DTO TYPE인데 toSequelize가 없을 경우
|
|
27
|
-
if (!property.toSequelize) {
|
|
28
|
-
common_1.logger.error(`@asapjs/sequelize :: @TypeIs.DTO - ${key}에서 에러가 발생했습니다.`);
|
|
29
|
-
process.exit(1);
|
|
30
|
-
}
|
|
31
|
-
const data = property.toSequelize();
|
|
32
|
-
if (!data.dto) {
|
|
33
|
-
common_1.logger.error(`@asapjs/sequelize :: @TypeIs.DTO - ${key}에 dto가 전달되지 않았습니다..`);
|
|
34
|
-
process.exit(1);
|
|
35
|
-
}
|
|
36
|
-
p[key] = !!(o === null || o === void 0 ? void 0 : o[key]) ? new data.dto().map(o === null || o === void 0 ? void 0 : o[key]) : null;
|
|
37
|
-
}
|
|
38
|
-
else if (property.__name === 'query') {
|
|
39
|
-
p[key] = (_a = property === null || property === void 0 ? void 0 : property.fixValue) === null || _a === void 0 ? void 0 : _a.call(property, o === null || o === void 0 ? void 0 : o[key]);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
p[key] = ((_b = property === null || property === void 0 ? void 0 : property.fixValue) === null || _b === void 0 ? void 0 : _b.call(property, o === null || o === void 0 ? void 0 : o[key])) || (o === null || o === void 0 ? void 0 : o[key]);
|
|
43
|
-
}
|
|
44
|
-
return p;
|
|
45
|
-
}, {});
|
|
46
|
-
};
|
|
47
|
-
this.pagingMap = (data) => {
|
|
48
|
-
const o = data.data;
|
|
49
|
-
return Object.assign(Object.assign({}, data), { data: o.map((item) => this.map(item)) });
|
|
50
|
-
};
|
|
51
18
|
this.middleware = (as, user, extraAs) => {
|
|
52
19
|
const modelInfo = Reflect.getMetadata('sequelize::dtoInfo', this);
|
|
53
20
|
const types = (0, types_1.getTypesData)(this);
|
|
54
|
-
const extraAsData = extraAs
|
|
21
|
+
const extraAsData = extraAs
|
|
22
|
+
? [...extraAs, as].filter((v) => !!v)
|
|
23
|
+
: as
|
|
24
|
+
? [as]
|
|
25
|
+
: [];
|
|
55
26
|
const attributes = [];
|
|
56
27
|
const include = [];
|
|
57
28
|
if (types) {
|
|
@@ -75,7 +46,9 @@ class ExtendableDto {
|
|
|
75
46
|
common_1.logger.error(`@asapjs/sequelize :: @TypeIs.QUERY - ${key}에 query가 전달되지 않았습니다..`);
|
|
76
47
|
process.exit(1);
|
|
77
48
|
}
|
|
78
|
-
const association = extraAsData.length >= 2
|
|
49
|
+
const association = extraAsData.length >= 2
|
|
50
|
+
? '`' + `${extraAsData.join('->')}` + '`'
|
|
51
|
+
: as || modelInfo.defineTable.name;
|
|
79
52
|
attributes.push([
|
|
80
53
|
(0, sequelize_1.literal)(v.toSequelize().query({
|
|
81
54
|
association: association,
|
|
@@ -139,6 +112,45 @@ class ExtendableDto {
|
|
|
139
112
|
};
|
|
140
113
|
};
|
|
141
114
|
}
|
|
115
|
+
map(data) {
|
|
116
|
+
var _a;
|
|
117
|
+
const types = (0, types_1.getTypesData)(this);
|
|
118
|
+
const properties = Object.assign({}, types);
|
|
119
|
+
const o = (_a = data === null || data === void 0 ? void 0 : data.dataValues) !== null && _a !== void 0 ? _a : data;
|
|
120
|
+
const isArray = Array.isArray(o);
|
|
121
|
+
if (isArray) {
|
|
122
|
+
return o.map((item) => this.map(item));
|
|
123
|
+
}
|
|
124
|
+
return Object.keys(properties).reduce((p, key) => {
|
|
125
|
+
var _a, _b;
|
|
126
|
+
const property = properties[key];
|
|
127
|
+
if (property.__name === 'dto') {
|
|
128
|
+
// DTO TYPE인데 toSequelize가 없을 경우
|
|
129
|
+
if (!property.toSequelize) {
|
|
130
|
+
common_1.logger.error(`@asapjs/sequelize :: @TypeIs.DTO - ${key}에서 에러가 발생했습니다.`);
|
|
131
|
+
process.exit(1);
|
|
132
|
+
}
|
|
133
|
+
const data = property.toSequelize();
|
|
134
|
+
if (!data.dto) {
|
|
135
|
+
common_1.logger.error(`@asapjs/sequelize :: @TypeIs.DTO - ${key}에 dto가 전달되지 않았습니다..`);
|
|
136
|
+
process.exit(1);
|
|
137
|
+
}
|
|
138
|
+
p[key] = !!(o === null || o === void 0 ? void 0 : o[key]) ? new data.dto().map(o === null || o === void 0 ? void 0 : o[key]) : null;
|
|
139
|
+
}
|
|
140
|
+
else if (property.__name === 'query') {
|
|
141
|
+
p[key] = (_a = property === null || property === void 0 ? void 0 : property.fixValue) === null || _a === void 0 ? void 0 : _a.call(property, o === null || o === void 0 ? void 0 : o[key]);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
p[key] = ((_b = property === null || property === void 0 ? void 0 : property.fixValue) === null || _b === void 0 ? void 0 : _b.call(property, o === null || o === void 0 ? void 0 : o[key])) || (o === null || o === void 0 ? void 0 : o[key]);
|
|
145
|
+
}
|
|
146
|
+
return p;
|
|
147
|
+
}, {});
|
|
148
|
+
}
|
|
149
|
+
/** 반환 타입은 PagingResponse<DtoData<T>> — 데이터 필드만 포함합니다. */
|
|
150
|
+
pagingMap(data) {
|
|
151
|
+
const o = data.data;
|
|
152
|
+
return Object.assign(Object.assign({}, data), { data: o.map((item) => this.map(item)) });
|
|
153
|
+
}
|
|
142
154
|
}
|
|
143
155
|
ExtendableDto.isInitlized = false;
|
|
144
156
|
exports.default = ExtendableDto;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtendableDto.js","sourceRoot":"","sources":["../../src/dto/ExtendableDto.ts"],"names":[],"mappings":";;AAAA,4BAA0B;AAG1B,yCAA6D;AAE7D,oCAAwC;AACxC,2CAAwC;AAGxC,8CAAwE;
|
|
1
|
+
{"version":3,"file":"ExtendableDto.js","sourceRoot":"","sources":["../../src/dto/ExtendableDto.ts"],"names":[],"mappings":"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"}
|
package/dist/dto/index.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ export declare function Dto(info: {
|
|
|
5
5
|
name?: string;
|
|
6
6
|
defineTable: typeof Model;
|
|
7
7
|
}): (target: any, options?: TableOptions) => void;
|
|
8
|
-
export { default as ExtendableDto } from './ExtendableDto';
|
|
8
|
+
export { default as ExtendableDto, type PagingResponse, type DtoData, } from './ExtendableDto';
|
|
9
9
|
export { default as PaginationQueryDto, type PaginationQueryType } from './PaginationQueryDto';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/dto/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAI3D,wBAAgB,GAAG,CAAC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,KAAK,CAAA;CAAE,IACzE,QAAQ,GAAG,EAAE,UAAS,YAAiB,KAAG,IAAI,CAWhE;AAED,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAI3D,wBAAgB,GAAG,CAAC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,KAAK,CAAA;CAAE,IACzE,QAAQ,GAAG,EAAE,UAAS,YAAiB,KAAG,IAAI,CAWhE;AAED,OAAO,EACL,OAAO,IAAI,aAAa,EACxB,KAAK,cAAc,EACnB,KAAK,OAAO,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/dto/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":";;;;;;AAMA,kBAYC;AAlBD,4BAA0B;AAG1B,wCAAoC;AACpC,oCAAwC;AAExC,SAAgB,GAAG,CAAC,IAAwE;IAC1F,OAAO,UAAU,MAAW,EAAE,UAAwB,EAAE;QACtD,MAAM,IAAI,mCACL,IAAI,KACP,UAAU,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,GAC1C,CAAC;QACF,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAErE,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;QAEnC,IAAA,gBAAM,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":";;;;;;AAMA,kBAYC;AAlBD,4BAA0B;AAG1B,wCAAoC;AACpC,oCAAwC;AAExC,SAAgB,GAAG,CAAC,IAAwE;IAC1F,OAAO,UAAU,MAAW,EAAE,UAAwB,EAAE;QACtD,MAAM,IAAI,mCACL,IAAI,KACP,UAAU,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,GAC1C,CAAC;QACF,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAErE,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;QAEnC,IAAA,gBAAM,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC;AAED,iDAIyB;AAHvB,+HAAA,OAAO,OAAiB;AAI1B,2DAA+F;AAAtF,yIAAA,OAAO,OAAsB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { SequelizePlugin } from './plugin';
|
|
2
|
-
export { ExtendableDto, PaginationQueryDto, type PaginationQueryType, Dto } from './dto';
|
|
3
|
-
export { initSequelizeModule, getSequelize, modelsSync, generateDBML, healthCheck } from './sequelize';
|
|
2
|
+
export { ExtendableDto, PaginationQueryDto, type PaginationQueryType, type PagingResponse, type DtoData, Dto, } from './dto';
|
|
3
|
+
export { initSequelizeModule, getSequelize, modelsSync, generateDBML, healthCheck, } from './sequelize';
|
|
4
4
|
export { default as Repository } from './repository';
|
|
5
5
|
export { Table } from './table';
|
|
6
6
|
export { getUserIdInQuery } from './utils/getUserIdInQuery';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EACN,aAAa,EACb,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,GAAG,GACH,MAAM,OAAO,CAAC;AACf,OAAO,EACN,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,cAAc,2BAA2B,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mCAA2C;AAAlC,yGAAA,eAAe,OAAA;AACxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,mCAA2C;AAAlC,yGAAA,eAAe,OAAA;AACxB,6BAOe;AANd,oGAAA,aAAa,OAAA;AACb,yGAAA,kBAAkB,OAAA;AAIlB,0FAAA,GAAG,OAAA;AAEJ,yCAMqB;AALpB,gHAAA,mBAAmB,OAAA;AACnB,yGAAA,YAAY,OAAA;AACZ,uGAAA,UAAU,OAAA;AACV,yGAAA,YAAY,OAAA;AACZ,wGAAA,WAAW,OAAA;AAEZ,2CAAqD;AAA5C,yHAAA,OAAO,OAAc;AAC9B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,6DAA4D;AAAnD,oHAAA,gBAAgB,OAAA;AACzB,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,2CAAsD;AAA7C,8GAAA,mBAAmB,OAAA;AAE5B,4BAA4B;AAC5B,iDAAgE;AAAvD,oGAAA,gBAAgB,OAAU;AACnC,kEAAuE;AAA9D,wGAAA,OAAO,OAAA;AAGhB,yBAAyB;AACzB,4DAA0C"}
|
|
@@ -1,24 +1,33 @@
|
|
|
1
1
|
import { Model, ModelCtor } from 'sequelize-typescript';
|
|
2
2
|
import { FindOptions } from 'sequelize';
|
|
3
|
-
import { ExtendableDto } from '../dto';
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import { ExtendableDto, type DtoData, type PagingResponse } from '../dto';
|
|
4
|
+
/** @internal */
|
|
5
|
+
export interface IArgs<T extends Model, D extends ExtendableDto = ExtendableDto> extends FindOptions<T> {
|
|
6
|
+
exportTo: new (...args: any[]) => D;
|
|
6
7
|
user?: any;
|
|
7
8
|
paging?: {
|
|
8
9
|
page: number;
|
|
9
10
|
limit: number;
|
|
10
11
|
};
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
/** repository 객체의 공개 API. 반환 타입은 Dto 데이터 필드만 포함(메서드 제외). */
|
|
14
|
+
interface RepositoryApi {
|
|
15
|
+
findAll<M extends Model, D extends ExtendableDto>(model: ModelCtor<M>, args: IArgs<M, D> & {
|
|
16
|
+
paging?: undefined;
|
|
17
|
+
}): Promise<M[]>;
|
|
18
|
+
findAll<M extends Model, D extends ExtendableDto>(model: ModelCtor<M>, args: IArgs<M, D> & {
|
|
19
|
+
paging: {
|
|
20
|
+
page: number;
|
|
21
|
+
limit: number;
|
|
22
|
+
};
|
|
23
|
+
}): Promise<PagingResponse<DtoData<D>>>;
|
|
24
|
+
findOne<M extends Model, D extends ExtendableDto>(model: ModelCtor<M>, args: IArgs<M, D>): Promise<DtoData<D> | null>;
|
|
25
|
+
}
|
|
14
26
|
export default class Repository {
|
|
15
27
|
private getOptionsWithArgs;
|
|
16
28
|
private findAll;
|
|
17
29
|
private findOne;
|
|
18
|
-
repository:
|
|
19
|
-
findAll: <T extends Model>(model: ModelCtor<T>, args: IArgs<T>) => Promise<FindAllResponse<T>>;
|
|
20
|
-
findOne: <T extends Model>(model: ModelCtor<T>, args: IArgs<T>) => Promise<FindOneResponse<T>>;
|
|
21
|
-
};
|
|
30
|
+
repository: RepositoryApi;
|
|
22
31
|
}
|
|
23
32
|
export {};
|
|
24
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE1E,gBAAgB;AAChB,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,aAAa,GAAG,aAAa,CAC9E,SAAQ,WAAW,CAAC,CAAC,CAAC;IACtB,QAAQ,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,4DAA4D;AAC5D,UAAU,aAAa;IACtB,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,aAAa,EAC/C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,SAAS,CAAA;KAAE,GACxC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,aAAa,EAC/C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAC7D,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,aAAa,EAC/C,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACf,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,CAAC,OAAO,OAAO,UAAU;IAC9B,OAAO,CAAC,kBAAkB;YAsBZ,OAAO;YAkCP,OAAO;IASd,UAAU,EAAE,aAAa,CAG9B;CACF"}
|
package/dist/repository/index.js
CHANGED
|
@@ -22,29 +22,34 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
23
|
class Repository {
|
|
24
24
|
constructor() {
|
|
25
|
-
this.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const _a = exportDto.middleware(undefined, user), { model: _ } = _a, queryOptions = __rest(_a, ["model"]);
|
|
29
|
-
const page = parseInt(String(paging === null || paging === void 0 ? void 0 : paging.page), 10);
|
|
30
|
-
const limit = parseInt(String(paging === null || paging === void 0 ? void 0 : paging.limit), 10);
|
|
31
|
-
const pagingOptions = paging
|
|
32
|
-
? {
|
|
33
|
-
limit,
|
|
34
|
-
offset: limit * page,
|
|
35
|
-
}
|
|
36
|
-
: {};
|
|
37
|
-
const additionalOptions = { distinct: true };
|
|
38
|
-
const query = Object.assign(Object.assign(Object.assign(Object.assign({}, queryOptions), options), pagingOptions), additionalOptions);
|
|
39
|
-
return query;
|
|
25
|
+
this.repository = {
|
|
26
|
+
findAll: this.findAll.bind(this),
|
|
27
|
+
findOne: this.findOne.bind(this),
|
|
40
28
|
};
|
|
41
|
-
|
|
42
|
-
|
|
29
|
+
}
|
|
30
|
+
getOptionsWithArgs(args) {
|
|
31
|
+
const { exportTo: Dto, user, paging } = args, options = __rest(args, ["exportTo", "user", "paging"]);
|
|
32
|
+
const exportDto = new Dto();
|
|
33
|
+
const _a = exportDto.middleware(undefined, user), { model: _ } = _a, queryOptions = __rest(_a, ["model"]);
|
|
34
|
+
const page = parseInt(String(paging === null || paging === void 0 ? void 0 : paging.page), 10);
|
|
35
|
+
const limit = parseInt(String(paging === null || paging === void 0 ? void 0 : paging.limit), 10);
|
|
36
|
+
const pagingOptions = paging
|
|
37
|
+
? {
|
|
38
|
+
limit,
|
|
39
|
+
offset: limit * page,
|
|
40
|
+
}
|
|
41
|
+
: {};
|
|
42
|
+
const additionalOptions = { distinct: true };
|
|
43
|
+
const query = Object.assign(Object.assign(Object.assign(Object.assign({}, queryOptions), options), pagingOptions), additionalOptions);
|
|
44
|
+
return query;
|
|
45
|
+
}
|
|
46
|
+
findAll(model, args) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
48
|
const query = this.getOptionsWithArgs(args);
|
|
44
49
|
if (args === null || args === void 0 ? void 0 : args.paging) {
|
|
45
50
|
const { rows: raws, count: total } = yield model.findAndCountAll(query);
|
|
46
|
-
const page = parseInt(String(
|
|
47
|
-
const limit = parseInt(String(
|
|
51
|
+
const page = parseInt(String(args.paging.page), 10);
|
|
52
|
+
const limit = parseInt(String(args.paging.limit), 10);
|
|
48
53
|
const max_page = Math.ceil(total / limit) - 1;
|
|
49
54
|
return {
|
|
50
55
|
data: raws,
|
|
@@ -59,15 +64,13 @@ class Repository {
|
|
|
59
64
|
const raws = yield model.findAll(query);
|
|
60
65
|
return raws;
|
|
61
66
|
});
|
|
62
|
-
|
|
67
|
+
}
|
|
68
|
+
findOne(model, args) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
70
|
const query = this.getOptionsWithArgs(args);
|
|
64
71
|
const raw = yield model.findOne(query);
|
|
65
72
|
return raw;
|
|
66
73
|
});
|
|
67
|
-
this.repository = {
|
|
68
|
-
findAll: this.findAll,
|
|
69
|
-
findOne: this.findOne,
|
|
70
|
-
};
|
|
71
74
|
}
|
|
72
75
|
}
|
|
73
76
|
exports.default = Repository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA6BA,MAAqB,UAAU;IAA/B;QAkEQ,eAAU,GAAkB;YAClC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAA6B;YAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAA6B;SAC5D,CAAC;IACH,CAAC;IArEQ,kBAAkB,CAA2C,IAAiB;QACrF,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAiB,IAAI,EAAhB,OAAO,UAAK,IAAI,EAAlD,8BAA2C,CAAO,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,MAAM,KAAgC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,EAArE,EAAE,KAAK,EAAE,CAAC,OAA2D,EAAtD,YAAY,cAA3B,SAA6B,CAAwC,CAAC;QAE5E,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAElD,MAAM,aAAa,GAAG,MAAM;YAC3B,CAAC,CAAC;gBACA,KAAK;gBACL,MAAM,EAAE,KAAK,GAAG,IAAI;aACpB;YACF,CAAC,CAAC,EAAE,CAAC;QAEN,MAAM,iBAAiB,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAE7C,MAAM,KAAK,+DAAQ,YAAY,GAAK,OAAO,GAAK,aAAa,GAAK,iBAAiB,CAAE,CAAC;QAEtF,OAAO,KAAK,CAAC;IACd,CAAC;IAUa,OAAO,CACpB,KAAmB,EACnB,IAAiB;;YAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAE5C,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,CAAC;gBAClB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9C,OAAO;oBACN,IAAI,EAAE,IAAI;oBACV,IAAI;oBACJ,SAAS,EAAE,KAAK;oBAChB,QAAQ;oBACR,QAAQ,EAAE,IAAI,KAAK,CAAC;oBACpB,QAAQ,EAAE,QAAQ,GAAG,IAAI;oBACzB,cAAc,EAAE,KAAK;iBACoB,CAAC;YAC5C,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxC,OAAO,IAAW,CAAC;QACpB,CAAC;KAAA;IAEa,OAAO,CACpB,KAAmB,EACnB,IAAiB;;YAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO,GAAmC,CAAC;QAC5C,CAAC;KAAA;CAMD;AAtED,6BAsEC"}
|
package/package.json
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
2
|
+
"name": "@asapjs/sequelize",
|
|
3
|
+
"version": "1.0.0-alpha.12",
|
|
4
|
+
"description": "Sequelize integration for AsapJS",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"prebuild": "rm -rf dist",
|
|
12
|
+
"build": "tsc"
|
|
13
|
+
},
|
|
14
|
+
"author": "",
|
|
15
|
+
"license": "ISC",
|
|
16
|
+
"homepage": "https://www.asapjs.com",
|
|
17
|
+
"publishConfig": {
|
|
18
|
+
"access": "public"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@asapjs/common": "^1.0.0-alpha.11",
|
|
22
|
+
"@asapjs/schema": "^1.0.0-alpha.10",
|
|
23
|
+
"@asapjs/types": "^1.0.0-alpha.11",
|
|
24
|
+
"body-parser": "^1.20.3",
|
|
25
|
+
"cors": "^2.8.5",
|
|
26
|
+
"express": "^4.20.0",
|
|
27
|
+
"fs": "^0.0.1-security",
|
|
28
|
+
"reflect-metadata": "^0.1.13",
|
|
29
|
+
"winston": "^3.6.0"
|
|
30
|
+
},
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"sequelize": "^6.29.0",
|
|
33
|
+
"sequelize-typescript": "^2.1.6"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/body-parser": "^1.19.2",
|
|
37
|
+
"@types/cors": "^2.8.12",
|
|
38
|
+
"@types/express": "^4.17.13",
|
|
39
|
+
"@types/node": "^17.0.21",
|
|
40
|
+
"@types/sequelize": "^4.28.11",
|
|
41
|
+
"sequelize": "^6.29.0",
|
|
42
|
+
"sequelize-typescript": "^2.1.6",
|
|
43
|
+
"typescript": "^5.8.3"
|
|
44
|
+
},
|
|
45
|
+
"gitHead": "5f8bc161d6fe6e76584333cbf0aa8d2a64386879"
|
|
46
46
|
}
|