mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-10-05 09:12:04 +00:00
Merge remote-tracking branch 'core/master'
This commit is contained in:
@@ -100,7 +100,7 @@ mapping:
|
|||||||
- build
|
- build
|
||||||
stage: test
|
stage: test
|
||||||
services:
|
services:
|
||||||
- name: registry.gitlab.com/openstapps/database:master
|
- name: registry.gitlab.com/openstapps/database:latest
|
||||||
alias: elasticsearch
|
alias: elasticsearch
|
||||||
script:
|
script:
|
||||||
- npm run mappings-integration
|
- npm run mappings-integration
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
|
|
||||||
## Dependencies, issues, features that need to be resolved beforehand
|
## Dependencies, issues, features that need to be resolved beforehand
|
||||||
|
|
||||||
1. ???
|
1. ???
|
||||||
2. ???
|
2. ???
|
||||||
3. ...
|
3. ...
|
||||||
|
|
||||||
/label ~feature ~meeting
|
/label ~feature ~meeting
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
lib
|
||||||
|
coverage
|
||||||
|
report
|
||||||
|
docs
|
||||||
|
.nyc-output
|
||||||
@@ -1,3 +1,25 @@
|
|||||||
|
# [1.1.0](https://gitlab.com/openstapps/core/compare/v1.0.1...v1.1.0) (2023-05-19)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* add certification thing ([fd63fb7](https://gitlab.com/openstapps/core/commit/fd63fb764f882a87b8da3c5fb27701a090469df2))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [1.0.1](https://gitlab.com/openstapps/core/compare/v1.0.0...v1.0.1) (2023-04-28)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# [1.0.0](https://gitlab.com/openstapps/core/compare/v0.75.0...v1.0.0) (2023-04-28)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* support ES 8.4 via mapping generator ([afcc73f](https://gitlab.com/openstapps/core/commit/afcc73f3da856a76a613d939a759cf1cd701a2c5))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# [0.75.0](https://gitlab.com/openstapps/core/compare/v0.74.0...v0.75.0) (2023-02-28)
|
# [0.75.0](https://gitlab.com/openstapps/core/compare/v0.74.0...v0.75.0) (2023-02-28)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Please see the appropriate general group contributing guides in [project-managem
|
|||||||
|
|
||||||
Following semantic versioning patches to the core should not break existing usage.
|
Following semantic versioning patches to the core should not break existing usage.
|
||||||
|
|
||||||
### API
|
### API
|
||||||
|
|
||||||
Every minor and major version of the core needs a corresponding version of the [API](https://openstapps.gitlab.io/api) to be used in the app and connectors.
|
Every minor and major version of the core needs a corresponding version of the [API](https://openstapps.gitlab.io/api) to be used in the app and connectors.
|
||||||
|
|
||||||
@@ -33,15 +33,17 @@ App and connectors should be updated regularly to new releases of the core but n
|
|||||||
Adding new types requires changes at multiple locations for it to work correctly
|
Adding new types requires changes at multiple locations for it to work correctly
|
||||||
|
|
||||||
### Required changes
|
### Required changes
|
||||||
* Add your SCThing and SCThingWithoutReferences to `src/things/your-thing-name.ts` and make them extend `SCThingWithoutReferences` and `SCThing` respectively
|
|
||||||
* Add your SCThingMeta to `src/things/your-thing-name.ts` and make it extend `SCThingMeta`
|
- Add your SCThing and SCThingWithoutReferences to `src/things/your-thing-name.ts` and make them extend `SCThingWithoutReferences` and `SCThing` respectively
|
||||||
* Add your SCThingMeta to `SCClasses` in `src/meta.ts`
|
- Add your SCThingMeta to `src/things/your-thing-name.ts` and make it extend `SCThingMeta`
|
||||||
* Add your SCThing to `SCThingsWithoutDiff` in `src/meta.ts`
|
- Add your SCThingMeta to `SCClasses` in `src/meta.ts`
|
||||||
* Add your SCThingWithoutReferences to `SCAssociatedThingWithoutReferences` in `src/meta.ts`
|
- Add your SCThing to `SCThingsWithoutDiff` in `src/meta.ts`
|
||||||
* Add your SCThing to `SCAssociatedThing` in `src/meta.ts`
|
- Add your SCThingWithoutReferences to `SCAssociatedThingWithoutReferences` in `src/meta.ts`
|
||||||
* Add your SCThing to the `SCThingType` enum in `src/things/abstract/thing.ts`
|
- Add your SCThing to `SCAssociatedThing` in `src/meta.ts`
|
||||||
* Add an example file for your SCThing in `test/resources/YourThingName.json`
|
- Add your SCThing to the `SCThingType` enum in `src/things/abstract/thing.ts`
|
||||||
* Add the following lines for your SCThing in `test/type.spec.ts`:
|
- Add an example file for your SCThing in `test/resources/YourThingName.json`
|
||||||
|
- Add the following lines for your SCThing in `test/type.spec.ts`:
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
/**
|
/**
|
||||||
* Types of properties of SCYourThingName
|
* Types of properties of SCYourThingName
|
||||||
@@ -57,9 +59,9 @@ assert<Extends<SCYourThingName, SCThing>>(true);
|
|||||||
|
|
||||||
## Additional coding style
|
## Additional coding style
|
||||||
|
|
||||||
### Extract inline type definitions
|
### Extract inline type definitions
|
||||||
|
|
||||||
For consistency and correct functionality of `core-tools` we need well-defined type assignments.
|
For consistency and correct functionality of `core-tools` we need well-defined type assignments.
|
||||||
|
|
||||||
Type assignments shall always be primitive types, classes, interfaces, enums or unions. Not allowed are inline type-definitions. Those shall be refactored accordingly:
|
Type assignments shall always be primitive types, classes, interfaces, enums or unions. Not allowed are inline type-definitions. Those shall be refactored accordingly:
|
||||||
|
|
||||||
@@ -83,16 +85,16 @@ If you come around a map-like-type use `SCMap<T>`.
|
|||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
// Use this:
|
// Use this:
|
||||||
interface AnyClass{
|
interface AnyClass {
|
||||||
inventory: SCMap<number>;
|
inventory: SCMap<number>;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Instead of:
|
// Instead of:
|
||||||
interface AnyClass{
|
interface AnyClass {
|
||||||
inventory?: Array<{ key: string, value: number }>;
|
inventory?: Array<{key: string; value: number}>;
|
||||||
}
|
}
|
||||||
// or instead of
|
// or instead of
|
||||||
interface AnyClass{
|
interface AnyClass {
|
||||||
inventory?: { [key: string]: number };
|
inventory?: {[key: string]: number};
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
+19
-19
@@ -17,10 +17,10 @@ Data sources of the same type of data are assigned to the same SC-type.
|
|||||||
|
|
||||||
### Requirements for the SC
|
### Requirements for the SC
|
||||||
|
|
||||||
* Study processes which can be generalized are abstracted and modeled in that manner that the structure can be adapted to any german university.
|
- Study processes which can be generalized are abstracted and modeled in that manner that the structure can be adapted to any german university.
|
||||||
* It must be platform- and software-independent.
|
- It must be platform- and software-independent.
|
||||||
* Search interface must be clearly specified that different working groups with different search tools can retrieve the same search results.
|
- Search interface must be clearly specified that different working groups with different search tools can retrieve the same search results.
|
||||||
* Must be expandable.
|
- Must be expandable.
|
||||||
|
|
||||||
### Generate documentation for routes
|
### Generate documentation for routes
|
||||||
|
|
||||||
@@ -32,21 +32,21 @@ node --require ts-node/register src/cli.ts routes PATH/TO/ROUTES.md
|
|||||||
|
|
||||||
### Annotations
|
### Annotations
|
||||||
|
|
||||||
Annotations are used to add additional informations to fields, which are used to autogenerate mappings from the core objects.
|
Annotations are used to add additional informations to fields, which are used to autogenerate mappings from the core objects.
|
||||||
External dependencies can not be covered by the annotations. Documentation about some of the annotations can be found in: [typedoc](https://typedoc.org/guides/doccomments/)
|
External dependencies can not be covered by the annotations. Documentation about some of the annotations can be found in: [typedoc](https://typedoc.org/guides/doccomments/)
|
||||||
|
|
||||||
| annotation | description | parameters |
|
| annotation | description | parameters |
|
||||||
|-------------------|-------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|
|
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
||||||
| `@aggregatable` | used for generating of aggregations of the field if the core schema is used to put data into a database/key-value store | whether the property is being used on the top type or across all types: `global` |
|
| `@aggregatable` | used for generating of aggregations of the field if the core schema is used to put data into a database/key-value store | whether the property is being used on the top type or across all types: `global` |
|
||||||
| `@float` | number field is interpreted as float | |
|
| `@float` | number field is interpreted as float | |
|
||||||
| `@indexable` | marks the type as indexable if the core schema is used to put data into a database/key-value store | |
|
| `@indexable` | marks the type as indexable if the core schema is used to put data into a database/key-value store | |
|
||||||
| `@integer` | number field is interpreted as integer | |
|
| `@integer` | number field is interpreted as integer | |
|
||||||
| `@keyword` | string field is interpreted as keyword | |
|
| `@keyword` | string field is interpreted as keyword | |
|
||||||
| `@sortable` | field is sortable if the core schema is used to put data into a database/key-value store. Fields are always sortable through generic sort, even without annotation. | sort method to be used: `ducet`, `price`, `distance` |
|
| `@sortable` | field is sortable if the core schema is used to put data into a database/key-value store. Fields are always sortable through generic sort, even without annotation. | sort method to be used: `ducet`, `price`, `distance` |
|
||||||
| `@text` | string field is interpreted as text | |
|
| `@text` | string field is interpreted as text | |
|
||||||
| `@date` | string field is interpreted as a date field | |
|
| `@date` | string field is interpreted as a date field | |
|
||||||
| `@validatable` | Marks the type for json schema generation, which can be checked at runtime. Any top-level type that is put into a database should always be marked as validatable. | |
|
| `@validatable` | Marks the type for json schema generation, which can be checked at runtime. Any top-level type that is put into a database should always be marked as validatable. | |
|
||||||
| `@filterable` | non-object/nested field is filterable if the core schema is used to put data into a database/key-value store | |
|
| `@filterable` | non-object/nested field is filterable if the core schema is used to put data into a database/key-value store | |
|
||||||
| `@inheritTags` | inherit all tags from another field | `[SCThingType]::[field]` |
|
| `@inheritTags` | inherit all tags from another field | `[SCThingType]::[field]` |
|
||||||
|
|
||||||
*Note: tags ignore casing, but for consistency they should use the variants proposed here.*
|
_Note: tags ignore casing, but for consistency they should use the variants proposed here._
|
||||||
|
|||||||
Generated
+284
-111
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@openstapps/core",
|
"name": "@openstapps/core",
|
||||||
"version": "0.75.0",
|
"version": "1.1.0",
|
||||||
"description": "StAppsCore - Generalized model of data",
|
"description": "StAppsCore - Generalized model of data",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"Model",
|
"Model",
|
||||||
@@ -28,7 +28,9 @@
|
|||||||
"mappings": "mkdir lib/mappings && openstapps-es-mapping-generator mapping ../core/src -i minlength,pattern,see,tjs-format -m lib/mappings/mappings.json -a lib/mappings/aggregations.json",
|
"mappings": "mkdir lib/mappings && openstapps-es-mapping-generator mapping ../core/src -i minlength,pattern,see,tjs-format -m lib/mappings/mappings.json -a lib/mappings/aggregations.json",
|
||||||
"mappings-integration": "openstapps-es-mapping-generator put-es-templates lib/mappings/mappings.json http://elasticsearch:9200/",
|
"mappings-integration": "openstapps-es-mapping-generator put-es-templates lib/mappings/mappings.json http://elasticsearch:9200/",
|
||||||
"test": "nyc mocha --recursive 'test/*.spec.ts'",
|
"test": "nyc mocha --recursive 'test/*.spec.ts'",
|
||||||
"lint": "eslint --ext .ts src/"
|
"lint": "eslint --ext .ts src/",
|
||||||
|
"format": "prettier .",
|
||||||
|
"format:fix": "prettier --write ."
|
||||||
},
|
},
|
||||||
"author": "Karl-Philipp Wulfert <krlwlfrt@gmail.com>",
|
"author": "Karl-Philipp Wulfert <krlwlfrt@gmail.com>",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
@@ -59,8 +61,9 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@openstapps/configuration": "0.34.0",
|
"@openstapps/configuration": "0.34.0",
|
||||||
"@openstapps/es-mapping-generator": "0.4.0",
|
"@openstapps/es-mapping-generator": "0.6.0",
|
||||||
"@openstapps/eslint-config": "1.1.0",
|
"@openstapps/eslint-config": "1.1.0",
|
||||||
|
"@openstapps/prettier-config": "1.0.0",
|
||||||
"@openstapps/logger": "1.1.1",
|
"@openstapps/logger": "1.1.1",
|
||||||
"@testdeck/mocha": "0.3.3",
|
"@testdeck/mocha": "0.3.3",
|
||||||
"@types/chai": "4.3.4",
|
"@types/chai": "4.3.4",
|
||||||
@@ -88,6 +91,7 @@
|
|||||||
"typedoc": "0.22.18",
|
"typedoc": "0.22.18",
|
||||||
"typescript": "4.4.4"
|
"typescript": "4.4.4"
|
||||||
},
|
},
|
||||||
|
"prettier": "@openstapps/prettier-config",
|
||||||
"nyc": {
|
"nyc": {
|
||||||
"all": true,
|
"all": true,
|
||||||
"branches": 90,
|
"branches": 90,
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import {SCAssessment, SCAssessmentMeta, SCAssessmentWithoutReferences} from './t
|
|||||||
import {SCBook, SCBookMeta, SCBookWithoutReferences} from './things/book';
|
import {SCBook, SCBookMeta, SCBookWithoutReferences} from './things/book';
|
||||||
import {SCBuilding, SCBuildingMeta, SCBuildingWithoutReferences} from './things/building';
|
import {SCBuilding, SCBuildingMeta, SCBuildingWithoutReferences} from './things/building';
|
||||||
import {SCCatalog, SCCatalogMeta, SCCatalogWithoutReferences} from './things/catalog';
|
import {SCCatalog, SCCatalogMeta, SCCatalogWithoutReferences} from './things/catalog';
|
||||||
|
import {SCCertification, SCCertificationMeta, SCCertificationWithoutReferences} from './things/certification';
|
||||||
import {SCContactPoint, SCContactPointMeta, SCContactPointWithoutReferences} from './things/contact-point';
|
import {SCContactPoint, SCContactPointMeta, SCContactPointWithoutReferences} from './things/contact-point';
|
||||||
import {
|
import {
|
||||||
SCCourseOfStudy,
|
SCCourseOfStudy,
|
||||||
@@ -90,6 +91,7 @@ export const SCClasses: {[K in SCThingType]: object} = {
|
|||||||
'todo': SCToDoMeta,
|
'todo': SCToDoMeta,
|
||||||
'tour': SCTourMeta,
|
'tour': SCTourMeta,
|
||||||
'video': SCVideoMeta,
|
'video': SCVideoMeta,
|
||||||
|
'certification': SCCertificationMeta,
|
||||||
};
|
};
|
||||||
|
|
||||||
export type SCIndexableThings =
|
export type SCIndexableThings =
|
||||||
@@ -101,6 +103,7 @@ export type SCIndexableThings =
|
|||||||
| SCCatalog
|
| SCCatalog
|
||||||
| SCContactPoint
|
| SCContactPoint
|
||||||
| SCCourseOfStudy
|
| SCCourseOfStudy
|
||||||
|
| SCCertification
|
||||||
| SCDateSeries
|
| SCDateSeries
|
||||||
| SCDish
|
| SCDish
|
||||||
| SCFloor
|
| SCFloor
|
||||||
@@ -148,6 +151,8 @@ export type SCAssociatedThingWithoutReferences<THING extends SCThings> = THING e
|
|||||||
? SCContactPointWithoutReferences
|
? SCContactPointWithoutReferences
|
||||||
: THING extends SCCourseOfStudy
|
: THING extends SCCourseOfStudy
|
||||||
? SCCourseOfStudyWithoutReferences
|
? SCCourseOfStudyWithoutReferences
|
||||||
|
: THING extends SCCertification
|
||||||
|
? SCCertificationWithoutReferences
|
||||||
: THING extends SCDateSeries
|
: THING extends SCDateSeries
|
||||||
? SCDateSeriesWithoutReferences
|
? SCDateSeriesWithoutReferences
|
||||||
: THING extends SCDiff
|
: THING extends SCDiff
|
||||||
@@ -209,6 +214,8 @@ export type SCAssociatedThing<THING extends SCThings> = THING extends SCAssessme
|
|||||||
? SCContactPoint
|
? SCContactPoint
|
||||||
: THING extends SCCourseOfStudyWithoutReferences
|
: THING extends SCCourseOfStudyWithoutReferences
|
||||||
? SCCourseOfStudy
|
? SCCourseOfStudy
|
||||||
|
: THING extends SCCertificationWithoutReferences
|
||||||
|
? SCCertification
|
||||||
: THING extends SCDateSeriesWithoutReferences
|
: THING extends SCDateSeriesWithoutReferences
|
||||||
? SCDateSeries
|
? SCDateSeries
|
||||||
: THING extends SCDiffWithoutReferences
|
: THING extends SCDiffWithoutReferences
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ export enum SCThingType {
|
|||||||
Periodical = 'periodical',
|
Periodical = 'periodical',
|
||||||
Building = 'building',
|
Building = 'building',
|
||||||
Catalog = 'catalog',
|
Catalog = 'catalog',
|
||||||
|
Certification = 'certification',
|
||||||
ContactPoint = 'contact point',
|
ContactPoint = 'contact point',
|
||||||
CourseOfStudy = 'course of study',
|
CourseOfStudy = 'course of study',
|
||||||
DateSeries = 'date series',
|
DateSeries = 'date series',
|
||||||
|
|||||||
@@ -0,0 +1,122 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 Open 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.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||||
|
* more details.
|
||||||
|
*
|
||||||
|
* 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 {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
|
import {SCThing, SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
|
import {
|
||||||
|
SCThingWithCategories,
|
||||||
|
SCThingWithCategoriesSpecificValues,
|
||||||
|
SCThingWithCategoriesTranslatableProperties,
|
||||||
|
SCThingWithCategoriesWithoutReferences,
|
||||||
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
|
} from './abstract/thing-with-categories';
|
||||||
|
import {SCOrganizationWithoutReferences} from './organization';
|
||||||
|
|
||||||
|
export interface SCCertificationWithoutReferences
|
||||||
|
extends SCThingWithCategoriesWithoutReferences<
|
||||||
|
SCCertificationCategories,
|
||||||
|
SCThingWithCategoriesSpecificValues
|
||||||
|
> {
|
||||||
|
/**
|
||||||
|
* A compact version of the image, for example for showing in list views
|
||||||
|
*/
|
||||||
|
compactImage?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Translations of a certification
|
||||||
|
*/
|
||||||
|
translations?: SCTranslations<SCCertificationTranslatableProperties>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Type of certification
|
||||||
|
*/
|
||||||
|
type: SCThingType.Certification;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @indexable
|
||||||
|
* @validatable
|
||||||
|
*/
|
||||||
|
export interface SCCertification
|
||||||
|
extends SCCertificationWithoutReferences,
|
||||||
|
SCThing,
|
||||||
|
SCThingWithCategories<SCCertificationCategories, SCThingWithCategoriesSpecificValues> {
|
||||||
|
/**
|
||||||
|
* The authority responsible for issuing this certification
|
||||||
|
*/
|
||||||
|
certificationAuthority?: SCOrganizationWithoutReferences;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Translations of a certification
|
||||||
|
*/
|
||||||
|
translations?: SCTranslations<SCCertificationTranslatableProperties>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Type of certification
|
||||||
|
*/
|
||||||
|
type: SCThingType.Certification;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SCCertificationTranslatableProperties extends SCThingWithCategoriesTranslatableProperties {
|
||||||
|
image?: string;
|
||||||
|
compactImage?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export type SCCertificationCategories =
|
||||||
|
| 'water consumption'
|
||||||
|
| 'animal welfare'
|
||||||
|
| 'climate impact'
|
||||||
|
| 'rainforest protection';
|
||||||
|
|
||||||
|
export class SCCertificationMeta extends SCThingMeta implements SCMetaTranslations<SCCertification> {
|
||||||
|
fieldTranslations = {
|
||||||
|
de: {
|
||||||
|
...new SCThingMeta().fieldTranslations.de,
|
||||||
|
...new SCThingWithCategoriesWithoutReferencesMeta<
|
||||||
|
SCCertificationCategories,
|
||||||
|
SCThingWithCategoriesSpecificValues
|
||||||
|
>().fieldTranslations.de,
|
||||||
|
compactImage: 'Kompaktes Bild',
|
||||||
|
certificationAuthority: 'Zertifizierungsstelle',
|
||||||
|
},
|
||||||
|
en: {
|
||||||
|
...new SCThingMeta().fieldTranslations.en,
|
||||||
|
...new SCThingWithCategoriesWithoutReferencesMeta<
|
||||||
|
SCCertificationCategories,
|
||||||
|
SCThingWithCategoriesSpecificValues
|
||||||
|
>().fieldTranslations.en,
|
||||||
|
compactImage: 'compact image',
|
||||||
|
certificationAuthority: 'certification authority',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
fieldValueTranslations = {
|
||||||
|
de: {
|
||||||
|
...new SCThingMeta().fieldValueTranslations.de,
|
||||||
|
...new SCThingWithCategoriesWithoutReferencesMeta<
|
||||||
|
SCCertificationCategories,
|
||||||
|
SCThingWithCategoriesSpecificValues
|
||||||
|
>().fieldValueTranslations.de,
|
||||||
|
type: 'Zertifizierung',
|
||||||
|
},
|
||||||
|
en: {
|
||||||
|
...new SCThingMeta().fieldValueTranslations.en,
|
||||||
|
...new SCThingWithCategoriesWithoutReferencesMeta<
|
||||||
|
SCCertificationCategories,
|
||||||
|
SCThingWithCategoriesSpecificValues
|
||||||
|
>().fieldValueTranslations.en,
|
||||||
|
type: SCThingType.Certification,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -28,6 +28,7 @@ import {
|
|||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from './abstract/thing-with-categories';
|
} from './abstract/thing-with-categories';
|
||||||
|
import {SCCertificationWithoutReferences} from './certification';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A dish without references
|
* A dish without references
|
||||||
@@ -84,6 +85,11 @@ export interface SCDish
|
|||||||
*/
|
*/
|
||||||
dishAddOns?: SCDishWithoutReferences[];
|
dishAddOns?: SCDishWithoutReferences[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Certifications this dish received
|
||||||
|
*/
|
||||||
|
certifications?: SCCertificationWithoutReferences[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Translated fields of a dish
|
* Translated fields of a dish
|
||||||
*/
|
*/
|
||||||
@@ -222,6 +228,7 @@ export class SCDishMeta extends SCThingMeta implements SCMetaTranslations<SCDish
|
|||||||
...new SCThingThatCanBeOfferedMeta<SCAcademicPriceGroup>().fieldTranslations.de,
|
...new SCThingThatCanBeOfferedMeta<SCAcademicPriceGroup>().fieldTranslations.de,
|
||||||
additives: 'Allergene und Zusatzstoffe',
|
additives: 'Allergene und Zusatzstoffe',
|
||||||
characteristics: 'Merkmale',
|
characteristics: 'Merkmale',
|
||||||
|
certifications: 'Zertifizierungen',
|
||||||
dishAddOns: 'Beilagen',
|
dishAddOns: 'Beilagen',
|
||||||
nutrition: 'Nährwertangaben',
|
nutrition: 'Nährwertangaben',
|
||||||
menuSection: 'Menüabschnitt',
|
menuSection: 'Menüabschnitt',
|
||||||
@@ -234,6 +241,7 @@ export class SCDishMeta extends SCThingMeta implements SCMetaTranslations<SCDish
|
|||||||
...new SCThingThatCanBeOfferedMeta<SCAcademicPriceGroup>().fieldTranslations.en,
|
...new SCThingThatCanBeOfferedMeta<SCAcademicPriceGroup>().fieldTranslations.en,
|
||||||
additives: 'additives and allergens',
|
additives: 'additives and allergens',
|
||||||
characteristics: 'characteristics',
|
characteristics: 'characteristics',
|
||||||
|
certifications: 'certifications',
|
||||||
dishAddOns: 'side dishes',
|
dishAddOns: 'side dishes',
|
||||||
nutrition: 'nutrition information',
|
nutrition: 'nutrition information',
|
||||||
menuSection: 'menu section',
|
menuSection: 'menu section',
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import {LightweightProject} from '@openstapps/core-tools/lib/easy-ast/types/ligh
|
|||||||
import {expect} from 'chai';
|
import {expect} from 'chai';
|
||||||
import {reduce} from 'lodash';
|
import {reduce} from 'lodash';
|
||||||
|
|
||||||
process.on('unhandledRejection', (err) => {
|
process.on('unhandledRejection', err => {
|
||||||
throw err;
|
throw err;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -33,12 +33,21 @@ describe('Mapping Compatibility', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('non-exported definitions should not have duplicate names across files', () => {
|
it('non-exported definitions should not have duplicate names across files', () => {
|
||||||
reduce(project, (result, file) => reduce(file, (result2, _, key) => {
|
reduce(
|
||||||
expect(result2[key]).to.be.undefined;
|
project,
|
||||||
return {
|
(result, file) =>
|
||||||
[key]: true,
|
reduce(
|
||||||
...result2,
|
file,
|
||||||
};
|
(result2, _, key) => {
|
||||||
}, result), {} as Record<string, boolean>);
|
expect(result2[key]).to.be.undefined;
|
||||||
|
return {
|
||||||
|
[key]: true,
|
||||||
|
...result2,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
result,
|
||||||
|
),
|
||||||
|
{} as Record<string, boolean>,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -12,7 +12,11 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {isLightweightClass, isLightweightEnum, isUnionType} from '@openstapps/core-tools/lib/easy-ast/ast-util';
|
import {
|
||||||
|
isLightweightClass,
|
||||||
|
isLightweightEnum,
|
||||||
|
isUnionType,
|
||||||
|
} from '@openstapps/core-tools/lib/easy-ast/ast-util';
|
||||||
import {LightweightAliasDefinition} from '@openstapps/core-tools/lib/easy-ast/types/lightweight-alias-definition';
|
import {LightweightAliasDefinition} from '@openstapps/core-tools/lib/easy-ast/types/lightweight-alias-definition';
|
||||||
import {LightweightProjectWithIndex} from '@openstapps/core-tools/lib/easy-ast/types/lightweight-project';
|
import {LightweightProjectWithIndex} from '@openstapps/core-tools/lib/easy-ast/types/lightweight-project';
|
||||||
import {LightweightType} from '@openstapps/core-tools/lib/easy-ast/types/lightweight-type';
|
import {LightweightType} from '@openstapps/core-tools/lib/easy-ast/types/lightweight-type';
|
||||||
@@ -22,7 +26,7 @@ import {LightweightProperty} from '@openstapps/core-tools/src/easy-ast/types/lig
|
|||||||
import {expect} from 'chai';
|
import {expect} from 'chai';
|
||||||
import {assign, chain, clone, flatMap, isNil, reduce, reject, some} from 'lodash';
|
import {assign, chain, clone, flatMap, isNil, reduce, reject, some} from 'lodash';
|
||||||
|
|
||||||
process.on('unhandledRejection', (err) => {
|
process.on('unhandledRejection', err => {
|
||||||
throw err;
|
throw err;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -47,28 +51,27 @@ describe('Features', () => {
|
|||||||
referenceName: 'SCDiff',
|
referenceName: 'SCDiff',
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(thingsReflection.type?.specificationTypes?.every(it => typeof it.referenceName !== 'undefined')).to.be.true;
|
expect(
|
||||||
|
thingsReflection.type?.specificationTypes?.every(it => typeof it.referenceName !== 'undefined'),
|
||||||
|
).to.be.true;
|
||||||
thingNames = thingsReflection.type?.specificationTypes?.map(type => type.referenceName!) ?? [];
|
thingNames = thingsReflection.type?.specificationTypes?.map(type => type.referenceName!) ?? [];
|
||||||
things = thingNames
|
things = thingNames.map(it => project.definitions[it]).filter(isLightweightClass);
|
||||||
.map(it => project.definitions[it])
|
|
||||||
.filter(isLightweightClass);
|
|
||||||
thingsWithoutReferences = thingNames
|
thingsWithoutReferences = thingNames
|
||||||
.map(it => project.definitions[`${it}WithoutReferences`])
|
.map(it => project.definitions[`${it}WithoutReferences`])
|
||||||
.filter(isLightweightClass);
|
.filter(isLightweightClass);
|
||||||
});
|
});
|
||||||
|
|
||||||
const inheritedProperties = function (classLike: LightweightClassDefinition):
|
const inheritedProperties = function (
|
||||||
Record<string, LightweightProperty> | undefined {
|
classLike: LightweightClassDefinition,
|
||||||
|
): Record<string, LightweightProperty> | undefined {
|
||||||
return reduce(
|
return reduce(
|
||||||
[...(classLike.implementedDefinitions ?? []), ...(classLike.extendedDefinitions ?? [])],
|
[...(classLike.implementedDefinitions ?? []), ...(classLike.extendedDefinitions ?? [])],
|
||||||
(obj, extension) => {
|
(obj, extension) => {
|
||||||
const object = project.definitions[extension.referenceName ?? ''];
|
const object = project.definitions[extension.referenceName ?? ''];
|
||||||
|
|
||||||
return assign(obj, isLightweightClass(object)
|
return assign(obj, isLightweightClass(object) ? inheritedProperties(object) : obj);
|
||||||
? inheritedProperties(object)
|
|
||||||
: obj);
|
|
||||||
},
|
},
|
||||||
clone(classLike.properties)
|
clone(classLike.properties),
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -79,33 +82,45 @@ describe('Features', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should not have duplicate names', () => {
|
it('should not have duplicate names', () => {
|
||||||
reduce(project.files, (fileResult, file) =>
|
reduce(
|
||||||
reduce(file, (definitionResult, definition: LightweightDefinition) => {
|
project.files,
|
||||||
expect(definitionResult[definition.name]).to.be.undefined;
|
(fileResult, file) =>
|
||||||
definitionResult[definition.name] = true; // something that's not undefined
|
reduce(
|
||||||
|
file,
|
||||||
|
(definitionResult, definition: LightweightDefinition) => {
|
||||||
|
expect(definitionResult[definition.name]).to.be.undefined;
|
||||||
|
definitionResult[definition.name] = true; // something that's not undefined
|
||||||
|
|
||||||
return definitionResult;
|
return definitionResult;
|
||||||
}, fileResult), {} as Record<string, true>);
|
},
|
||||||
|
fileResult,
|
||||||
|
),
|
||||||
|
{} as Record<string, true>,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not have properties referencing SCThing', () => {
|
it('should not have properties referencing SCThing', () => {
|
||||||
const allPropertyReferenceNames: (property: LightweightProperty) => string[] = property => reject([
|
const allPropertyReferenceNames: (property: LightweightProperty) => string[] = property =>
|
||||||
property.type.referenceName!,
|
reject(
|
||||||
...flatMap(property.properties, allPropertyReferenceNames),
|
[property.type.referenceName!, ...flatMap(property.properties, allPropertyReferenceNames)],
|
||||||
], isNil);
|
isNil,
|
||||||
|
);
|
||||||
|
|
||||||
const typeHasSCThingReferences: (type?: LightweightType) => boolean = type => type?.referenceName
|
const typeHasSCThingReferences: (type?: LightweightType) => boolean = type =>
|
||||||
? hasSCThingReferences(project.definitions[type.referenceName])
|
type?.referenceName
|
||||||
: some(type?.specificationTypes, typeHasSCThingReferences);
|
? hasSCThingReferences(project.definitions[type.referenceName])
|
||||||
|
: some(type?.specificationTypes, typeHasSCThingReferences);
|
||||||
|
|
||||||
const hasSCThingReferences: (definition?: LightweightDefinition) => boolean = definition =>
|
const hasSCThingReferences: (definition?: LightweightDefinition) => boolean = definition =>
|
||||||
isLightweightClass(definition)
|
isLightweightClass(definition)
|
||||||
? chain(inheritedProperties(definition))
|
? chain(inheritedProperties(definition))
|
||||||
.flatMap(it => flatMap(it.properties, allPropertyReferenceNames))
|
.flatMap(it => flatMap(it.properties, allPropertyReferenceNames))
|
||||||
.map(it => project.definitions[it] as LightweightDefinition)
|
.map(it => project.definitions[it] as LightweightDefinition)
|
||||||
.some(it => it.name === 'SCThing' || hasSCThingReferences(it))
|
.some(it => it.name === 'SCThing' || hasSCThingReferences(it))
|
||||||
.value()
|
.value()
|
||||||
: definition ? typeHasSCThingReferences(definition.type) : false;
|
: definition
|
||||||
|
? typeHasSCThingReferences(definition.type)
|
||||||
|
: false;
|
||||||
|
|
||||||
for (const thing of things) {
|
for (const thing of things) {
|
||||||
expect(hasSCThingReferences(thing)).to.be.false;
|
expect(hasSCThingReferences(thing)).to.be.false;
|
||||||
@@ -115,13 +130,13 @@ describe('Features', () => {
|
|||||||
function extendsSCThing(definition?: LightweightDefinition): boolean {
|
function extendsSCThing(definition?: LightweightDefinition): boolean {
|
||||||
return isLightweightClass(definition)
|
return isLightweightClass(definition)
|
||||||
? chain([
|
? chain([
|
||||||
...(definition as LightweightClassDefinition).extendedDefinitions ?? [],
|
...((definition as LightweightClassDefinition).extendedDefinitions ?? []),
|
||||||
...(definition as LightweightClassDefinition).implementedDefinitions ?? [],
|
...((definition as LightweightClassDefinition).implementedDefinitions ?? []),
|
||||||
])
|
])
|
||||||
.map(it => it.referenceName)
|
.map(it => it.referenceName)
|
||||||
.reject(isNil)
|
.reject(isNil)
|
||||||
.some(it => it === 'SCThing' || extendsSCThing(project.definitions[it!]))
|
.some(it => it === 'SCThing' || extendsSCThing(project.definitions[it!]))
|
||||||
.value()
|
.value()
|
||||||
: false;
|
: false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,13 +12,8 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {expect} from 'chai';
|
|
||||||
import {slow, suite, test, timeout} from '@testdeck/mocha';
|
import {slow, suite, test, timeout} from '@testdeck/mocha';
|
||||||
import {SCBulkResponse} from '../src/protocol/routes/bulk-request';
|
import {expect} from 'chai';
|
||||||
import {SCMultiSearchResponse} from '../src/protocol/routes/search-multi';
|
|
||||||
import {SCSearchResponse} from '../src/protocol/routes/search';
|
|
||||||
import {SCThingOriginType, SCThingType} from '../src/things/abstract/thing';
|
|
||||||
import {SCDish} from '../src/things/dish';
|
|
||||||
import {
|
import {
|
||||||
isBulkResponse,
|
isBulkResponse,
|
||||||
isMultiSearchResponse,
|
isMultiSearchResponse,
|
||||||
@@ -26,10 +21,14 @@ import {
|
|||||||
isThing,
|
isThing,
|
||||||
isThingWithTranslations,
|
isThingWithTranslations,
|
||||||
} from '../src/guards';
|
} from '../src/guards';
|
||||||
|
import {SCBulkResponse} from '../src/protocol/routes/bulk-request';
|
||||||
|
import {SCSearchResponse} from '../src/protocol/routes/search';
|
||||||
|
import {SCMultiSearchResponse} from '../src/protocol/routes/search-multi';
|
||||||
|
import {SCThingOriginType, SCThingType} from '../src/things/abstract/thing';
|
||||||
|
import {SCDish} from '../src/things/dish';
|
||||||
|
|
||||||
@suite(timeout(10000), slow(5000))
|
@suite(timeout(10000), slow(5000))
|
||||||
export class GuardsSpec {
|
export class GuardsSpec {
|
||||||
|
|
||||||
static bulkResponse: SCBulkResponse = {
|
static bulkResponse: SCBulkResponse = {
|
||||||
expiration: '2009-06-30T18:30:00+02:00 ',
|
expiration: '2009-06-30T18:30:00+02:00 ',
|
||||||
source: 'bar',
|
source: 'bar',
|
||||||
@@ -39,9 +38,7 @@ export class GuardsSpec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static dishWithTranslation: SCDish = {
|
static dishWithTranslation: SCDish = {
|
||||||
categories: [
|
categories: ['appetizer'],
|
||||||
'appetizer',
|
|
||||||
],
|
|
||||||
name: 'foo',
|
name: 'foo',
|
||||||
origin: {
|
origin: {
|
||||||
created: '',
|
created: '',
|
||||||
@@ -57,9 +54,7 @@ export class GuardsSpec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static notADish = {
|
static notADish = {
|
||||||
categories: [
|
categories: ['appetizer'],
|
||||||
'appetizer',
|
|
||||||
],
|
|
||||||
name: 'foo',
|
name: 'foo',
|
||||||
origin: {
|
origin: {
|
||||||
created: '',
|
created: '',
|
||||||
@@ -70,18 +65,16 @@ export class GuardsSpec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static searchResponse: SCSearchResponse = {
|
static searchResponse: SCSearchResponse = {
|
||||||
data: [
|
data: [GuardsSpec.dishWithTranslation],
|
||||||
GuardsSpec.dishWithTranslation,
|
|
||||||
],
|
|
||||||
facets: [
|
facets: [
|
||||||
{
|
{
|
||||||
buckets: [
|
buckets: [
|
||||||
{
|
{
|
||||||
count: 1,
|
count: 1,
|
||||||
key: 'key',
|
key: 'key',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
field: 'field',
|
field: 'field',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
pagination: {
|
pagination: {
|
||||||
|
|||||||
@@ -8,9 +8,7 @@
|
|||||||
"status": "ongoing",
|
"status": "ongoing",
|
||||||
"uid": "681a59a1-23c2-5d78-861a-8c86a3abf404",
|
"uid": "681a59a1-23c2-5d78-861a-8c86a3abf404",
|
||||||
"name": "Introductory courses extreme math",
|
"name": "Introductory courses extreme math",
|
||||||
"categories": [
|
"categories": ["university assessment"],
|
||||||
"university assessment"
|
|
||||||
],
|
|
||||||
"courseOfStudy": {
|
"courseOfStudy": {
|
||||||
"academicDegree": "bachelor",
|
"academicDegree": "bachelor",
|
||||||
"academicDegreewithField": "Bachelor of Arts",
|
"academicDegreewithField": "Bachelor of Arts",
|
||||||
|
|||||||
@@ -8,9 +8,7 @@
|
|||||||
"status": "passed",
|
"status": "passed",
|
||||||
"uid": "681a59a1-23c2-5d78-861a-8c86a3abf303",
|
"uid": "681a59a1-23c2-5d78-861a-8c86a3abf303",
|
||||||
"name": "Mathe 9001",
|
"name": "Mathe 9001",
|
||||||
"categories": [
|
"categories": ["university assessment"],
|
||||||
"university assessment"
|
|
||||||
],
|
|
||||||
"superAssessments": [
|
"superAssessments": [
|
||||||
{
|
{
|
||||||
"attempt": 1,
|
"attempt": 1,
|
||||||
@@ -20,9 +18,7 @@
|
|||||||
"status": "ongoing",
|
"status": "ongoing",
|
||||||
"uid": "681a59a1-23c2-5d78-861a-8c86a3abf404",
|
"uid": "681a59a1-23c2-5d78-861a-8c86a3abf404",
|
||||||
"name": "Introductory courses extreme math",
|
"name": "Introductory courses extreme math",
|
||||||
"categories": [
|
"categories": ["university assessment"],
|
||||||
"university assessment"
|
|
||||||
],
|
|
||||||
"type": "assessment"
|
"type": "assessment"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -18,12 +18,8 @@
|
|||||||
"name": "Name One",
|
"name": "Name One",
|
||||||
"type": "message",
|
"type": "message",
|
||||||
"messageBody": "Message",
|
"messageBody": "Message",
|
||||||
"audiences": [
|
"audiences": ["students"],
|
||||||
"students"
|
"categories": ["news"],
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"news"
|
|
||||||
],
|
|
||||||
"sequenceIndex": 1010,
|
"sequenceIndex": 1010,
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
|
|||||||
@@ -18,12 +18,8 @@
|
|||||||
"name": "Name One",
|
"name": "Name One",
|
||||||
"type": "message",
|
"type": "message",
|
||||||
"messageBody": "Message",
|
"messageBody": "Message",
|
||||||
"audiences": [
|
"audiences": ["students"],
|
||||||
"students"
|
"categories": ["news"],
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"news"
|
|
||||||
],
|
|
||||||
"sequenceIndex": 1020,
|
"sequenceIndex": 1020,
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
|
|||||||
@@ -9,18 +9,14 @@
|
|||||||
"description": "Fortsetzung der Algebra I: Galoistheorie mit Anwendungen, ausgewählte Spezialthemen.",
|
"description": "Fortsetzung der Algebra I: Galoistheorie mit Anwendungen, ausgewählte Spezialthemen.",
|
||||||
"uid": "681a59a1-23c2-5d78-861a-8c86a3abf2b9",
|
"uid": "681a59a1-23c2-5d78-861a-8c86a3abf2b9",
|
||||||
"name": "Algebra II",
|
"name": "Algebra II",
|
||||||
"categories": [
|
"categories": ["lecture"],
|
||||||
"lecture"
|
|
||||||
],
|
|
||||||
"academicTerms": [
|
"academicTerms": [
|
||||||
{
|
{
|
||||||
"uid": "aacd5611-b5be-54ce-b39f-c52f7e9a631d",
|
"uid": "aacd5611-b5be-54ce-b39f-c52f7e9a631d",
|
||||||
"type": "semester",
|
"type": "semester",
|
||||||
"name": "Sommersemester 2018",
|
"name": "Sommersemester 2018",
|
||||||
"acronym": "SS 2018",
|
"acronym": "SS 2018",
|
||||||
"alternateNames": [
|
"alternateNames": ["SoSe 2018"],
|
||||||
"SoSe 2018"
|
|
||||||
],
|
|
||||||
"startDate": "2018-04-01",
|
"startDate": "2018-04-01",
|
||||||
"endDate": "2018-09-30",
|
"endDate": "2018-09-30",
|
||||||
"eventsStartDate": "2018-04-09",
|
"eventsStartDate": "2018-04-09",
|
||||||
|
|||||||
@@ -15,9 +15,7 @@
|
|||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": ["query"],
|
||||||
"query"
|
|
||||||
],
|
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"description": "User query"
|
"description": "User query"
|
||||||
}
|
}
|
||||||
@@ -28,9 +26,7 @@
|
|||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": ["query"],
|
||||||
"query"
|
|
||||||
],
|
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"description": "User query",
|
"description": "User query",
|
||||||
"$id": "https://core.stapps.tu-berlin.de/v0.18.0/lib/schema/SCFooPluginRequest.json"
|
"$id": "https://core.stapps.tu-berlin.de/v0.18.0/lib/schema/SCFooPluginRequest.json"
|
||||||
@@ -46,9 +42,7 @@
|
|||||||
"items": {}
|
"items": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": ["result"],
|
||||||
"result"
|
|
||||||
],
|
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"description": "A response to a query"
|
"description": "A response to a query"
|
||||||
}
|
}
|
||||||
@@ -60,9 +54,7 @@
|
|||||||
"items": {}
|
"items": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": ["result"],
|
||||||
"result"
|
|
||||||
],
|
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"description": "A response to a query",
|
"description": "A response to a query",
|
||||||
"$id": "https://core.stapps.tu-berlin.de/v0.18.0/lib/schema/SCFooPluginResponse.json"
|
"$id": "https://core.stapps.tu-berlin.de/v0.18.0/lib/schema/SCFooPluginResponse.json"
|
||||||
|
|||||||
@@ -1,17 +1,11 @@
|
|||||||
{
|
{
|
||||||
"errorNames": [],
|
"errorNames": [],
|
||||||
"instance": {
|
"instance": {
|
||||||
"categories": [
|
"categories": ["privacy"],
|
||||||
"privacy"
|
|
||||||
],
|
|
||||||
"description": "This is a Description",
|
"description": "This is a Description",
|
||||||
"defaultValue": "student",
|
"defaultValue": "student",
|
||||||
"inputType": "single choice",
|
"inputType": "single choice",
|
||||||
"values": [
|
"values": ["student", "employee", "guest"],
|
||||||
"student",
|
|
||||||
"employee",
|
|
||||||
"guest"
|
|
||||||
],
|
|
||||||
"name": "group",
|
"name": "group",
|
||||||
"order": 0,
|
"order": 0,
|
||||||
"origin": {
|
"origin": {
|
||||||
|
|||||||
@@ -1,22 +1,11 @@
|
|||||||
{
|
{
|
||||||
"errorNames": [],
|
"errorNames": [],
|
||||||
"instance": {
|
"instance": {
|
||||||
"categories": [
|
"categories": ["privacy"],
|
||||||
"privacy"
|
|
||||||
],
|
|
||||||
"description": "This is a Description",
|
"description": "This is a Description",
|
||||||
"defaultValue": [],
|
"defaultValue": [],
|
||||||
"inputType": "multiple choice",
|
"inputType": "multiple choice",
|
||||||
"values": [
|
"values": [1, 2, 3, 4, 5, 6, 7, 8],
|
||||||
1,
|
|
||||||
2,
|
|
||||||
3,
|
|
||||||
4,
|
|
||||||
5,
|
|
||||||
6,
|
|
||||||
7,
|
|
||||||
8
|
|
||||||
],
|
|
||||||
"name": "numbers",
|
"name": "numbers",
|
||||||
"order": 1,
|
"order": 1,
|
||||||
"origin": {
|
"origin": {
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
{
|
{
|
||||||
"errorNames": [],
|
"errorNames": [],
|
||||||
"instance": {
|
"instance": {
|
||||||
"categories": [
|
"categories": ["profile"],
|
||||||
"profile"
|
|
||||||
],
|
|
||||||
"defaultValue": "en",
|
"defaultValue": "en",
|
||||||
"description": "The language this app is going to use.",
|
"description": "The language this app is going to use.",
|
||||||
"inputType": "single choice",
|
"inputType": "single choice",
|
||||||
@@ -18,25 +16,16 @@
|
|||||||
"de": {
|
"de": {
|
||||||
"description": "Die Sprache in der die App angezeigt wird.",
|
"description": "Die Sprache in der die App angezeigt wird.",
|
||||||
"name": "Sprache",
|
"name": "Sprache",
|
||||||
"values": [
|
"values": ["English", "German"]
|
||||||
"English",
|
|
||||||
"German"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"en": {
|
"en": {
|
||||||
"description": "The language this app is going to use.",
|
"description": "The language this app is going to use.",
|
||||||
"name": "Language",
|
"name": "Language",
|
||||||
"values": [
|
"values": ["english", "german"]
|
||||||
"english",
|
|
||||||
"german"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "setting",
|
"type": "setting",
|
||||||
"values": [
|
"values": ["en", "de"],
|
||||||
"en",
|
|
||||||
"de"
|
|
||||||
],
|
|
||||||
"uid": "184b717a-d020-46f5-995c-03023670cc62"
|
"uid": "184b717a-d020-46f5-995c-03023670cc62"
|
||||||
},
|
},
|
||||||
"schema": "SCSetting"
|
"schema": "SCSetting"
|
||||||
|
|||||||
@@ -5,18 +5,14 @@
|
|||||||
"description": "Fortsetzung der Algebra I: Galoistheorie mit Anwendungen, ausgewählte Spezialthemen.",
|
"description": "Fortsetzung der Algebra I: Galoistheorie mit Anwendungen, ausgewählte Spezialthemen.",
|
||||||
"uid": "681a59a1-23c2-5d78-861a-8c86a3abf2b9",
|
"uid": "681a59a1-23c2-5d78-861a-8c86a3abf2b9",
|
||||||
"name": "Algebra II",
|
"name": "Algebra II",
|
||||||
"categories": [
|
"categories": ["lecture"],
|
||||||
"lecture"
|
|
||||||
],
|
|
||||||
"academicTerms": [
|
"academicTerms": [
|
||||||
{
|
{
|
||||||
"uid": "aacd5611-b5be-54ce-b39f-c52f7e9a631d",
|
"uid": "aacd5611-b5be-54ce-b39f-c52f7e9a631d",
|
||||||
"type": "semester",
|
"type": "semester",
|
||||||
"name": "Sommersemester 2018",
|
"name": "Sommersemester 2018",
|
||||||
"acronym": "SS 2018",
|
"acronym": "SS 2018",
|
||||||
"alternateNames": [
|
"alternateNames": ["SoSe 2018"],
|
||||||
"SoSe 2018"
|
|
||||||
],
|
|
||||||
"startDate": "2018-04-01",
|
"startDate": "2018-04-01",
|
||||||
"endDate": "2018-09-30",
|
"endDate": "2018-09-30",
|
||||||
"eventsStartDate": "2018-04-09",
|
"eventsStartDate": "2018-04-09",
|
||||||
|
|||||||
@@ -5,18 +5,14 @@
|
|||||||
"description": "Grundlagen, algebraische Grundbegriffe, Vektorräume, lineare Abbildungen und Gleichungen, Determinanten",
|
"description": "Grundlagen, algebraische Grundbegriffe, Vektorräume, lineare Abbildungen und Gleichungen, Determinanten",
|
||||||
"uid": "b17eb963-42b5-5861-adce-2b7b2607ef0a",
|
"uid": "b17eb963-42b5-5861-adce-2b7b2607ef0a",
|
||||||
"name": "Lineare Algebra I für Mathematiker",
|
"name": "Lineare Algebra I für Mathematiker",
|
||||||
"categories": [
|
"categories": ["lecture"],
|
||||||
"lecture"
|
|
||||||
],
|
|
||||||
"academicTerms": [
|
"academicTerms": [
|
||||||
{
|
{
|
||||||
"uid": "aacd5611-b5be-54ce-b39f-c52f7e9a631d",
|
"uid": "aacd5611-b5be-54ce-b39f-c52f7e9a631d",
|
||||||
"type": "semester",
|
"type": "semester",
|
||||||
"name": "Sommersemester 2018",
|
"name": "Sommersemester 2018",
|
||||||
"acronym": "SS 2018",
|
"acronym": "SS 2018",
|
||||||
"alternateNames": [
|
"alternateNames": ["SoSe 2018"],
|
||||||
"SoSe 2018"
|
|
||||||
],
|
|
||||||
"startDate": "2018-04-01",
|
"startDate": "2018-04-01",
|
||||||
"endDate": "2018-09-30",
|
"endDate": "2018-09-30",
|
||||||
"eventsStartDate": "2018-04-09",
|
"eventsStartDate": "2018-04-09",
|
||||||
@@ -40,17 +36,11 @@
|
|||||||
"type": "catalog",
|
"type": "catalog",
|
||||||
"level": 3,
|
"level": 3,
|
||||||
"description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.",
|
"description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.",
|
||||||
"categories": [
|
"categories": ["university events"],
|
||||||
"university events"
|
|
||||||
],
|
|
||||||
"name": "Mathematik: Lehrveranstaltungen für andere Fachrichtungen (Service)"
|
"name": "Mathematik: Lehrveranstaltungen für andere Fachrichtungen (Service)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"majors": [
|
"majors": ["Wirtschaftsmathematik BSc", "Technomathematik BSc", "Mathematik BSc"],
|
||||||
"Wirtschaftsmathematik BSc",
|
|
||||||
"Technomathematik BSc",
|
|
||||||
"Mathematik BSc"
|
|
||||||
],
|
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
"name": "Dummy",
|
"name": "Dummy",
|
||||||
|
|||||||
@@ -5,18 +5,14 @@
|
|||||||
"description": "Die Übung hat 2 SWS und wird auf 2 Gruppen verteilt.",
|
"description": "Die Übung hat 2 SWS und wird auf 2 Gruppen verteilt.",
|
||||||
"uid": "7e2b64b0-925d-5f63-b464-a6e3e9492411",
|
"uid": "7e2b64b0-925d-5f63-b464-a6e3e9492411",
|
||||||
"name": "Algebra II",
|
"name": "Algebra II",
|
||||||
"categories": [
|
"categories": ["tutorial"],
|
||||||
"tutorial"
|
|
||||||
],
|
|
||||||
"academicTerms": [
|
"academicTerms": [
|
||||||
{
|
{
|
||||||
"uid": "aacd5611-b5be-54ce-b39f-c52f7e9a631d",
|
"uid": "aacd5611-b5be-54ce-b39f-c52f7e9a631d",
|
||||||
"type": "semester",
|
"type": "semester",
|
||||||
"name": "Sommersemester 2018",
|
"name": "Sommersemester 2018",
|
||||||
"acronym": "SS 2018",
|
"acronym": "SS 2018",
|
||||||
"alternateNames": [
|
"alternateNames": ["SoSe 2018"],
|
||||||
"SoSe 2018"
|
|
||||||
],
|
|
||||||
"startDate": "2018-04-01",
|
"startDate": "2018-04-01",
|
||||||
"endDate": "2018-09-30",
|
"endDate": "2018-09-30",
|
||||||
"eventsStartDate": "2018-04-09",
|
"eventsStartDate": "2018-04-09",
|
||||||
@@ -46,9 +42,7 @@
|
|||||||
"uid": "6c259ad8-99af-5ea2-8aae-a3c9027d26e2",
|
"uid": "6c259ad8-99af-5ea2-8aae-a3c9027d26e2",
|
||||||
"type": "catalog",
|
"type": "catalog",
|
||||||
"level": 3,
|
"level": 3,
|
||||||
"categories": [
|
"categories": ["university events"],
|
||||||
"university events"
|
|
||||||
],
|
|
||||||
"name": "Mathematik: Grundstudiums-Veranstaltungen (Diplom, Bachelor)"
|
"name": "Mathematik: Grundstudiums-Veranstaltungen (Diplom, Bachelor)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -56,9 +50,7 @@
|
|||||||
"type": "catalog",
|
"type": "catalog",
|
||||||
"level": 3,
|
"level": 3,
|
||||||
"description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.",
|
"description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.",
|
||||||
"categories": [
|
"categories": ["university events"],
|
||||||
"university events"
|
|
||||||
],
|
|
||||||
"name": "Mathematik: Lehrveranstaltungen für andere Fachrichtungen (Service)"
|
"name": "Mathematik: Lehrveranstaltungen für andere Fachrichtungen (Service)"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -3,23 +3,15 @@
|
|||||||
"instance": {
|
"instance": {
|
||||||
"uid": "8d8bd89c-8429-5f81-b754-15a5be55e593",
|
"uid": "8d8bd89c-8429-5f81-b754-15a5be55e593",
|
||||||
"type": "article",
|
"type": "article",
|
||||||
"categories": [
|
"categories": ["unipedia"],
|
||||||
"unipedia"
|
|
||||||
],
|
|
||||||
"sameAs": "https://www.mydesk.tu-berlin.de/wiki/abk%C3%BCrzungen",
|
"sameAs": "https://www.mydesk.tu-berlin.de/wiki/abk%C3%BCrzungen",
|
||||||
"name": "Abkürzungen",
|
"name": "Abkürzungen",
|
||||||
"keywords": [
|
"keywords": ["Abkürzungen", "Studium"],
|
||||||
"Abkürzungen",
|
|
||||||
"Studium"
|
|
||||||
],
|
|
||||||
"articleBody": "Siehe [c.t.](#/b-tu/data/detail/Article/tub-unipedia-384edcfd026dab697ff9f8adda0d19a6959d4e29) (lat. cum tempore)\n\n### S\n\n**SWS** ist eine Semesterwochenstunde. Ein SWS beträgt 45 MInuten.",
|
"articleBody": "Siehe [c.t.](#/b-tu/data/detail/Article/tub-unipedia-384edcfd026dab697ff9f8adda0d19a6959d4e29) (lat. cum tempore)\n\n### S\n\n**SWS** ist eine Semesterwochenstunde. Ein SWS beträgt 45 MInuten.",
|
||||||
"translations": {
|
"translations": {
|
||||||
"en": {
|
"en": {
|
||||||
"name": "Abbreviations",
|
"name": "Abbreviations",
|
||||||
"keywords": [
|
"keywords": ["Abbreviations", "Studies"]
|
||||||
"Abbreviations",
|
|
||||||
"Studies"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"origin": {
|
"origin": {
|
||||||
|
|||||||
@@ -3,9 +3,7 @@
|
|||||||
"instance": {
|
"instance": {
|
||||||
"uid": "4f772b29-0b28-53a4-a8b9-206d9b425962",
|
"uid": "4f772b29-0b28-53a4-a8b9-206d9b425962",
|
||||||
"type": "article",
|
"type": "article",
|
||||||
"categories": [
|
"categories": ["unipedia"],
|
||||||
"unipedia"
|
|
||||||
],
|
|
||||||
"sameAs": "https://www.mydesk.tu-berlin.de/wiki/ag_ziethen",
|
"sameAs": "https://www.mydesk.tu-berlin.de/wiki/ag_ziethen",
|
||||||
"name": "AG Ziethen",
|
"name": "AG Ziethen",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|||||||
@@ -5,9 +5,7 @@
|
|||||||
"uid": "d541eda5-1542-59b2-969e-7dbbee0bd2a8",
|
"uid": "d541eda5-1542-59b2-969e-7dbbee0bd2a8",
|
||||||
"name": "Mozart und Frankfurt am Main : drei Generationen Mozart in Frankfurt am Main",
|
"name": "Mozart und Frankfurt am Main : drei Generationen Mozart in Frankfurt am Main",
|
||||||
"description": "Ill.",
|
"description": "Ill.",
|
||||||
"categories": [
|
"categories": ["article"],
|
||||||
"article"
|
|
||||||
],
|
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"type": "person",
|
"type": "person",
|
||||||
|
|||||||
@@ -5,9 +5,7 @@
|
|||||||
"uid": "554a4a89-df73-5197-ac85-c8a5a3a9c5b0",
|
"uid": "554a4a89-df73-5197-ac85-c8a5a3a9c5b0",
|
||||||
"name": "Ursula Janik : [Markthändlerin]",
|
"name": "Ursula Janik : [Markthändlerin]",
|
||||||
"description": "Ill.",
|
"description": "Ill.",
|
||||||
"categories": [
|
"categories": ["article"],
|
||||||
"article"
|
|
||||||
],
|
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"type": "person",
|
"type": "person",
|
||||||
|
|||||||
@@ -23,13 +23,9 @@
|
|||||||
],
|
],
|
||||||
"inLanguage": "de",
|
"inLanguage": "de",
|
||||||
"edition": "2., überarb. u. erw. Aufl.",
|
"edition": "2., überarb. u. erw. Aufl.",
|
||||||
"ISBNs": [
|
"ISBNs": ["3936608776"],
|
||||||
"3936608776"
|
|
||||||
],
|
|
||||||
"numberOfPages": 537,
|
"numberOfPages": 537,
|
||||||
"categories": [
|
"categories": ["book"],
|
||||||
"book"
|
|
||||||
],
|
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
"name": "Dummy",
|
"name": "Dummy",
|
||||||
|
|||||||
@@ -4,9 +4,7 @@
|
|||||||
"type": "book",
|
"type": "book",
|
||||||
"uid": "db47f7f4-7699-5a37-afcc-24beaa998d36",
|
"uid": "db47f7f4-7699-5a37-afcc-24beaa998d36",
|
||||||
"name": "Minimal Book",
|
"name": "Minimal Book",
|
||||||
"categories": [
|
"categories": ["ebook"],
|
||||||
"ebook"
|
|
||||||
],
|
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"type": "person",
|
"type": "person",
|
||||||
@@ -17,9 +15,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"datePublished": "2007-08-01",
|
"datePublished": "2007-08-01",
|
||||||
"ISBNs": [
|
"ISBNs": ["3936608776"],
|
||||||
"3936608776"
|
|
||||||
],
|
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
"name": "Dummy",
|
"name": "Dummy",
|
||||||
|
|||||||
@@ -5,9 +5,7 @@
|
|||||||
"uid": "188cb2bd-724d-543d-97ac-9aa1dda68cb7",
|
"uid": "188cb2bd-724d-543d-97ac-9aa1dda68cb7",
|
||||||
"name": "Frauen im Ingenieurberuf : FIB ; 1. Gesamtdeutsches Symposium VDI-FIB 17. - 18. November 1990, Bad Homburg ; 1. überregionales Treffen VDI-FIB 11. - 12. November 1989, Düsseldorf",
|
"name": "Frauen im Ingenieurberuf : FIB ; 1. Gesamtdeutsches Symposium VDI-FIB 17. - 18. November 1990, Bad Homburg ; 1. überregionales Treffen VDI-FIB 11. - 12. November 1989, Düsseldorf",
|
||||||
"description": "47 S. : Ill., Kt.",
|
"description": "47 S. : Ill., Kt.",
|
||||||
"categories": [
|
"categories": ["book"],
|
||||||
"book"
|
|
||||||
],
|
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"uid": "a276588c-ecee-5d2e-8b9c-73cb902bc165",
|
"uid": "a276588c-ecee-5d2e-8b9c-73cb902bc165",
|
||||||
@@ -21,9 +19,7 @@
|
|||||||
{
|
{
|
||||||
"uid": "603a6574-8910-588a-9e83-cd26e6988c74",
|
"uid": "603a6574-8910-588a-9e83-cd26e6988c74",
|
||||||
"type": "publication event",
|
"type": "publication event",
|
||||||
"locations": [
|
"locations": ["Frankfurt/M"],
|
||||||
"Frankfurt/M"
|
|
||||||
],
|
|
||||||
"publisher": "VDI",
|
"publisher": "VDI",
|
||||||
"name": "VDI"
|
"name": "VDI"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,9 +5,7 @@
|
|||||||
"uid": "f6ee5744-a441-595d-9dae-a9f579c0660f",
|
"uid": "f6ee5744-a441-595d-9dae-a9f579c0660f",
|
||||||
"name": "Kant",
|
"name": "Kant",
|
||||||
"description": "176 S.",
|
"description": "176 S.",
|
||||||
"categories": [
|
"categories": ["book"],
|
||||||
"book"
|
|
||||||
],
|
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"uid": "7e198ecf-966a-5f99-8a45-266243583023",
|
"uid": "7e198ecf-966a-5f99-8a45-266243583023",
|
||||||
@@ -20,17 +18,13 @@
|
|||||||
{
|
{
|
||||||
"uid": "6333427c-0725-5398-9a04-11604680dae3",
|
"uid": "6333427c-0725-5398-9a04-11604680dae3",
|
||||||
"type": "publication event",
|
"type": "publication event",
|
||||||
"locations": [
|
"locations": ["Paris"],
|
||||||
"Paris"
|
|
||||||
],
|
|
||||||
"publisher": "Belles Lettres",
|
"publisher": "Belles Lettres",
|
||||||
"name": "Belles Lettres"
|
"name": "Belles Lettres"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"sameAs": "https://ubffm.hds.hebis.de/Record/HEB102248788",
|
"sameAs": "https://ubffm.hds.hebis.de/Record/HEB102248788",
|
||||||
"ISBNs": [
|
"ISBNs": ["2251760385"],
|
||||||
"2251760385"
|
|
||||||
],
|
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
"name": "HeBIS HDS",
|
"name": "HeBIS HDS",
|
||||||
|
|||||||
@@ -4,156 +4,53 @@
|
|||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [13.32577, 52.51398]
|
||||||
13.32577,
|
|
||||||
52.51398
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"polygon": {
|
"polygon": {
|
||||||
"type": "Polygon",
|
"type": "Polygon",
|
||||||
"coordinates": [
|
"coordinates": [
|
||||||
[
|
[
|
||||||
[
|
[13.3259988, 52.5141108],
|
||||||
13.3259988,
|
[13.3259718, 52.5143107],
|
||||||
52.5141108
|
[13.3262958, 52.5143236],
|
||||||
],
|
[13.3263291, 52.5143052],
|
||||||
[
|
[13.3263688, 52.5140098],
|
||||||
13.3259718,
|
[13.3264324, 52.5139643],
|
||||||
52.5143107
|
[13.3264849, 52.5139415],
|
||||||
],
|
[13.3265148, 52.5139004],
|
||||||
[
|
[13.3265336, 52.5138571],
|
||||||
13.3262958,
|
[13.3265411, 52.5137933],
|
||||||
52.5143236
|
[13.3265336, 52.5137546],
|
||||||
],
|
[13.3264961, 52.5137044],
|
||||||
[
|
[13.3264399, 52.5136725],
|
||||||
13.3263291,
|
[13.3263875, 52.5136497],
|
||||||
52.5143052
|
[13.3263351, 52.5136429],
|
||||||
],
|
[13.3263613, 52.5134286],
|
||||||
[
|
[13.3262564, 52.5133603],
|
||||||
13.3263688,
|
[13.3260767, 52.5133671],
|
||||||
52.5140098
|
[13.3259418, 52.5134286],
|
||||||
],
|
[13.3258744, 52.5135061],
|
||||||
[
|
[13.3258444, 52.5135677],
|
||||||
13.3264324,
|
[13.3261366, 52.5135836],
|
||||||
52.5139643
|
[13.3261066, 52.513807],
|
||||||
],
|
[13.3260579, 52.5138047],
|
||||||
[
|
[13.3260317, 52.5139096],
|
||||||
13.3264849,
|
[13.3254137, 52.5138708],
|
||||||
52.5139415
|
[13.3254287, 52.5137819],
|
||||||
],
|
[13.3250879, 52.513766],
|
||||||
[
|
[13.3250018, 52.5142697],
|
||||||
13.3265148,
|
[13.3253613, 52.5142902],
|
||||||
52.5139004
|
[13.3253838, 52.5140747],
|
||||||
],
|
[13.3259988, 52.5141108]
|
||||||
[
|
|
||||||
13.3265336,
|
|
||||||
52.5138571
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3265411,
|
|
||||||
52.5137933
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3265336,
|
|
||||||
52.5137546
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3264961,
|
|
||||||
52.5137044
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3264399,
|
|
||||||
52.5136725
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3263875,
|
|
||||||
52.5136497
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3263351,
|
|
||||||
52.5136429
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3263613,
|
|
||||||
52.5134286
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3262564,
|
|
||||||
52.5133603
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3260767,
|
|
||||||
52.5133671
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3259418,
|
|
||||||
52.5134286
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3258744,
|
|
||||||
52.5135061
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3258444,
|
|
||||||
52.5135677
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3261366,
|
|
||||||
52.5135836
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3261066,
|
|
||||||
52.513807
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3260579,
|
|
||||||
52.5138047
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3260317,
|
|
||||||
52.5139096
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3254137,
|
|
||||||
52.5138708
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3254287,
|
|
||||||
52.5137819
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3250879,
|
|
||||||
52.513766
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3250018,
|
|
||||||
52.5142697
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3253613,
|
|
||||||
52.5142902
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3253838,
|
|
||||||
52.5140747
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3259988,
|
|
||||||
52.5141108
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "building",
|
"type": "building",
|
||||||
"name": "Mathematikgebäude",
|
"name": "Mathematikgebäude",
|
||||||
"alternateNames": [
|
"alternateNames": ["MA"],
|
||||||
"MA"
|
|
||||||
],
|
|
||||||
"uid": "edfaba58-254f-5da0-82d6-3b46a76c48ce",
|
"uid": "edfaba58-254f-5da0-82d6-3b46a76c48ce",
|
||||||
"categories": [
|
"categories": ["education"],
|
||||||
"education"
|
|
||||||
],
|
|
||||||
"address": {
|
"address": {
|
||||||
"addressCountry": "Germany",
|
"addressCountry": "Germany",
|
||||||
"addressLocality": "Berlin",
|
"addressLocality": "Berlin",
|
||||||
|
|||||||
@@ -4,27 +4,21 @@
|
|||||||
"uid": "c8dc1f7f-9e3e-5b1f-8c38-084f46413b87",
|
"uid": "c8dc1f7f-9e3e-5b1f-8c38-084f46413b87",
|
||||||
"type": "catalog",
|
"type": "catalog",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"categories": [
|
"categories": ["university events"],
|
||||||
"university events"
|
|
||||||
],
|
|
||||||
"name": "Lehrveranstaltungen des Fachbereichs 3 - Gesellschaftswissenschaften",
|
"name": "Lehrveranstaltungen des Fachbereichs 3 - Gesellschaftswissenschaften",
|
||||||
"academicTerm": {
|
"academicTerm": {
|
||||||
"uid": "b621f5b5-dd5d-5730-9e2e-e4ba52011388",
|
"uid": "b621f5b5-dd5d-5730-9e2e-e4ba52011388",
|
||||||
"type": "semester",
|
"type": "semester",
|
||||||
"acronym": "WS 2017/18",
|
"acronym": "WS 2017/18",
|
||||||
"name": "Wintersemester 2017/2018",
|
"name": "Wintersemester 2017/2018",
|
||||||
"alternateNames": [
|
"alternateNames": ["WiSe 2017/18"],
|
||||||
"WiSe 2017/18"
|
|
||||||
],
|
|
||||||
"startDate": "2017-10-01",
|
"startDate": "2017-10-01",
|
||||||
"endDate": "2018-03-31"
|
"endDate": "2018-03-31"
|
||||||
},
|
},
|
||||||
"superCatalog": {
|
"superCatalog": {
|
||||||
"type": "catalog",
|
"type": "catalog",
|
||||||
"level": 0,
|
"level": 0,
|
||||||
"categories": [
|
"categories": ["university events"],
|
||||||
"university events"
|
|
||||||
],
|
|
||||||
"uid": "a7404d36-282d-546e-bfa5-6c7b25ba7838",
|
"uid": "a7404d36-282d-546e-bfa5-6c7b25ba7838",
|
||||||
"name": "Vorlesungsverzeichnis WS 2017/18"
|
"name": "Vorlesungsverzeichnis WS 2017/18"
|
||||||
},
|
},
|
||||||
@@ -32,9 +26,7 @@
|
|||||||
{
|
{
|
||||||
"type": "catalog",
|
"type": "catalog",
|
||||||
"level": 0,
|
"level": 0,
|
||||||
"categories": [
|
"categories": ["university events"],
|
||||||
"university events"
|
|
||||||
],
|
|
||||||
"uid": "a7404d36-282d-546e-bfa5-6c7b25ba7838",
|
"uid": "a7404d36-282d-546e-bfa5-6c7b25ba7838",
|
||||||
"name": "Vorlesungsverzeichnis WS 2017/18"
|
"name": "Vorlesungsverzeichnis WS 2017/18"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,18 +5,14 @@
|
|||||||
"type": "catalog",
|
"type": "catalog",
|
||||||
"level": 3,
|
"level": 3,
|
||||||
"description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.",
|
"description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.",
|
||||||
"categories": [
|
"categories": ["university events"],
|
||||||
"university events"
|
|
||||||
],
|
|
||||||
"name": "Mathematik: Lehrveranstaltungen für andere Fachrichtungen (Service)",
|
"name": "Mathematik: Lehrveranstaltungen für andere Fachrichtungen (Service)",
|
||||||
"academicTerm": {
|
"academicTerm": {
|
||||||
"uid": "b621f5b5-dd5d-5730-9e2e-e4ba52011388",
|
"uid": "b621f5b5-dd5d-5730-9e2e-e4ba52011388",
|
||||||
"type": "semester",
|
"type": "semester",
|
||||||
"acronym": "WS 2017/18",
|
"acronym": "WS 2017/18",
|
||||||
"name": "Wintersemester 2017/2018",
|
"name": "Wintersemester 2017/2018",
|
||||||
"alternateNames": [
|
"alternateNames": ["WiSe 2017/18"],
|
||||||
"WiSe 2017/18"
|
|
||||||
],
|
|
||||||
"startDate": "2017-10-01",
|
"startDate": "2017-10-01",
|
||||||
"endDate": "2018-03-31"
|
"endDate": "2018-03-31"
|
||||||
},
|
},
|
||||||
@@ -24,18 +20,14 @@
|
|||||||
"uid": "2fdcccce-1948-5f5a-8938-3711b7e65e8a",
|
"uid": "2fdcccce-1948-5f5a-8938-3711b7e65e8a",
|
||||||
"type": "catalog",
|
"type": "catalog",
|
||||||
"level": 2,
|
"level": 2,
|
||||||
"categories": [
|
"categories": ["university events"],
|
||||||
"university events"
|
|
||||||
],
|
|
||||||
"name": "Mathematik"
|
"name": "Mathematik"
|
||||||
},
|
},
|
||||||
"superCatalogs": [
|
"superCatalogs": [
|
||||||
{
|
{
|
||||||
"type": "catalog",
|
"type": "catalog",
|
||||||
"level": 0,
|
"level": 0,
|
||||||
"categories": [
|
"categories": ["university events"],
|
||||||
"university events"
|
|
||||||
],
|
|
||||||
"uid": "a7404d36-282d-546e-bfa5-6c7b25ba7838",
|
"uid": "a7404d36-282d-546e-bfa5-6c7b25ba7838",
|
||||||
"name": "Vorlesungsverzeichnis WS 2017"
|
"name": "Vorlesungsverzeichnis WS 2017"
|
||||||
},
|
},
|
||||||
@@ -43,18 +35,14 @@
|
|||||||
"uid": "0718211b-d0c2-50fb-bc78-b968f20fd95b",
|
"uid": "0718211b-d0c2-50fb-bc78-b968f20fd95b",
|
||||||
"type": "catalog",
|
"type": "catalog",
|
||||||
"level": 1,
|
"level": 1,
|
||||||
"categories": [
|
"categories": ["university events"],
|
||||||
"university events"
|
|
||||||
],
|
|
||||||
"name": "Fakultät II Mathematik und Naturwissenschaften"
|
"name": "Fakultät II Mathematik und Naturwissenschaften"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"uid": "2fdcccce-1948-5f5a-8938-3711b7e65e8a",
|
"uid": "2fdcccce-1948-5f5a-8938-3711b7e65e8a",
|
||||||
"type": "catalog",
|
"type": "catalog",
|
||||||
"level": 2,
|
"level": 2,
|
||||||
"categories": [
|
"categories": ["university events"],
|
||||||
"university events"
|
|
||||||
],
|
|
||||||
"name": "Mathematik"
|
"name": "Mathematik"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -5,20 +5,13 @@
|
|||||||
"name": "Dienstadresse",
|
"name": "Dienstadresse",
|
||||||
"areaServed": {
|
"areaServed": {
|
||||||
"type": "room",
|
"type": "room",
|
||||||
"categories": [
|
"categories": ["education"],
|
||||||
"education"
|
|
||||||
],
|
|
||||||
"uid": "39c1a574-04ef-5157-9c6f-e271d93eb273",
|
"uid": "39c1a574-04ef-5157-9c6f-e271d93eb273",
|
||||||
"name": "3.G 121",
|
"name": "3.G 121",
|
||||||
"alternateNames": [
|
"alternateNames": ["Dienstzimmer"],
|
||||||
"Dienstzimmer"
|
|
||||||
],
|
|
||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"coordinates": [
|
"coordinates": [8.66919, 50.12834],
|
||||||
8.66919,
|
|
||||||
50.12834
|
|
||||||
],
|
|
||||||
"type": "Point"
|
"type": "Point"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,36 +7,24 @@
|
|||||||
"duration": "PT2H",
|
"duration": "PT2H",
|
||||||
"inPlace": {
|
"inPlace": {
|
||||||
"type": "room",
|
"type": "room",
|
||||||
"categories": [
|
"categories": ["education"],
|
||||||
"education"
|
|
||||||
],
|
|
||||||
"uid": "5a4bbced-8e1f-5f29-a1d1-336e455ce7f9",
|
"uid": "5a4bbced-8e1f-5f29-a1d1-336e455ce7f9",
|
||||||
"name": "H 0105",
|
"name": "H 0105",
|
||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [13.32687, 52.51211]
|
||||||
13.32687,
|
|
||||||
52.51211
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"repeatFrequency": "P1W",
|
"repeatFrequency": "P1W",
|
||||||
"dates": [
|
"dates": ["2016-04-15T17:00:00+00:00"],
|
||||||
"2016-04-15T17:00:00+00:00"
|
|
||||||
],
|
|
||||||
"event": {
|
"event": {
|
||||||
"type": "academic event",
|
"type": "academic event",
|
||||||
"uid": "dbb4e5e1-0789-59c1-9970-877430af56b3",
|
"uid": "dbb4e5e1-0789-59c1-9970-877430af56b3",
|
||||||
"name": "Einführung in die Wirtschaftspolitik",
|
"name": "Einführung in die Wirtschaftspolitik",
|
||||||
"categories": [
|
"categories": ["written exam"],
|
||||||
"written exam"
|
"majors": ["Economics BSc", "Wirtschaftsingenieurwesen BSc"]
|
||||||
],
|
|
||||||
"majors": [
|
|
||||||
"Economics BSc",
|
|
||||||
"Wirtschaftsingenieurwesen BSc"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
|
|||||||
@@ -9,30 +9,21 @@
|
|||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [13.3266207, 52.5144409]
|
||||||
13.3266207,
|
|
||||||
52.5144409
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "room",
|
"type": "room",
|
||||||
"categories": [
|
"categories": ["education"],
|
||||||
"education"
|
|
||||||
],
|
|
||||||
"uid": "b535c86a-777b-54c3-b89a-cad528d0580f",
|
"uid": "b535c86a-777b-54c3-b89a-cad528d0580f",
|
||||||
"name": "EMH 225",
|
"name": "EMH 225",
|
||||||
"floorName": "2"
|
"floorName": "2"
|
||||||
},
|
},
|
||||||
"dates": [
|
"dates": ["2016-04-12T11:00:00+00:00"],
|
||||||
"2016-04-12T11:00:00+00:00"
|
|
||||||
],
|
|
||||||
"event": {
|
"event": {
|
||||||
"type": "academic event",
|
"type": "academic event",
|
||||||
"uid": "e6fb74d4-c6d9-59bb-930f-e47eb6e39432",
|
"uid": "e6fb74d4-c6d9-59bb-930f-e47eb6e39432",
|
||||||
"name": "Distributed Algorithms",
|
"name": "Distributed Algorithms",
|
||||||
"categories": [
|
"categories": ["written exam"]
|
||||||
"written exam"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
|
|||||||
@@ -9,30 +9,21 @@
|
|||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [13.3266207, 52.5144409]
|
||||||
13.3266207,
|
|
||||||
52.5144409
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "room",
|
"type": "room",
|
||||||
"categories": [
|
"categories": ["student union"],
|
||||||
"student union"
|
|
||||||
],
|
|
||||||
"uid": "b535c86a-777b-54c3-b89a-cad528d0580f",
|
"uid": "b535c86a-777b-54c3-b89a-cad528d0580f",
|
||||||
"name": "EMH 225",
|
"name": "EMH 225",
|
||||||
"floorName": "2"
|
"floorName": "2"
|
||||||
},
|
},
|
||||||
"dates": [
|
"dates": ["2016-04-12T11:00:00+00:00"],
|
||||||
"2016-04-12T11:00:00+00:00"
|
|
||||||
],
|
|
||||||
"event": {
|
"event": {
|
||||||
"type": "academic event",
|
"type": "academic event",
|
||||||
"uid": "4f86e8bb-ce73-520b-bfd9-e1ba9f754391",
|
"uid": "4f86e8bb-ce73-520b-bfd9-e1ba9f754391",
|
||||||
"name": "Dance course for beginners",
|
"name": "Dance course for beginners",
|
||||||
"categories": [
|
"categories": ["special"]
|
||||||
"special"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
|
|||||||
@@ -3,9 +3,7 @@
|
|||||||
"instance": {
|
"instance": {
|
||||||
"type": "dish",
|
"type": "dish",
|
||||||
"name": "Pizza mit Geflügelsalami und Champignons",
|
"name": "Pizza mit Geflügelsalami und Champignons",
|
||||||
"categories": [
|
"categories": ["main dish"],
|
||||||
"main dish"
|
|
||||||
],
|
|
||||||
"characteristics": [],
|
"characteristics": [],
|
||||||
"additives": [
|
"additives": [
|
||||||
"konserviert",
|
"konserviert",
|
||||||
@@ -38,21 +36,14 @@
|
|||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [13.32612, 52.50978]
|
||||||
13.32612,
|
|
||||||
52.50978
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "building",
|
"type": "building",
|
||||||
"categories": [
|
"categories": ["restaurant"],
|
||||||
"restaurant"
|
|
||||||
],
|
|
||||||
"openingHours": "Mo-Fr 11:00-14:30",
|
"openingHours": "Mo-Fr 11:00-14:30",
|
||||||
"name": "TU-Mensa",
|
"name": "TU-Mensa",
|
||||||
"alternateNames": [
|
"alternateNames": ["MensaHardenberg"],
|
||||||
"MensaHardenberg"
|
|
||||||
],
|
|
||||||
"uid": "72fbc8a3-ebd1-58f9-9526-ad65cba2e402",
|
"uid": "72fbc8a3-ebd1-58f9-9526-ad65cba2e402",
|
||||||
"address": {
|
"address": {
|
||||||
"addressCountry": "Germany",
|
"addressCountry": "Germany",
|
||||||
|
|||||||
@@ -4,9 +4,7 @@
|
|||||||
"type": "dish",
|
"type": "dish",
|
||||||
"name": "Sahne-Bärlauchsauce",
|
"name": "Sahne-Bärlauchsauce",
|
||||||
"description": "Nudelauswahl",
|
"description": "Nudelauswahl",
|
||||||
"categories": [
|
"categories": ["main dish"],
|
||||||
"main dish"
|
|
||||||
],
|
|
||||||
"offers": [
|
"offers": [
|
||||||
{
|
{
|
||||||
"prices": {
|
"prices": {
|
||||||
@@ -28,21 +26,14 @@
|
|||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [13.32612, 52.50978]
|
||||||
13.32612,
|
|
||||||
52.50978
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "building",
|
"type": "building",
|
||||||
"categories": [
|
"categories": ["restaurant"],
|
||||||
"restaurant"
|
|
||||||
],
|
|
||||||
"openingHours": "Mo-Fr 11:00-14:30",
|
"openingHours": "Mo-Fr 11:00-14:30",
|
||||||
"name": "TU-Mensa",
|
"name": "TU-Mensa",
|
||||||
"alternateNames": [
|
"alternateNames": ["MensaHardenberg"],
|
||||||
"MensaHardenberg"
|
|
||||||
],
|
|
||||||
"uid": "072db1e5-e479-5040-88e0-4a98d731e443",
|
"uid": "072db1e5-e479-5040-88e0-4a98d731e443",
|
||||||
"address": {
|
"address": {
|
||||||
"addressCountry": "Germany",
|
"addressCountry": "Germany",
|
||||||
@@ -63,10 +54,7 @@
|
|||||||
"image": "https://backend/res/img/characteristic_small_vegetarian.png"
|
"image": "https://backend/res/img/characteristic_small_vegetarian.png"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"additives": [
|
"additives": ["Weizen", "Milch(Laktose; Milcheiweiß)"],
|
||||||
"Weizen",
|
|
||||||
"Milch(Laktose; Milcheiweiß)"
|
|
||||||
],
|
|
||||||
"uid": "3222631f-82b3-5faf-a8e8-9c10719cc95b",
|
"uid": "3222631f-82b3-5faf-a8e8-9c10719cc95b",
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
|
|||||||
@@ -19,21 +19,14 @@
|
|||||||
"inPlace": {
|
"inPlace": {
|
||||||
"type": "room",
|
"type": "room",
|
||||||
"name": "Cafeteria LEVEL",
|
"name": "Cafeteria LEVEL",
|
||||||
"categories": [
|
"categories": ["cafe"],
|
||||||
"cafe"
|
|
||||||
],
|
|
||||||
"uid": "e5492c9c-064e-547c-8633-c8fc8955cfcf",
|
"uid": "e5492c9c-064e-547c-8633-c8fc8955cfcf",
|
||||||
"alternateNames": [
|
"alternateNames": ["Cafeteria LEVEL"],
|
||||||
"Cafeteria LEVEL"
|
|
||||||
],
|
|
||||||
"openingHours": "Mo-Fr 08:30-17:00",
|
"openingHours": "Mo-Fr 08:30-17:00",
|
||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [8.6285375, 50.1743717]
|
||||||
8.6285375,
|
|
||||||
50.1743717
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -49,9 +42,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": ["main dish"],
|
||||||
"main dish"
|
|
||||||
],
|
|
||||||
"characteristics": [
|
"characteristics": [
|
||||||
{
|
{
|
||||||
"name": "Rind",
|
"name": "Rind",
|
||||||
@@ -80,14 +71,9 @@
|
|||||||
"proteinContent": 6.9,
|
"proteinContent": 6.9,
|
||||||
"saltContent": 3.7
|
"saltContent": 3.7
|
||||||
},
|
},
|
||||||
"additives": [
|
"additives": ["3 = mit Antioxidationsmittel", "5 = geschwefelt"],
|
||||||
"3 = mit Antioxidationsmittel",
|
|
||||||
"5 = geschwefelt"
|
|
||||||
],
|
|
||||||
"name": "Pommes frites",
|
"name": "Pommes frites",
|
||||||
"categories": [
|
"categories": ["side dish"]
|
||||||
"side dish"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"characteristics": [
|
"characteristics": [
|
||||||
@@ -108,14 +94,9 @@
|
|||||||
"proteinContent": 6.9,
|
"proteinContent": 6.9,
|
||||||
"saltContent": 3.7
|
"saltContent": 3.7
|
||||||
},
|
},
|
||||||
"additives": [
|
"additives": ["F = Soja u. Sojaerzeugnisse"],
|
||||||
"F = Soja u. Sojaerzeugnisse"
|
|
||||||
],
|
|
||||||
"name": "Glasierte Karotten",
|
"name": "Glasierte Karotten",
|
||||||
"categories": [
|
"categories": ["side dish", "salad"]
|
||||||
"side dish",
|
|
||||||
"salad"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"type": "dish",
|
"type": "dish",
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -6,12 +6,8 @@
|
|||||||
"image": "https://backend/res/img/message_small.png",
|
"image": "https://backend/res/img/message_small.png",
|
||||||
"name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
|
"name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
|
||||||
"messageBody": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
|
"messageBody": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
|
||||||
"audiences": [
|
"audiences": ["students"],
|
||||||
"students"
|
"categories": ["news"],
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"news"
|
|
||||||
],
|
|
||||||
"sequenceIndex": 1001,
|
"sequenceIndex": 1001,
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
|
|||||||
@@ -1,19 +1,13 @@
|
|||||||
{
|
{
|
||||||
"errorNames": [
|
"errorNames": ["const"],
|
||||||
"const"
|
|
||||||
],
|
|
||||||
"instance": {
|
"instance": {
|
||||||
"type": "invalid-value-in-schema",
|
"type": "invalid-value-in-schema",
|
||||||
"uid": "cdb7059c-a1a2-5229-821d-434c345e2917",
|
"uid": "cdb7059c-a1a2-5229-821d-434c345e2917",
|
||||||
"image": "https://backend/res/img/message_small.png",
|
"image": "https://backend/res/img/message_small.png",
|
||||||
"name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
|
"name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
|
||||||
"messageBody": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
|
"messageBody": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
|
||||||
"audiences": [
|
"audiences": ["students"],
|
||||||
"students"
|
"categories": ["news"],
|
||||||
],
|
|
||||||
"categories": [
|
|
||||||
"news"
|
|
||||||
],
|
|
||||||
"sequenceIndex": 1004,
|
"sequenceIndex": 1004,
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
{
|
{
|
||||||
"errorNames": [
|
"errorNames": ["additionalProperties"],
|
||||||
"additionalProperties"
|
|
||||||
],
|
|
||||||
"instance": {
|
"instance": {
|
||||||
"type": "message",
|
"type": "message",
|
||||||
"invalid-non-existing-key-in-schema": 1,
|
"invalid-non-existing-key-in-schema": 1,
|
||||||
@@ -9,17 +7,15 @@
|
|||||||
"image": "https://backend/res/img/message_small.png",
|
"image": "https://backend/res/img/message_small.png",
|
||||||
"name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
|
"name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
|
||||||
"messageBody": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
|
"messageBody": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
|
||||||
"audiences": [
|
"audiences": ["students"],
|
||||||
"students"
|
"categories": ["news"],
|
||||||
|
"audienceOrganizations": [
|
||||||
|
{
|
||||||
|
"name": "TU Berlin",
|
||||||
|
"type": "organization",
|
||||||
|
"uid": "4806ef14-b631-5c20-91d1-3c627decca5a"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"categories": [
|
|
||||||
"news"
|
|
||||||
],
|
|
||||||
"audienceOrganizations": [{
|
|
||||||
"name": "TU Berlin",
|
|
||||||
"type": "organization",
|
|
||||||
"uid": "4806ef14-b631-5c20-91d1-3c627decca5a"
|
|
||||||
}],
|
|
||||||
"sequenceIndex": 1005,
|
"sequenceIndex": 1005,
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
{
|
{
|
||||||
"errorNames": [
|
"errorNames": ["required"],
|
||||||
"required"
|
|
||||||
],
|
|
||||||
"instance": {
|
"instance": {
|
||||||
"type": "message",
|
"type": "message",
|
||||||
"invalid-non-existing-key-in-schema": 1,
|
"invalid-non-existing-key-in-schema": 1,
|
||||||
@@ -9,14 +7,14 @@
|
|||||||
"image": "https://backend/res/img/message_small.png",
|
"image": "https://backend/res/img/message_small.png",
|
||||||
"name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
|
"name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
|
||||||
"messageBody": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
|
"messageBody": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
|
||||||
"audiences": [
|
"audiences": ["students"],
|
||||||
"students"
|
"audienceOrganizations": [
|
||||||
|
{
|
||||||
|
"name": "TU Berlin",
|
||||||
|
"type": "organization",
|
||||||
|
"uid": "4806ef14-b631-5c20-91d1-3c627decca5a"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
"audienceOrganizations": [{
|
|
||||||
"name": "TU Berlin",
|
|
||||||
"type": "organization",
|
|
||||||
"uid": "4806ef14-b631-5c20-91d1-3c627decca5a"
|
|
||||||
}],
|
|
||||||
"sequenceIndex": 1005,
|
"sequenceIndex": 1005,
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
|
|||||||
@@ -4,24 +4,18 @@
|
|||||||
"type": "periodical",
|
"type": "periodical",
|
||||||
"uid": "d921479e-4d35-5cd1-b64a-939cbe40a5b0",
|
"uid": "d921479e-4d35-5cd1-b64a-939cbe40a5b0",
|
||||||
"name": "London magazine : a review of literature and the arts",
|
"name": "London magazine : a review of literature and the arts",
|
||||||
"categories": [
|
"categories": ["journal"],
|
||||||
"journal"
|
|
||||||
],
|
|
||||||
"firstPublished": "1954",
|
"firstPublished": "1954",
|
||||||
"publications": [
|
"publications": [
|
||||||
{
|
{
|
||||||
"uid": "603a6574-8910-588a-9e83-cd26e6988c74",
|
"uid": "603a6574-8910-588a-9e83-cd26e6988c74",
|
||||||
"type": "publication event",
|
"type": "publication event",
|
||||||
"locations": [
|
"locations": ["London"],
|
||||||
"London"
|
|
||||||
],
|
|
||||||
"publisher": "London Magazine",
|
"publisher": "London Magazine",
|
||||||
"name": "London Magazine"
|
"name": "London Magazine"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ISSNs": [
|
"ISSNs": ["0024-6085"],
|
||||||
"0024-6085"
|
|
||||||
],
|
|
||||||
"sameAs": "https://ubffm.hds.hebis.de/Record/HEB046847146",
|
"sameAs": "https://ubffm.hds.hebis.de/Record/HEB046847146",
|
||||||
"origin": {
|
"origin": {
|
||||||
"indexed": "2018-09-11T12:30:00Z",
|
"indexed": "2018-09-11T12:30:00Z",
|
||||||
|
|||||||
@@ -3,18 +3,14 @@
|
|||||||
"instance": {
|
"instance": {
|
||||||
"type": "periodical",
|
"type": "periodical",
|
||||||
"uid": "c8d7a4f7-88ac-5da3-86c7-32b93d16f00a",
|
"uid": "c8d7a4f7-88ac-5da3-86c7-32b93d16f00a",
|
||||||
"name": "[Frankfurter Allgemeine \/ R F A Z FAZ Republik Heroes], Frankfurter Allgemeine : Zeitung für Deutschland, R. Rhein-Main-Zeitung : Zeitung für Frankfurt",
|
"name": "[Frankfurter Allgemeine / R F A Z FAZ Republik Heroes], Frankfurter Allgemeine : Zeitung für Deutschland, R. Rhein-Main-Zeitung : Zeitung für Frankfurt",
|
||||||
"categories": [
|
"categories": ["journal"],
|
||||||
"journal"
|
|
||||||
],
|
|
||||||
"firstPublished": "1988",
|
"firstPublished": "1988",
|
||||||
"publications": [
|
"publications": [
|
||||||
{
|
{
|
||||||
"uid": "64829217-9eea-532f-8730-7e609efffbca",
|
"uid": "64829217-9eea-532f-8730-7e609efffbca",
|
||||||
"type": "publication event",
|
"type": "publication event",
|
||||||
"locations": [
|
"locations": ["Frankfurt, M."],
|
||||||
"Frankfurt, M."
|
|
||||||
],
|
|
||||||
"publisher": "Frankfurter Allg. Zeitung",
|
"publisher": "Frankfurter Allg. Zeitung",
|
||||||
"name": "Frankfurter Allg. Zeitung"
|
"name": "Frankfurter Allg. Zeitung"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,17 +4,12 @@
|
|||||||
"uid": "f5fe4d13-d56a-5770-b16e-78782841bf02",
|
"uid": "f5fe4d13-d56a-5770-b16e-78782841bf02",
|
||||||
"name": "Validierer (UB)",
|
"name": "Validierer (UB)",
|
||||||
"type": "point of interest",
|
"type": "point of interest",
|
||||||
"categories": [
|
"categories": ["validator"],
|
||||||
"validator"
|
|
||||||
],
|
|
||||||
"description": "EG Eingangsbereich",
|
"description": "EG Eingangsbereich",
|
||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [8.653079867363, 50.120368286434]
|
||||||
8.653079867363,
|
|
||||||
50.120368286434
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"inPlace": {
|
"inPlace": {
|
||||||
@@ -28,75 +23,31 @@
|
|||||||
},
|
},
|
||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"coordinates": [
|
"coordinates": [8.65302, 50.12036],
|
||||||
8.65302,
|
|
||||||
50.12036
|
|
||||||
],
|
|
||||||
"type": "Point"
|
"type": "Point"
|
||||||
},
|
},
|
||||||
"polygon": {
|
"polygon": {
|
||||||
"coordinates": [
|
"coordinates": [
|
||||||
[
|
[
|
||||||
[
|
[8.6524924635887, 50.120309814205],
|
||||||
8.6524924635887,
|
[8.6525192856789, 50.120423319054],
|
||||||
50.120309814205
|
[8.6526641249657, 50.120426758591],
|
||||||
],
|
[8.6526963114738, 50.120547142219],
|
||||||
[
|
[8.6526480317116, 50.120554021274],
|
||||||
8.6525192856789,
|
[8.6527070403099, 50.120839501198],
|
||||||
50.120423319054
|
[8.65344196558, 50.120777590034],
|
||||||
],
|
[8.6533936858177, 50.120498988804],
|
||||||
[
|
[8.6533454060554, 50.120498988804],
|
||||||
8.6526641249657,
|
[8.6533239483833, 50.120375165515],
|
||||||
50.120426758591
|
[8.6534956097603, 50.12035796781],
|
||||||
],
|
[8.6534580588341, 50.120241023257],
|
||||||
[
|
[8.6524924635887, 50.120309814205]
|
||||||
8.6526963114738,
|
|
||||||
50.120547142219
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6526480317116,
|
|
||||||
50.120554021274
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6527070403099,
|
|
||||||
50.120839501198
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.65344196558,
|
|
||||||
50.120777590034
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6533936858177,
|
|
||||||
50.120498988804
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6533454060554,
|
|
||||||
50.120498988804
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6533239483833,
|
|
||||||
50.120375165515
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6534956097603,
|
|
||||||
50.12035796781
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6534580588341,
|
|
||||||
50.120241023257
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6524924635887,
|
|
||||||
50.120309814205
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"type": "Polygon"
|
"type": "Polygon"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"categories": [
|
"categories": ["library"],
|
||||||
"library"
|
|
||||||
],
|
|
||||||
"type": "building",
|
"type": "building",
|
||||||
"uid": "65596790-a217-5d70-888e-16aa17bfda0a"
|
"uid": "65596790-a217-5d70-888e-16aa17bfda0a"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,17 +4,12 @@
|
|||||||
"uid": "5a5ca30a-1494-5707-9692-ff902e104c12",
|
"uid": "5a5ca30a-1494-5707-9692-ff902e104c12",
|
||||||
"name": "Drucker 1 (IG)",
|
"name": "Drucker 1 (IG)",
|
||||||
"type": "point of interest",
|
"type": "point of interest",
|
||||||
"categories": [
|
"categories": ["printer"],
|
||||||
"printer"
|
|
||||||
],
|
|
||||||
"description": "Raum 124 (Q1) (Bibliothek BzG, EG), 1x KM Farb-Drucker",
|
"description": "Raum 124 (Q1) (Bibliothek BzG, EG), 1x KM Farb-Drucker",
|
||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [8.6657989025116, 50.125455096926]
|
||||||
8.6657989025116,
|
|
||||||
50.125455096926
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"inPlace": {
|
"inPlace": {
|
||||||
@@ -28,264 +23,79 @@
|
|||||||
},
|
},
|
||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"coordinates": [
|
"coordinates": [8.66754, 50.12539],
|
||||||
8.66754,
|
|
||||||
50.12539
|
|
||||||
],
|
|
||||||
"type": "Point"
|
"type": "Point"
|
||||||
},
|
},
|
||||||
"polygon": {
|
"polygon": {
|
||||||
"coordinates": [
|
"coordinates": [
|
||||||
[
|
[
|
||||||
[
|
[8.6657291650772, 50.125584925616],
|
||||||
8.6657291650772,
|
[8.6659651994705, 50.125568589575],
|
||||||
50.125584925616
|
[8.6659370362759, 50.125409527832],
|
||||||
],
|
[8.6663648486137, 50.125404369064],
|
||||||
[
|
[8.6663661897182, 50.125483470114],
|
||||||
8.6659651994705,
|
[8.6665780842304, 50.125483470114],
|
||||||
50.125568589575
|
[8.6665780842304, 50.125404369064],
|
||||||
],
|
[8.6670058965683, 50.125416406189],
|
||||||
[
|
[8.6669830977917, 50.125504964942],
|
||||||
8.6659370362759,
|
[8.6671829223633, 50.125527319552],
|
||||||
50.125409527832
|
[8.6671949923038, 50.125484329907],
|
||||||
],
|
[8.6672767996788, 50.125493787632],
|
||||||
[
|
[8.6672674119473, 50.125550533945],
|
||||||
8.6663648486137,
|
[8.6672835052013, 50.125590084365],
|
||||||
50.125404369064
|
[8.6673210561275, 50.125612438936],
|
||||||
],
|
[8.6673800647259, 50.125631354334],
|
||||||
[
|
[8.6674457788467, 50.12562705538],
|
||||||
8.6663661897182,
|
[8.667494058609, 50.125610719354],
|
||||||
50.125483470114
|
[8.6675289273262, 50.125578047284],
|
||||||
],
|
[8.6675503849983, 50.12552645976],
|
||||||
[
|
[8.6676281690598, 50.125540216438],
|
||||||
8.6665780842304,
|
[8.6676093935966, 50.125587504991],
|
||||||
50.125483470114
|
[8.6677998304367, 50.125621036845],
|
||||||
],
|
[8.6678387224674, 50.125534197892],
|
||||||
[
|
[8.6682437360287, 50.125637372868],
|
||||||
8.6665780842304,
|
[8.6681927740574, 50.125707015851],
|
||||||
50.125404369064
|
[8.6683765053749, 50.125763761911],
|
||||||
],
|
[8.6684314906597, 50.125691539641],
|
||||||
[
|
[8.6688230931759, 50.125829105775],
|
||||||
8.6670058965683,
|
[8.6686930060387, 50.125961512804],
|
||||||
50.125416406189
|
[8.6688874661922, 50.126038893366],
|
||||||
],
|
[8.6690349876881, 50.125889290834],
|
||||||
[
|
[8.6690711975098, 50.125852320021],
|
||||||
8.6669830977917,
|
[8.6692562699318, 50.125660587207],
|
||||||
50.125504964942
|
[8.6690685153007, 50.125582346242],
|
||||||
],
|
[8.6689116060734, 50.125738828044],
|
||||||
[
|
[8.6685039103031, 50.125591803948],
|
||||||
8.6671829223633,
|
[8.6686179041862, 50.125439620635],
|
||||||
50.125527319552
|
[8.6684314906597, 50.125383733986],
|
||||||
],
|
[8.6683201789856, 50.125530758722],
|
||||||
[
|
[8.6678843200207, 50.125420705161],
|
||||||
8.6671949923038,
|
[8.6679527163506, 50.125253904751],
|
||||||
50.125484329907
|
[8.6677622795105, 50.125222092235],
|
||||||
],
|
[8.6677542328835, 50.125234989203],
|
||||||
[
|
[8.6677099764347, 50.125231550012],
|
||||||
8.6672767996788,
|
[8.6677341163158, 50.125143850553],
|
||||||
50.125493787632
|
[8.6674189567566, 50.125101720364],
|
||||||
],
|
[8.6673907935619, 50.125191139497],
|
||||||
[
|
[8.6672754585743, 50.125179102316],
|
||||||
8.6672674119473,
|
[8.6672808229923, 50.125161906337],
|
||||||
50.125550533945
|
[8.6670783162117, 50.125139551556],
|
||||||
],
|
[8.667034059763, 50.125310651347],
|
||||||
[
|
[8.6665807664394, 50.125294315213],
|
||||||
8.6672835052013,
|
[8.6665767431259, 50.125107738964],
|
||||||
50.125590084365
|
[8.6663635075092, 50.125106019364],
|
||||||
],
|
[8.6663635075092, 50.125293455416],
|
||||||
[
|
[8.6659182608128, 50.125301193586],
|
||||||
8.6673210561275,
|
[8.6658847332001, 50.125124934962],
|
||||||
50.125612438936
|
[8.6656500399113, 50.125142130954],
|
||||||
],
|
[8.6657291650772, 50.125584925616]
|
||||||
[
|
|
||||||
8.6673800647259,
|
|
||||||
50.125631354334
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6674457788467,
|
|
||||||
50.12562705538
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.667494058609,
|
|
||||||
50.125610719354
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6675289273262,
|
|
||||||
50.125578047284
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6675503849983,
|
|
||||||
50.12552645976
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6676281690598,
|
|
||||||
50.125540216438
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6676093935966,
|
|
||||||
50.125587504991
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6677998304367,
|
|
||||||
50.125621036845
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6678387224674,
|
|
||||||
50.125534197892
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6682437360287,
|
|
||||||
50.125637372868
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6681927740574,
|
|
||||||
50.125707015851
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6683765053749,
|
|
||||||
50.125763761911
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6684314906597,
|
|
||||||
50.125691539641
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6688230931759,
|
|
||||||
50.125829105775
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6686930060387,
|
|
||||||
50.125961512804
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6688874661922,
|
|
||||||
50.126038893366
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6690349876881,
|
|
||||||
50.125889290834
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6690711975098,
|
|
||||||
50.125852320021
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6692562699318,
|
|
||||||
50.125660587207
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6690685153007,
|
|
||||||
50.125582346242
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6689116060734,
|
|
||||||
50.125738828044
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6685039103031,
|
|
||||||
50.125591803948
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6686179041862,
|
|
||||||
50.125439620635
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6684314906597,
|
|
||||||
50.125383733986
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6683201789856,
|
|
||||||
50.125530758722
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6678843200207,
|
|
||||||
50.125420705161
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6679527163506,
|
|
||||||
50.125253904751
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6677622795105,
|
|
||||||
50.125222092235
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6677542328835,
|
|
||||||
50.125234989203
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6677099764347,
|
|
||||||
50.125231550012
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6677341163158,
|
|
||||||
50.125143850553
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6674189567566,
|
|
||||||
50.125101720364
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6673907935619,
|
|
||||||
50.125191139497
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6672754585743,
|
|
||||||
50.125179102316
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6672808229923,
|
|
||||||
50.125161906337
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6670783162117,
|
|
||||||
50.125139551556
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.667034059763,
|
|
||||||
50.125310651347
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6665807664394,
|
|
||||||
50.125294315213
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6665767431259,
|
|
||||||
50.125107738964
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6663635075092,
|
|
||||||
50.125106019364
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6663635075092,
|
|
||||||
50.125293455416
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6659182608128,
|
|
||||||
50.125301193586
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6658847332001,
|
|
||||||
50.125124934962
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6656500399113,
|
|
||||||
50.125142130954
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6657291650772,
|
|
||||||
50.125584925616
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"type": "Polygon"
|
"type": "Polygon"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "building",
|
"type": "building",
|
||||||
"categories": [
|
"categories": ["education"],
|
||||||
"education"
|
|
||||||
],
|
|
||||||
"uid": "a825451c-cbc4-544a-9d96-9de0b635fdbd"
|
"uid": "a825451c-cbc4-544a-9d96-9de0b635fdbd"
|
||||||
},
|
},
|
||||||
"origin": {
|
"origin": {
|
||||||
|
|||||||
@@ -4,20 +4,13 @@
|
|||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [13.32615, 52.51345]
|
||||||
13.32615,
|
|
||||||
52.51345
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "room",
|
"type": "room",
|
||||||
"categories": [
|
"categories": ["cafe"],
|
||||||
"cafe"
|
|
||||||
],
|
|
||||||
"uid": "b7206fb5-bd77-5572-928f-16aa70910f64",
|
"uid": "b7206fb5-bd77-5572-928f-16aa70910f64",
|
||||||
"alternateNames": [
|
"alternateNames": ["MA Mathe Cafeteria"],
|
||||||
"MA Mathe Cafeteria"
|
|
||||||
],
|
|
||||||
"name": "Mathe Cafeteria",
|
"name": "Mathe Cafeteria",
|
||||||
"address": {
|
"address": {
|
||||||
"addressCountry": "Germany",
|
"addressCountry": "Germany",
|
||||||
|
|||||||
@@ -4,20 +4,13 @@
|
|||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [13.3306966, 52.5104675]
|
||||||
13.3306966,
|
|
||||||
52.5104675
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "room",
|
"type": "room",
|
||||||
"categories": [
|
"categories": ["library"],
|
||||||
"library"
|
|
||||||
],
|
|
||||||
"uid": "6e5abbff-d995-507b-982b-e0d094da6606",
|
"uid": "6e5abbff-d995-507b-982b-e0d094da6606",
|
||||||
"alternateNames": [
|
"alternateNames": ["BIB"],
|
||||||
"BIB"
|
|
||||||
],
|
|
||||||
"name": "Universitätsbibliothek",
|
"name": "Universitätsbibliothek",
|
||||||
"floorName": "0",
|
"floorName": "0",
|
||||||
"origin": {
|
"origin": {
|
||||||
|
|||||||
@@ -4,172 +4,64 @@
|
|||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [13.3262843, 52.5135435]
|
||||||
13.3262843,
|
|
||||||
52.5135435
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"description": "loses Mobiliar im Foyer",
|
"description": "loses Mobiliar im Foyer",
|
||||||
"type": "room",
|
"type": "room",
|
||||||
"categories": [
|
"categories": ["learn"],
|
||||||
"learn"
|
|
||||||
],
|
|
||||||
"uid": "d33fa478-7e5d-5197-9f0e-091f7f8105df",
|
"uid": "d33fa478-7e5d-5197-9f0e-091f7f8105df",
|
||||||
"name": "MA Foyer",
|
"name": "MA Foyer",
|
||||||
"inPlace": {
|
"inPlace": {
|
||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [13.32577, 52.51398]
|
||||||
13.32577,
|
|
||||||
52.51398
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"polygon": {
|
"polygon": {
|
||||||
"type": "Polygon",
|
"type": "Polygon",
|
||||||
"coordinates": [
|
"coordinates": [
|
||||||
[
|
[
|
||||||
[
|
[13.3259988, 52.5141108],
|
||||||
13.3259988,
|
[13.3259718, 52.5143107],
|
||||||
52.5141108
|
[13.3262958, 52.5143236],
|
||||||
],
|
[13.3263291, 52.5143052],
|
||||||
[
|
[13.3263688, 52.5140098],
|
||||||
13.3259718,
|
[13.3264324, 52.5139643],
|
||||||
52.5143107
|
[13.3264849, 52.5139415],
|
||||||
],
|
[13.3265148, 52.5139004],
|
||||||
[
|
[13.3265336, 52.5138571],
|
||||||
13.3262958,
|
[13.3265411, 52.5137933],
|
||||||
52.5143236
|
[13.3265336, 52.5137546],
|
||||||
],
|
[13.3264961, 52.5137044],
|
||||||
[
|
[13.3264399, 52.5136725],
|
||||||
13.3263291,
|
[13.3263875, 52.5136497],
|
||||||
52.5143052
|
[13.3263351, 52.5136429],
|
||||||
],
|
[13.3263613, 52.5134286],
|
||||||
[
|
[13.3262564, 52.5133603],
|
||||||
13.3263688,
|
[13.3260767, 52.5133671],
|
||||||
52.5140098
|
[13.3259418, 52.5134286],
|
||||||
],
|
[13.3258744, 52.5135061],
|
||||||
[
|
[13.3258444, 52.5135677],
|
||||||
13.3264324,
|
[13.3261366, 52.5135836],
|
||||||
52.5139643
|
[13.3261066, 52.513807],
|
||||||
],
|
[13.3260579, 52.5138047],
|
||||||
[
|
[13.3260317, 52.5139096],
|
||||||
13.3264849,
|
[13.3254137, 52.5138708],
|
||||||
52.5139415
|
[13.3254287, 52.5137819],
|
||||||
],
|
[13.3250879, 52.513766],
|
||||||
[
|
[13.3250018, 52.5142697],
|
||||||
13.3265148,
|
[13.3253613, 52.5142902],
|
||||||
52.5139004
|
[13.3253838, 52.5140747],
|
||||||
],
|
[13.3259988, 52.5141108]
|
||||||
[
|
|
||||||
13.3265336,
|
|
||||||
52.5138571
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3265411,
|
|
||||||
52.5137933
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3265336,
|
|
||||||
52.5137546
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3264961,
|
|
||||||
52.5137044
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3264399,
|
|
||||||
52.5136725
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3263875,
|
|
||||||
52.5136497
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3263351,
|
|
||||||
52.5136429
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3263613,
|
|
||||||
52.5134286
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3262564,
|
|
||||||
52.5133603
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3260767,
|
|
||||||
52.5133671
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3259418,
|
|
||||||
52.5134286
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3258744,
|
|
||||||
52.5135061
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3258444,
|
|
||||||
52.5135677
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3261366,
|
|
||||||
52.5135836
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3261066,
|
|
||||||
52.513807
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3260579,
|
|
||||||
52.5138047
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3260317,
|
|
||||||
52.5139096
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3254137,
|
|
||||||
52.5138708
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3254287,
|
|
||||||
52.5137819
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3250879,
|
|
||||||
52.513766
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3250018,
|
|
||||||
52.5142697
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3253613,
|
|
||||||
52.5142902
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3253838,
|
|
||||||
52.5140747
|
|
||||||
],
|
|
||||||
[
|
|
||||||
13.3259988,
|
|
||||||
52.5141108
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "building",
|
"type": "building",
|
||||||
"categories": [
|
"categories": ["education"],
|
||||||
"education"
|
|
||||||
],
|
|
||||||
"name": "Mathematikgebäude",
|
"name": "Mathematikgebäude",
|
||||||
"alternateNames": [
|
"alternateNames": ["MA"],
|
||||||
"MA"
|
|
||||||
],
|
|
||||||
"uid": "edfaba58-254f-5da0-82d6-3b46a76c48ce",
|
"uid": "edfaba58-254f-5da0-82d6-3b46a76c48ce",
|
||||||
"address": {
|
"address": {
|
||||||
"addressCountry": "Germany",
|
"addressCountry": "Germany",
|
||||||
|
|||||||
@@ -4,18 +4,12 @@
|
|||||||
"uid": "ea9db087-240b-5b10-a65b-9684d88a3e4e",
|
"uid": "ea9db087-240b-5b10-a65b-9684d88a3e4e",
|
||||||
"name": "Poolraum (HoF)",
|
"name": "Poolraum (HoF)",
|
||||||
"type": "room",
|
"type": "room",
|
||||||
"categories": [
|
"categories": ["computer", "learn"],
|
||||||
"computer",
|
|
||||||
"learn"
|
|
||||||
],
|
|
||||||
"description": "1. OG, Raum 1.29, 18 Plätze, rollstuhlgerecht, Montag bis Freitag von 8:00 bis 20:00 Uhr",
|
"description": "1. OG, Raum 1.29, 18 Plätze, rollstuhlgerecht, Montag bis Freitag von 8:00 bis 20:00 Uhr",
|
||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [8.6654716730118, 50.127288142239]
|
||||||
8.6654716730118,
|
|
||||||
50.127288142239
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"inPlace": {
|
"inPlace": {
|
||||||
@@ -29,43 +23,23 @@
|
|||||||
},
|
},
|
||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"coordinates": [
|
"coordinates": [8.66521, 50.12715],
|
||||||
8.66521,
|
|
||||||
50.12715
|
|
||||||
],
|
|
||||||
"type": "Point"
|
"type": "Point"
|
||||||
},
|
},
|
||||||
"polygon": {
|
"polygon": {
|
||||||
"coordinates": [
|
"coordinates": [
|
||||||
[
|
[
|
||||||
[
|
[8.6646019667387, 50.127282983673],
|
||||||
8.6646019667387,
|
[8.6655273288488, 50.127413667164],
|
||||||
50.127282983673
|
[8.6656533926725, 50.127055146471],
|
||||||
],
|
[8.6647307127714, 50.126922742467],
|
||||||
[
|
[8.6646019667387, 50.127282983673]
|
||||||
8.6655273288488,
|
|
||||||
50.127413667164
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6656533926725,
|
|
||||||
50.127055146471
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6647307127714,
|
|
||||||
50.126922742467
|
|
||||||
],
|
|
||||||
[
|
|
||||||
8.6646019667387,
|
|
||||||
50.127282983673
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"type": "Polygon"
|
"type": "Polygon"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"categories": [
|
"categories": ["education"],
|
||||||
"education"
|
|
||||||
],
|
|
||||||
"type": "building",
|
"type": "building",
|
||||||
"uid": "583b4bd4-d7b7-5736-b2df-87e05c41d97a"
|
"uid": "583b4bd4-d7b7-5736-b2df-87e05c41d97a"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -5,9 +5,7 @@
|
|||||||
"type": "semester",
|
"type": "semester",
|
||||||
"name": "Wintersemester 2017/2018",
|
"name": "Wintersemester 2017/2018",
|
||||||
"acronym": "WS 2017/18",
|
"acronym": "WS 2017/18",
|
||||||
"alternateNames": [
|
"alternateNames": ["WiSe 2017/18"],
|
||||||
"WiSe 2017/18"
|
|
||||||
],
|
|
||||||
"startDate": "2017-10-01",
|
"startDate": "2017-10-01",
|
||||||
"endDate": "2018-03-31",
|
"endDate": "2018-03-31",
|
||||||
"origin": {
|
"origin": {
|
||||||
|
|||||||
@@ -5,9 +5,7 @@
|
|||||||
"type": "semester",
|
"type": "semester",
|
||||||
"name": "Sommersemester 2018",
|
"name": "Sommersemester 2018",
|
||||||
"acronym": "SoSe 2018",
|
"acronym": "SoSe 2018",
|
||||||
"alternateNames": [
|
"alternateNames": ["Sommer 2018"],
|
||||||
"Sommer 2018"
|
|
||||||
],
|
|
||||||
"startDate": "2018-04-01",
|
"startDate": "2018-04-01",
|
||||||
"endDate": "2018-09-30",
|
"endDate": "2018-09-30",
|
||||||
"eventsStartDate": "2018-04-09",
|
"eventsStartDate": "2018-04-09",
|
||||||
|
|||||||
@@ -10,21 +10,14 @@
|
|||||||
"geo": {
|
"geo": {
|
||||||
"point": {
|
"point": {
|
||||||
"type": "Point",
|
"type": "Point",
|
||||||
"coordinates": [
|
"coordinates": [13.3255622, 52.5118668]
|
||||||
13.3255622,
|
|
||||||
52.5118668
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "room",
|
"type": "room",
|
||||||
"categories": [
|
"categories": ["office"],
|
||||||
"office"
|
|
||||||
],
|
|
||||||
"openingHours": "Mo-Fr 09:30-12:30; Tu 13:00-16:00; We off",
|
"openingHours": "Mo-Fr 09:30-12:30; Tu 13:00-16:00; We off",
|
||||||
"uid": "7257a1d7-47ac-4acc-a8cc-3f9ac6442e5d",
|
"uid": "7257a1d7-47ac-4acc-a8cc-3f9ac6442e5d",
|
||||||
"alternateNames": [
|
"alternateNames": ["H 0010"],
|
||||||
"H 0010"
|
|
||||||
],
|
|
||||||
"name": "Prüfungsamt - Team 2",
|
"name": "Prüfungsamt - Team 2",
|
||||||
"floorName": "0"
|
"floorName": "0"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -23,10 +23,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "tooltip",
|
"type": "tooltip",
|
||||||
"element": [
|
"element": ["#stapps-home-add-widgets", "#stapps-home-personalize"],
|
||||||
"#stapps-home-add-widgets",
|
|
||||||
"#stapps-home-personalize"
|
|
||||||
],
|
|
||||||
"text": "Öffne die Widget-Auswahl.",
|
"text": "Öffne die Widget-Auswahl.",
|
||||||
"resolved": {
|
"resolved": {
|
||||||
"element": "ion-modal-view.active"
|
"element": "ion-modal-view.active"
|
||||||
|
|||||||
@@ -26,9 +26,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"duration": "PT9M57S",
|
"duration": "PT9M57S",
|
||||||
"thumbnails": [
|
"thumbnails": ["https://peach.blender.org/wp-content/uploads/bbb-splash.png?x11217"],
|
||||||
"https://peach.blender.org/wp-content/uploads/bbb-splash.png?x11217"
|
|
||||||
],
|
|
||||||
"actors": [
|
"actors": [
|
||||||
{
|
{
|
||||||
"type": "person",
|
"type": "person",
|
||||||
|
|||||||
@@ -12,10 +12,10 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {expect} from 'chai';
|
|
||||||
import {slow, suite, test, timeout} from '@testdeck/mocha';
|
import {slow, suite, test, timeout} from '@testdeck/mocha';
|
||||||
import {SCBulkRoute} from '../src/protocol/routes/bulk-request';
|
import {expect} from 'chai';
|
||||||
import {SCBulkAddRoute} from '../src/protocol/routes/bulk-add';
|
import {SCBulkAddRoute} from '../src/protocol/routes/bulk-add';
|
||||||
|
import {SCBulkRoute} from '../src/protocol/routes/bulk-request';
|
||||||
import {SCThingUpdateRoute} from '../src/protocol/routes/thing-update';
|
import {SCThingUpdateRoute} from '../src/protocol/routes/thing-update';
|
||||||
|
|
||||||
@suite(timeout(10000), slow(5000))
|
@suite(timeout(10000), slow(5000))
|
||||||
@@ -24,9 +24,11 @@ export class RoutesSpec {
|
|||||||
public bulkAddRouteUrlPath() {
|
public bulkAddRouteUrlPath() {
|
||||||
const bulkAddRoute = new SCBulkAddRoute();
|
const bulkAddRoute = new SCBulkAddRoute();
|
||||||
|
|
||||||
expect(bulkAddRoute.getUrlPath({
|
expect(
|
||||||
UID: '540862f3-ea30-5b8f-8678-56b4dc217140',
|
bulkAddRoute.getUrlPath({
|
||||||
})).to.equal('/bulk/540862f3-ea30-5b8f-8678-56b4dc217140');
|
UID: '540862f3-ea30-5b8f-8678-56b4dc217140',
|
||||||
|
}),
|
||||||
|
).to.equal('/bulk/540862f3-ea30-5b8f-8678-56b4dc217140');
|
||||||
}
|
}
|
||||||
|
|
||||||
@test
|
@test
|
||||||
@@ -40,10 +42,12 @@ export class RoutesSpec {
|
|||||||
public thingUpdateRouteUrlPath() {
|
public thingUpdateRouteUrlPath() {
|
||||||
const thingUpdateRoute = new SCThingUpdateRoute();
|
const thingUpdateRoute = new SCThingUpdateRoute();
|
||||||
|
|
||||||
expect(thingUpdateRoute.getUrlPath({
|
expect(
|
||||||
TYPE: 'dish',
|
thingUpdateRoute.getUrlPath({
|
||||||
UID: '540862f3-ea30-5b8f-8678-56b4dc217140',
|
TYPE: 'dish',
|
||||||
})).to.equal('/dish/540862f3-ea30-5b8f-8678-56b4dc217140');
|
UID: '540862f3-ea30-5b8f-8678-56b4dc217140',
|
||||||
|
}),
|
||||||
|
).to.equal('/dish/540862f3-ea30-5b8f-8678-56b4dc217140');
|
||||||
}
|
}
|
||||||
|
|
||||||
@test
|
@test
|
||||||
@@ -72,6 +76,6 @@ export class RoutesSpec {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
expect(fn).to.throw('Parameter \'TYPE\' not provided.');
|
expect(fn).to.throw("Parameter 'TYPE' not provided.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,13 +9,13 @@ export class SchemaSpec {
|
|||||||
@test
|
@test
|
||||||
async 'validate against test files'() {
|
async 'validate against test files'() {
|
||||||
const errorsPerFile = {
|
const errorsPerFile = {
|
||||||
...await validateFiles(resolve('lib', 'schema'), resolve('test', 'resources')),
|
...(await validateFiles(resolve('lib', 'schema'), resolve('test', 'resources'))),
|
||||||
...await validateFiles(resolve('lib', 'schema'), resolve('test', 'resources', 'indexable')),
|
...(await validateFiles(resolve('lib', 'schema'), resolve('test', 'resources', 'indexable'))),
|
||||||
};
|
};
|
||||||
|
|
||||||
let unexpected = false;
|
let unexpected = false;
|
||||||
Object.keys(errorsPerFile).forEach((file) => {
|
Object.keys(errorsPerFile).forEach(file => {
|
||||||
unexpected = unexpected || errorsPerFile[file].some((error) => !error.expected);
|
unexpected = unexpected || errorsPerFile[file].some(error => !error.expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
mkdirSync('report', {
|
mkdirSync('report', {
|
||||||
|
|||||||
@@ -12,10 +12,10 @@
|
|||||||
* You should have received a copy of the GNU General Public License along with
|
* You should have received a copy of the GNU General Public License along with
|
||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
import {slow, suite, test, timeout} from '@testdeck/mocha';
|
||||||
import {expect} from 'chai';
|
import {expect} from 'chai';
|
||||||
import clone from 'rfdc';
|
import clone from 'rfdc';
|
||||||
import {slow, suite, test, timeout} from '@testdeck/mocha';
|
import {SCThingOriginType, SCThingRemoteOrigin, SCThingType} from '../src/things/abstract/thing';
|
||||||
import {SCThingOriginType, SCThingType, SCThingRemoteOrigin} from '../src/things/abstract/thing';
|
|
||||||
import {SCBuildingWithoutReferences} from '../src/things/building';
|
import {SCBuildingWithoutReferences} from '../src/things/building';
|
||||||
import {SCDish, SCDishMeta} from '../src/things/dish';
|
import {SCDish, SCDishMeta} from '../src/things/dish';
|
||||||
import {SCSetting, SCSettingInputType} from '../src/things/setting';
|
import {SCSetting, SCSettingInputType} from '../src/things/setting';
|
||||||
@@ -51,7 +51,6 @@ const building: SCBuildingWithoutReferences = {
|
|||||||
},
|
},
|
||||||
type: SCThingType.Building,
|
type: SCThingType.Building,
|
||||||
uid: '540862f3-ea30-5b8f-8678-56b4dc217140',
|
uid: '540862f3-ea30-5b8f-8678-56b4dc217140',
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const dish: SCDish = {
|
const dish: SCDish = {
|
||||||
@@ -129,20 +128,25 @@ export class TranslationSpecInplace {
|
|||||||
public directStringProperty() {
|
public directStringProperty() {
|
||||||
expect(translator.translatedAccess(dish).name()).to.equal('de-dish-name');
|
expect(translator.translatedAccess(dish).name()).to.equal('de-dish-name');
|
||||||
expect(translatedThingDE.name).to.equal('de-dish-name');
|
expect(translatedThingDE.name).to.equal('de-dish-name');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@test
|
@test
|
||||||
public directArrayOfString() {
|
public directArrayOfString() {
|
||||||
expect(translator.translatedAccess(dish).characteristics()).to.deep
|
expect(translator.translatedAccess(dish).characteristics()).to.deep.equal([
|
||||||
.equal([{name: 'de-characteristic0'}, {name: 'de-characteristic1'}]);
|
{name: 'de-characteristic0'},
|
||||||
expect(translatedThingDE.characteristics).to.deep
|
{name: 'de-characteristic1'},
|
||||||
.equal([{name: 'de-characteristic0'}, {name: 'de-characteristic1'}]);
|
]);
|
||||||
|
expect(translatedThingDE.characteristics).to.deep.equal([
|
||||||
|
{name: 'de-characteristic0'},
|
||||||
|
{name: 'de-characteristic1'},
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@test
|
@test
|
||||||
public directArrayOfStringSubscript() {
|
public directArrayOfStringSubscript() {
|
||||||
expect(translator.translatedAccess(dish).characteristics[1]()).to.deep.equal({name: 'de-characteristic1'});
|
expect(translator.translatedAccess(dish).characteristics[1]()).to.deep.equal({
|
||||||
|
name: 'de-characteristic1',
|
||||||
|
});
|
||||||
expect(translatedThingDE.characteristics![1]).to.deep.equal({name: 'de-characteristic1'});
|
expect(translatedThingDE.characteristics![1]).to.deep.equal({name: 'de-characteristic1'});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,7 +176,10 @@ export class TranslationSpecInplace {
|
|||||||
|
|
||||||
@test
|
@test
|
||||||
public nestedMetaArrayOfString() {
|
public nestedMetaArrayOfString() {
|
||||||
expect(translator.translatedAccess(dish).offers[0].inPlace.categories()).to.deep.equal(['Büro', 'Bildung']);
|
expect(translator.translatedAccess(dish).offers[0].inPlace.categories()).to.deep.equal([
|
||||||
|
'Büro',
|
||||||
|
'Bildung',
|
||||||
|
]);
|
||||||
expect(translatedThingDE.offers![0].inPlace!.categories).to.deep.equal(['Büro', 'Bildung']);
|
expect(translatedThingDE.offers![0].inPlace!.categories).to.deep.equal(['Büro', 'Bildung']);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -192,20 +199,22 @@ export class TranslationSpecInplace {
|
|||||||
public directStringPropertyFallback() {
|
public directStringPropertyFallback() {
|
||||||
expect(translatorWithFallback.translatedAccess(dish).name()).to.equal('base-dish-name');
|
expect(translatorWithFallback.translatedAccess(dish).name()).to.equal('base-dish-name');
|
||||||
expect(translatedThingFallback.name).to.equal('base-dish-name');
|
expect(translatedThingFallback.name).to.equal('base-dish-name');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@test
|
@test
|
||||||
public directArrayOfStringSubscriptFallback() {
|
public directArrayOfStringSubscriptFallback() {
|
||||||
expect(translatorWithFallback.translatedAccess(dish).characteristics[1]())
|
expect(translatorWithFallback.translatedAccess(dish).characteristics[1]()).to.deep.equal({
|
||||||
.to.deep.equal({name: 'base-characteristic1'});
|
name: 'base-characteristic1',
|
||||||
expect(translatedThingFallback.characteristics![1])
|
});
|
||||||
.to.deep.equal({name: 'base-characteristic1'});
|
expect(translatedThingFallback.characteristics![1]).to.deep.equal({name: 'base-characteristic1'});
|
||||||
}
|
}
|
||||||
|
|
||||||
@test
|
@test
|
||||||
public directMetaArrayOfStringFallback() {
|
public directMetaArrayOfStringFallback() {
|
||||||
expect(translatorWithFallback.translatedAccess(dish).categories()).to.deep.equal(['main dish', 'dessert']);
|
expect(translatorWithFallback.translatedAccess(dish).categories()).to.deep.equal([
|
||||||
|
'main dish',
|
||||||
|
'dessert',
|
||||||
|
]);
|
||||||
expect(translatedThingFallback.categories).to.deep.equal(['main dish', 'dessert']);
|
expect(translatedThingFallback.categories).to.deep.equal(['main dish', 'dessert']);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -223,21 +232,26 @@ export class TranslationSpecInplace {
|
|||||||
|
|
||||||
@test
|
@test
|
||||||
public nestedStringPropertyFallback() {
|
public nestedStringPropertyFallback() {
|
||||||
expect(translatorWithFallback.translatedAccess(dish).offers[0].inPlace.name()).to.equal('base-space-name');
|
expect(translatorWithFallback.translatedAccess(dish).offers[0].inPlace.name()).to.equal(
|
||||||
|
'base-space-name',
|
||||||
|
);
|
||||||
expect(translatedThingFallback.offers![0].inPlace!.name).to.equal('base-space-name');
|
expect(translatedThingFallback.offers![0].inPlace!.name).to.equal('base-space-name');
|
||||||
}
|
}
|
||||||
|
|
||||||
@test
|
@test
|
||||||
public nestedMetaArrayOfStringFallback() {
|
public nestedMetaArrayOfStringFallback() {
|
||||||
expect(translatorWithFallback.translatedAccess(dish).offers[0].inPlace.categories())
|
expect(translatorWithFallback.translatedAccess(dish).offers[0].inPlace.categories()).to.deep.equal([
|
||||||
.to.deep.equal(['office', 'education']);
|
'office',
|
||||||
expect(translatedThingFallback.offers![0].inPlace!.categories)
|
'education',
|
||||||
.to.deep.equal(['office', 'education']);
|
]);
|
||||||
|
expect(translatedThingFallback.offers![0].inPlace!.categories).to.deep.equal(['office', 'education']);
|
||||||
}
|
}
|
||||||
|
|
||||||
@test
|
@test
|
||||||
public nestedMetaArrayOfStringSubscriptFallback() {
|
public nestedMetaArrayOfStringSubscriptFallback() {
|
||||||
expect(translatorWithFallback.translatedAccess(dish).offers[0].inPlace.categories[1]()).to.equal('education');
|
expect(translatorWithFallback.translatedAccess(dish).offers[0].inPlace.categories[1]()).to.equal(
|
||||||
|
'education',
|
||||||
|
);
|
||||||
expect(translatedThingFallback.offers![0].inPlace!.categories[1]).to.equal('education');
|
expect(translatedThingFallback.offers![0].inPlace!.categories[1]).to.equal('education');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -250,8 +264,12 @@ export class TranslationSpecInplace {
|
|||||||
|
|
||||||
@test
|
@test
|
||||||
public nestedMetaArrayOfStringSubscriptUndefined() {
|
public nestedMetaArrayOfStringSubscriptUndefined() {
|
||||||
const workingTranslation = eval('translator.translatedAccess(dish).offers[0].inPlace.categories[1](\'printer\');');
|
const workingTranslation = eval(
|
||||||
const defaultValueTranslation = eval('translator.translatedAccess(dish).offers[0].inPlace.categories[1234](\'printer\');');
|
"translator.translatedAccess(dish).offers[0].inPlace.categories[1]('printer');",
|
||||||
|
);
|
||||||
|
const defaultValueTranslation = eval(
|
||||||
|
"translator.translatedAccess(dish).offers[0].inPlace.categories[1234]('printer');",
|
||||||
|
);
|
||||||
|
|
||||||
expect(defaultValueTranslation).to.equal('printer');
|
expect(defaultValueTranslation).to.equal('printer');
|
||||||
expect(workingTranslation).to.not.equal('printer');
|
expect(workingTranslation).to.not.equal('printer');
|
||||||
@@ -293,7 +311,6 @@ export class TranslationSpecInplace {
|
|||||||
|
|
||||||
@suite(timeout(10000), slow(5000))
|
@suite(timeout(10000), slow(5000))
|
||||||
export class MetaTranslationSpec {
|
export class MetaTranslationSpec {
|
||||||
|
|
||||||
@test
|
@test
|
||||||
public consistencyWithMetaClass() {
|
public consistencyWithMetaClass() {
|
||||||
const dishMetaTranslationsDE = translator.translatedPropertyNames(dish.type);
|
const dishMetaTranslationsDE = translator.translatedPropertyNames(dish.type);
|
||||||
|
|||||||
@@ -29,8 +29,10 @@ import {SCFavorite, SCFavoriteWithoutReferences} from '../src/things/favorite';
|
|||||||
import {SCFloor, SCFloorWithoutReferences} from '../src/things/floor';
|
import {SCFloor, SCFloorWithoutReferences} from '../src/things/floor';
|
||||||
import {SCMessage, SCMessageWithoutReferences} from '../src/things/message';
|
import {SCMessage, SCMessageWithoutReferences} from '../src/things/message';
|
||||||
import {SCOrganization, SCOrganizationWithoutReferences} from '../src/things/organization';
|
import {SCOrganization, SCOrganizationWithoutReferences} from '../src/things/organization';
|
||||||
|
import {SCPeriodical, SCPeriodicalWithoutReferences} from '../src/things/periodical';
|
||||||
import {SCPerson, SCPersonWithoutReferences} from '../src/things/person';
|
import {SCPerson, SCPersonWithoutReferences} from '../src/things/person';
|
||||||
import {SCPointOfInterest, SCPointOfInterestWithoutReferences} from '../src/things/point-of-interest';
|
import {SCPointOfInterest, SCPointOfInterestWithoutReferences} from '../src/things/point-of-interest';
|
||||||
|
import {SCPublicationEvent, SCPublicationEventWithoutReferences} from '../src/things/publication-event';
|
||||||
import {SCRoom, SCRoomWithoutReferences} from '../src/things/room';
|
import {SCRoom, SCRoomWithoutReferences} from '../src/things/room';
|
||||||
import {SCSemester, SCSemesterWithoutReferences} from '../src/things/semester';
|
import {SCSemester, SCSemesterWithoutReferences} from '../src/things/semester';
|
||||||
import {SCSetting, SCSettingWithoutReferences} from '../src/things/setting';
|
import {SCSetting, SCSettingWithoutReferences} from '../src/things/setting';
|
||||||
@@ -40,8 +42,6 @@ import {SCTicket, SCTicketWithoutReferences} from '../src/things/ticket';
|
|||||||
import {SCToDo, SCToDoWithoutReferences} from '../src/things/todo';
|
import {SCToDo, SCToDoWithoutReferences} from '../src/things/todo';
|
||||||
import {SCTour, SCTourWithoutReferences} from '../src/things/tour';
|
import {SCTour, SCTourWithoutReferences} from '../src/things/tour';
|
||||||
import {SCVideo, SCVideoWithoutReferences} from '../src/things/video';
|
import {SCVideo, SCVideoWithoutReferences} from '../src/things/video';
|
||||||
import {SCPeriodical, SCPeriodicalWithoutReferences} from '../src/things/periodical';
|
|
||||||
import {SCPublicationEvent, SCPublicationEventWithoutReferences} from '../src/things/publication-event';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if E extends T
|
* Check if E extends T
|
||||||
@@ -51,10 +51,13 @@ type Extends<E, T> = E extends T ? true : false;
|
|||||||
/**
|
/**
|
||||||
* Get type of array elements up to nesting level 3
|
* Get type of array elements up to nesting level 3
|
||||||
*/
|
*/
|
||||||
type ElementType<T> = T extends any[] ?
|
type ElementType<T> = T extends any[]
|
||||||
(T[0] extends any[] ?
|
? T[0] extends any[]
|
||||||
(T[0][0] extends any[] ?
|
? T[0][0] extends any[]
|
||||||
T[0][0][0] : T[0][0]) : T[0]) : T;
|
? T[0][0][0]
|
||||||
|
: T[0][0]
|
||||||
|
: T[0]
|
||||||
|
: T;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get types of properties
|
* Get types of properties
|
||||||
@@ -62,15 +65,17 @@ type ElementType<T> = T extends any[] ?
|
|||||||
* - Extracts only the properties which extend object and are not any.
|
* - Extracts only the properties which extend object and are not any.
|
||||||
* - If type is an array it returns the type of the elements.
|
* - If type is an array it returns the type of the elements.
|
||||||
*/
|
*/
|
||||||
type PropertyTypes<T> = Extract<ElementType<T extends object ?
|
type PropertyTypes<T> = Extract<
|
||||||
(IsAny<T[keyof T]> extends true ?
|
ElementType<T extends object ? (IsAny<T[keyof T]> extends true ? never : T[keyof T]) : never>,
|
||||||
never : T[keyof T]) : never>
|
object
|
||||||
, object>;
|
>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get nested property types
|
* Get nested property types
|
||||||
*/
|
*/
|
||||||
type PropertyTypesNested<T> = PropertyTypes<T> extends object ? PropertyTypes<PropertyTypes<T>> : PropertyTypes<T>;
|
type PropertyTypesNested<T> = PropertyTypes<T> extends object
|
||||||
|
? PropertyTypes<PropertyTypes<T>>
|
||||||
|
: PropertyTypes<T>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Types of properties of SCDiff
|
* Types of properties of SCDiff
|
||||||
@@ -108,13 +113,13 @@ assert<Extends<SCArticle, SCThing>>(true);
|
|||||||
/**
|
/**
|
||||||
* Types of properties of SCAssessment
|
* Types of properties of SCAssessment
|
||||||
*/
|
*/
|
||||||
type SCAssessmentPropertyTypes = PropertyTypesNested<SCAssessment>;
|
type SCAssessmentPropertyTypes = PropertyTypesNested<SCAssessment>;
|
||||||
assert<NotHas<SCAssessmentPropertyTypes, SCThingWithoutReferences>>(false);
|
assert<NotHas<SCAssessmentPropertyTypes, SCThingWithoutReferences>>(false);
|
||||||
assert<Has<SCAssessmentPropertyTypes, SCThingWithoutReferences>>(true);
|
assert<Has<SCAssessmentPropertyTypes, SCThingWithoutReferences>>(true);
|
||||||
assert<NotHas<SCAssessmentPropertyTypes, SCThing>>(true);
|
assert<NotHas<SCAssessmentPropertyTypes, SCThing>>(true);
|
||||||
assert<Has<SCAssessmentPropertyTypes, SCThing>>(false);
|
assert<Has<SCAssessmentPropertyTypes, SCThing>>(false);
|
||||||
assert<Extends<SCAssessmentWithoutReferences, SCThing>>(false);
|
assert<Extends<SCAssessmentWithoutReferences, SCThing>>(false);
|
||||||
assert<Extends<SCAssessment, SCThing>>(true);
|
assert<Extends<SCAssessment, SCThing>>(true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Types of properties of SCBook
|
* Types of properties of SCBook
|
||||||
|
|||||||
Reference in New Issue
Block a user