refactor: change modeling of obligatory parameters

This commit is contained in:
Karl-Philipp Wulfert
2018-12-13 12:43:10 +01:00
parent 5ff7111a16
commit 62ca2c33ea
4 changed files with 15 additions and 11 deletions

View File

@@ -51,9 +51,9 @@ export interface SCRoute {
method: SCRouteHttpVerbs;
/**
* List of obligatory parameters that have to be set via the requested path
* Map of obligatory parameters and their type that have to be set via the requested path
*/
obligatoryParameters?: string[];
obligatoryParameters?: { [k: string]: string };
/**
* Name of the type of the request body
@@ -84,7 +84,7 @@ export abstract class SCAbstractRoute implements SCRoute {
'SCErrorResponse',
];
method: SCRouteHttpVerbs = 'GET';
obligatoryParameters?: string[];
obligatoryParameters?: { [k: string]: string };
requestBodyName = 'any';
responseBodyName = 'any';
statusCodeSuccess = 200;
@@ -97,8 +97,8 @@ export abstract class SCAbstractRoute implements SCRoute {
let obligatoryParameters: string[] = [];
if (Array.isArray(this.obligatoryParameters)) {
obligatoryParameters = this.obligatoryParameters;
if (typeof this.obligatoryParameters === 'object') {
obligatoryParameters = Object.keys(this.obligatoryParameters);
}
if (Object.keys(parameters).length > obligatoryParameters.length) {

View File

@@ -34,10 +34,10 @@ export class SCThingUpdateRoute extends SCAbstractRoute {
'SCValidationErrorResponse',
];
this.method = 'PUT';
this.obligatoryParameters = [
'TYPE',
'UID',
];
this.obligatoryParameters = {
TYPE: 'SCThingTypes',
UID: 'SCUuid',
};
this.requestBodyName = 'SCThingUpdateRequest';
this.responseBodyName = 'SCThingUpdateResponse';
this.statusCodeSuccess = 200;

View File

@@ -34,7 +34,9 @@ export class SCBulkAddRoute extends SCAbstractRoute {
'SCValidationErrorResponse',
];
this.method = 'POST';
this.obligatoryParameters = ['UID'];
this.obligatoryParameters = {
UID: 'SCUuid',
};
this.requestBodyName = 'SCBulkAddRequest';
this.responseBodyName = 'SCBulkAddResponse';
this.statusCodeSuccess = 201;

View File

@@ -34,7 +34,9 @@ export class SCBulkDoneRoute extends SCAbstractRoute {
'SCValidationErrorResponse',
];
this.method = 'POST';
this.obligatoryParameters = ['UID'];
this.obligatoryParameters = {
UID: 'SCUuid',
};
this.requestBodyName = 'SCBulkDoneRequest';
this.responseBodyName = 'SCBulkDoneResponse';
this.statusCodeSuccess = 204;