ts-deco 1.0.26 → 1.0.27
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/src/decorators/controllers/index.d.ts +11 -11
- package/dist/src/decorators/controllers/index.d.ts.map +1 -1
- package/dist/src/decorators/controllers/index.js +11 -11
- package/dist/src/decorators/controllers/index.js.map +1 -1
- package/dist/src/decorators/controllers/lib/controller-metadata.d.ts +14 -0
- package/dist/src/decorators/controllers/lib/controller-metadata.d.ts.map +1 -0
- package/dist/src/decorators/controllers/lib/controller-metadata.js +17 -0
- package/dist/src/decorators/controllers/lib/controller-metadata.js.map +1 -0
- package/dist/src/decorators/controllers/lib/controller.decorator.d.ts +24 -0
- package/dist/src/decorators/controllers/lib/controller.decorator.d.ts.map +1 -0
- package/dist/src/decorators/controllers/lib/controller.decorator.js +42 -0
- package/dist/src/decorators/controllers/lib/controller.decorator.js.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-body.decorator.d.ts +20 -0
- package/dist/src/decorators/controllers/lib/doc-body.decorator.d.ts.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-body.decorator.js +39 -0
- package/dist/src/decorators/controllers/lib/doc-body.decorator.js.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-operation.decorator.d.ts +15 -0
- package/dist/src/decorators/controllers/lib/doc-operation.decorator.d.ts.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-operation.decorator.js +23 -0
- package/dist/src/decorators/controllers/lib/doc-operation.decorator.js.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-param.decorator.d.ts +20 -0
- package/dist/src/decorators/controllers/lib/doc-param.decorator.d.ts.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-param.decorator.js +41 -0
- package/dist/src/decorators/controllers/lib/doc-param.decorator.js.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-query.decorator.d.ts +20 -0
- package/dist/src/decorators/controllers/lib/doc-query.decorator.d.ts.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-query.decorator.js +41 -0
- package/dist/src/decorators/controllers/lib/doc-query.decorator.js.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-response.decorator.d.ts +16 -0
- package/dist/src/decorators/controllers/lib/doc-response.decorator.d.ts.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-response.decorator.js +25 -0
- package/dist/src/decorators/controllers/lib/doc-response.decorator.js.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-tags.decorator.d.ts +17 -0
- package/dist/src/decorators/controllers/lib/doc-tags.decorator.d.ts.map +1 -0
- package/dist/src/decorators/controllers/lib/doc-tags.decorator.js +35 -0
- package/dist/src/decorators/controllers/lib/doc-tags.decorator.js.map +1 -0
- package/dist/src/decorators/controllers/lib/endpoint.decorator.d.ts +27 -0
- package/dist/src/decorators/controllers/lib/endpoint.decorator.d.ts.map +1 -0
- package/dist/src/decorators/controllers/lib/endpoint.decorator.js +95 -0
- package/dist/src/decorators/controllers/lib/endpoint.decorator.js.map +1 -0
- package/dist/src/decorators/controllers/lib/operation.decorator.d.ts +31 -0
- package/dist/src/decorators/controllers/lib/operation.decorator.d.ts.map +1 -0
- package/dist/src/decorators/controllers/lib/operation.decorator.js +93 -0
- package/dist/src/decorators/controllers/lib/operation.decorator.js.map +1 -0
- package/dist/src/decorators/controllers/lib/resource.decorator.d.ts +29 -0
- package/dist/src/decorators/controllers/lib/resource.decorator.d.ts.map +1 -0
- package/dist/src/decorators/controllers/lib/resource.decorator.js +57 -0
- package/dist/src/decorators/controllers/lib/resource.decorator.js.map +1 -0
- package/dist/src/decorators/utils/apply-decorators.d.ts +1 -1
- package/dist/src/decorators/utils/apply-decorators.d.ts.map +1 -1
- package/dist/src/decorators/utils/apply-decorators.js +3 -2
- package/dist/src/decorators/utils/apply-decorators.js.map +1 -1
- package/dist/src/decorators/validators/index.d.ts +10 -10
- package/dist/src/decorators/validators/index.d.ts.map +1 -1
- package/dist/src/decorators/validators/index.js +6 -6
- package/dist/src/decorators/validators/index.js.map +1 -1
- package/dist/src/decorators/validators/lib/boolean.decorator.d.ts +6 -0
- package/dist/src/decorators/validators/lib/boolean.decorator.d.ts.map +1 -0
- package/dist/src/decorators/validators/lib/boolean.decorator.js +23 -0
- package/dist/src/decorators/validators/lib/boolean.decorator.js.map +1 -0
- package/dist/src/decorators/validators/lib/date.decorator.d.ts +6 -0
- package/dist/src/decorators/validators/lib/date.decorator.d.ts.map +1 -0
- package/dist/src/decorators/validators/lib/date.decorator.js +23 -0
- package/dist/src/decorators/validators/lib/date.decorator.js.map +1 -0
- package/dist/src/decorators/validators/lib/enum.decorator.d.ts +6 -0
- package/dist/src/decorators/validators/lib/enum.decorator.d.ts.map +1 -0
- package/dist/src/decorators/validators/lib/enum.decorator.js +22 -0
- package/dist/src/decorators/validators/lib/enum.decorator.js.map +1 -0
- package/dist/src/decorators/validators/lib/number.decorator.d.ts +7 -0
- package/dist/src/decorators/validators/lib/number.decorator.d.ts.map +1 -0
- package/dist/src/decorators/validators/lib/number.decorator.js +52 -0
- package/dist/src/decorators/validators/lib/number.decorator.js.map +1 -0
- package/dist/src/decorators/validators/lib/property.decorator.d.ts +14 -0
- package/dist/src/decorators/validators/lib/property.decorator.d.ts.map +1 -0
- package/dist/src/decorators/validators/lib/property.decorator.js +58 -0
- package/dist/src/decorators/validators/lib/property.decorator.js.map +1 -0
- package/dist/src/decorators/validators/lib/string.decorator.d.ts +6 -0
- package/dist/src/decorators/validators/lib/string.decorator.d.ts.map +1 -0
- package/dist/src/decorators/validators/lib/string.decorator.js +16 -0
- package/dist/src/decorators/validators/lib/string.decorator.js.map +1 -0
- package/dist/src/decorators/validators/lib/validator.type.d.ts +78 -0
- package/dist/src/decorators/validators/lib/validator.type.d.ts.map +1 -0
- package/dist/src/decorators/validators/lib/validator.type.js +3 -0
- package/dist/src/decorators/validators/lib/validator.type.js.map +1 -0
- package/dist/src/decorators/validators/utils/array-normalize.d.ts +1 -1
- package/dist/src/decorators/validators/utils/array-normalize.d.ts.map +1 -1
- package/dist/src/decorators/validators/utils/array-normalize.js.map +1 -1
- package/dist/src/decorators/validators/utils/common-decorators.d.ts +2 -2
- package/dist/src/decorators/validators/utils/common-decorators.d.ts.map +1 -1
- package/dist/src/decorators/validators/utils/common-decorators.js +11 -3
- package/dist/src/decorators/validators/utils/common-decorators.js.map +1 -1
- package/dist/src/decorators/validators/utils/extract-options.d.ts +2 -2
- package/dist/src/decorators/validators/utils/extract-options.d.ts.map +1 -1
- package/dist/src/decorators/validators/utils/extract-options.js +9 -3
- package/dist/src/decorators/validators/utils/extract-options.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { DocTags } from "./doc-tags.decorator";
|
|
2
|
-
export { DocOperation } from "./doc-operation.decorator";
|
|
3
|
-
export { DocResponse } from "./doc-response.decorator";
|
|
4
|
-
export { DocParam } from "./doc-param.decorator";
|
|
5
|
-
export { DocQuery } from "./doc-query.decorator";
|
|
6
|
-
export { DocBody } from "./doc-body.decorator";
|
|
7
|
-
export { Operation } from "./operation.decorator";
|
|
8
|
-
export { Controller } from "./controller.decorator";
|
|
9
|
-
export { Resource } from "./resource.decorator";
|
|
10
|
-
export { Endpoint } from "./endpoint.decorator";
|
|
1
|
+
export { DocTags } from "./lib/doc-tags.decorator";
|
|
2
|
+
export { DocOperation } from "./lib/doc-operation.decorator";
|
|
3
|
+
export { DocResponse } from "./lib/doc-response.decorator";
|
|
4
|
+
export { DocParam } from "./lib/doc-param.decorator";
|
|
5
|
+
export { DocQuery } from "./lib/doc-query.decorator";
|
|
6
|
+
export { DocBody } from "./lib/doc-body.decorator";
|
|
7
|
+
export { Operation } from "./lib/operation.decorator";
|
|
8
|
+
export { Controller } from "./lib/controller.decorator";
|
|
9
|
+
export { Resource } from "./lib/resource.decorator";
|
|
10
|
+
export { Endpoint } from "./lib/endpoint.decorator";
|
|
11
11
|
export type { ControllerOptions, DocTagsOptions, DocOperationOptions, DocResponseOptions, DocParamOptions, DocQueryOptions, DocBodyOptions, ResourceOptions, OperationOptions, EndpointOptions, EndpointResponseOption, HttpMethod, } from "./types/controller.types";
|
|
12
|
-
export { CONTROLLER_METADATA } from "./controller-metadata";
|
|
12
|
+
export { CONTROLLER_METADATA } from "./lib/controller-metadata";
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/decorators/controllers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/decorators/controllers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,UAAU,GACX,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -2,27 +2,27 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CONTROLLER_METADATA = exports.Endpoint = exports.Resource = exports.Controller = exports.Operation = exports.DocBody = exports.DocQuery = exports.DocParam = exports.DocResponse = exports.DocOperation = exports.DocTags = void 0;
|
|
4
4
|
// Controller Decorators
|
|
5
|
-
var doc_tags_decorator_1 = require("./doc-tags.decorator");
|
|
5
|
+
var doc_tags_decorator_1 = require("./lib/doc-tags.decorator");
|
|
6
6
|
Object.defineProperty(exports, "DocTags", { enumerable: true, get: function () { return doc_tags_decorator_1.DocTags; } });
|
|
7
|
-
var doc_operation_decorator_1 = require("./doc-operation.decorator");
|
|
7
|
+
var doc_operation_decorator_1 = require("./lib/doc-operation.decorator");
|
|
8
8
|
Object.defineProperty(exports, "DocOperation", { enumerable: true, get: function () { return doc_operation_decorator_1.DocOperation; } });
|
|
9
|
-
var doc_response_decorator_1 = require("./doc-response.decorator");
|
|
9
|
+
var doc_response_decorator_1 = require("./lib/doc-response.decorator");
|
|
10
10
|
Object.defineProperty(exports, "DocResponse", { enumerable: true, get: function () { return doc_response_decorator_1.DocResponse; } });
|
|
11
|
-
var doc_param_decorator_1 = require("./doc-param.decorator");
|
|
11
|
+
var doc_param_decorator_1 = require("./lib/doc-param.decorator");
|
|
12
12
|
Object.defineProperty(exports, "DocParam", { enumerable: true, get: function () { return doc_param_decorator_1.DocParam; } });
|
|
13
|
-
var doc_query_decorator_1 = require("./doc-query.decorator");
|
|
13
|
+
var doc_query_decorator_1 = require("./lib/doc-query.decorator");
|
|
14
14
|
Object.defineProperty(exports, "DocQuery", { enumerable: true, get: function () { return doc_query_decorator_1.DocQuery; } });
|
|
15
|
-
var doc_body_decorator_1 = require("./doc-body.decorator");
|
|
15
|
+
var doc_body_decorator_1 = require("./lib/doc-body.decorator");
|
|
16
16
|
Object.defineProperty(exports, "DocBody", { enumerable: true, get: function () { return doc_body_decorator_1.DocBody; } });
|
|
17
|
-
var operation_decorator_1 = require("./operation.decorator");
|
|
17
|
+
var operation_decorator_1 = require("./lib/operation.decorator");
|
|
18
18
|
Object.defineProperty(exports, "Operation", { enumerable: true, get: function () { return operation_decorator_1.Operation; } });
|
|
19
|
-
var controller_decorator_1 = require("./controller.decorator");
|
|
19
|
+
var controller_decorator_1 = require("./lib/controller.decorator");
|
|
20
20
|
Object.defineProperty(exports, "Controller", { enumerable: true, get: function () { return controller_decorator_1.Controller; } });
|
|
21
|
-
var resource_decorator_1 = require("./resource.decorator");
|
|
21
|
+
var resource_decorator_1 = require("./lib/resource.decorator");
|
|
22
22
|
Object.defineProperty(exports, "Resource", { enumerable: true, get: function () { return resource_decorator_1.Resource; } });
|
|
23
|
-
var endpoint_decorator_1 = require("./endpoint.decorator");
|
|
23
|
+
var endpoint_decorator_1 = require("./lib/endpoint.decorator");
|
|
24
24
|
Object.defineProperty(exports, "Endpoint", { enumerable: true, get: function () { return endpoint_decorator_1.Endpoint; } });
|
|
25
25
|
// Metadata Keys
|
|
26
|
-
var controller_metadata_1 = require("./controller-metadata");
|
|
26
|
+
var controller_metadata_1 = require("./lib/controller-metadata");
|
|
27
27
|
Object.defineProperty(exports, "CONTROLLER_METADATA", { enumerable: true, get: function () { return controller_metadata_1.CONTROLLER_METADATA; } });
|
|
28
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/decorators/controllers/index.ts"],"names":[],"mappings":";;;AAAA,wBAAwB;AACxB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/decorators/controllers/index.ts"],"names":[],"mappings":";;;AAAA,wBAAwB;AACxB,+DAAmD;AAA1C,6GAAA,OAAO,OAAA;AAChB,yEAA6D;AAApD,uHAAA,YAAY,OAAA;AACrB,uEAA2D;AAAlD,qHAAA,WAAW,OAAA;AACpB,iEAAqD;AAA5C,+GAAA,QAAQ,OAAA;AACjB,iEAAqD;AAA5C,+GAAA,QAAQ,OAAA;AACjB,+DAAmD;AAA1C,6GAAA,OAAO,OAAA;AAChB,iEAAsD;AAA7C,gHAAA,SAAS,OAAA;AAClB,mEAAwD;AAA/C,kHAAA,UAAU,OAAA;AACnB,+DAAoD;AAA3C,8GAAA,QAAQ,OAAA;AACjB,+DAAoD;AAA3C,8GAAA,QAAQ,OAAA;AAkBjB,gBAAgB;AAChB,iEAAgE;AAAvD,0HAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Controller 데코레이터용 메타데이터 키
|
|
3
|
+
*/
|
|
4
|
+
export declare const CONTROLLER_METADATA: {
|
|
5
|
+
readonly DOC_TAGS: "swagger/docTags";
|
|
6
|
+
readonly DOC_OPERATION: "swagger/docOperation";
|
|
7
|
+
readonly DOC_RESPONSE: "swagger/docResponse";
|
|
8
|
+
readonly DOC_PARAM: "swagger/docParam";
|
|
9
|
+
readonly DOC_QUERY: "swagger/docQuery";
|
|
10
|
+
readonly DOC_BODY: "swagger/docBody";
|
|
11
|
+
readonly DOC_E: "swagger/docE";
|
|
12
|
+
readonly CONTROLLER_PATH: "swagger/controllerPath";
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=controller-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller-metadata.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/controller-metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;CAStB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONTROLLER_METADATA = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Controller 데코레이터용 메타데이터 키
|
|
6
|
+
*/
|
|
7
|
+
exports.CONTROLLER_METADATA = {
|
|
8
|
+
DOC_TAGS: 'swagger/docTags',
|
|
9
|
+
DOC_OPERATION: 'swagger/docOperation',
|
|
10
|
+
DOC_RESPONSE: 'swagger/docResponse',
|
|
11
|
+
DOC_PARAM: 'swagger/docParam',
|
|
12
|
+
DOC_QUERY: 'swagger/docQuery',
|
|
13
|
+
DOC_BODY: 'swagger/docBody',
|
|
14
|
+
DOC_E: 'swagger/docE',
|
|
15
|
+
CONTROLLER_PATH: 'swagger/controllerPath',
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=controller-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller-metadata.js","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/controller-metadata.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,mBAAmB,GAAG;IAC/B,QAAQ,EAAE,iBAAiB;IAC3B,aAAa,EAAE,sBAAsB;IACrC,YAAY,EAAE,qBAAqB;IACnC,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE,kBAAkB;IAC7B,QAAQ,EAAE,iBAAiB;IAC3B,KAAK,EAAE,cAAc;IACrB,eAAe,EAAE,wBAAwB;CACnC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import type { ControllerOptions } from "../types/controller.types";
|
|
3
|
+
export type { ControllerOptions } from "../types/controller.types";
|
|
4
|
+
/**
|
|
5
|
+
* Controller 데코레이터 - NestJS 스타일의 컨트롤러 데코레이터
|
|
6
|
+
* 클래스에 적용하여 모든 메서드에 자동으로 태그를 적용하고 경로를 설정
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // 간단한 사용법 (태그만)
|
|
11
|
+
* @Controller('Users')
|
|
12
|
+
* class UserController {}
|
|
13
|
+
*
|
|
14
|
+
* // 경로 포함
|
|
15
|
+
* @Controller({ tag: 'Users', path: '/api/users' })
|
|
16
|
+
* class UserController {}
|
|
17
|
+
*
|
|
18
|
+
* // 또는 첫 번째 인자로 태그, 두 번째 인자로 경로
|
|
19
|
+
* @Controller('Users', '/api/users')
|
|
20
|
+
* class UserController {}
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function Controller(tagOrOptions: string | ControllerOptions, path?: string): ClassDecorator;
|
|
24
|
+
//# sourceMappingURL=controller.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/controller.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CACxB,YAAY,EAAE,MAAM,GAAG,iBAAiB,EACxC,IAAI,CAAC,EAAE,MAAM,GACZ,cAAc,CA6BhB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Controller = Controller;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const controller_metadata_1 = require("./controller-metadata");
|
|
6
|
+
const parse_controller_args_1 = require("../utils/parse-controller-args");
|
|
7
|
+
/**
|
|
8
|
+
* Controller 데코레이터 - NestJS 스타일의 컨트롤러 데코레이터
|
|
9
|
+
* 클래스에 적용하여 모든 메서드에 자동으로 태그를 적용하고 경로를 설정
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* // 간단한 사용법 (태그만)
|
|
14
|
+
* @Controller('Users')
|
|
15
|
+
* class UserController {}
|
|
16
|
+
*
|
|
17
|
+
* // 경로 포함
|
|
18
|
+
* @Controller({ tag: 'Users', path: '/api/users' })
|
|
19
|
+
* class UserController {}
|
|
20
|
+
*
|
|
21
|
+
* // 또는 첫 번째 인자로 태그, 두 번째 인자로 경로
|
|
22
|
+
* @Controller('Users', '/api/users')
|
|
23
|
+
* class UserController {}
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
function Controller(tagOrOptions, path) {
|
|
27
|
+
return function (target) {
|
|
28
|
+
const { tag, path: controllerPath } = (0, parse_controller_args_1.parseControllerArgs)(tagOrOptions, path);
|
|
29
|
+
// 태그 저장
|
|
30
|
+
if (tag) {
|
|
31
|
+
const existingTags = Reflect.getMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_TAGS, target) || [];
|
|
32
|
+
if (!existingTags.includes(tag)) {
|
|
33
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_TAGS, [...existingTags, tag], target);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// 경로 저장
|
|
37
|
+
if (controllerPath) {
|
|
38
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.CONTROLLER_PATH, controllerPath, target);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=controller.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/controller.decorator.ts"],"names":[],"mappings":";;AA0BA,gCAgCC;AA1DD,4BAA0B;AAC1B,+DAA4D;AAE5D,0EAAqE;AAIrE;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,UAAU,CACxB,YAAwC,EACxC,IAAa;IAEb,OAAO,UAAU,MAAW;QAC1B,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAA,2CAAmB,EACvD,YAAY,EACZ,IAAI,CACL,CAAC;QAEF,QAAQ;QACR,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,YAAY,GAChB,OAAO,CAAC,WAAW,CAAC,yCAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,QAAQ,EAC5B,CAAC,GAAG,YAAY,EAAE,GAAG,CAAC,EACtB,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC;QAED,QAAQ;QACR,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,eAAe,EACnC,cAAc,EACd,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import type { DocBodyOptions } from "../types/controller.types";
|
|
3
|
+
/**
|
|
4
|
+
* DocBody 데코레이터 - Swagger 요청 본문 설정
|
|
5
|
+
* 파라미터 또는 메서드에 적용 가능
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // 파라미터에 적용
|
|
10
|
+
* @Post('/users')
|
|
11
|
+
* createUser(@DocBody({ type: CreateUserDto }) dto: CreateUserDto) {}
|
|
12
|
+
*
|
|
13
|
+
* // 메서드에 적용
|
|
14
|
+
* @DocBody({ type: CreateUserDto })
|
|
15
|
+
* @Post('/users')
|
|
16
|
+
* createUser(dto: CreateUserDto) {}
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function DocBody(options: DocBodyOptions): any;
|
|
20
|
+
//# sourceMappingURL=doc-body.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-body.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-body.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,GAAG,CA8BpD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DocBody = DocBody;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const controller_metadata_1 = require("./controller-metadata");
|
|
6
|
+
/**
|
|
7
|
+
* DocBody 데코레이터 - Swagger 요청 본문 설정
|
|
8
|
+
* 파라미터 또는 메서드에 적용 가능
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* // 파라미터에 적용
|
|
13
|
+
* @Post('/users')
|
|
14
|
+
* createUser(@DocBody({ type: CreateUserDto }) dto: CreateUserDto) {}
|
|
15
|
+
*
|
|
16
|
+
* // 메서드에 적용
|
|
17
|
+
* @DocBody({ type: CreateUserDto })
|
|
18
|
+
* @Post('/users')
|
|
19
|
+
* createUser(dto: CreateUserDto) {}
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
function DocBody(options) {
|
|
23
|
+
return function (target, propertyKey, descriptorOrIndex) {
|
|
24
|
+
if (typeof descriptorOrIndex === "number") {
|
|
25
|
+
// ParameterDecorator
|
|
26
|
+
const bodyMetadata = {
|
|
27
|
+
...options,
|
|
28
|
+
parameterIndex: descriptorOrIndex,
|
|
29
|
+
};
|
|
30
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_BODY, bodyMetadata, target, propertyKey);
|
|
31
|
+
}
|
|
32
|
+
else if (descriptorOrIndex !== undefined) {
|
|
33
|
+
// MethodDecorator
|
|
34
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_BODY, options, target, propertyKey);
|
|
35
|
+
return descriptorOrIndex;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=doc-body.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-body.decorator.js","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-body.decorator.ts"],"names":[],"mappings":";;AAoBA,0BA8BC;AAlDD,4BAA0B;AAC1B,+DAA4D;AAG5D;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,OAAO,CAAC,OAAuB;IAC7C,OAAO,UACL,MAAW,EACX,WAA6B,EAC7B,iBAA+C;QAE/C,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC1C,qBAAqB;YACrB,MAAM,YAAY,GAAG;gBACnB,GAAG,OAAO;gBACV,cAAc,EAAE,iBAAiB;aAClC,CAAC;YAEF,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,QAAQ,EAC5B,YAAY,EACZ,MAAM,EACN,WAAqB,CACtB,CAAC;QACJ,CAAC;aAAM,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,kBAAkB;YAClB,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,QAAQ,EAC5B,OAAO,EACP,MAAM,EACN,WAAqB,CACtB,CAAC;YACF,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import type { DocOperationOptions } from "../types/controller.types";
|
|
3
|
+
/**
|
|
4
|
+
* DocOperation 데코레이터 - Swagger 작업(operation) 설정
|
|
5
|
+
* 메서드에 적용
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* @DocOperation({ summary: '사용자 생성', description: '새로운 사용자를 생성합니다' })
|
|
10
|
+
* @Post('/users')
|
|
11
|
+
* createUser() {}
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function DocOperation(options: DocOperationOptions): MethodDecorator;
|
|
15
|
+
//# sourceMappingURL=doc-operation.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-operation.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-operation.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,eAAe,CAc1E"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DocOperation = DocOperation;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const controller_metadata_1 = require("./controller-metadata");
|
|
6
|
+
/**
|
|
7
|
+
* DocOperation 데코레이터 - Swagger 작업(operation) 설정
|
|
8
|
+
* 메서드에 적용
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* @DocOperation({ summary: '사용자 생성', description: '새로운 사용자를 생성합니다' })
|
|
13
|
+
* @Post('/users')
|
|
14
|
+
* createUser() {}
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
function DocOperation(options) {
|
|
18
|
+
return function (target, propertyKey, descriptor) {
|
|
19
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_OPERATION, options, target, propertyKey);
|
|
20
|
+
return descriptor;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=doc-operation.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-operation.decorator.js","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-operation.decorator.ts"],"names":[],"mappings":";;AAeA,oCAcC;AA7BD,4BAA0B;AAC1B,+DAA4D;AAG5D;;;;;;;;;;GAUG;AACH,SAAgB,YAAY,CAAC,OAA4B;IACvD,OAAO,UACL,MAAW,EACX,WAA4B,EAC5B,UAA8B;QAE9B,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,aAAa,EACjC,OAAO,EACP,MAAM,EACN,WAAW,CACZ,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import type { DocParamOptions } from "../types/controller.types";
|
|
3
|
+
/**
|
|
4
|
+
* DocParam 데코레이터 - Swagger 경로 파라미터 설정
|
|
5
|
+
* 파라미터 또는 메서드에 적용 가능
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // 파라미터에 적용
|
|
10
|
+
* @Get('/users/:id')
|
|
11
|
+
* getUser(@DocParam({ name: 'id', type: String }) id: string) {}
|
|
12
|
+
*
|
|
13
|
+
* // 메서드에 적용
|
|
14
|
+
* @DocParam({ name: 'id', type: String, required: true })
|
|
15
|
+
* @Get('/users/:id')
|
|
16
|
+
* getUser(id: string) {}
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function DocParam(options: DocParamOptions): any;
|
|
20
|
+
//# sourceMappingURL=doc-param.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-param.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-param.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,GAAG,CA4CtD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DocParam = DocParam;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const controller_metadata_1 = require("./controller-metadata");
|
|
6
|
+
/**
|
|
7
|
+
* DocParam 데코레이터 - Swagger 경로 파라미터 설정
|
|
8
|
+
* 파라미터 또는 메서드에 적용 가능
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* // 파라미터에 적용
|
|
13
|
+
* @Get('/users/:id')
|
|
14
|
+
* getUser(@DocParam({ name: 'id', type: String }) id: string) {}
|
|
15
|
+
*
|
|
16
|
+
* // 메서드에 적용
|
|
17
|
+
* @DocParam({ name: 'id', type: String, required: true })
|
|
18
|
+
* @Get('/users/:id')
|
|
19
|
+
* getUser(id: string) {}
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
function DocParam(options) {
|
|
23
|
+
return function (target, propertyKey, descriptorOrIndex) {
|
|
24
|
+
if (typeof descriptorOrIndex === "number") {
|
|
25
|
+
// ParameterDecorator
|
|
26
|
+
const existingParams = Reflect.getMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_PARAM, target, propertyKey) || [];
|
|
27
|
+
const paramMetadata = {
|
|
28
|
+
...options,
|
|
29
|
+
parameterIndex: descriptorOrIndex,
|
|
30
|
+
};
|
|
31
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_PARAM, [...existingParams, paramMetadata], target, propertyKey);
|
|
32
|
+
}
|
|
33
|
+
else if (descriptorOrIndex !== undefined) {
|
|
34
|
+
// MethodDecorator
|
|
35
|
+
const existingParams = Reflect.getMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_PARAM, target, propertyKey) || [];
|
|
36
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_PARAM, [...existingParams, options], target, propertyKey);
|
|
37
|
+
return descriptorOrIndex;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=doc-param.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-param.decorator.js","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-param.decorator.ts"],"names":[],"mappings":";;AAoBA,4BA4CC;AAhED,4BAA0B;AAC1B,+DAA4D;AAG5D;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,QAAQ,CAAC,OAAwB;IAC/C,OAAO,UACL,MAAW,EACX,WAA6B,EAC7B,iBAA+C;QAE/C,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC1C,qBAAqB;YACrB,MAAM,cAAc,GAClB,OAAO,CAAC,WAAW,CACjB,yCAAmB,CAAC,SAAS,EAC7B,MAAM,EACN,WAAqB,CACtB,IAAI,EAAE,CAAC;YAEV,MAAM,aAAa,GAAG;gBACpB,GAAG,OAAO;gBACV,cAAc,EAAE,iBAAiB;aAClC,CAAC;YAEF,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,SAAS,EAC7B,CAAC,GAAG,cAAc,EAAE,aAAa,CAAC,EAClC,MAAM,EACN,WAAqB,CACtB,CAAC;QACJ,CAAC;aAAM,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,kBAAkB;YAClB,MAAM,cAAc,GAClB,OAAO,CAAC,WAAW,CACjB,yCAAmB,CAAC,SAAS,EAC7B,MAAM,EACN,WAAqB,CACtB,IAAI,EAAE,CAAC;YAEV,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,SAAS,EAC7B,CAAC,GAAG,cAAc,EAAE,OAAO,CAAC,EAC5B,MAAM,EACN,WAAqB,CACtB,CAAC;YACF,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import type { DocQueryOptions } from "../types/controller.types";
|
|
3
|
+
/**
|
|
4
|
+
* DocQuery 데코레이터 - Swagger 쿼리 파라미터 설정
|
|
5
|
+
* 파라미터 또는 메서드에 적용 가능
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // 파라미터에 적용
|
|
10
|
+
* @Get('/users')
|
|
11
|
+
* getUsers(@DocQuery({ name: 'page', type: Number, required: false }) page?: number) {}
|
|
12
|
+
*
|
|
13
|
+
* // 메서드에 적용
|
|
14
|
+
* @DocQuery({ name: 'page', type: Number, required: false })
|
|
15
|
+
* @Get('/users')
|
|
16
|
+
* getUsers(page?: number) {}
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function DocQuery(options: DocQueryOptions): any;
|
|
20
|
+
//# sourceMappingURL=doc-query.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-query.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-query.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,GAAG,CA4CtD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DocQuery = DocQuery;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const controller_metadata_1 = require("./controller-metadata");
|
|
6
|
+
/**
|
|
7
|
+
* DocQuery 데코레이터 - Swagger 쿼리 파라미터 설정
|
|
8
|
+
* 파라미터 또는 메서드에 적용 가능
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* // 파라미터에 적용
|
|
13
|
+
* @Get('/users')
|
|
14
|
+
* getUsers(@DocQuery({ name: 'page', type: Number, required: false }) page?: number) {}
|
|
15
|
+
*
|
|
16
|
+
* // 메서드에 적용
|
|
17
|
+
* @DocQuery({ name: 'page', type: Number, required: false })
|
|
18
|
+
* @Get('/users')
|
|
19
|
+
* getUsers(page?: number) {}
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
function DocQuery(options) {
|
|
23
|
+
return function (target, propertyKey, descriptorOrIndex) {
|
|
24
|
+
if (typeof descriptorOrIndex === "number") {
|
|
25
|
+
// ParameterDecorator
|
|
26
|
+
const existingQueries = Reflect.getMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_QUERY, target, propertyKey) || [];
|
|
27
|
+
const queryMetadata = {
|
|
28
|
+
...options,
|
|
29
|
+
parameterIndex: descriptorOrIndex,
|
|
30
|
+
};
|
|
31
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_QUERY, [...existingQueries, queryMetadata], target, propertyKey);
|
|
32
|
+
}
|
|
33
|
+
else if (descriptorOrIndex !== undefined) {
|
|
34
|
+
// MethodDecorator
|
|
35
|
+
const existingQueries = Reflect.getMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_QUERY, target, propertyKey) || [];
|
|
36
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_QUERY, [...existingQueries, options], target, propertyKey);
|
|
37
|
+
return descriptorOrIndex;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=doc-query.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-query.decorator.js","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-query.decorator.ts"],"names":[],"mappings":";;AAoBA,4BA4CC;AAhED,4BAA0B;AAC1B,+DAA4D;AAG5D;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,QAAQ,CAAC,OAAwB;IAC/C,OAAO,UACL,MAAW,EACX,WAA6B,EAC7B,iBAA+C;QAE/C,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC1C,qBAAqB;YACrB,MAAM,eAAe,GACnB,OAAO,CAAC,WAAW,CACjB,yCAAmB,CAAC,SAAS,EAC7B,MAAM,EACN,WAAqB,CACtB,IAAI,EAAE,CAAC;YAEV,MAAM,aAAa,GAAG;gBACpB,GAAG,OAAO;gBACV,cAAc,EAAE,iBAAiB;aAClC,CAAC;YAEF,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,SAAS,EAC7B,CAAC,GAAG,eAAe,EAAE,aAAa,CAAC,EACnC,MAAM,EACN,WAAqB,CACtB,CAAC;QACJ,CAAC;aAAM,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,kBAAkB;YAClB,MAAM,eAAe,GACnB,OAAO,CAAC,WAAW,CACjB,yCAAmB,CAAC,SAAS,EAC7B,MAAM,EACN,WAAqB,CACtB,IAAI,EAAE,CAAC;YAEV,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,SAAS,EAC7B,CAAC,GAAG,eAAe,EAAE,OAAO,CAAC,EAC7B,MAAM,EACN,WAAqB,CACtB,CAAC;YACF,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import type { DocResponseOptions } from "../types/controller.types";
|
|
3
|
+
/**
|
|
4
|
+
* DocResponse 데코레이터 - Swagger 응답 설정
|
|
5
|
+
* 메서드에 적용
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* @DocResponse({ status: 200, description: '성공' })
|
|
10
|
+
* @DocResponse({ status: 400, description: 'Validation 실패' })
|
|
11
|
+
* @Post('/users')
|
|
12
|
+
* createUser() {}
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function DocResponse(options: DocResponseOptions): MethodDecorator;
|
|
16
|
+
//# sourceMappingURL=doc-response.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-response.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-response.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,eAAe,CAqBxE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DocResponse = DocResponse;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const controller_metadata_1 = require("./controller-metadata");
|
|
6
|
+
/**
|
|
7
|
+
* DocResponse 데코레이터 - Swagger 응답 설정
|
|
8
|
+
* 메서드에 적용
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* @DocResponse({ status: 200, description: '성공' })
|
|
13
|
+
* @DocResponse({ status: 400, description: 'Validation 실패' })
|
|
14
|
+
* @Post('/users')
|
|
15
|
+
* createUser() {}
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
function DocResponse(options) {
|
|
19
|
+
return function (target, propertyKey, descriptor) {
|
|
20
|
+
const existingResponses = Reflect.getMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_RESPONSE, target, propertyKey) || [];
|
|
21
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_RESPONSE, [...existingResponses, options], target, propertyKey);
|
|
22
|
+
return descriptor;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=doc-response.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-response.decorator.js","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-response.decorator.ts"],"names":[],"mappings":";;AAgBA,kCAqBC;AArCD,4BAA0B;AAC1B,+DAA4D;AAG5D;;;;;;;;;;;GAWG;AACH,SAAgB,WAAW,CAAC,OAA2B;IACrD,OAAO,UACL,MAAW,EACX,WAA4B,EAC5B,UAA8B;QAE9B,MAAM,iBAAiB,GACrB,OAAO,CAAC,WAAW,CACjB,yCAAmB,CAAC,YAAY,EAChC,MAAM,EACN,WAAW,CACZ,IAAI,EAAE,CAAC;QAEV,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,YAAY,EAChC,CAAC,GAAG,iBAAiB,EAAE,OAAO,CAAC,EAC/B,MAAM,EACN,WAAW,CACZ,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
/**
|
|
3
|
+
* DocTags 데코레이터 - Swagger 태그 설정
|
|
4
|
+
* 클래스 또는 메서드에 적용 가능
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* @DocTags('Users')
|
|
9
|
+
* class UserController {
|
|
10
|
+
* @DocTags('Admin')
|
|
11
|
+
* @Get('/admin')
|
|
12
|
+
* adminRoute() {}
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function DocTags(...tags: string[]): ClassDecorator & MethodDecorator;
|
|
17
|
+
//# sourceMappingURL=doc-tags.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-tags.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-tags.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAI1B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,GAAG,eAAe,CAiC3E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DocTags = DocTags;
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const controller_metadata_1 = require("./controller-metadata");
|
|
6
|
+
/**
|
|
7
|
+
* DocTags 데코레이터 - Swagger 태그 설정
|
|
8
|
+
* 클래스 또는 메서드에 적용 가능
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* @DocTags('Users')
|
|
13
|
+
* class UserController {
|
|
14
|
+
* @DocTags('Admin')
|
|
15
|
+
* @Get('/admin')
|
|
16
|
+
* adminRoute() {}
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
function DocTags(...tags) {
|
|
21
|
+
return function (target, propertyKey, descriptor) {
|
|
22
|
+
const metadata = { tags };
|
|
23
|
+
if (propertyKey === undefined) {
|
|
24
|
+
// ClassDecorator
|
|
25
|
+
const existingTags = Reflect.getMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_TAGS, target) || [];
|
|
26
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_TAGS, [...existingTags, ...tags], target);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
// MethodDecorator
|
|
30
|
+
const existingTags = Reflect.getMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_TAGS, target, propertyKey) || [];
|
|
31
|
+
Reflect.defineMetadata(controller_metadata_1.CONTROLLER_METADATA.DOC_TAGS, [...existingTags, ...tags], target, propertyKey);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=doc-tags.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-tags.decorator.js","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/doc-tags.decorator.ts"],"names":[],"mappings":";;AAkBA,0BAiCC;AAnDD,4BAA0B;AAC1B,+DAA4D;AAG5D;;;;;;;;;;;;;GAaG;AACH,SAAgB,OAAO,CAAC,GAAG,IAAc;IACvC,OAAO,UACL,MAAW,EACX,WAA6B,EAC7B,UAA+B;QAE/B,MAAM,QAAQ,GAAmB,EAAE,IAAI,EAAE,CAAC;QAE1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,iBAAiB;YACjB,MAAM,YAAY,GAChB,OAAO,CAAC,WAAW,CAAC,yCAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAClE,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,QAAQ,EAC5B,CAAC,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,EAC1B,MAAM,CACP,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,MAAM,YAAY,GAChB,OAAO,CAAC,WAAW,CACjB,yCAAmB,CAAC,QAAQ,EAC5B,MAAM,EACN,WAAW,CACZ,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,cAAc,CACpB,yCAAmB,CAAC,QAAQ,EAC5B,CAAC,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,EAC1B,MAAM,EACN,WAAW,CACZ,CAAC;QACJ,CAAC;IACH,CAAQ,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import type { EndpointOptions } from "../types/controller.types";
|
|
3
|
+
export type { EndpointOptions, EndpointResponseOption, } from "../types/controller.types";
|
|
4
|
+
/**
|
|
5
|
+
* Endpoint 데코레이터 - 모든 Doc 데코레이터를 하나로 압축
|
|
6
|
+
* DocTags, DocOperation, DocResponse, DocParam, DocQuery, DocBody + method/endpoint/role 메타데이터
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* @Endpoint({
|
|
11
|
+
* method: 'POST',
|
|
12
|
+
* endpoint: '/users',
|
|
13
|
+
* summary: '사용자 생성',
|
|
14
|
+
* description: '새 사용자를 생성합니다.',
|
|
15
|
+
* role: 'ADMIN',
|
|
16
|
+
* tags: ['Users'],
|
|
17
|
+
* body: { type: CreateUserDto, required: true },
|
|
18
|
+
* responses: [
|
|
19
|
+
* { status: 200, description: '성공', type: UserDto },
|
|
20
|
+
* { status: 400, description: 'Validation 실패' },
|
|
21
|
+
* ],
|
|
22
|
+
* })
|
|
23
|
+
* createUser() {}
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function Endpoint(options: EndpointOptions): MethodDecorator;
|
|
27
|
+
//# sourceMappingURL=endpoint.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint.decorator.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/controllers/lib/endpoint.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AASjE,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAgGlE"}
|