@spinajs/http 1.0.14 → 1.2.108
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/README.md +11 -0
- package/lib/config/http.js +17 -17
- package/lib/config/http.js.map +1 -1
- package/lib/controllers.d.ts +6 -4
- package/lib/controllers.js +53 -184
- package/lib/controllers.js.map +1 -1
- package/lib/decorators.d.ts +51 -24
- package/lib/decorators.js +99 -40
- package/lib/decorators.js.map +1 -1
- package/lib/exceptions.d.ts +0 -0
- package/lib/exceptions.js +1 -0
- package/lib/exceptions.js.map +1 -0
- package/lib/http.d.ts +0 -0
- package/lib/http.js +1 -0
- package/lib/http.js.map +1 -0
- package/lib/hydrators/datetime.d.ts +8 -0
- package/lib/hydrators/datetime.js +63 -0
- package/lib/hydrators/datetime.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +8 -3
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +45 -16
- package/lib/interfaces.js +31 -12
- package/lib/interfaces.js.map +1 -1
- package/lib/response-methods/badRequest.d.ts +3 -2
- package/lib/response-methods/badRequest.js +1 -1
- package/lib/response-methods/badRequest.js.map +1 -1
- package/lib/response-methods/conflict.d.ts +3 -2
- package/lib/response-methods/conflict.js +1 -1
- package/lib/response-methods/conflict.js.map +1 -1
- package/lib/response-methods/cookieResponse.d.ts +3 -2
- package/lib/response-methods/cookieResponse.js +9 -5
- package/lib/response-methods/cookieResponse.js.map +1 -1
- package/lib/response-methods/created.d.ts +3 -2
- package/lib/response-methods/created.js +1 -1
- package/lib/response-methods/created.js.map +1 -1
- package/lib/response-methods/file.d.ts +16 -2
- package/lib/response-methods/file.js +67 -5
- package/lib/response-methods/file.js.map +1 -1
- package/lib/response-methods/forbidden.d.ts +3 -2
- package/lib/response-methods/forbidden.js +1 -1
- package/lib/response-methods/forbidden.js.map +1 -1
- package/lib/response-methods/index.js +6 -2
- package/lib/response-methods/index.js.map +1 -1
- package/lib/response-methods/noContent.d.ts +3 -2
- package/lib/response-methods/noContent.js +1 -1
- package/lib/response-methods/noContent.js.map +1 -1
- package/lib/response-methods/notFound.d.ts +3 -2
- package/lib/response-methods/notFound.js +1 -1
- package/lib/response-methods/notFound.js.map +1 -1
- package/lib/response-methods/ok.d.ts +3 -2
- package/lib/response-methods/ok.js +1 -1
- package/lib/response-methods/ok.js.map +1 -1
- package/lib/response-methods/pug.d.ts +3 -2
- package/lib/response-methods/pug.js +1 -1
- package/lib/response-methods/pug.js.map +1 -1
- package/lib/response-methods/redirect.d.ts +2 -2
- package/lib/response-methods/redirect.js +2 -4
- package/lib/response-methods/redirect.js.map +1 -1
- package/lib/response-methods/serverError.d.ts +3 -2
- package/lib/response-methods/serverError.js +1 -1
- package/lib/response-methods/serverError.js.map +1 -1
- package/lib/response-methods/unauthorized.d.ts +3 -2
- package/lib/response-methods/unauthorized.js +1 -1
- package/lib/response-methods/unauthorized.js.map +1 -1
- package/lib/responses.d.ts +1 -1
- package/lib/responses.js +28 -11
- package/lib/responses.js.map +1 -1
- package/lib/route-args/ArgAsRequest.d.ts +11 -0
- package/lib/{transformers/PureFormatter.js → route-args/ArgAsRequest.js} +13 -12
- package/lib/route-args/ArgAsRequest.js.map +1 -0
- package/lib/route-args/ArgAsResponse.d.ts +10 -0
- package/lib/{dto/limit-dto.js → route-args/ArgAsResponse.js} +16 -18
- package/lib/route-args/ArgAsResponse.js.map +1 -0
- package/lib/route-args/ArgHydrator.d.ts +3 -0
- package/lib/route-args/ArgHydrator.js +7 -0
- package/lib/route-args/ArgHydrator.js.map +1 -0
- package/lib/route-args/FromBody.d.ts +10 -0
- package/lib/route-args/FromBody.js +44 -0
- package/lib/route-args/FromBody.js.map +1 -0
- package/lib/route-args/FromCoockie.d.ts +13 -0
- package/lib/route-args/FromCoockie.js +71 -0
- package/lib/route-args/FromCoockie.js.map +1 -0
- package/lib/route-args/FromCookie.d.ts +13 -0
- package/lib/route-args/FromCookie.js +74 -0
- package/lib/route-args/FromCookie.js.map +1 -0
- package/lib/route-args/FromDi.d.ts +14 -0
- package/lib/route-args/FromDi.js +35 -0
- package/lib/route-args/FromDi.js.map +1 -0
- package/lib/route-args/FromForm.d.ts +82 -0
- package/lib/route-args/FromForm.js +259 -0
- package/lib/route-args/FromForm.js.map +1 -0
- package/lib/route-args/FromHeaderArg.d.ts +12 -0
- package/lib/route-args/FromHeaderArg.js +30 -0
- package/lib/route-args/FromHeaderArg.js.map +1 -0
- package/lib/route-args/FromParams.d.ts +10 -0
- package/lib/route-args/FromParams.js +25 -0
- package/lib/route-args/FromParams.js.map +1 -0
- package/lib/route-args/FromQuery.d.ts +10 -0
- package/lib/{dto/order-dto.js → route-args/FromQuery.js} +16 -18
- package/lib/route-args/FromQuery.js.map +1 -0
- package/lib/route-args/RouteArgs.d.ts +19 -0
- package/lib/route-args/RouteArgs.js +64 -0
- package/lib/route-args/RouteArgs.js.map +1 -0
- package/lib/route-args/index.d.ts +11 -0
- package/lib/route-args/index.js +28 -0
- package/lib/route-args/index.js.map +1 -0
- package/lib/schemas/RouteArgsSchemas.d.ts +15 -0
- package/lib/schemas/RouteArgsSchemas.js +19 -0
- package/lib/schemas/RouteArgsSchemas.js.map +1 -0
- package/lib/server.d.ts +3 -2
- package/lib/server.js +30 -14
- package/lib/server.js.map +1 -1
- package/lib/transformers/PureTransformer.d.ts +1 -1
- package/lib/transformers/PureTransformer.js +2 -2
- package/lib/transformers/PureTransformer.js.map +1 -1
- package/package.json +27 -54
- package/lib/dto/index.d.ts +0 -2
- package/lib/dto/index.js +0 -15
- package/lib/dto/index.js.map +0 -1
- package/lib/dto/limit-dto.d.ts +0 -32
- package/lib/dto/limit-dto.js.map +0 -1
- package/lib/dto/order-dto.d.ts +0 -32
- package/lib/dto/order-dto.js.map +0 -1
- package/lib/schemas.d.ts +0 -24
- package/lib/schemas.js +0 -96
- package/lib/schemas.js.map +0 -1
- package/lib/static/favicon.ico +0 -0
- package/lib/static/style.css +0 -15
- package/lib/transformers/PureFormatter.d.ts +0 -7
- package/lib/transformers/PureFormatter.js.map +0 -1
- package/lib/views/responses/badRequest.pug +0 -13
- package/lib/views/responses/conflict.pug +0 -13
- package/lib/views/responses/forbidden.pug +0 -13
- package/lib/views/responses/noContent.pug +0 -13
- package/lib/views/responses/notFound.pug +0 -13
- package/lib/views/responses/ok.pug +0 -12
- package/lib/views/responses/serverError.pug +0 -13
- package/lib/views/responses/unauthorized.pug +0 -13
package/lib/decorators.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Post = exports.Get = exports.Put = exports.Del = exports.Patch = exports.Head = exports.Cookie = exports.Model = exports.Res = exports.Req = exports.Uuid = exports.PKey = exports.FormField = exports.Form = exports.JsonFile = exports.CsvFile = exports.File = exports.Header = exports.FromModel = exports.Param = exports.Body = exports.Query = exports.FromDI = exports.BasePath = exports.Middleware = exports.Policy = exports.Hydrator = exports.Parameter = exports.Route = exports.CONTROLLED_DESCRIPTOR_SYMBOL = void 0;
|
|
4
4
|
const interfaces_1 = require("./interfaces");
|
|
5
|
+
const RouteArgsSchemas_1 = require("./schemas/RouteArgsSchemas");
|
|
5
6
|
exports.CONTROLLED_DESCRIPTOR_SYMBOL = Symbol('CONTROLLER_SYMBOL');
|
|
6
|
-
exports.SCHEMA_SYMBOL = Symbol('SCHEMA_SYMBOL');
|
|
7
7
|
function Controller(callback) {
|
|
8
8
|
return (target, propertyKey, indexOrDescriptor) => {
|
|
9
9
|
let metadata = Reflect.getMetadata(exports.CONTROLLED_DESCRIPTOR_SYMBOL, target.prototype || target);
|
|
@@ -47,19 +47,52 @@ function Route(callback) {
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
+
exports.Route = Route;
|
|
50
51
|
function Parameter(type, schema, options) {
|
|
51
52
|
return (_, route, target, propertyKey, index) => {
|
|
53
|
+
const rType = Reflect.getMetadata('design:paramtypes', target.prototype || target, propertyKey)[index];
|
|
54
|
+
let tSchema = null;
|
|
55
|
+
if (!schema) {
|
|
56
|
+
switch (rType.name) {
|
|
57
|
+
case 'Number':
|
|
58
|
+
tSchema = RouteArgsSchemas_1.ROUTE_ARG_SCHEMA.Number;
|
|
59
|
+
break;
|
|
60
|
+
case 'String':
|
|
61
|
+
tSchema = RouteArgsSchemas_1.ROUTE_ARG_SCHEMA.String;
|
|
62
|
+
break;
|
|
63
|
+
case 'Boolean':
|
|
64
|
+
tSchema = RouteArgsSchemas_1.ROUTE_ARG_SCHEMA.Boolean;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
52
67
|
const param = {
|
|
53
68
|
Index: index,
|
|
54
69
|
Name: '',
|
|
55
|
-
RuntimeType:
|
|
56
|
-
Schema: schema,
|
|
70
|
+
RuntimeType: rType,
|
|
71
|
+
Schema: schema !== null && schema !== void 0 ? schema : tSchema,
|
|
57
72
|
Options: options,
|
|
58
73
|
Type: type,
|
|
59
74
|
};
|
|
60
75
|
route.Parameters.set(index, param);
|
|
61
76
|
};
|
|
62
77
|
}
|
|
78
|
+
exports.Parameter = Parameter;
|
|
79
|
+
/**
|
|
80
|
+
* Tells controller how to fill up incoming parameters in controller actions
|
|
81
|
+
*
|
|
82
|
+
* @param hydrator - hydrator class that will fill up incoming argument
|
|
83
|
+
* @param options - additional options passed to hydrator
|
|
84
|
+
*/
|
|
85
|
+
function Hydrator(hydrator, ...options) {
|
|
86
|
+
return (target) => {
|
|
87
|
+
if (!Reflect.getMetadata('custom:arg_hydrator', target)) {
|
|
88
|
+
Reflect.defineMetadata('custom:arg_hydrator', {
|
|
89
|
+
hydrator,
|
|
90
|
+
options,
|
|
91
|
+
}, target);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
exports.Hydrator = Hydrator;
|
|
63
96
|
function Policy(policy, ...options) {
|
|
64
97
|
return Route((controller, route, _, _1, _2) => {
|
|
65
98
|
const pDesc = {
|
|
@@ -96,14 +129,14 @@ function BasePath(path) {
|
|
|
96
129
|
});
|
|
97
130
|
}
|
|
98
131
|
exports.BasePath = BasePath;
|
|
99
|
-
function
|
|
132
|
+
function FromDI() {
|
|
100
133
|
return Route(Parameter(interfaces_1.ParameterType.FromDi));
|
|
101
134
|
}
|
|
102
|
-
exports.
|
|
135
|
+
exports.FromDI = FromDI;
|
|
103
136
|
/**
|
|
104
137
|
* Route parameter taken from query string eg. route?id=1
|
|
105
138
|
*
|
|
106
|
-
* @param schema parameter json schema for optional validation
|
|
139
|
+
* @param schema - parameter json schema for optional validation
|
|
107
140
|
*/
|
|
108
141
|
function Query(schema) {
|
|
109
142
|
return Route(Parameter(interfaces_1.ParameterType.FromQuery, schema));
|
|
@@ -112,7 +145,7 @@ exports.Query = Query;
|
|
|
112
145
|
/**
|
|
113
146
|
* Route parameter taken from message body (POST)
|
|
114
147
|
*
|
|
115
|
-
* @param schema parameter json schema for optional validation
|
|
148
|
+
* @param schema - parameter json schema for optional validation
|
|
116
149
|
*/
|
|
117
150
|
function Body(schema) {
|
|
118
151
|
return Route(Parameter(interfaces_1.ParameterType.FromBody, schema));
|
|
@@ -121,7 +154,7 @@ exports.Body = Body;
|
|
|
121
154
|
/**
|
|
122
155
|
* Route parameter taken from url parameters eg. route/:id
|
|
123
156
|
*
|
|
124
|
-
* @param schema parameter json schema for optional validation
|
|
157
|
+
* @param schema - parameter json schema for optional validation
|
|
125
158
|
*/
|
|
126
159
|
function Param(schema) {
|
|
127
160
|
return Route(Parameter(interfaces_1.ParameterType.FromParams, schema));
|
|
@@ -131,34 +164,70 @@ function FromModel(schema) {
|
|
|
131
164
|
return Route(Parameter(interfaces_1.ParameterType.FromModel, schema));
|
|
132
165
|
}
|
|
133
166
|
exports.FromModel = FromModel;
|
|
167
|
+
/**
|
|
168
|
+
* Gets parameter from request header. If not keyname is provided
|
|
169
|
+
* variable name is used as header key name
|
|
170
|
+
*
|
|
171
|
+
* @param keyName - header key name ( optional )
|
|
172
|
+
* @param schema - schema for validation ( optional )
|
|
173
|
+
* @returns
|
|
174
|
+
*/
|
|
175
|
+
function Header(keyName, schema) {
|
|
176
|
+
return Route(Parameter(interfaces_1.ParameterType.FromHeader, schema, { key: keyName }));
|
|
177
|
+
}
|
|
178
|
+
exports.Header = Header;
|
|
134
179
|
/**
|
|
135
180
|
*
|
|
136
181
|
* Parameter as file
|
|
137
182
|
*
|
|
138
|
-
* @param options upload options
|
|
183
|
+
* @param options - upload options
|
|
139
184
|
*/
|
|
140
|
-
function
|
|
185
|
+
function File(options) {
|
|
141
186
|
return Route(Parameter(interfaces_1.ParameterType.FromFile, null, options));
|
|
142
187
|
}
|
|
143
|
-
exports.
|
|
188
|
+
exports.File = File;
|
|
189
|
+
/**
|
|
190
|
+
* Data taken from cvs file that is uploaded. Actions receives parsed data
|
|
191
|
+
*
|
|
192
|
+
* @param options - upload options
|
|
193
|
+
* @param cvsParseOptions - cvs parser options
|
|
194
|
+
* @param schema - optional schema for data validation
|
|
195
|
+
*/
|
|
196
|
+
function CsvFile(options, cvsParseOptions, schema) {
|
|
197
|
+
return Route(Parameter(interfaces_1.ParameterType.FromCSV, schema, {
|
|
198
|
+
uploadOptions: options,
|
|
199
|
+
cvsOptions: cvsParseOptions,
|
|
200
|
+
}));
|
|
201
|
+
}
|
|
202
|
+
exports.CsvFile = CsvFile;
|
|
203
|
+
/**
|
|
204
|
+
* Data taken from cvs file that is uploaded. Actions receives parsed data
|
|
205
|
+
*
|
|
206
|
+
* @param options - upload options
|
|
207
|
+
* @param schema - optional schema for data validation
|
|
208
|
+
*/
|
|
209
|
+
function JsonFile(options, schema) {
|
|
210
|
+
return Route(Parameter(interfaces_1.ParameterType.FromJSONFile, schema, options));
|
|
211
|
+
}
|
|
212
|
+
exports.JsonFile = JsonFile;
|
|
144
213
|
/**
|
|
145
214
|
*
|
|
146
215
|
* Parameter taken from form data (multipart-form)
|
|
147
216
|
*
|
|
148
|
-
* @param options upload options
|
|
217
|
+
* @param options - upload options
|
|
149
218
|
*/
|
|
150
|
-
function Form(schema) {
|
|
151
|
-
return Route(Parameter(interfaces_1.ParameterType.FromForm, schema));
|
|
219
|
+
function Form(schema, options) {
|
|
220
|
+
return Route(Parameter(interfaces_1.ParameterType.FromForm, schema, options));
|
|
152
221
|
}
|
|
153
222
|
exports.Form = Form;
|
|
154
223
|
/**
|
|
155
224
|
*
|
|
156
225
|
* Parameter taken from form data (multipart-form)
|
|
157
226
|
*
|
|
158
|
-
* @param options upload options
|
|
227
|
+
* @param options - upload options
|
|
159
228
|
*/
|
|
160
|
-
function FormField() {
|
|
161
|
-
return Route(Parameter(interfaces_1.ParameterType.FormField,
|
|
229
|
+
function FormField(schema, options) {
|
|
230
|
+
return Route(Parameter(interfaces_1.ParameterType.FormField, schema, options));
|
|
162
231
|
}
|
|
163
232
|
exports.FormField = FormField;
|
|
164
233
|
/**
|
|
@@ -166,19 +235,21 @@ exports.FormField = FormField;
|
|
|
166
235
|
* Shortcut for parameter as autoincrement primary key ( number greater than 0)
|
|
167
236
|
*
|
|
168
237
|
*/
|
|
169
|
-
function
|
|
170
|
-
return Route(Parameter(interfaces_1.ParameterType.FromParams, { type: 'number', minimum: 0 }));
|
|
238
|
+
function PKey(type) {
|
|
239
|
+
return Route(Parameter(type ? type : interfaces_1.ParameterType.FromParams, { type: 'number', minimum: 0 }));
|
|
171
240
|
}
|
|
172
|
-
exports.
|
|
241
|
+
exports.PKey = PKey;
|
|
173
242
|
/**
|
|
174
243
|
*
|
|
175
244
|
* Shortcut for parameter as uuid primary key ( string with 32 length )
|
|
176
245
|
*
|
|
177
246
|
*/
|
|
178
|
-
function
|
|
179
|
-
return Route(Parameter(interfaces_1.ParameterType.FromParams, { type: 'string', minLength:
|
|
247
|
+
function Uuid(type, version) {
|
|
248
|
+
return Route(Parameter(type ? type : interfaces_1.ParameterType.FromParams, { type: 'string', minLength: 36, maxLength: 36, pattern: '^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$' }, {
|
|
249
|
+
version: version !== null && version !== void 0 ? version : interfaces_1.UuidVersion.v4,
|
|
250
|
+
}));
|
|
180
251
|
}
|
|
181
|
-
exports.
|
|
252
|
+
exports.Uuid = Uuid;
|
|
182
253
|
/**
|
|
183
254
|
*
|
|
184
255
|
* Express request
|
|
@@ -201,7 +272,7 @@ exports.Res = Res;
|
|
|
201
272
|
*
|
|
202
273
|
* Parameter taken from model
|
|
203
274
|
*
|
|
204
|
-
* @param options upload options
|
|
275
|
+
* @param options - upload options
|
|
205
276
|
*/
|
|
206
277
|
function Model(model) {
|
|
207
278
|
return Route(Parameter(interfaces_1.ParameterType.FromModel, null, { type: model }));
|
|
@@ -209,9 +280,9 @@ function Model(model) {
|
|
|
209
280
|
exports.Model = Model;
|
|
210
281
|
/**
|
|
211
282
|
*
|
|
212
|
-
* Parameter taken from
|
|
283
|
+
* Parameter taken from coockie
|
|
213
284
|
*
|
|
214
|
-
* @param options upload options
|
|
285
|
+
* @param options - upload options
|
|
215
286
|
*/
|
|
216
287
|
function Cookie() {
|
|
217
288
|
return Route(Parameter(interfaces_1.ParameterType.FromCookie, { type: 'string' }));
|
|
@@ -285,22 +356,10 @@ exports.Get = Get;
|
|
|
285
356
|
*/
|
|
286
357
|
function Post(path) {
|
|
287
358
|
return Route((_, route) => {
|
|
288
|
-
route.Type = interfaces_1.RouteType.
|
|
359
|
+
route.Type = interfaces_1.RouteType.POST;
|
|
289
360
|
route.InternalType = interfaces_1.RouteType.POST;
|
|
290
361
|
route.Path = path;
|
|
291
362
|
});
|
|
292
363
|
}
|
|
293
364
|
exports.Post = Post;
|
|
294
|
-
/**
|
|
295
|
-
*
|
|
296
|
-
* Add schema for object eg. model or dto
|
|
297
|
-
*
|
|
298
|
-
* @param schema schema for object
|
|
299
|
-
*/
|
|
300
|
-
function Schema(schema) {
|
|
301
|
-
return (target) => {
|
|
302
|
-
Reflect.defineMetadata(exports.SCHEMA_SYMBOL, schema, target);
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
exports.Schema = Schema;
|
|
306
365
|
//# sourceMappingURL=decorators.js.map
|
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=exceptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":""}
|
package/lib/http.d.ts
ADDED
|
File without changes
|
package/lib/http.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=http.js.map
|
package/lib/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/config/http.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DateTime = void 0;
|
|
13
|
+
const validation_1 = require("@spinajs/validation");
|
|
14
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
15
|
+
const luxon_1 = require("luxon");
|
|
16
|
+
const decorators_1 = require("../decorators");
|
|
17
|
+
const ArgHydrator_1 = require("../route-args/ArgHydrator");
|
|
18
|
+
var DateTime;
|
|
19
|
+
(function (DateTime) {
|
|
20
|
+
class DateFromUnixHydrator extends ArgHydrator_1.ArgHydrator {
|
|
21
|
+
async hydrate(input) {
|
|
22
|
+
return luxon_1.DateTime.fromSeconds(lodash_1.default.isString(input) ? Number(input) : input);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
class DateFromIsoHydrator extends ArgHydrator_1.ArgHydrator {
|
|
26
|
+
async hydrate(input) {
|
|
27
|
+
return luxon_1.DateTime.fromISO(input);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
class DateFromHttpHydrator extends ArgHydrator_1.ArgHydrator {
|
|
31
|
+
async hydrate(input) {
|
|
32
|
+
return luxon_1.DateTime.fromHTTP(input.startsWith('Date:') ? input.substring(5).trim() : input.trim());
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
let FromUnix = class FromUnix {
|
|
36
|
+
};
|
|
37
|
+
FromUnix = __decorate([
|
|
38
|
+
(0, validation_1.Schema)({
|
|
39
|
+
type: 'number',
|
|
40
|
+
minimum: 0,
|
|
41
|
+
maximum: 2147483647,
|
|
42
|
+
}),
|
|
43
|
+
(0, decorators_1.Hydrator)(DateFromUnixHydrator)
|
|
44
|
+
], FromUnix);
|
|
45
|
+
DateTime.FromUnix = FromUnix;
|
|
46
|
+
let FromHTTP = class FromHTTP {
|
|
47
|
+
};
|
|
48
|
+
FromHTTP = __decorate([
|
|
49
|
+
(0, decorators_1.Hydrator)(DateFromHttpHydrator)
|
|
50
|
+
], FromHTTP);
|
|
51
|
+
DateTime.FromHTTP = FromHTTP;
|
|
52
|
+
let FromISO = class FromISO {
|
|
53
|
+
};
|
|
54
|
+
FromISO = __decorate([
|
|
55
|
+
(0, validation_1.Schema)({
|
|
56
|
+
type: 'string',
|
|
57
|
+
format: 'iso-date-time',
|
|
58
|
+
}),
|
|
59
|
+
(0, decorators_1.Hydrator)(DateFromIsoHydrator)
|
|
60
|
+
], FromISO);
|
|
61
|
+
DateTime.FromISO = FromISO;
|
|
62
|
+
})(DateTime = exports.DateTime || (exports.DateTime = {}));
|
|
63
|
+
//# sourceMappingURL=datetime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../src/hydrators/datetime.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAC7C,oDAAuB;AACvB,iCAA8C;AAC9C,8CAAyC;AACzC,2DAAwD;AAExD,IAAiB,QAAQ,CAoCxB;AApCD,WAAiB,QAAQ;IACvB,MAAM,oBAAqB,SAAQ,yBAAW;QACrC,KAAK,CAAC,OAAO,CAAC,KAAU;YAC7B,OAAO,gBAAS,CAAC,WAAW,CAAC,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC;KACF;IAED,MAAM,mBAAoB,SAAQ,yBAAW;QACpC,KAAK,CAAC,OAAO,CAAC,KAAU;YAC7B,OAAO,gBAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;KACF;IAED,MAAM,oBAAqB,SAAQ,yBAAW;QACrC,KAAK,CAAC,OAAO,CAAC,KAAU;YAC7B,OAAO,gBAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAClG,CAAC;KACF;IAQD,IAAa,QAAQ,GAArB,MAAa,QAAQ;KAAG,CAAA;IAAX,QAAQ;QANpB,IAAA,mBAAM,EAAC;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,UAAU;SACpB,CAAC;QACD,IAAA,qBAAQ,EAAC,oBAAoB,CAAC;OAClB,QAAQ,CAAG;IAAX,iBAAQ,WAAG,CAAA;IAGxB,IAAa,QAAQ,GAArB,MAAa,QAAQ;KAAG,CAAA;IAAX,QAAQ;QADpB,IAAA,qBAAQ,EAAC,oBAAoB,CAAC;OAClB,QAAQ,CAAG;IAAX,iBAAQ,WAAG,CAAA;IAOxB,IAAa,OAAO,GAApB,MAAa,OAAO;KAAG,CAAA;IAAV,OAAO;QALnB,IAAA,mBAAM,EAAC;YACN,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,eAAe;SACxB,CAAC;QACD,IAAA,qBAAQ,EAAC,mBAAmB,CAAC;OACjB,OAAO,CAAG;IAAV,gBAAO,UAAG,CAAA;AACzB,CAAC,EApCgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAoCxB"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
8
12
|
}));
|
|
9
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
__exportStar(require("./interfaces"), exports);
|
|
14
18
|
__exportStar(require("./response-methods"), exports);
|
|
19
|
+
//export * from './hydrators/datetime';
|
|
15
20
|
__exportStar(require("./decorators"), exports);
|
|
16
21
|
__exportStar(require("./responses"), exports);
|
|
22
|
+
__exportStar(require("./route-args"), exports);
|
|
17
23
|
__exportStar(require("./controllers"), exports);
|
|
18
24
|
__exportStar(require("./server"), exports);
|
|
19
|
-
__exportStar(require("./dto"), exports);
|
|
20
25
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,qDAAmC;AACnC,uCAAuC;AACvC,+CAA6B;AAC7B,8CAA4B;AAC5B,+CAA6B;AAC7B,gDAA8B;AAC9B,2CAAyB"}
|
package/lib/interfaces.d.ts
CHANGED
|
@@ -143,6 +143,12 @@ export declare enum RouteType {
|
|
|
143
143
|
FILE = "file",
|
|
144
144
|
UNKNOWN = "unknown"
|
|
145
145
|
}
|
|
146
|
+
export declare enum UuidVersion {
|
|
147
|
+
v1 = 0,
|
|
148
|
+
v3 = 1,
|
|
149
|
+
v4 = 2,
|
|
150
|
+
v5 = 3
|
|
151
|
+
}
|
|
146
152
|
/**
|
|
147
153
|
* Avaible route parameters type
|
|
148
154
|
*/
|
|
@@ -150,44 +156,59 @@ export declare enum ParameterType {
|
|
|
150
156
|
/**
|
|
151
157
|
* Parameter is injected from DI container & resolved
|
|
152
158
|
*/
|
|
153
|
-
FromDi =
|
|
159
|
+
FromDi = "FromDi",
|
|
154
160
|
/**
|
|
155
161
|
* Parameter value is taken from query string eg. `?name=flavio`
|
|
156
162
|
*/
|
|
157
|
-
FromQuery =
|
|
163
|
+
FromQuery = "FromQuery",
|
|
158
164
|
/**
|
|
159
165
|
* From message body, eg. POST json object
|
|
160
166
|
*/
|
|
161
|
-
FromBody =
|
|
167
|
+
FromBody = "FromBody",
|
|
162
168
|
/**
|
|
163
169
|
* From url params eg: `/:id`
|
|
164
170
|
*/
|
|
165
|
-
FromParams =
|
|
171
|
+
FromParams = "FromParams",
|
|
166
172
|
/**
|
|
167
173
|
* From form file field
|
|
168
174
|
*/
|
|
169
|
-
FromFile =
|
|
175
|
+
FromFile = "FromFile",
|
|
170
176
|
/**
|
|
171
177
|
* From form
|
|
172
178
|
*/
|
|
173
|
-
FromForm =
|
|
179
|
+
FromForm = "FromForm",
|
|
180
|
+
/**
|
|
181
|
+
* From cvs file
|
|
182
|
+
*/
|
|
183
|
+
FromCSV = "FromCSV",
|
|
184
|
+
/**
|
|
185
|
+
* From JSON file
|
|
186
|
+
*/
|
|
187
|
+
FromJSONFile = "FromJSONFile",
|
|
174
188
|
/**
|
|
175
189
|
* From form field
|
|
176
190
|
*/
|
|
177
|
-
FormField =
|
|
191
|
+
FormField = "FromFormField",
|
|
178
192
|
/**
|
|
179
193
|
* From model object
|
|
180
194
|
*/
|
|
181
|
-
FromModel =
|
|
195
|
+
FromModel = "FromModel",
|
|
182
196
|
/**
|
|
183
197
|
* Data from coockie
|
|
184
198
|
*/
|
|
185
|
-
FromCookie =
|
|
199
|
+
FromCookie = "FromCookie",
|
|
200
|
+
/**
|
|
201
|
+
* From http header
|
|
202
|
+
*/
|
|
203
|
+
FromHeader = "FromHeader",
|
|
186
204
|
/**
|
|
187
205
|
* Req from express
|
|
188
206
|
*/
|
|
189
|
-
Req =
|
|
190
|
-
Res =
|
|
207
|
+
Req = "Req",
|
|
208
|
+
Res = "Res"
|
|
209
|
+
}
|
|
210
|
+
export interface IFormOptions {
|
|
211
|
+
multiples: boolean;
|
|
191
212
|
}
|
|
192
213
|
export interface IFormOptions {
|
|
193
214
|
/**
|
|
@@ -218,8 +239,8 @@ export interface IUploadOptions {
|
|
|
218
239
|
multiples?: boolean;
|
|
219
240
|
enabledPlugins?: string[];
|
|
220
241
|
/**
|
|
221
|
-
|
|
222
|
-
|
|
242
|
+
* default 200 * 1024 * 1024 (200mb); limit the size of uploaded file.
|
|
243
|
+
*/
|
|
223
244
|
maxFileSize?: number;
|
|
224
245
|
/**
|
|
225
246
|
* default false; to include the extensions of the original files or not
|
|
@@ -237,7 +258,7 @@ export interface IRouteParameter {
|
|
|
237
258
|
/**
|
|
238
259
|
* Is value taken from query string, url params or message body
|
|
239
260
|
*/
|
|
240
|
-
Type: ParameterType;
|
|
261
|
+
Type: ParameterType | string;
|
|
241
262
|
/**
|
|
242
263
|
* Schema for validation
|
|
243
264
|
*/
|
|
@@ -255,6 +276,14 @@ export interface IRouteParameter {
|
|
|
255
276
|
*/
|
|
256
277
|
Name: string;
|
|
257
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
* Route action call spefici data. Used to pass data / arguments when parsing
|
|
281
|
+
* action parameters for specific call. Eg. to parse form data, and extract it
|
|
282
|
+
* as different arguments.
|
|
283
|
+
*/
|
|
284
|
+
export interface IRouteCall {
|
|
285
|
+
Payload: any;
|
|
286
|
+
}
|
|
258
287
|
export interface IRoute {
|
|
259
288
|
/**
|
|
260
289
|
* url path eg. /foo/bar/:id
|
|
@@ -385,11 +414,11 @@ export interface IControllerDescriptor {
|
|
|
385
414
|
* to easily transform data for some client
|
|
386
415
|
* eg. plain array to format that datatables.net can easily read
|
|
387
416
|
*/
|
|
388
|
-
export declare abstract class DataTransformer<T, U> {
|
|
417
|
+
export declare abstract class DataTransformer<T = any, U = any> {
|
|
389
418
|
/**
|
|
390
419
|
* Transforms data from one format to another
|
|
391
420
|
*
|
|
392
|
-
* @param data input data
|
|
421
|
+
* @param data - input data
|
|
393
422
|
*/
|
|
394
423
|
abstract transform(data: T, request: express.Request): U;
|
|
395
424
|
abstract get Type(): string;
|
package/lib/interfaces.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataTransformer = exports.BasePolicy = exports.BaseMiddleware = exports.ParameterType = exports.RouteType = exports.HTTP_STATUS_CODE = exports.HttpAcceptHeaders = void 0;
|
|
3
|
+
exports.DataTransformer = exports.BasePolicy = exports.BaseMiddleware = exports.ParameterType = exports.UuidVersion = exports.RouteType = exports.HTTP_STATUS_CODE = exports.HttpAcceptHeaders = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Accept header enum
|
|
6
6
|
*/
|
|
@@ -122,6 +122,13 @@ var RouteType;
|
|
|
122
122
|
RouteType["FILE"] = "file";
|
|
123
123
|
RouteType["UNKNOWN"] = "unknown";
|
|
124
124
|
})(RouteType = exports.RouteType || (exports.RouteType = {}));
|
|
125
|
+
var UuidVersion;
|
|
126
|
+
(function (UuidVersion) {
|
|
127
|
+
UuidVersion[UuidVersion["v1"] = 0] = "v1";
|
|
128
|
+
UuidVersion[UuidVersion["v3"] = 1] = "v3";
|
|
129
|
+
UuidVersion[UuidVersion["v4"] = 2] = "v4";
|
|
130
|
+
UuidVersion[UuidVersion["v5"] = 3] = "v5";
|
|
131
|
+
})(UuidVersion = exports.UuidVersion || (exports.UuidVersion = {}));
|
|
125
132
|
/**
|
|
126
133
|
* Avaible route parameters type
|
|
127
134
|
*/
|
|
@@ -130,45 +137,57 @@ var ParameterType;
|
|
|
130
137
|
/**
|
|
131
138
|
* Parameter is injected from DI container & resolved
|
|
132
139
|
*/
|
|
133
|
-
ParameterType[
|
|
140
|
+
ParameterType["FromDi"] = "FromDi";
|
|
134
141
|
/**
|
|
135
142
|
* Parameter value is taken from query string eg. `?name=flavio`
|
|
136
143
|
*/
|
|
137
|
-
ParameterType[
|
|
144
|
+
ParameterType["FromQuery"] = "FromQuery";
|
|
138
145
|
/**
|
|
139
146
|
* From message body, eg. POST json object
|
|
140
147
|
*/
|
|
141
|
-
ParameterType[
|
|
148
|
+
ParameterType["FromBody"] = "FromBody";
|
|
142
149
|
/**
|
|
143
150
|
* From url params eg: `/:id`
|
|
144
151
|
*/
|
|
145
|
-
ParameterType[
|
|
152
|
+
ParameterType["FromParams"] = "FromParams";
|
|
146
153
|
/**
|
|
147
154
|
* From form file field
|
|
148
155
|
*/
|
|
149
|
-
ParameterType[
|
|
156
|
+
ParameterType["FromFile"] = "FromFile";
|
|
150
157
|
/**
|
|
151
158
|
* From form
|
|
152
159
|
*/
|
|
153
|
-
ParameterType[
|
|
160
|
+
ParameterType["FromForm"] = "FromForm";
|
|
161
|
+
/**
|
|
162
|
+
* From cvs file
|
|
163
|
+
*/
|
|
164
|
+
ParameterType["FromCSV"] = "FromCSV";
|
|
165
|
+
/**
|
|
166
|
+
* From JSON file
|
|
167
|
+
*/
|
|
168
|
+
ParameterType["FromJSONFile"] = "FromJSONFile";
|
|
154
169
|
/**
|
|
155
170
|
* From form field
|
|
156
171
|
*/
|
|
157
|
-
ParameterType[
|
|
172
|
+
ParameterType["FormField"] = "FromFormField";
|
|
158
173
|
/**
|
|
159
174
|
* From model object
|
|
160
175
|
*/
|
|
161
|
-
ParameterType[
|
|
176
|
+
ParameterType["FromModel"] = "FromModel";
|
|
162
177
|
/**
|
|
163
178
|
* Data from coockie
|
|
164
179
|
*/
|
|
165
|
-
ParameterType[
|
|
180
|
+
ParameterType["FromCookie"] = "FromCookie";
|
|
181
|
+
/**
|
|
182
|
+
* From http header
|
|
183
|
+
*/
|
|
184
|
+
ParameterType["FromHeader"] = "FromHeader";
|
|
166
185
|
/**
|
|
167
186
|
* Req from express
|
|
168
187
|
*/
|
|
169
|
-
ParameterType[
|
|
188
|
+
ParameterType["Req"] = "Req";
|
|
170
189
|
// Res from express
|
|
171
|
-
ParameterType[
|
|
190
|
+
ParameterType["Res"] = "Res";
|
|
172
191
|
})(ParameterType = exports.ParameterType || (exports.ParameterType = {}));
|
|
173
192
|
/**
|
|
174
193
|
* Middlewares are classes that can change request object or perform specific task before & after route execution
|