Compare commits

...

8 Commits

Author SHA1 Message Date
Karl-Philipp Wulfert
c7462237eb 0.11.0 2019-02-21 17:08:43 +01:00
Wieland Schöbl
b5bd09e40b feat: add maxRequestBodySize in backend configuration 2019-02-21 15:16:37 +00:00
Michel Jonathan Schmitz
8f66abbb73 refactor: use the SCMap more consistently 2019-02-20 11:04:55 +01:00
Jovan Krunić
a0ab72e597 feat: add laboratory and computer as room categories
Closes #33
2019-02-18 12:23:13 +00:00
Karl-Philipp Wulfert
b4229aac35 docs: update changelog 2019-02-18 12:47:37 +01:00
Karl-Philipp Wulfert
824e841dad 0.10.0 2019-02-18 12:47:32 +01:00
Wieland Schöbl
bc3a0f6d11 feat: add model for requestBodyTooLargeError 2019-02-18 12:21:31 +01:00
Karl-Philipp Wulfert
a09aae5d5d docs: update changelog 2019-02-14 13:21:51 +01:00
19 changed files with 82 additions and 47 deletions

View File

@@ -1,3 +1,16 @@
# [0.10.0](https://gitlab.com/openstapps/core/compare/v0.9.0...v0.10.0) (2019-02-18)
### Features
* add model for requestBodyTooLargeError ([bc3a0f6](https://gitlab.com/openstapps/core/commit/bc3a0f6))
# [0.9.0](https://gitlab.com/openstapps/core/compare/v0.8.0...v0.9.0) (2019-02-14)
# [0.8.0](https://gitlab.com/openstapps/core/compare/v0.7.0...v0.8.0) (2019-02-13)

4
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "@openstapps/core",
"version": "0.9.0",
"version": "0.11.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -1969,7 +1969,7 @@
"dependencies": {
"minimist": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
"integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
"dev": true
}

View File

@@ -1,6 +1,6 @@
{
"name": "@openstapps/core",
"version": "0.9.0",
"version": "0.11.0",
"description": "StAppsCore - Generalized model of data",
"keywords": [
"Model",

View File

@@ -101,6 +101,19 @@ export class SCMethodNotAllowedErrorResponse extends SCError {
}
}
/**
* An error that is returned, when the request body is too large.
*/
export class SCRequestBodyTooLargeErrorResponse extends SCError {
/**
* Create a SCRequestBodyTooLargeErrorResponse
* @param stack Set to true if a stack trace should be created
*/
constructor(stack?: boolean) {
super('RequestBodyTooLargeError', 'The request body is too large.', 413, stack);
}
}
/**
* An error that is returned, when to many request are submitted at once
*/

View File

@@ -16,6 +16,7 @@ import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../Route';
import {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,
@@ -38,6 +39,7 @@ export class SCIndexRoute extends SCAbstractRoute {
this.errorNames = [
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,

View File

@@ -17,7 +17,9 @@ import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../../Route';
import {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCNotFoundErrorResponse, SCSyntaxErrorResponse,
SCNotFoundErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,
} from '../../../errors/ErrorResponse';
@@ -39,6 +41,7 @@ export class SCThingUpdateRoute extends SCAbstractRoute {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCNotFoundErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,

View File

@@ -18,6 +18,7 @@ import {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCNotFoundErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,
@@ -71,6 +72,7 @@ export class SCBookAvailabilityRoute extends SCAbstractRoute {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCNotFoundErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,

View File

@@ -18,6 +18,7 @@ import {SCISO8601Date} from '../../../types/Time';
import {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,
@@ -69,6 +70,7 @@ export class SCBulkRoute extends SCAbstractRoute {
this.errorNames = [
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,

View File

@@ -18,6 +18,7 @@ import {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCNotFoundErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,
@@ -39,6 +40,7 @@ export class SCBulkAddRoute extends SCAbstractRoute {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCNotFoundErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,

View File

@@ -17,6 +17,7 @@ import {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCNotFoundErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,
@@ -39,6 +40,7 @@ export class SCBulkDoneRoute extends SCAbstractRoute {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCNotFoundErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,

View File

@@ -17,6 +17,7 @@ import {SCMessage} from '../../../things/Message';
import {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,
@@ -43,6 +44,7 @@ export class SCFeedbackRoute extends SCAbstractRoute {
this.errorNames = [
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,

View File

@@ -13,9 +13,11 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../Route';
import {SCMap} from '../../../types/Map';
import {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCTooManyRequestsErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
@@ -32,9 +34,7 @@ import {SCSearchQuery} from './SearchRequest';
*
* @validatable
*/
export interface SCMultiSearchRequest {
[k: string]: SCSearchQuery;
}
export type SCMultiSearchRequest = SCMap<SCSearchQuery>;
/**
* Route for submission of multiple search requests at once
@@ -45,6 +45,7 @@ export class SCMultiSearchRoute extends SCAbstractRoute {
this.errorNames = [
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCTooManyRequestsErrorResponse,
SCUnsupportedMediaTypeErrorResponse,

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018 StApps
* Copyright (C) 2018-2019 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
@@ -12,6 +12,7 @@
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCMap} from '../../../types/Map';
import {SCSearchResult} from './SearchResponse';
/**
@@ -21,6 +22,4 @@ import {SCSearchResult} from './SearchResponse';
*
* @validatable
*/
export interface SCMultiSearchResponse {
[k: string]: SCSearchResult;
}
export type SCMultiSearchResponse = SCMap<SCSearchResult>;

View File

@@ -18,6 +18,7 @@ import {SCSearchSort} from '../../../types/sorts/Abstract';
import {
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,
@@ -70,6 +71,7 @@ export class SCSearchRoute extends SCAbstractRoute {
this.errorNames = [
SCInternalServerErrorResponse,
SCMethodNotAllowedErrorResponse,
SCRequestBodyTooLargeErrorResponse,
SCSyntaxErrorResponse,
SCUnsupportedMediaTypeErrorResponse,
SCValidationErrorResponse,

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018 StApps
* Copyright (C) 2018, 2019 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
@@ -29,15 +29,17 @@ import {SCMap} from '../types/Map';
*/
export type SCRoomCategories =
'cafe'
| 'canteen'
| 'computer'
| 'education'
| 'laboratory'
| 'learn'
| 'library'
| 'lounge'
| 'office'
| 'restaurant'
| 'canteen'
| 'student canteen'
| 'restroom'
| 'lounge'
| 'student canteen'
| 'student union';
/**
@@ -108,7 +110,9 @@ export class SCRoomMeta extends SCThingMeta {
categories: {
'cafe': 'Café',
'canteen': 'Kantine',
'computer': 'PC-Pool',
'education': 'Bildung',
'laboratory': 'Labor',
'learn': 'Lernen',
'library': 'Bibliothek',
'lounge': 'Lounge',

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018 StApps
* Copyright (C) 2018-2019 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
@@ -35,6 +35,11 @@ export interface SCBackendConfiguration {
*/
maxMultiSearchRouteQueries: number;
/**
* Maximum body size for requests
*/
maxRequestBodySize: number;
/**
* Name of university
*/
@@ -79,19 +84,6 @@ export interface SCBackendConfigurationSortableField {
}
/**
* Values of a field that should be boosted by the given factors
*/
export interface SCBackendConfigurationSearchBoostingValues {
/**
* Value of the field that should be boosted by the given number
*
* For example `"SS 2019": 2`
*/
[valueOfField: string]: number;
}
/**
* A boosting configuration for one SCType
*/
@@ -103,11 +95,15 @@ export interface SCBackendConfigurationSearchBoosting {
factor: number;
/**
* Outer-Map:
* Fields of this type that should be boosted if they match a given value
*
* For nest fields you can use the `.` as a separator. For example `academicTerms.acronym`
*
* Inner-map:
* Value of the field that should be boosted by the given number
* For example `"SS 2019": 2`
*/
fields?: SCMap<SCBackendConfigurationSearchBoostingValues>;
fields?: SCMap<SCMap<number>>;
/**
* Type of things the factor should be applied to
@@ -163,14 +159,10 @@ export interface SCBackendInternalConfiguration {
/**
* Configuration of the database
*/
export interface SCBackendConfigurationDatabaseConfiguration {
export interface SCBackendConfigurationDatabaseConfiguration extends SCMap<any> {
/**
* Name of the database used by the backend
*/
name: string;
/**
* Allow additional configuration for the database
*/
[key: string]: any;
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018 StApps
* Copyright (C) 2018-2019 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
@@ -12,6 +12,7 @@
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCMap} from '../Map';
/**
* All available filter types
*/
@@ -47,9 +48,7 @@ export interface SCSearchAbstractFilter<T extends SCSearchAbstractFilterArgument
/**
* Arguments for the filter instruction
*/
export interface SCSearchAbstractFilterArguments {
[key: string]: any;
}
export type SCSearchAbstractFilterArguments = SCMap<any>;
/**
* Available filter instructions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018 StApps
* Copyright (C) 2018-2019 StApps
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, version 3.
@@ -13,6 +13,7 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {SCThingsField} from '../../Classes';
import {SCMap} from '../Map';
import {SCDistanceSort} from './Distance';
import {SCDucetSort} from './Ducet';
import {SCPriceSort} from './Price';
@@ -40,12 +41,7 @@ export interface SCSearchAbstractSort<T extends SCSearchAbstractSortArguments> {
/**
* Map of arguments for the sort instruction
*/
export interface SCSearchAbstractSortArguments {
/**
* Index signature for additional arguments
*/
[key: string]: any;
export interface SCSearchAbstractSortArguments extends SCMap<any> {
/**
* Field to sort by
*/

View File

@@ -5,6 +5,7 @@
"name": "Poolraum (HoF)",
"type": "room",
"categories": [
"computer",
"learn"
],
"description": "1. OG, Raum 1.29, 18 Plätze, rollstuhlgerecht, Montag bis Freitag von 8:00 bis 20:00 Uhr",