UNPKG

3.17 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const constants_1 = require("../../constants");
4const request_method_enum_1 = require("../../enums/request-method.enum");
5const defaultMetadata = {
6 [constants_1.PATH_METADATA]: '/',
7 [constants_1.METHOD_METADATA]: request_method_enum_1.RequestMethod.GET,
8};
9exports.RequestMapping = (metadata = defaultMetadata) => {
10 const pathMetadata = metadata[constants_1.PATH_METADATA];
11 const path = pathMetadata && pathMetadata.length ? pathMetadata : '/';
12 const requestMethod = metadata[constants_1.METHOD_METADATA] || request_method_enum_1.RequestMethod.GET;
13 return (target, key, descriptor) => {
14 Reflect.defineMetadata(constants_1.PATH_METADATA, path, descriptor.value);
15 Reflect.defineMetadata(constants_1.METHOD_METADATA, requestMethod, descriptor.value);
16 return descriptor;
17 };
18};
19const createMappingDecorator = (method) => (path) => {
20 return exports.RequestMapping({
21 [constants_1.PATH_METADATA]: path,
22 [constants_1.METHOD_METADATA]: method,
23 });
24};
25/**
26 * Route handler (method) Decorator. Routes HTTP POST requests to the specified path.
27 *
28 * @see [Routing](https://docs.nestjs.com/controllers#routing)
29 *
30 * @publicApi
31 */
32exports.Post = createMappingDecorator(request_method_enum_1.RequestMethod.POST);
33/**
34 * Route handler (method) Decorator. Routes HTTP GET requests to the specified path.
35 *
36 * @see [Routing](https://docs.nestjs.com/controllers#routing)
37 *
38 * @publicApi
39 */
40exports.Get = createMappingDecorator(request_method_enum_1.RequestMethod.GET);
41/**
42 * Route handler (method) Decorator. Routes HTTP DELETE requests to the specified path.
43 *
44 * @see [Routing](https://docs.nestjs.com/controllers#routing)
45 *
46 * @publicApi
47 */
48exports.Delete = createMappingDecorator(request_method_enum_1.RequestMethod.DELETE);
49/**
50 * Route handler (method) Decorator. Routes HTTP PUT requests to the specified path.
51 *
52 * @see [Routing](https://docs.nestjs.com/controllers#routing)
53 *
54 * @publicApi
55 */
56exports.Put = createMappingDecorator(request_method_enum_1.RequestMethod.PUT);
57/**
58 * Route handler (method) Decorator. Routes HTTP PATCH requests to the specified path.
59 *
60 * @see [Routing](https://docs.nestjs.com/controllers#routing)
61 *
62 * @publicApi
63 */
64exports.Patch = createMappingDecorator(request_method_enum_1.RequestMethod.PATCH);
65/**
66 * Route handler (method) Decorator. Routes HTTP OPTIONS requests to the specified path.
67 *
68 * @see [Routing](https://docs.nestjs.com/controllers#routing)
69 *
70 * @publicApi
71 */
72exports.Options = createMappingDecorator(request_method_enum_1.RequestMethod.OPTIONS);
73/**
74 * Route handler (method) Decorator. Routes HTTP HEAD requests to the specified path.
75 *
76 * @see [Routing](https://docs.nestjs.com/controllers#routing)
77 *
78 * @publicApi
79 */
80exports.Head = createMappingDecorator(request_method_enum_1.RequestMethod.HEAD);
81/**
82 * Route handler (method) Decorator. Routes all HTTP requests to the specified path.
83 *
84 * @see [Routing](https://docs.nestjs.com/controllers#routing)
85 *
86 * @publicApi
87 */
88exports.All = createMappingDecorator(request_method_enum_1.RequestMethod.ALL);