1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const lodash_1 = require("lodash");
|
4 | const helpers_1 = require("./helpers");
|
5 | const defaultQueryMetadata = {
|
6 | name: '',
|
7 | required: true
|
8 | };
|
9 | exports.ApiImplicitQuery = (metadata) => {
|
10 | const param = {
|
11 | name: lodash_1.isNil(metadata.name) ? defaultQueryMetadata.name : metadata.name,
|
12 | in: 'query',
|
13 | description: metadata.description,
|
14 | required: metadata.required,
|
15 | type: metadata.type,
|
16 | enum: undefined
|
17 | };
|
18 | if (metadata.isArray) {
|
19 | param.type = Array;
|
20 | if (metadata.enum) {
|
21 | param.items = {
|
22 | type: 'string',
|
23 | enum: metadata.enum
|
24 | };
|
25 | }
|
26 | else {
|
27 | param.items = {
|
28 | type: metadata.type
|
29 | };
|
30 | }
|
31 | }
|
32 | else if (metadata.enum) {
|
33 | param.type = String;
|
34 | param.enum = metadata.enum;
|
35 | }
|
36 | return helpers_1.createParamDecorator(param, defaultQueryMetadata);
|
37 | };
|