mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-03-12 09:42:27 +00:00
99
package-lock.json
generated
99
package-lock.json
generated
@@ -146,9 +146,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@openstapps/configuration": {
|
"@openstapps/configuration": {
|
||||||
"version": "0.18.0",
|
"version": "0.20.0",
|
||||||
"resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.18.0.tgz",
|
"resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.20.0.tgz",
|
||||||
"integrity": "sha512-Ufi3jzCozVqCymNeaeRzuOHO2Yd5qXJ10uF4xNHk6Q4LFD9NAMMBkYbawkjmecZoNR+Llqs4AnwSxIkuEAxcxA==",
|
"integrity": "sha512-BDgltSBmGQosJmVm1QWVvIw+GTWd0FbmCLxtuziuVdIOK520mGLhoaDrLKTEIAfNtemqxxe90J4/G9JcRiIK+w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "10.14.7",
|
"@types/node": "10.14.7",
|
||||||
@@ -156,8 +156,8 @@
|
|||||||
"@types/yaml": "1.0.2",
|
"@types/yaml": "1.0.2",
|
||||||
"chalk": "2.4.2",
|
"chalk": "2.4.2",
|
||||||
"commander": "2.20.0",
|
"commander": "2.20.0",
|
||||||
"semver": "6.1.0",
|
"semver": "6.1.1",
|
||||||
"tslint": "5.16.0",
|
"tslint": "5.17.0",
|
||||||
"tslint-eslint-rules": "5.4.0",
|
"tslint-eslint-rules": "5.4.0",
|
||||||
"yaml": "1.6.0"
|
"yaml": "1.6.0"
|
||||||
},
|
},
|
||||||
@@ -169,39 +169,10 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "6.1.0",
|
"version": "6.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz",
|
||||||
"integrity": "sha512-kCqEOOHoBcFs/2Ccuk4Xarm/KiWRSLEX9CAZF8xkJ6ZPlIoTZ8V5f7J16vYLJqDbR7KrxTJpR2lqjIEm2Qx9cQ==",
|
"integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
|
||||||
"tslint": {
|
|
||||||
"version": "5.16.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tslint/-/tslint-5.16.0.tgz",
|
|
||||||
"integrity": "sha512-UxG2yNxJ5pgGwmMzPMYh/CCnCnh0HfPgtlVRDs1ykZklufFBL1ZoTlWFRz2NQjcoEiDoRp+JyT0lhBbbH/obyA==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@babel/code-frame": "^7.0.0",
|
|
||||||
"builtin-modules": "^1.1.1",
|
|
||||||
"chalk": "^2.3.0",
|
|
||||||
"commander": "^2.12.1",
|
|
||||||
"diff": "^3.2.0",
|
|
||||||
"glob": "^7.1.1",
|
|
||||||
"js-yaml": "^3.13.0",
|
|
||||||
"minimatch": "^3.0.4",
|
|
||||||
"mkdirp": "^0.5.1",
|
|
||||||
"resolve": "^1.3.2",
|
|
||||||
"semver": "^5.3.0",
|
|
||||||
"tslib": "^1.8.0",
|
|
||||||
"tsutils": "^2.29.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"semver": {
|
|
||||||
"version": "5.7.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
|
|
||||||
"integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
|
|
||||||
"dev": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -293,37 +264,37 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@openstapps/logger": {
|
"@openstapps/logger": {
|
||||||
"version": "0.2.1",
|
"version": "0.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.3.1.tgz",
|
||||||
"integrity": "sha512-6+F1nxEBuNTrd3hhBxKnvkH8B84HvB/dVmoMP9Pmv2g3mL3pYJ9l2BBGaACDRA7oUCyLpbNQw+4Kf+VdyzOttw==",
|
"integrity": "sha512-N8S4b6yoS+txN1IduxDxOnlJzhrPKWEMnVt02ZbMjSOcD55KNqxh+VgarFTQ1g6KRkquTNCo6c9IQN0UzSIg0g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "10.14.7",
|
"@types/node": "10.14.8",
|
||||||
"@types/nodemailer": "6.1.0",
|
"@types/nodemailer": "6.2.0",
|
||||||
"chalk": "2.4.2",
|
"chalk": "2.4.2",
|
||||||
"flatted": "2.0.0",
|
"flatted": "2.0.0",
|
||||||
"nodemailer": "6.1.1"
|
"nodemailer": "6.2.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "10.14.7",
|
"version": "10.14.8",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.7.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.8.tgz",
|
||||||
"integrity": "sha512-on4MmIDgHXiuJDELPk1NFaKVUxxCFr37tm8E9yN6rAiF5Pzp/9bBfBHkoexqRiY+hk/Z04EJU9kKEb59YqJ82A==",
|
"integrity": "sha512-I4+DbJEhLEg4/vIy/2gkWDvXBOOtPKV9EnLhYjMoqxcRW+TTZtUftkHktz/a8suoD5mUL7m6ReLrkPvSsCQQmw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/nodemailer": {
|
"@types/nodemailer": {
|
||||||
"version": "6.1.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.2.0.tgz",
|
||||||
"integrity": "sha512-WysSJ4sGW2Aum1Cs6HFosZdlR3WUzX0XoSLsI53q77gLd4wDfE84OXffZu5/nLIjeKh4SwfTsdrKsgBL9WowMA==",
|
"integrity": "sha512-WGGEk/BGRLuYF3gyoTwbtKg5tCexZzb5lkTsis2k7GkAzlg4x2299/SC6Ssdj3X/5TzT1BHVc8zcFg/7KSzBLw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nodemailer": {
|
"nodemailer": {
|
||||||
"version": "6.1.1",
|
"version": "6.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.2.1.tgz",
|
||||||
"integrity": "sha512-/x5MRIh56VyuuhLfcz+DL2SlBARpZpgQIf2A4Ao4hMb69MHSgDIMPwYmFwesGT1lkRDZ0eBSoym5+JoIZ3N+cQ==",
|
"integrity": "sha512-TagB7iuIi9uyNgHExo8lUDq3VK5/B0BpbkcjIgNvxbtVrjNqq0DwAOTuzALPVkK76kMhTSzIgHqg8X1uklVs6g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -422,9 +393,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "10.14.8",
|
"version": "10.14.9",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.8.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.9.tgz",
|
||||||
"integrity": "sha512-I4+DbJEhLEg4/vIy/2gkWDvXBOOtPKV9EnLhYjMoqxcRW+TTZtUftkHktz/a8suoD5mUL7m6ReLrkPvSsCQQmw=="
|
"integrity": "sha512-NelG/dSahlXYtSoVPErrp06tYFrvzj8XLWmKA+X8x0W//4MqbUyZu++giUG/v0bjAT6/Qxa8IjodrfdACyb0Fg=="
|
||||||
},
|
},
|
||||||
"@types/nodemailer": {
|
"@types/nodemailer": {
|
||||||
"version": "4.6.5",
|
"version": "4.6.5",
|
||||||
@@ -3618,9 +3589,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ts-node": {
|
"ts-node": {
|
||||||
"version": "8.2.0",
|
"version": "8.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz",
|
||||||
"integrity": "sha512-m8XQwUurkbYqXrKqr3WHCW310utRNvV5OnRVeISeea7LoCWVcdfeB/Ntl8JYWFh+WRoUAdBgESrzKochQt7sMw==",
|
"integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"arg": "^4.1.0",
|
"arg": "^4.1.0",
|
||||||
@@ -3696,9 +3667,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"tsutils": {
|
"tsutils": {
|
||||||
"version": "3.13.0",
|
"version": "3.14.0",
|
||||||
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.13.0.tgz",
|
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.14.0.tgz",
|
||||||
"integrity": "sha512-wRtEjVU8Su72sDIDoqno5Scwt8x4eaF0teKO3m4hu8K1QFPnIZMM88CLafs2tapUeWnY9SwwO3bWeOt2uauBcg==",
|
"integrity": "sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^1.8.1"
|
"tslib": "^1.8.1"
|
||||||
@@ -3761,9 +3732,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"typescript": {
|
"typescript": {
|
||||||
"version": "3.5.1",
|
"version": "3.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz",
|
||||||
"integrity": "sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw==",
|
"integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"uglify-js": {
|
"uglify-js": {
|
||||||
|
|||||||
20
package.json
20
package.json
@@ -24,7 +24,7 @@
|
|||||||
"prepublishOnly": "npm ci && npm run build",
|
"prepublishOnly": "npm ci && npm run build",
|
||||||
"preversion": "npm run prepublishOnly",
|
"preversion": "npm run prepublishOnly",
|
||||||
"push": "git push && git push origin \"v$npm_package_version\"",
|
"push": "git push && git push origin \"v$npm_package_version\"",
|
||||||
"schema": "node --max-old-space-size=8192 --stack-size=10240 ./node_modules/.bin/openstapps-core-tools schema src/core lib/schema",
|
"schema": "node --max-old-space-size=8192 --stack-size=10240 ./node_modules/.bin/openstapps-core-tools schema src lib/schema",
|
||||||
"test": "nyc mocha --require ts-node/register --require source-map-support/register --ui mocha-typescript test/*.spec.ts",
|
"test": "nyc mocha --require ts-node/register --require source-map-support/register --ui mocha-typescript test/*.spec.ts",
|
||||||
"tslint": "tslint -p tsconfig.json -c tslint.json 'src/**/*.ts'"
|
"tslint": "tslint -p tsconfig.json -c tslint.json 'src/**/*.ts'"
|
||||||
},
|
},
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/geojson": "1.0.6",
|
"@types/geojson": "1.0.6",
|
||||||
"@types/json-patch": "0.0.30",
|
"@types/json-patch": "0.0.30",
|
||||||
"@types/node": "10.14.8",
|
"@types/node": "10.14.9",
|
||||||
"fast-clone": "1.5.13",
|
"fast-clone": "1.5.13",
|
||||||
"http-status-codes": "1.3.2",
|
"http-status-codes": "1.3.2",
|
||||||
"json-patch": "0.7.0",
|
"json-patch": "0.7.0",
|
||||||
@@ -52,9 +52,9 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@krlwlfrt/async-pool": "0.1.0",
|
"@krlwlfrt/async-pool": "0.1.0",
|
||||||
"@openstapps/configuration": "0.18.0",
|
"@openstapps/configuration": "0.20.0",
|
||||||
"@openstapps/core-tools": "0.6.0",
|
"@openstapps/core-tools": "0.6.0",
|
||||||
"@openstapps/logger": "0.2.1",
|
"@openstapps/logger": "0.3.1",
|
||||||
"@types/chai": "4.1.7",
|
"@types/chai": "4.1.7",
|
||||||
"@types/rimraf": "2.0.2",
|
"@types/rimraf": "2.0.2",
|
||||||
"chai": "4.2.0",
|
"chai": "4.2.0",
|
||||||
@@ -66,10 +66,10 @@
|
|||||||
"nyc": "14.1.1",
|
"nyc": "14.1.1",
|
||||||
"rimraf": "2.6.3",
|
"rimraf": "2.6.3",
|
||||||
"source-map-support": "0.5.12",
|
"source-map-support": "0.5.12",
|
||||||
"ts-node": "8.2.0",
|
"ts-node": "8.3.0",
|
||||||
"tslint": "5.17.0",
|
"tslint": "5.17.0",
|
||||||
"typedoc": "0.14.2",
|
"typedoc": "0.14.2",
|
||||||
"typescript": "3.5.1"
|
"typescript": "3.5.2"
|
||||||
},
|
},
|
||||||
"nyc": {
|
"nyc": {
|
||||||
"check-coverage": true,
|
"check-coverage": true,
|
||||||
@@ -79,10 +79,10 @@
|
|||||||
"functions": 95,
|
"functions": 95,
|
||||||
"branches": 85,
|
"branches": 85,
|
||||||
"include": [
|
"include": [
|
||||||
"src/core/Route.ts",
|
"src/protocol/route.ts",
|
||||||
"src/core/Thing.ts",
|
"src/things/abstract/thing.ts",
|
||||||
"src/core/Translator.ts",
|
"src/translator.ts",
|
||||||
"src/core/types/Guards.ts"
|
"src/guards.ts"
|
||||||
],
|
],
|
||||||
"exclude": [],
|
"exclude": [],
|
||||||
"extension": [
|
"extension": [
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -14,8 +14,8 @@
|
|||||||
*/
|
*/
|
||||||
// tslint:disable-next-line:no-implicit-dependencies
|
// tslint:disable-next-line:no-implicit-dependencies
|
||||||
import {Polygon} from 'geojson';
|
import {Polygon} from 'geojson';
|
||||||
import {SCSetting} from '../../things/Setting';
|
import {SCTranslations} from '../general/i18n';
|
||||||
import {SCTranslations} from '../i18n';
|
import {SCSetting} from '../things/setting';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An app configuration menu item
|
* An app configuration menu item
|
||||||
@@ -149,7 +149,7 @@ export interface SCAppConfigurationStoreUrl {
|
|||||||
*/
|
*/
|
||||||
ios?: string;
|
ios?: string;
|
||||||
/**
|
/**
|
||||||
* Microsoft Store URL
|
* Microsoft Store URL
|
||||||
*/
|
*/
|
||||||
uwp?: string;
|
uwp?: string;
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,11 +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 {SCThingType} from '../../Thing';
|
import {SCMap, SCRestrictedMap} from '../general/map';
|
||||||
import {SCSearchSortType} from '../sorts/Abstract';
|
import {SCUuid} from '../general/uuid';
|
||||||
import {SCUuid} from '../UUID';
|
import {SCSearchSortType} from '../protocol/search/sort';
|
||||||
import {SCMap, SCRestrictedMap} from './../Map';
|
import {SCThingType} from '../things/abstract/thing';
|
||||||
import {SCMonitoringConfiguration} from './Monitoring';
|
import {SCMonitoringConfiguration} from './monitoring';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A backend configuration
|
* A backend configuration
|
||||||
@@ -96,10 +96,8 @@ export type SCSearchContext =
|
|||||||
* A boosting configuration for one context
|
* A boosting configuration for one context
|
||||||
*/
|
*/
|
||||||
export type SCBackendConfigurationSearchBoostingContext =
|
export type SCBackendConfigurationSearchBoostingContext =
|
||||||
SCRestrictedMap<
|
SCRestrictedMap<SCSearchContext,
|
||||||
SCSearchContext,
|
SCBackendConfigurationSearchBoostingType[]>;
|
||||||
SCBackendConfigurationSearchBoostingType[]
|
|
||||||
>;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A boosting configuration for one SCType
|
* A boosting configuration for one SCType
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,9 +12,9 @@
|
|||||||
* 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 {SCAppConfiguration} from '../types/config/App';
|
import {SCLicensePlate} from '../general/namespaces';
|
||||||
import {SCBackendConfiguration, SCBackendInternalConfiguration} from '../types/config/Backend';
|
import {SCAppConfiguration} from './app';
|
||||||
import {SCLicensePlate} from '../types/namespaces';
|
import {SCBackendConfiguration, SCBackendInternalConfiguration} from './backend';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A configuration file that configures app and backend
|
* A configuration file that configures app and backend
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -1,260 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2018-2019 StApps
|
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the Free
|
|
||||||
* Software Foundation, version 3.
|
|
||||||
*
|
|
||||||
* 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 {
|
|
||||||
BAD_GATEWAY,
|
|
||||||
BAD_REQUEST, CONFLICT, INTERNAL_SERVER_ERROR,
|
|
||||||
METHOD_NOT_ALLOWED, NOT_ACCEPTABLE, NOT_FOUND,
|
|
||||||
REQUEST_TOO_LONG,
|
|
||||||
TOO_MANY_REQUESTS,
|
|
||||||
UNSUPPORTED_MEDIA_TYPE,
|
|
||||||
} from 'http-status-codes';
|
|
||||||
import {ValidationError} from 'jsonschema';
|
|
||||||
import {SCPluginMetaData} from '../routes/plugin/PluginRegisterRequest';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A generic error that can be returned by the backend if somethings fails during the processing of a request
|
|
||||||
*
|
|
||||||
* @validatable
|
|
||||||
*/
|
|
||||||
export interface SCErrorResponse extends Error {
|
|
||||||
/**
|
|
||||||
* Additional data that describes the error
|
|
||||||
*/
|
|
||||||
additionalData?: unknown;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* HTTP status code to return this error with
|
|
||||||
*/
|
|
||||||
statusCode: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that can be created by the backend during the processing of a request
|
|
||||||
*/
|
|
||||||
export abstract class SCError implements SCErrorResponse {
|
|
||||||
/**
|
|
||||||
* Call stack of the error
|
|
||||||
*/
|
|
||||||
stack?: string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instatiate an SCError
|
|
||||||
*
|
|
||||||
* @param name Name of the error
|
|
||||||
* @param message Message of the error
|
|
||||||
* @param statusCode HTTP status code to return this error with
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
*/
|
|
||||||
constructor(public name: string, public message: string, public statusCode: number, stack = false) {
|
|
||||||
// generate stacktrace if needed
|
|
||||||
if (stack) {
|
|
||||||
this.stack = (new Error()).stack;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that is returned when the validation of a request fails
|
|
||||||
*/
|
|
||||||
export class SCValidationErrorResponse extends SCError {
|
|
||||||
/**
|
|
||||||
* List of validatation errors
|
|
||||||
*/
|
|
||||||
additionalData: ValidationError[];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a SCValidationErrorResponse
|
|
||||||
*
|
|
||||||
* @param errors List of validation errors
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
*/
|
|
||||||
constructor(errors: ValidationError[], stack?: boolean) {
|
|
||||||
super('ValidationError', 'Validation of request failed', BAD_REQUEST, stack);
|
|
||||||
this.additionalData = errors;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that is returned when the content type of the request is not supported
|
|
||||||
*/
|
|
||||||
export class SCUnsupportedMediaTypeErrorResponse extends SCError {
|
|
||||||
/**
|
|
||||||
* Create a SCUnsupportedMediaTypeErrorResponse
|
|
||||||
*
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
*/
|
|
||||||
constructor(stack?: boolean) {
|
|
||||||
super('UnsupportedMediaTypeError', 'Unsupported media type', UNSUPPORTED_MEDIA_TYPE, stack);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that is returned, when the used HTTP method is not allowed on the requested route
|
|
||||||
*/
|
|
||||||
export class SCMethodNotAllowedErrorResponse extends SCError {
|
|
||||||
/**
|
|
||||||
* Create a SCMethodNotAllowedErrorResponse
|
|
||||||
*
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
*/
|
|
||||||
constructor(stack?: boolean) {
|
|
||||||
super('MethodNotAllowedError', 'HTTP method is not allowed on this route', METHOD_NOT_ALLOWED, stack);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that is returned, when the request body is too large.
|
|
||||||
*/
|
|
||||||
export class SCRequestBodyTooLargeErrorResponse extends SCError {
|
|
||||||
/**
|
|
||||||
* Create a SCRequestBodyTooLargeErrorResponse
|
|
||||||
*
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
*/
|
|
||||||
constructor(stack?: boolean) {
|
|
||||||
super('RequestBodyTooLargeError', 'The request body is too large.', REQUEST_TOO_LONG, stack);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that is returned, when to many request are submitted at once
|
|
||||||
*/
|
|
||||||
export class SCTooManyRequestsErrorResponse extends SCError {
|
|
||||||
/**
|
|
||||||
* Create a SCTooManyRequestsErrorResponse
|
|
||||||
*
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
*/
|
|
||||||
constructor(stack?: boolean) {
|
|
||||||
super(
|
|
||||||
'TooManyRequestsError',
|
|
||||||
'Too many requests. You can not submit more than 5 queries an once',
|
|
||||||
TOO_MANY_REQUESTS,
|
|
||||||
stack,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that is returned when the requested route or resource was not found
|
|
||||||
*/
|
|
||||||
export class SCNotFoundErrorResponse extends SCError {
|
|
||||||
/**
|
|
||||||
* Create a SCNotFoundErrorResponse
|
|
||||||
*
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
*/
|
|
||||||
constructor(stack?: boolean) {
|
|
||||||
super('NotFoundError', 'Resource not found', NOT_FOUND, stack);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that is returned when the request is in the right format, but contains parameters that are invalid or not
|
|
||||||
* acceptable.
|
|
||||||
*/
|
|
||||||
export class SCParametersNotAcceptable extends SCError {
|
|
||||||
/**
|
|
||||||
* Create a ParametersNotAcceptable
|
|
||||||
*
|
|
||||||
* @param message contains more details to what you did wrong
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
*/
|
|
||||||
constructor(message: string, stack?: boolean) {
|
|
||||||
super('ParametersNotAcceptable', message, NOT_ACCEPTABLE, stack);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that is returned when a plugin with the same name is already registered, to prevent two copies of a plugin
|
|
||||||
* running at the same time.
|
|
||||||
* This usually indicates that there is more than one instance a plugin running.
|
|
||||||
*/
|
|
||||||
export class SCPluginAlreadyRegisteredErrorResponse extends SCError {
|
|
||||||
/**
|
|
||||||
* Meta data of a registered plugin, which is in a conflict with the plugin we want to register.
|
|
||||||
* If the stack is disabled this is not set for security reasons
|
|
||||||
*/
|
|
||||||
additionalData?: SCPluginMetaData;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a SCPluginAlreadyRegisteredError
|
|
||||||
*
|
|
||||||
* @param message Provide further information why an already registered plugin matches the one we want to register
|
|
||||||
* @param plugin Provides meta data of a registered plugin, which is in a conflict with the plugin we want to register
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
*/
|
|
||||||
constructor(message: string, plugin: SCPluginMetaData, stack = false) {
|
|
||||||
super('SCPluginAlreadyRegisteredError', message, CONFLICT, stack);
|
|
||||||
if (stack) {
|
|
||||||
this.additionalData = plugin;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that is returned whenever there is an unexpected error while creating a plugin
|
|
||||||
*/
|
|
||||||
export class SCPluginRegisteringFailedErrorResponse extends SCError {
|
|
||||||
/**
|
|
||||||
* Create a PluginRegisteringFailedError
|
|
||||||
*
|
|
||||||
* @param message Describes what went wrong wile registering the plugin
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
*/
|
|
||||||
constructor(message: string, stack?: boolean) {
|
|
||||||
super('PluginRegisteringFailedError', message, INTERNAL_SERVER_ERROR, stack);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that is returned whenever there is a syntax error
|
|
||||||
*/
|
|
||||||
export class SCSyntaxErrorResponse extends SCError {
|
|
||||||
/**
|
|
||||||
* Create a SyntaxError
|
|
||||||
*
|
|
||||||
* @param message Describes the syntax error
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
*/
|
|
||||||
constructor(message: string, stack?: boolean) {
|
|
||||||
super('SyntaxError', message, BAD_REQUEST, stack);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An error that is returned, when an internal server error occurred
|
|
||||||
*/
|
|
||||||
export class SCInternalServerErrorResponse extends SCError {
|
|
||||||
/**
|
|
||||||
* Internal error that occurred. If the stack is disabled this error is not set for security reasons
|
|
||||||
*/
|
|
||||||
additionalData?: Error;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a SCInternalServerErrorResponse
|
|
||||||
*
|
|
||||||
* @param err Internal server error
|
|
||||||
* @param stack Set to true if a stack trace should be created
|
|
||||||
* and the internal server error should be displayed to the client
|
|
||||||
*/
|
|
||||||
constructor(err?: Error, stack = false) {
|
|
||||||
super('InternalServerError', 'Internal server error', BAD_GATEWAY, stack);
|
|
||||||
|
|
||||||
if (stack) {
|
|
||||||
this.additionalData = err;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2018, 2019 StApps
|
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the Free
|
|
||||||
* Software Foundation, version 3.
|
|
||||||
*
|
|
||||||
* 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 {SCAppConfiguration} from '../../../types/config/App';
|
|
||||||
import {SCBackendConfiguration} from '../../../types/config/Backend';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A response to an index request
|
|
||||||
*
|
|
||||||
* @validatable
|
|
||||||
*/
|
|
||||||
export interface SCIndexResponse {
|
|
||||||
/**
|
|
||||||
* @see SCAppConfiguration
|
|
||||||
*/
|
|
||||||
app: SCAppConfiguration;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see SCBackendConfiguration
|
|
||||||
*/
|
|
||||||
backend: SCBackendConfiguration;
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2018, 2019 StApps
|
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the Free
|
|
||||||
* Software Foundation, version 3.
|
|
||||||
*
|
|
||||||
* 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/>.
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* Response for an entity update request
|
|
||||||
*
|
|
||||||
* @validatable
|
|
||||||
*/
|
|
||||||
export interface SCThingUpdateResponse {
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2018, 2019 StApps
|
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the Free
|
|
||||||
* Software Foundation, version 3.
|
|
||||||
*
|
|
||||||
* 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 {SCAcademicPriceGroup, SCThingThatCanBeOfferedOffer} from '../../../base/ThingThatCanBeOffered';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* List of availabilities of a book
|
|
||||||
*
|
|
||||||
* @validatable
|
|
||||||
*/
|
|
||||||
export type SCBookAvailabilityResponse = Array<SCThingThatCanBeOfferedOffer<SCAcademicPriceGroup>>;
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2018, 2019 StApps
|
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the Free
|
|
||||||
* Software Foundation, version 3.
|
|
||||||
*
|
|
||||||
* 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/>.
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* Response to a request to add a thing to a bulk
|
|
||||||
*
|
|
||||||
* @validatable
|
|
||||||
*/
|
|
||||||
export interface SCBulkAddResponse {
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2018, 2019 StApps
|
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the Free
|
|
||||||
* Software Foundation, version 3.
|
|
||||||
*
|
|
||||||
* 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/>.
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* Response to a request to change the state of a bulk to done
|
|
||||||
*
|
|
||||||
* @validatable
|
|
||||||
*/
|
|
||||||
export interface SCBulkDoneResponse {
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2018, 2019 StApps
|
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the Free
|
|
||||||
* Software Foundation, version 3.
|
|
||||||
*
|
|
||||||
* 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/>.
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* A response to a feedback request
|
|
||||||
*
|
|
||||||
* @validatable
|
|
||||||
*/
|
|
||||||
export interface SCFeedbackResponse {
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2018-2019 StApps
|
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by the Free
|
|
||||||
* Software Foundation, version 3.
|
|
||||||
*
|
|
||||||
* 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 {SCMap} from '../../../types/Map';
|
|
||||||
import {SCSearchResult} from './SearchResponse';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A multi search response
|
|
||||||
*
|
|
||||||
* This is a map of [[SCSearchResponse]]s indexed by name
|
|
||||||
*
|
|
||||||
* @validatable
|
|
||||||
*/
|
|
||||||
export type SCMultiSearchResponse = SCMap<SCSearchResult>;
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2018 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/>.
|
|
||||||
*/
|
|
||||||
/**
|
|
||||||
* A postal address
|
|
||||||
*/
|
|
||||||
export interface SCPostalAddress {
|
|
||||||
/**
|
|
||||||
* Country of the address
|
|
||||||
*/
|
|
||||||
addressCountry: string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* City of the address
|
|
||||||
*/
|
|
||||||
addressLocality: string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* State of the address
|
|
||||||
*/
|
|
||||||
addressRegion?: string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Zip code of the address
|
|
||||||
*/
|
|
||||||
postalCode: string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Optional post box number
|
|
||||||
*/
|
|
||||||
postOfficeBoxNumber?: string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Street of the address - with house number!
|
|
||||||
*/
|
|
||||||
streetAddress: string;
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -29,7 +29,7 @@ export interface SCLanguage {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of possible languages in english
|
* A list of possible languages in english
|
||||||
*
|
*
|
||||||
* @see https://en.wikipedia.org/wiki/ISO_639-1
|
* @see https://en.wikipedia.org/wiki/ISO_639-1
|
||||||
*/
|
*/
|
||||||
export type SCLanguageName =
|
export type SCLanguageName =
|
||||||
@@ -221,7 +221,7 @@ export type SCLanguageName =
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* A List of all possible Languages as ISO 639-1 Codes
|
* A List of all possible Languages as ISO 639-1 Codes
|
||||||
*
|
*
|
||||||
* @see https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
* @see https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
||||||
*/
|
*/
|
||||||
export type SCLanguageCode =
|
export type SCLanguageCode =
|
||||||
@@ -691,9 +691,9 @@ export interface SCTranslations<T> {
|
|||||||
*/
|
*/
|
||||||
type RecursivePartial<T> = {
|
type RecursivePartial<T> = {
|
||||||
[P in keyof T]-?:
|
[P in keyof T]-?:
|
||||||
T[P] extends Array<infer U> ? Array<RecursivePartial<U>> :
|
T[P] extends Array<infer U> ? Array<RecursivePartial<U>> :
|
||||||
T[P] extends object ? RecursivePartial<T[P]> :
|
T[P] extends object ? RecursivePartial<T[P]> :
|
||||||
T[P];
|
T[P];
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,11 +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 {SCBulkResponse} from '../protocol/routes/bulk/BulkResponse';
|
import {SCTranslations} from './general/i18n';
|
||||||
import {SCMultiSearchResponse} from '../protocol/routes/search/MultiSearchResponse';
|
import {SCBulkResponse} from './protocol/routes/bulk-request';
|
||||||
import {SCSearchResponse} from '../protocol/routes/search/SearchResponse';
|
import {SCSearchResponse} from './protocol/routes/search';
|
||||||
import {SCThing, SCThingTranslatableProperties, SCThingType, SCThingWithoutReferences} from '../Thing';
|
import {SCMultiSearchResponse} from './protocol/routes/search-multi';
|
||||||
import {SCTranslations} from './i18n';
|
import {SCThing, SCThingTranslatableProperties, SCThingType, SCThingWithoutReferences} from './things/abstract/thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type guard to check if something is a SCThing
|
* Type guard to check if something is a SCThing
|
||||||
@@ -102,13 +102,13 @@ export function isSearchResponse(something: unknown): something is SCSearchRespo
|
|||||||
const somethingObject = (something as { [key: string]: { [key: string]: string; }; });
|
const somethingObject = (something as { [key: string]: { [key: string]: string; }; });
|
||||||
|
|
||||||
return Array.isArray(somethingObject.data)
|
return Array.isArray(somethingObject.data)
|
||||||
&& Array.isArray(somethingObject.facets)
|
&& Array.isArray(somethingObject.facets)
|
||||||
&& typeof somethingObject.pagination !== 'undefined'
|
&& typeof somethingObject.pagination !== 'undefined'
|
||||||
&& typeof somethingObject.pagination.count === 'number'
|
&& typeof somethingObject.pagination.count === 'number'
|
||||||
&& typeof somethingObject.pagination.offset === 'number'
|
&& typeof somethingObject.pagination.offset === 'number'
|
||||||
&& typeof somethingObject.pagination.total === 'number'
|
&& typeof somethingObject.pagination.total === 'number'
|
||||||
&& typeof somethingObject.stats !== 'undefined'
|
&& typeof somethingObject.stats !== 'undefined'
|
||||||
&& typeof somethingObject.stats.time === 'number';
|
&& typeof somethingObject.stats.time === 'number';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -117,7 +117,7 @@ export function isSearchResponse(something: unknown): something is SCSearchRespo
|
|||||||
* @param something Something to check
|
* @param something Something to check
|
||||||
*/
|
*/
|
||||||
export function isMultiSearchResponse(something: unknown): something is SCMultiSearchResponse {
|
export function isMultiSearchResponse(something: unknown): something is SCMultiSearchResponse {
|
||||||
const initialValue = Object.keys(something as { [key: string]: string; }).length > 0 ? true : false;
|
const initialValue = Object.keys(something as { [key: string]: string; }).length > 0 ? true : false;
|
||||||
|
|
||||||
return Object.keys(something as { [key: string]: string; })
|
return Object.keys(something as { [key: string]: string; })
|
||||||
.reduce((previousOnesAreSearchResponses, key) => {
|
.reduce((previousOnesAreSearchResponses, key) => {
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,31 +12,31 @@
|
|||||||
* 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 {SCThingType} from './Thing';
|
import {SCThingType} from './things/abstract/thing';
|
||||||
import {SCAcademicEvent, SCAcademicEventMeta, SCAcademicEventWithoutReferences} from './things/AcademicEvent';
|
import {SCAcademicEvent, SCAcademicEventMeta, SCAcademicEventWithoutReferences} from './things/academic-event';
|
||||||
import {SCArticle, SCArticleMeta, SCArticleWithoutReferences} from './things/Article';
|
import {SCArticle, SCArticleMeta, SCArticleWithoutReferences} from './things/article';
|
||||||
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 {SCCourseOfStudies, SCCourseOfStudiesMeta, SCCourseOfStudiesWithoutReferences} from './things/CourseOfStudies';
|
import {SCCourseOfStudies, SCCourseOfStudiesMeta, SCCourseOfStudiesWithoutReferences} from './things/course-of-studies';
|
||||||
import {SCDateSeries, SCDateSeriesMeta, SCDateSeriesWithoutReferences} from './things/DateSeries';
|
import {SCDateSeries, SCDateSeriesMeta, SCDateSeriesWithoutReferences} from './things/date-series';
|
||||||
import {SCDiff, SCDiffMeta, SCDiffWithoutReferences} from './things/Diff';
|
import {SCDiff, SCDiffMeta, SCDiffWithoutReferences} from './things/diff';
|
||||||
import {SCDish, SCDishMeta, SCDishWithoutReferences} from './things/Dish';
|
import {SCDish, SCDishMeta, SCDishWithoutReferences} from './things/dish';
|
||||||
import {SCFavorite, SCFavoriteMeta, SCFavoriteWithoutReferences} from './things/Favorite';
|
import {SCFavorite, SCFavoriteMeta, SCFavoriteWithoutReferences} from './things/favorite';
|
||||||
import {SCFloor, SCFloorMeta, SCFloorWithoutReferences} from './things/Floor';
|
import {SCFloor, SCFloorMeta, SCFloorWithoutReferences} from './things/floor';
|
||||||
import {SCMessage, SCMessageMeta, SCMessageWithoutReferences} from './things/Message';
|
import {SCMessage, SCMessageMeta, SCMessageWithoutReferences} from './things/message';
|
||||||
import {SCOrganization, SCOrganizationMeta, SCOrganizationWithoutReferences} from './things/Organization';
|
import {SCOrganization, SCOrganizationMeta, SCOrganizationWithoutReferences} from './things/organization';
|
||||||
import {SCPerson, SCPersonMeta, SCPersonWithoutReferences} from './things/Person';
|
import {SCPerson, SCPersonMeta, SCPersonWithoutReferences} from './things/person';
|
||||||
import {SCPointOfInterest, SCPointOfInterestMeta, SCPointOfInterestWithoutReferences} from './things/PointOfInterest';
|
import {SCPointOfInterest, SCPointOfInterestMeta, SCPointOfInterestWithoutReferences} from './things/point-of-interest';
|
||||||
import {SCRoom, SCRoomMeta, SCRoomWithoutReferences} from './things/Room';
|
import {SCRoom, SCRoomMeta, SCRoomWithoutReferences} from './things/room';
|
||||||
import {SCSemester, SCSemesterMeta, SCSemesterWithoutReferences} from './things/Semester';
|
import {SCSemester, SCSemesterMeta, SCSemesterWithoutReferences} from './things/semester';
|
||||||
import {SCSetting, SCSettingMeta, SCSettingWithoutReferences} from './things/Setting';
|
import {SCSetting, SCSettingMeta, SCSettingWithoutReferences} from './things/setting';
|
||||||
import {SCSportCourse, SCSportCourseMeta, SCSportCourseWithoutReferences} from './things/SportCourse';
|
import {SCSportCourse, SCSportCourseMeta, SCSportCourseWithoutReferences} from './things/sport-course';
|
||||||
import {SCStudyModule, SCStudyModuleMeta, SCStudyModuleWithoutReferences} from './things/StudyModule';
|
import {SCStudyModule, SCStudyModuleMeta, SCStudyModuleWithoutReferences} from './things/study-module';
|
||||||
import {SCTicket, SCTicketMeta, SCTicketWithoutReferences} from './things/Ticket';
|
import {SCTicket, SCTicketMeta, SCTicketWithoutReferences} from './things/ticket';
|
||||||
import {SCToDo, SCToDoMeta, SCToDoWithoutReferences} from './things/ToDo';
|
import {SCToDo, SCToDoMeta, SCToDoWithoutReferences} from './things/todo';
|
||||||
import {SCTour, SCTourMeta, SCTourWithoutReferences} from './things/Tour';
|
import {SCTour, SCTourMeta, SCTourWithoutReferences} from './things/tour';
|
||||||
import {SCVideo, SCVideoMeta, SCVideoWithoutReferences} from './things/Video';
|
import {SCVideo, SCVideoMeta, SCVideoWithoutReferences} from './things/video';
|
||||||
|
|
||||||
/* tslint:disable:variable-name */
|
/* tslint:disable:variable-name */
|
||||||
/**
|
/**
|
||||||
56
src/protocol/error.ts
Normal file
56
src/protocol/error.ts
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A generic error that can be returned by the backend if somethings fails during the processing of a request
|
||||||
|
*
|
||||||
|
* @validatable
|
||||||
|
*/
|
||||||
|
export interface SCErrorResponse extends Error {
|
||||||
|
/**
|
||||||
|
* Additional data that describes the error
|
||||||
|
*/
|
||||||
|
additionalData?: unknown;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HTTP status code to return this error with
|
||||||
|
*/
|
||||||
|
statusCode: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An error that can be created by the backend during the processing of a request
|
||||||
|
*/
|
||||||
|
export abstract class SCError implements SCErrorResponse {
|
||||||
|
/**
|
||||||
|
* Call stack of the error
|
||||||
|
*/
|
||||||
|
stack?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instatiate an SCError
|
||||||
|
*
|
||||||
|
* @param name Name of the error
|
||||||
|
* @param message Message of the error
|
||||||
|
* @param statusCode HTTP status code to return this error with
|
||||||
|
* @param stack Set to true if a stack trace should be created
|
||||||
|
*/
|
||||||
|
constructor(public name: string, public message: string, public statusCode: number, stack = false) {
|
||||||
|
// generate stacktrace if needed
|
||||||
|
if (stack) {
|
||||||
|
this.stack = (new Error()).stack;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
41
src/protocol/errors/internal-server-error.ts
Normal file
41
src/protocol/errors/internal-server-error.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* 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 {BAD_GATEWAY} from 'http-status-codes';
|
||||||
|
import {SCError} from '../error';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An error that is returned, when an internal server error occurred
|
||||||
|
*/
|
||||||
|
export class SCInternalServerErrorResponse extends SCError {
|
||||||
|
/**
|
||||||
|
* Internal error that occurred. If the stack is disabled this error is not set for security reasons
|
||||||
|
*/
|
||||||
|
additionalData?: Error;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a SCInternalServerErrorResponse
|
||||||
|
*
|
||||||
|
* @param err Internal server error
|
||||||
|
* @param stack Set to true if a stack trace should be created
|
||||||
|
* and the internal server error should be displayed to the client
|
||||||
|
*/
|
||||||
|
constructor(err?: Error, stack = false) {
|
||||||
|
super('InternalServerError', 'Internal server error', BAD_GATEWAY, stack);
|
||||||
|
|
||||||
|
if (stack) {
|
||||||
|
this.additionalData = err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
30
src/protocol/errors/method-not-allowed.ts
Normal file
30
src/protocol/errors/method-not-allowed.ts
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* 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 {METHOD_NOT_ALLOWED} from 'http-status-codes';
|
||||||
|
import {SCError} from '../error';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An error that is returned, when the used HTTP method is not allowed on the requested route
|
||||||
|
*/
|
||||||
|
export class SCMethodNotAllowedErrorResponse extends SCError {
|
||||||
|
/**
|
||||||
|
* Create a SCMethodNotAllowedErrorResponse
|
||||||
|
*
|
||||||
|
* @param stack Set to true if a stack trace should be created
|
||||||
|
*/
|
||||||
|
constructor(stack?: boolean) {
|
||||||
|
super('MethodNotAllowedError', 'HTTP method is not allowed on this route', METHOD_NOT_ALLOWED, stack);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,15 +12,19 @@
|
|||||||
* 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 {NOT_FOUND} from 'http-status-codes';
|
||||||
|
import {SCError} from '../error';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Plugin register response
|
* An error that is returned when the requested route or resource was not found
|
||||||
*
|
|
||||||
* @validatable
|
|
||||||
*/
|
*/
|
||||||
export interface SCPluginRegisterResponse {
|
export class SCNotFoundErrorResponse extends SCError {
|
||||||
/**
|
/**
|
||||||
* Whether the desired action succeeded or failed (true for success, false if an error occurred)
|
* Create a SCNotFoundErrorResponse
|
||||||
|
*
|
||||||
|
* @param stack Set to true if a stack trace should be created
|
||||||
*/
|
*/
|
||||||
success: boolean;
|
constructor(stack?: boolean) {
|
||||||
|
super('NotFoundError', 'Resource not found', NOT_FOUND, stack);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
32
src/protocol/errors/parameters-not-acceptable.ts
Normal file
32
src/protocol/errors/parameters-not-acceptable.ts
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* 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 {NOT_ACCEPTABLE} from 'http-status-codes';
|
||||||
|
import {SCError} from '../error';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An error that is returned when the request is in the right format, but contains parameters that are invalid or not
|
||||||
|
* acceptable.
|
||||||
|
*/
|
||||||
|
export class SCParametersNotAcceptable extends SCError {
|
||||||
|
/**
|
||||||
|
* Create a ParametersNotAcceptable
|
||||||
|
*
|
||||||
|
* @param message contains more details to what you did wrong
|
||||||
|
* @param stack Set to true if a stack trace should be created
|
||||||
|
*/
|
||||||
|
constructor(message: string, stack?: boolean) {
|
||||||
|
super('ParametersNotAcceptable', message, NOT_ACCEPTABLE, stack);
|
||||||
|
}
|
||||||
|
}
|
||||||
44
src/protocol/errors/plugin-already-registered.ts
Normal file
44
src/protocol/errors/plugin-already-registered.ts
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* 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 {CONFLICT} from 'http-status-codes';
|
||||||
|
import {SCError} from '../error';
|
||||||
|
import {SCPluginMetaData} from '../routes/plugin-register';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An error that is returned when a plugin with the same name is already registered, to prevent two copies of a plugin
|
||||||
|
* running at the same time.
|
||||||
|
* This usually indicates that there is more than one instance a plugin running.
|
||||||
|
*/
|
||||||
|
export class SCPluginAlreadyRegisteredErrorResponse extends SCError {
|
||||||
|
/**
|
||||||
|
* Meta data of a registered plugin, which is in a conflict with the plugin we want to register.
|
||||||
|
* If the stack is disabled this is not set for security reasons
|
||||||
|
*/
|
||||||
|
additionalData?: SCPluginMetaData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a SCPluginAlreadyRegisteredError
|
||||||
|
*
|
||||||
|
* @param message Provide further information why an already registered plugin matches the one we want to register
|
||||||
|
* @param plugin Provides meta data of a registered plugin, which is in a conflict with the plugin we want to register
|
||||||
|
* @param stack Set to true if a stack trace should be created
|
||||||
|
*/
|
||||||
|
constructor(message: string, plugin: SCPluginMetaData, stack = false) {
|
||||||
|
super('SCPluginAlreadyRegisteredError', message, CONFLICT, stack);
|
||||||
|
if (stack) {
|
||||||
|
this.additionalData = plugin;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
31
src/protocol/errors/plugin-registering-failed.ts
Normal file
31
src/protocol/errors/plugin-registering-failed.ts
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* 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 {INTERNAL_SERVER_ERROR} from 'http-status-codes';
|
||||||
|
import {SCError} from '../error';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An error that is returned whenever there is an unexpected error while creating a plugin
|
||||||
|
*/
|
||||||
|
export class SCPluginRegisteringFailedErrorResponse extends SCError {
|
||||||
|
/**
|
||||||
|
* Create a PluginRegisteringFailedError
|
||||||
|
*
|
||||||
|
* @param message Describes what went wrong wile registering the plugin
|
||||||
|
* @param stack Set to true if a stack trace should be created
|
||||||
|
*/
|
||||||
|
constructor(message: string, stack?: boolean) {
|
||||||
|
super('PluginRegisteringFailedError', message, INTERNAL_SERVER_ERROR, stack);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,25 +12,19 @@
|
|||||||
* 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 {SCUuid} from '../../../types/UUID';
|
import {REQUEST_TOO_LONG} from 'http-status-codes';
|
||||||
import {SCBulkParameters} from './BulkRequest';
|
import {SCError} from '../error';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Requested Bulk from backend
|
* An error that is returned, when the request body is too large.
|
||||||
*
|
|
||||||
* @validatable
|
|
||||||
*/
|
*/
|
||||||
export interface SCBulkResponse extends SCBulkParameters {
|
export class SCRequestBodyTooLargeErrorResponse extends SCError {
|
||||||
/**
|
/**
|
||||||
* State of bulk
|
* Create a SCRequestBodyTooLargeErrorResponse
|
||||||
*
|
*
|
||||||
* The state is `in progress` while it accepts things to be added to the bulk.
|
* @param stack Set to true if a stack trace should be created
|
||||||
* The state is `done` once it is closed.
|
|
||||||
*/
|
*/
|
||||||
state: 'in progress' | 'done';
|
constructor(stack?: boolean) {
|
||||||
|
super('RequestBodyTooLargeError', 'The request body is too large.', REQUEST_TOO_LONG, stack);
|
||||||
/**
|
}
|
||||||
* Universally unique identifier of the bulk
|
|
||||||
*/
|
|
||||||
uid: SCUuid;
|
|
||||||
}
|
}
|
||||||
@@ -12,21 +12,20 @@
|
|||||||
* 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 {SCBuildingWithoutReferences} from '../things/Building';
|
import {BAD_REQUEST} from 'http-status-codes';
|
||||||
import {SCPointOfInterestWithoutReferences} from '../things/PointOfInterest';
|
import {SCError} from '../error';
|
||||||
import {SCRoomWithoutReferences} from '../things/Room';
|
|
||||||
/**
|
/**
|
||||||
* Something that is or happens in a place
|
* An error that is returned whenever there is a syntax error
|
||||||
*
|
|
||||||
* !Important!
|
|
||||||
* This is not a SCThing.
|
|
||||||
*/
|
*/
|
||||||
export interface SCInPlace {
|
export class SCSyntaxErrorResponse extends SCError {
|
||||||
/**
|
/**
|
||||||
* Place the thing is or happens in
|
* Create a SyntaxError
|
||||||
|
*
|
||||||
|
* @param message Describes the syntax error
|
||||||
|
* @param stack Set to true if a stack trace should be created
|
||||||
*/
|
*/
|
||||||
inPlace?:
|
constructor(message: string, stack?: boolean) {
|
||||||
SCBuildingWithoutReferences
|
super('SyntaxError', message, BAD_REQUEST, stack);
|
||||||
| SCPointOfInterestWithoutReferences
|
}
|
||||||
| SCRoomWithoutReferences;
|
|
||||||
}
|
}
|
||||||
35
src/protocol/errors/too-many-requests.ts
Normal file
35
src/protocol/errors/too-many-requests.ts
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* 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 {TOO_MANY_REQUESTS} from 'http-status-codes';
|
||||||
|
import {SCError} from '../error';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An error that is returned, when to many request are submitted at once
|
||||||
|
*/
|
||||||
|
export class SCTooManyRequestsErrorResponse extends SCError {
|
||||||
|
/**
|
||||||
|
* Create a SCTooManyRequestsErrorResponse
|
||||||
|
*
|
||||||
|
* @param stack Set to true if a stack trace should be created
|
||||||
|
*/
|
||||||
|
constructor(stack?: boolean) {
|
||||||
|
super(
|
||||||
|
'TooManyRequestsError',
|
||||||
|
'Too many requests. You can not submit more than 5 queries an once',
|
||||||
|
TOO_MANY_REQUESTS,
|
||||||
|
stack,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
30
src/protocol/errors/unsupported-media-type.ts
Normal file
30
src/protocol/errors/unsupported-media-type.ts
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* 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 {UNSUPPORTED_MEDIA_TYPE} from 'http-status-codes';
|
||||||
|
import {SCError} from '../error';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An error that is returned when the content type of the request is not supported
|
||||||
|
*/
|
||||||
|
export class SCUnsupportedMediaTypeErrorResponse extends SCError {
|
||||||
|
/**
|
||||||
|
* Create a SCUnsupportedMediaTypeErrorResponse
|
||||||
|
*
|
||||||
|
* @param stack Set to true if a stack trace should be created
|
||||||
|
*/
|
||||||
|
constructor(stack?: boolean) {
|
||||||
|
super('UnsupportedMediaTypeError', 'Unsupported media type', UNSUPPORTED_MEDIA_TYPE, stack);
|
||||||
|
}
|
||||||
|
}
|
||||||
38
src/protocol/errors/validation.ts
Normal file
38
src/protocol/errors/validation.ts
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* 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 {BAD_REQUEST} from 'http-status-codes';
|
||||||
|
import {ValidationError} from 'jsonschema';
|
||||||
|
import {SCError} from '../error';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An error that is returned when the validation of a request fails
|
||||||
|
*/
|
||||||
|
export class SCValidationErrorResponse extends SCError {
|
||||||
|
/**
|
||||||
|
* List of validatation errors
|
||||||
|
*/
|
||||||
|
additionalData: ValidationError[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a SCValidationErrorResponse
|
||||||
|
*
|
||||||
|
* @param errors List of validation errors
|
||||||
|
* @param stack Set to true if a stack trace should be created
|
||||||
|
*/
|
||||||
|
constructor(errors: ValidationError[], stack?: boolean) {
|
||||||
|
super('ValidationError', 'Validation of request failed', BAD_REQUEST, stack);
|
||||||
|
this.additionalData = errors;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,29 +12,17 @@
|
|||||||
* 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 {SCMap} from '../general/map';
|
||||||
* Possible HTTP verbs for routes
|
import {SCErrorResponse} from './error';
|
||||||
*/
|
import {SCIndexRequest, SCIndexResponse} from './routes';
|
||||||
import {SCErrorResponse} from './protocol/errors/ErrorResponse';
|
import {SCBookAvailabilityRequest, SCBookAvailabilityResponse} from './routes/book-availability';
|
||||||
import {SCBookAvailabilityRequest} from './protocol/routes/bookAvailability/BookAvailabilityRequest';
|
import {SCBulkAddRequest, SCBulkAddResponse} from './routes/bulk-add';
|
||||||
import {SCBookAvailabilityResponse} from './protocol/routes/bookAvailability/BookAvailabilityResponse';
|
import {SCBulkDoneRequest, SCBulkDoneResponse} from './routes/bulk-done';
|
||||||
import {SCBulkRequest} from './protocol/routes/bulk/BulkRequest';
|
import {SCBulkRequest, SCBulkResponse} from './routes/bulk-request';
|
||||||
import {SCBulkResponse} from './protocol/routes/bulk/BulkResponse';
|
import {SCFeedbackRequest, SCFeedbackResponse} from './routes/feedback';
|
||||||
import {SCBulkAddRequest} from './protocol/routes/bulk/UID/BulkAddRequest';
|
import {SCSearchRequest, SCSearchResponse} from './routes/search';
|
||||||
import {SCBulkAddResponse} from './protocol/routes/bulk/UID/BulkAddResponse';
|
import {SCMultiSearchRequest, SCMultiSearchResponse} from './routes/search-multi';
|
||||||
import {SCBulkDoneRequest} from './protocol/routes/bulk/UID/BulkDoneRequest';
|
import {SCThingUpdateRequest, SCThingUpdateResponse} from './routes/thing-update';
|
||||||
import {SCBulkDoneResponse} from './protocol/routes/bulk/UID/BulkDoneResponse';
|
|
||||||
import {SCFeedbackRequest} from './protocol/routes/feedback/FeedbackRequest';
|
|
||||||
import {SCFeedbackResponse} from './protocol/routes/feedback/FeedbackResponse';
|
|
||||||
import {SCIndexRequest} from './protocol/routes/INDEX/IndexRequest';
|
|
||||||
import {SCIndexResponse} from './protocol/routes/INDEX/IndexResponse';
|
|
||||||
import {SCMultiSearchRequest} from './protocol/routes/search/MultiSearchRequest';
|
|
||||||
import {SCMultiSearchResponse} from './protocol/routes/search/MultiSearchResponse';
|
|
||||||
import {SCSearchRequest} from './protocol/routes/search/SearchRequest';
|
|
||||||
import {SCSearchResponse} from './protocol/routes/search/SearchResponse';
|
|
||||||
import {SCThingUpdateRequest} from './protocol/routes/TYPE/UID/ThingUpdateRequest';
|
|
||||||
import {SCThingUpdateResponse} from './protocol/routes/TYPE/UID/ThingUpdateResponse';
|
|
||||||
import {SCMap} from './types/Map';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Possible Verbs for HTTP requests
|
* Possible Verbs for HTTP requests
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -13,21 +13,20 @@
|
|||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {OK} from 'http-status-codes';
|
import {OK} from 'http-status-codes';
|
||||||
import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../Route';
|
import {SCUuid} from '../../general/uuid';
|
||||||
import {SCUuid} from '../../../types/UUID';
|
import {SCAcademicPriceGroup, SCThingThatCanBeOfferedOffer} from '../../things/abstract/thing-that-can-be-offered';
|
||||||
import {
|
import {SCInternalServerErrorResponse} from '../errors/internal-server-error';
|
||||||
SCInternalServerErrorResponse,
|
import {SCMethodNotAllowedErrorResponse} from '../errors/method-not-allowed';
|
||||||
SCMethodNotAllowedErrorResponse,
|
import {SCNotFoundErrorResponse} from '../errors/not-found';
|
||||||
SCNotFoundErrorResponse,
|
import {SCRequestBodyTooLargeErrorResponse} from '../errors/request-body-too-large';
|
||||||
SCRequestBodyTooLargeErrorResponse,
|
import {SCSyntaxErrorResponse} from '../errors/syntax-error';
|
||||||
SCSyntaxErrorResponse,
|
import {SCUnsupportedMediaTypeErrorResponse} from '../errors/unsupported-media-type';
|
||||||
SCUnsupportedMediaTypeErrorResponse,
|
import {SCValidationErrorResponse} from '../errors/validation';
|
||||||
SCValidationErrorResponse,
|
import {SCAbstractRoute, SCRouteHttpVerbs} from '../route';
|
||||||
} from '../../errors/ErrorResponse';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Request to check the availability of books
|
* Request to check the availability of books
|
||||||
*
|
*
|
||||||
* @validatable
|
* @validatable
|
||||||
*/
|
*/
|
||||||
export type SCBookAvailabilityRequest = SCBookAvailabilityRequestByIsbn | SCBookAvailabilityRequestByUuid;
|
export type SCBookAvailabilityRequest = SCBookAvailabilityRequestByIsbn | SCBookAvailabilityRequestByUuid;
|
||||||
@@ -52,6 +51,13 @@ export interface SCBookAvailabilityRequestByUuid {
|
|||||||
uid: SCUuid;
|
uid: SCUuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of availabilities of a book
|
||||||
|
*
|
||||||
|
* @validatable
|
||||||
|
*/
|
||||||
|
export type SCBookAvailabilityResponse = Array<SCThingThatCanBeOfferedOffer<SCAcademicPriceGroup>>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route for book availability
|
* Route for book availability
|
||||||
*
|
*
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -13,25 +13,31 @@
|
|||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {CREATED} from 'http-status-codes';
|
import {CREATED} from 'http-status-codes';
|
||||||
import {SCThings} from '../../../../Classes';
|
import {SCThings} from '../../meta';
|
||||||
import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../../Route';
|
import {SCInternalServerErrorResponse} from '../errors/internal-server-error';
|
||||||
import {
|
import {SCMethodNotAllowedErrorResponse} from '../errors/method-not-allowed';
|
||||||
SCInternalServerErrorResponse,
|
import {SCNotFoundErrorResponse} from '../errors/not-found';
|
||||||
SCMethodNotAllowedErrorResponse,
|
import {SCRequestBodyTooLargeErrorResponse} from '../errors/request-body-too-large';
|
||||||
SCNotFoundErrorResponse,
|
import {SCSyntaxErrorResponse} from '../errors/syntax-error';
|
||||||
SCRequestBodyTooLargeErrorResponse,
|
import {SCUnsupportedMediaTypeErrorResponse} from '../errors/unsupported-media-type';
|
||||||
SCSyntaxErrorResponse,
|
import {SCValidationErrorResponse} from '../errors/validation';
|
||||||
SCUnsupportedMediaTypeErrorResponse,
|
import {SCAbstractRoute, SCRouteHttpVerbs} from '../route';
|
||||||
SCValidationErrorResponse,
|
|
||||||
} from '../../../errors/ErrorResponse';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Request to add a thing to a bulk
|
* Request to add a thing to a bulk
|
||||||
*
|
*
|
||||||
* @validatable
|
* @validatable
|
||||||
*/
|
*/
|
||||||
export type SCBulkAddRequest = SCThings;
|
export type SCBulkAddRequest = SCThings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Response to a request to add a thing to a bulk
|
||||||
|
*
|
||||||
|
* @validatable
|
||||||
|
*/
|
||||||
|
export interface SCBulkAddResponse {
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route for indexing SC things in a bulk
|
* Route for indexing SC things in a bulk
|
||||||
*/
|
*/
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -13,25 +13,31 @@
|
|||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {NO_CONTENT} from 'http-status-codes';
|
import {NO_CONTENT} from 'http-status-codes';
|
||||||
import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../../Route';
|
import {SCInternalServerErrorResponse} from '../errors/internal-server-error';
|
||||||
import {
|
import {SCMethodNotAllowedErrorResponse} from '../errors/method-not-allowed';
|
||||||
SCInternalServerErrorResponse,
|
import {SCNotFoundErrorResponse} from '../errors/not-found';
|
||||||
SCMethodNotAllowedErrorResponse,
|
import {SCRequestBodyTooLargeErrorResponse} from '../errors/request-body-too-large';
|
||||||
SCNotFoundErrorResponse,
|
import {SCSyntaxErrorResponse} from '../errors/syntax-error';
|
||||||
SCRequestBodyTooLargeErrorResponse,
|
import {SCUnsupportedMediaTypeErrorResponse} from '../errors/unsupported-media-type';
|
||||||
SCSyntaxErrorResponse,
|
import {SCValidationErrorResponse} from '../errors/validation';
|
||||||
SCUnsupportedMediaTypeErrorResponse,
|
import {SCAbstractRoute, SCRouteHttpVerbs} from '../route';
|
||||||
SCValidationErrorResponse,
|
|
||||||
} from '../../../errors/ErrorResponse';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Request to change the bulk state to done (close the bulk process)
|
* Request to change the bulk state to done (close the bulk process)
|
||||||
*
|
*
|
||||||
* @validatable
|
* @validatable
|
||||||
*/
|
*/
|
||||||
export interface SCBulkDoneRequest {
|
export interface SCBulkDoneRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Response to a request to change the state of a bulk to done
|
||||||
|
*
|
||||||
|
* @validatable
|
||||||
|
*/
|
||||||
|
export interface SCBulkDoneResponse {
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route for closing bulks
|
* Route for closing bulks
|
||||||
*/
|
*/
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -13,17 +13,16 @@
|
|||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {OK} from 'http-status-codes';
|
import {OK} from 'http-status-codes';
|
||||||
import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../Route';
|
import {SCISO8601Date} from '../../general/time';
|
||||||
import {SCThingType} from '../../../Thing';
|
import {SCUuid} from '../../general/uuid';
|
||||||
import {SCISO8601Date} from '../../../types/Time';
|
import {SCThingType} from '../../things/abstract/thing';
|
||||||
import {
|
import {SCInternalServerErrorResponse} from '../errors/internal-server-error';
|
||||||
SCInternalServerErrorResponse,
|
import {SCMethodNotAllowedErrorResponse} from '../errors/method-not-allowed';
|
||||||
SCMethodNotAllowedErrorResponse,
|
import {SCRequestBodyTooLargeErrorResponse} from '../errors/request-body-too-large';
|
||||||
SCRequestBodyTooLargeErrorResponse,
|
import {SCSyntaxErrorResponse} from '../errors/syntax-error';
|
||||||
SCSyntaxErrorResponse,
|
import {SCUnsupportedMediaTypeErrorResponse} from '../errors/unsupported-media-type';
|
||||||
SCUnsupportedMediaTypeErrorResponse,
|
import {SCValidationErrorResponse} from '../errors/validation';
|
||||||
SCValidationErrorResponse,
|
import {SCAbstractRoute, SCRouteHttpVerbs} from '../route';
|
||||||
} from '../../errors/ErrorResponse';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A bulk request
|
* A bulk request
|
||||||
@@ -57,11 +56,31 @@ export interface SCBulkParameters {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Type of things that are indexed in this bulk.
|
* Type of things that are indexed in this bulk.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
type: SCThingType;
|
type: SCThingType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Requested Bulk from backend
|
||||||
|
*
|
||||||
|
* @validatable
|
||||||
|
*/
|
||||||
|
export interface SCBulkResponse extends SCBulkParameters {
|
||||||
|
/**
|
||||||
|
* State of bulk
|
||||||
|
*
|
||||||
|
* The state is `in progress` while it accepts things to be added to the bulk.
|
||||||
|
* The state is `done` once it is closed.
|
||||||
|
*/
|
||||||
|
state: 'in progress' | 'done';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Universally unique identifier of the bulk
|
||||||
|
*/
|
||||||
|
uid: SCUuid;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route for bulk creation
|
* Route for bulk creation
|
||||||
*/
|
*/
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -13,16 +13,14 @@
|
|||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {NO_CONTENT} from 'http-status-codes';
|
import {NO_CONTENT} from 'http-status-codes';
|
||||||
import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../Route';
|
import {SCMessage} from '../../things/message';
|
||||||
import {SCMessage} from '../../../things/Message';
|
import {SCInternalServerErrorResponse} from '../errors/internal-server-error';
|
||||||
import {
|
import {SCMethodNotAllowedErrorResponse} from '../errors/method-not-allowed';
|
||||||
SCInternalServerErrorResponse,
|
import {SCRequestBodyTooLargeErrorResponse} from '../errors/request-body-too-large';
|
||||||
SCMethodNotAllowedErrorResponse,
|
import {SCSyntaxErrorResponse} from '../errors/syntax-error';
|
||||||
SCRequestBodyTooLargeErrorResponse,
|
import {SCUnsupportedMediaTypeErrorResponse} from '../errors/unsupported-media-type';
|
||||||
SCSyntaxErrorResponse,
|
import {SCValidationErrorResponse} from '../errors/validation';
|
||||||
SCUnsupportedMediaTypeErrorResponse,
|
import {SCAbstractRoute, SCRouteHttpVerbs} from '../route';
|
||||||
SCValidationErrorResponse,
|
|
||||||
} from '../../errors/ErrorResponse';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User feedback
|
* User feedback
|
||||||
@@ -36,6 +34,14 @@ export interface SCFeedbackRequest extends SCMessage {
|
|||||||
metaData: SCFeedbackRequestMetaData;
|
metaData: SCFeedbackRequestMetaData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A response to a feedback request
|
||||||
|
*
|
||||||
|
* @validatable
|
||||||
|
*/
|
||||||
|
export interface SCFeedbackResponse {
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route for feedback submission
|
* Route for feedback submission
|
||||||
*/
|
*/
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -13,15 +13,15 @@
|
|||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {OK} from 'http-status-codes';
|
import {OK} from 'http-status-codes';
|
||||||
import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../Route';
|
import {SCAppConfiguration} from '../../config/app';
|
||||||
import {
|
import {SCBackendConfiguration} from '../../config/backend';
|
||||||
SCInternalServerErrorResponse,
|
import {SCInternalServerErrorResponse} from '../errors/internal-server-error';
|
||||||
SCMethodNotAllowedErrorResponse,
|
import {SCMethodNotAllowedErrorResponse} from '../errors/method-not-allowed';
|
||||||
SCRequestBodyTooLargeErrorResponse,
|
import {SCRequestBodyTooLargeErrorResponse} from '../errors/request-body-too-large';
|
||||||
SCSyntaxErrorResponse,
|
import {SCSyntaxErrorResponse} from '../errors/syntax-error';
|
||||||
SCUnsupportedMediaTypeErrorResponse,
|
import {SCUnsupportedMediaTypeErrorResponse} from '../errors/unsupported-media-type';
|
||||||
SCValidationErrorResponse,
|
import {SCValidationErrorResponse} from '../errors/validation';
|
||||||
} from '../../errors/ErrorResponse';
|
import {SCAbstractRoute, SCRouteHttpVerbs} from '../route';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Index request
|
* Index request
|
||||||
@@ -31,6 +31,23 @@ import {
|
|||||||
export interface SCIndexRequest {
|
export interface SCIndexRequest {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A response to an index request
|
||||||
|
*
|
||||||
|
* @validatable
|
||||||
|
*/
|
||||||
|
export interface SCIndexResponse {
|
||||||
|
/**
|
||||||
|
* @see SCAppConfiguration
|
||||||
|
*/
|
||||||
|
app: SCAppConfiguration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see SCBackendConfiguration
|
||||||
|
*/
|
||||||
|
backend: SCBackendConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route to request meta information about the deployment
|
* Route to request meta information about the deployment
|
||||||
*/
|
*/
|
||||||
@@ -14,15 +14,14 @@
|
|||||||
*/
|
*/
|
||||||
import {OK} from 'http-status-codes';
|
import {OK} from 'http-status-codes';
|
||||||
import {Schema} from 'jsonschema';
|
import {Schema} from 'jsonschema';
|
||||||
import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../Route';
|
import {SCInternalServerErrorResponse} from '../errors/internal-server-error';
|
||||||
import {
|
import {SCMethodNotAllowedErrorResponse} from '../errors/method-not-allowed';
|
||||||
SCInternalServerErrorResponse,
|
import {SCParametersNotAcceptable} from '../errors/parameters-not-acceptable';
|
||||||
SCMethodNotAllowedErrorResponse, SCParametersNotAcceptable,
|
import {SCPluginAlreadyRegisteredErrorResponse} from '../errors/plugin-already-registered';
|
||||||
SCPluginAlreadyRegisteredErrorResponse,
|
import {SCPluginRegisteringFailedErrorResponse} from '../errors/plugin-registering-failed';
|
||||||
SCPluginRegisteringFailedErrorResponse,
|
import {SCRequestBodyTooLargeErrorResponse} from '../errors/request-body-too-large';
|
||||||
SCRequestBodyTooLargeErrorResponse,
|
import {SCSyntaxErrorResponse} from '../errors/syntax-error';
|
||||||
SCSyntaxErrorResponse,
|
import {SCAbstractRoute, SCRouteHttpVerbs} from '../route';
|
||||||
} from '../../errors/ErrorResponse';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Plugin register request
|
* Plugin register request
|
||||||
@@ -91,6 +90,18 @@ export interface SCPluginMetaData {
|
|||||||
route: string;
|
route: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Plugin register response
|
||||||
|
*
|
||||||
|
* @validatable
|
||||||
|
*/
|
||||||
|
export interface SCPluginRegisterResponse {
|
||||||
|
/**
|
||||||
|
* Whether the desired action succeeded or failed (true for success, false if an error occurred)
|
||||||
|
*/
|
||||||
|
success: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route to register plugins
|
* Route to register plugins
|
||||||
*/
|
*/
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -13,18 +13,17 @@
|
|||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {OK} from 'http-status-codes';
|
import {OK} from 'http-status-codes';
|
||||||
import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../Route';
|
import {SCMap} from '../../general/map';
|
||||||
import {SCMap} from '../../../types/Map';
|
import {SCInternalServerErrorResponse} from '../errors/internal-server-error';
|
||||||
import {
|
import {SCMethodNotAllowedErrorResponse} from '../errors/method-not-allowed';
|
||||||
SCInternalServerErrorResponse,
|
import {SCRequestBodyTooLargeErrorResponse} from '../errors/request-body-too-large';
|
||||||
SCMethodNotAllowedErrorResponse,
|
import {SCSyntaxErrorResponse} from '../errors/syntax-error';
|
||||||
SCRequestBodyTooLargeErrorResponse,
|
import {SCTooManyRequestsErrorResponse} from '../errors/too-many-requests';
|
||||||
SCSyntaxErrorResponse,
|
import {SCUnsupportedMediaTypeErrorResponse} from '../errors/unsupported-media-type';
|
||||||
SCTooManyRequestsErrorResponse,
|
import {SCValidationErrorResponse} from '../errors/validation';
|
||||||
SCUnsupportedMediaTypeErrorResponse,
|
import {SCAbstractRoute, SCRouteHttpVerbs} from '../route';
|
||||||
SCValidationErrorResponse,
|
import {SCSearchQuery} from '../search/query';
|
||||||
} from '../../errors/ErrorResponse';
|
import {SCSearchResult} from '../search/result';
|
||||||
import {SCSearchQuery} from './SearchRequest';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A multi search request
|
* A multi search request
|
||||||
@@ -37,6 +36,15 @@ import {SCSearchQuery} from './SearchRequest';
|
|||||||
*/
|
*/
|
||||||
export type SCMultiSearchRequest = SCMap<SCSearchQuery>;
|
export type SCMultiSearchRequest = SCMap<SCSearchQuery>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A multi search response
|
||||||
|
*
|
||||||
|
* This is a map of [[SCSearchResponse]]s indexed by name
|
||||||
|
*
|
||||||
|
* @validatable
|
||||||
|
*/
|
||||||
|
export type SCMultiSearchResponse = SCMap<SCSearchResult>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route for submission of multiple search requests at once
|
* Route for submission of multiple search requests at once
|
||||||
*/
|
*/
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -13,18 +13,15 @@
|
|||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {OK} from 'http-status-codes';
|
import {OK} from 'http-status-codes';
|
||||||
import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../Route';
|
import {SCInternalServerErrorResponse} from '../errors/internal-server-error';
|
||||||
import {SCSearchContext} from '../../../types/config/Backend';
|
import {SCMethodNotAllowedErrorResponse} from '../errors/method-not-allowed';
|
||||||
import {SCSearchFilter} from '../../../types/filters/Abstract';
|
import {SCRequestBodyTooLargeErrorResponse} from '../errors/request-body-too-large';
|
||||||
import {SCSearchSort} from '../../../types/sorts/Abstract';
|
import {SCSyntaxErrorResponse} from '../errors/syntax-error';
|
||||||
import {
|
import {SCUnsupportedMediaTypeErrorResponse} from '../errors/unsupported-media-type';
|
||||||
SCInternalServerErrorResponse,
|
import {SCValidationErrorResponse} from '../errors/validation';
|
||||||
SCMethodNotAllowedErrorResponse,
|
import {SCAbstractRoute, SCRouteHttpVerbs} from '../route';
|
||||||
SCRequestBodyTooLargeErrorResponse,
|
import {SCSearchQuery} from '../search/query';
|
||||||
SCSyntaxErrorResponse,
|
import {SCSearchResult} from '../search/result';
|
||||||
SCUnsupportedMediaTypeErrorResponse,
|
|
||||||
SCValidationErrorResponse,
|
|
||||||
} from '../../errors/ErrorResponse';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A search request
|
* A search request
|
||||||
@@ -35,38 +32,11 @@ export interface SCSearchRequest extends SCSearchQuery {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A search query
|
* A search response
|
||||||
|
*
|
||||||
|
* @validatable
|
||||||
*/
|
*/
|
||||||
export interface SCSearchQuery {
|
export interface SCSearchResponse extends SCSearchResult {
|
||||||
/**
|
|
||||||
* The context name from where the search query was initiated
|
|
||||||
*/
|
|
||||||
context?: SCSearchContext;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A filter structure that combines any number of filters with boolean methods ('AND', 'OR', 'NOT')
|
|
||||||
*/
|
|
||||||
filter?: SCSearchFilter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Number of things to skip in result set (paging)
|
|
||||||
*/
|
|
||||||
from?: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A term to search for
|
|
||||||
*/
|
|
||||||
query?: string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Number of things to have in the result set (paging)
|
|
||||||
*/
|
|
||||||
size?: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A list of sorting parameters to order the result set by
|
|
||||||
*/
|
|
||||||
sort?: SCSearchSort[];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -13,17 +13,15 @@
|
|||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import {OK} from 'http-status-codes';
|
import {OK} from 'http-status-codes';
|
||||||
import {SCThings} from '../../../../Classes';
|
import {SCThings} from '../../meta';
|
||||||
import {SCAbstractRoute, SCRouteHttpVerbs} from '../../../../Route';
|
import {SCInternalServerErrorResponse} from '../errors/internal-server-error';
|
||||||
import {
|
import {SCMethodNotAllowedErrorResponse} from '../errors/method-not-allowed';
|
||||||
SCInternalServerErrorResponse,
|
import {SCNotFoundErrorResponse} from '../errors/not-found';
|
||||||
SCMethodNotAllowedErrorResponse,
|
import {SCRequestBodyTooLargeErrorResponse} from '../errors/request-body-too-large';
|
||||||
SCNotFoundErrorResponse,
|
import {SCSyntaxErrorResponse} from '../errors/syntax-error';
|
||||||
SCRequestBodyTooLargeErrorResponse,
|
import {SCUnsupportedMediaTypeErrorResponse} from '../errors/unsupported-media-type';
|
||||||
SCSyntaxErrorResponse,
|
import {SCValidationErrorResponse} from '../errors/validation';
|
||||||
SCUnsupportedMediaTypeErrorResponse,
|
import {SCAbstractRoute, SCRouteHttpVerbs} from '../route';
|
||||||
SCValidationErrorResponse,
|
|
||||||
} from '../../../errors/ErrorResponse';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Request to update an existing thing
|
* Request to update an existing thing
|
||||||
@@ -32,6 +30,14 @@ import {
|
|||||||
*/
|
*/
|
||||||
export type SCThingUpdateRequest = SCThings;
|
export type SCThingUpdateRequest = SCThings;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Response for an entity update request
|
||||||
|
*
|
||||||
|
* @validatable
|
||||||
|
*/
|
||||||
|
export interface SCThingUpdateResponse {
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route for updating existing things
|
* Route for updating existing things
|
||||||
*/
|
*/
|
||||||
@@ -12,19 +12,34 @@
|
|||||||
* 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/>.
|
||||||
*/
|
*/
|
||||||
// tslint:disable-next-line:no-implicit-dependencies
|
import {SCThingsField} from '../../meta';
|
||||||
import {Point, Polygon} from 'geojson';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Positional information
|
* A search facet
|
||||||
*/
|
*/
|
||||||
export interface SCGeoInformation {
|
export interface SCFacet {
|
||||||
/**
|
/**
|
||||||
* Center point of a place
|
* Buckets for the aggregation
|
||||||
*/
|
*/
|
||||||
point: Point;
|
buckets: SCFacetBucket[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shape of a place
|
* Field of the aggregation
|
||||||
*/
|
*/
|
||||||
polygon?: Polygon;
|
field: SCThingsField;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A bucket of a facet
|
||||||
|
*/
|
||||||
|
export interface SCFacetBucket {
|
||||||
|
/**
|
||||||
|
* Count of matching search results
|
||||||
|
*/
|
||||||
|
count: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Key of a bucket
|
||||||
|
*/
|
||||||
|
key: string;
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,14 +12,14 @@
|
|||||||
* 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 {SCMap} from '../Map';
|
import {SCMap} from '../../general/map';
|
||||||
/**
|
/**
|
||||||
* All available filter types
|
* All available filter types
|
||||||
*/
|
*/
|
||||||
import {SCSearchAvailabilityFilter} from './Availability';
|
import {SCSearchAvailabilityFilter} from './filters/availability';
|
||||||
import {SCSearchBooleanFilter} from './Boolean';
|
import {SCSearchBooleanFilter} from './filters/boolean';
|
||||||
import {SCSearchDistanceFilter} from './Distance';
|
import {SCSearchDistanceFilter} from './filters/distance';
|
||||||
import {SCSearchValueFilter} from './Value';
|
import {SCSearchValueFilter} from './filters/value';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filter instruction types
|
* Filter instruction types
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,9 +12,9 @@
|
|||||||
* 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 {SCThingsField} from '../../Classes';
|
import {SCISO8601Date} from '../../../general/time';
|
||||||
import {SCISO8601Date} from '../Time';
|
import {SCThingsField} from '../../../meta';
|
||||||
import {SCSearchAbstractFilter, SCSearchAbstractFilterArguments} from './Abstract';
|
import {SCSearchAbstractFilter, SCSearchAbstractFilterArguments} from '../filter';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An availability filter
|
* An availability filter
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
* 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 {SCSearchAbstractFilter, SCSearchAbstractFilterArguments, SCSearchFilter} from './Abstract';
|
import {SCSearchAbstractFilter, SCSearchAbstractFilterArguments, SCSearchFilter} from '../filter';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A boolean filter
|
* A boolean filter
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -14,8 +14,8 @@
|
|||||||
*/
|
*/
|
||||||
// tslint:disable-next-line:no-implicit-dependencies
|
// tslint:disable-next-line:no-implicit-dependencies
|
||||||
import {Position} from 'geojson';
|
import {Position} from 'geojson';
|
||||||
import {SCThingsField} from '../../Classes';
|
import {SCThingsField} from '../../../meta';
|
||||||
import {SCSearchAbstractFilter, SCSearchAbstractFilterArguments} from './Abstract';
|
import {SCSearchAbstractFilter, SCSearchAbstractFilterArguments} from '../filter';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A distance filter
|
* A distance filter
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,8 +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 {SCThingsField} from '../../Classes';
|
import {SCThingsField} from '../../../meta';
|
||||||
import {SCSearchAbstractFilter, SCSearchAbstractFilterArguments} from './Abstract';
|
import {SCSearchAbstractFilter, SCSearchAbstractFilterArguments} from '../filter';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters for documents that match the value on the given field
|
* Filters for documents that match the value on the given field
|
||||||
52
src/protocol/search/query.ts
Normal file
52
src/protocol/search/query.ts
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* 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 {SCSearchContext} from '../../config/backend';
|
||||||
|
import {SCSearchFilter} from './filter';
|
||||||
|
import {SCSearchSort} from './sort';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A search query
|
||||||
|
*/
|
||||||
|
export interface SCSearchQuery {
|
||||||
|
/**
|
||||||
|
* The context name from where the search query was initiated
|
||||||
|
*/
|
||||||
|
context?: SCSearchContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A filter structure that combines any number of filters with boolean methods ('AND', 'OR', 'NOT')
|
||||||
|
*/
|
||||||
|
filter?: SCSearchFilter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of things to skip in result set (paging)
|
||||||
|
*/
|
||||||
|
from?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A term to search for
|
||||||
|
*/
|
||||||
|
query?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of things to have in the result set (paging)
|
||||||
|
*/
|
||||||
|
size?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A list of sorting parameters to order the result set by
|
||||||
|
*/
|
||||||
|
sort?: SCSearchSort[];
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,15 +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 {SCThings, SCThingsField} from '../../../Classes';
|
import {SCThings} from '../../meta';
|
||||||
|
import {SCFacet} from './facet';
|
||||||
/**
|
|
||||||
* A search response
|
|
||||||
*
|
|
||||||
* @validatable
|
|
||||||
*/
|
|
||||||
export interface SCSearchResponse extends SCSearchResult {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A search response
|
* A search response
|
||||||
@@ -39,48 +32,18 @@ export interface SCSearchResult {
|
|||||||
/**
|
/**
|
||||||
* Pagination information
|
* Pagination information
|
||||||
*/
|
*/
|
||||||
pagination: SCSearchResponsePagination;
|
pagination: SCSearchResultPagination;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stats of the search engine
|
* Stats of the search engine
|
||||||
*/
|
*/
|
||||||
stats: SCSearchResponseSearchEngineStats;
|
stats: SCSearchResultSearchEngineStats;
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A search facet
|
|
||||||
*/
|
|
||||||
export interface SCFacet {
|
|
||||||
/**
|
|
||||||
* Buckets for the aggregation
|
|
||||||
*/
|
|
||||||
buckets: SCFacetBucket[];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Field of the aggregation
|
|
||||||
*/
|
|
||||||
field: SCThingsField;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A bucket of a facet
|
|
||||||
*/
|
|
||||||
export interface SCFacetBucket {
|
|
||||||
/**
|
|
||||||
* Count of matching search results
|
|
||||||
*/
|
|
||||||
count: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Key of a bucket
|
|
||||||
*/
|
|
||||||
key: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stores information about Pagination
|
* Stores information about Pagination
|
||||||
*/
|
*/
|
||||||
export interface SCSearchResponsePagination {
|
export interface SCSearchResultPagination {
|
||||||
/**
|
/**
|
||||||
* Count of given data. Same as data.length
|
* Count of given data. Same as data.length
|
||||||
*/
|
*/
|
||||||
@@ -100,7 +63,7 @@ export interface SCSearchResponsePagination {
|
|||||||
/**
|
/**
|
||||||
* Statistics of search engine
|
* Statistics of search engine
|
||||||
*/
|
*/
|
||||||
export interface SCSearchResponseSearchEngineStats {
|
export interface SCSearchResultSearchEngineStats {
|
||||||
/**
|
/**
|
||||||
* Response time of the search engine in ms
|
* Response time of the search engine in ms
|
||||||
*/
|
*/
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,11 +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 {SCThingsField} from '../../Classes';
|
import {SCMap} from '../../general/map';
|
||||||
import {SCMap} from '../Map';
|
import {SCThingsField} from '../../meta';
|
||||||
import {SCDistanceSort} from './Distance';
|
import {SCDistanceSort} from './sorts/distance';
|
||||||
import {SCDucetSort} from './Ducet';
|
import {SCDucetSort} from './sorts/ducet';
|
||||||
import {SCPriceSort} from './Price';
|
import {SCPriceSort} from './sorts/price';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract sort instruction
|
* Abstract sort instruction
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
*/
|
*/
|
||||||
// tslint:disable-next-line:no-implicit-dependencies
|
// tslint:disable-next-line:no-implicit-dependencies
|
||||||
import {Position} from 'geojson';
|
import {Position} from 'geojson';
|
||||||
import {SCSearchAbstractSort, SCSearchAbstractSortArguments} from './Abstract';
|
import {SCSearchAbstractSort, SCSearchAbstractSortArguments} from '../sort';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sort instruction to sort by distance
|
* Sort instruction to sort by distance
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
* 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 {SCSearchAbstractSort, SCSearchAbstractSortArguments} from './Abstract';
|
import {SCSearchAbstractSort, SCSearchAbstractSortArguments} from '../sort';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sort instruction for ducet sort
|
* Sort instruction for ducet sort
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,8 +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 {SCSportCoursePriceGroup} from '../../things/DateSeries';
|
import {SCSportCoursePriceGroup} from '../../../things/date-series';
|
||||||
import {SCSearchAbstractSort, SCSearchAbstractSortArguments} from './Abstract';
|
import {SCSearchAbstractSort, SCSearchAbstractSortArguments} from '../sort';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sort instruction to sort by price
|
* Sort instruction to sort by price
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,8 +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 {SCThing, SCThingMeta, SCThingWithoutReferences} from '../Thing';
|
import {SCMetaTranslations} from '../../general/i18n';
|
||||||
import {SCMetaTranslations} from '../types/i18n';
|
import {SCThing, SCThingMeta, SCThingWithoutReferences} from './thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An academic degree without references
|
* An academic degree without references
|
||||||
@@ -28,7 +28,7 @@ export interface SCAcademicDegreeWithoutReferences
|
|||||||
/**
|
/**
|
||||||
* The achievable academic degree with academic field specification
|
* The achievable academic degree with academic field specification
|
||||||
* (eg. Master of Science)
|
* (eg. Master of Science)
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
academicDegreewithField: string;
|
academicDegreewithField: string;
|
||||||
@@ -36,7 +36,7 @@ export interface SCAcademicDegreeWithoutReferences
|
|||||||
/**
|
/**
|
||||||
* The achievable academic degree with academic field specification
|
* The achievable academic degree with academic field specification
|
||||||
* shorted (eg. M.Sc.).
|
* shorted (eg. M.Sc.).
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
academicDegreewithFieldShort: string;
|
academicDegreewithFieldShort: string;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,9 +12,9 @@
|
|||||||
* 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 {SCThing, SCThingMeta, SCThingWithoutReferences} from '../Thing';
|
import {SCMetaTranslations} from '../../general/i18n';
|
||||||
import {SCMetaTranslations} from '../types/i18n';
|
import {SCISO8601Date} from '../../general/time';
|
||||||
import {SCISO8601Date} from '../types/Time';
|
import {SCThing, SCThingMeta, SCThingWithoutReferences} from './thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An academic term without references
|
* An academic term without references
|
||||||
@@ -23,7 +23,7 @@ export interface SCAcademicTermWithoutReferences
|
|||||||
extends SCThingWithoutReferences {
|
extends SCThingWithoutReferences {
|
||||||
/**
|
/**
|
||||||
* Short name of the academic term, using the given pattern
|
* Short name of the academic term, using the given pattern
|
||||||
*
|
*
|
||||||
* @aggregatable
|
* @aggregatable
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,18 +12,18 @@
|
|||||||
* 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 {SCThingMeta, SCThingTranslatableProperties, SCThingWithoutReferences} from '../Thing';
|
import {SCLanguage, SCMetaTranslations, SCTranslations} from '../../general/i18n';
|
||||||
import {SCOrganizationWithoutReferences} from '../things/Organization';
|
import {SCISO8601Date} from '../../general/time';
|
||||||
import {SCPersonWithoutReferences} from '../things/Person';
|
import {SCOrganizationWithoutReferences} from '../organization';
|
||||||
import {SCLanguage, SCMetaTranslations, SCTranslations} from '../types/i18n';
|
import {SCPersonWithoutReferences} from '../person';
|
||||||
import {SCISO8601Date} from '../types/Time';
|
import {SCThingMeta, SCThingTranslatableProperties, SCThingWithoutReferences} from './thing';
|
||||||
import {
|
import {
|
||||||
SCAcademicPriceGroup,
|
SCAcademicPriceGroup,
|
||||||
SCThingThatCanBeOffered,
|
SCThingThatCanBeOffered,
|
||||||
SCThingThatCanBeOfferedMeta,
|
SCThingThatCanBeOfferedMeta,
|
||||||
SCThingThatCanBeOfferedTranslatableProperties,
|
SCThingThatCanBeOfferedTranslatableProperties,
|
||||||
SCThingThatCanBeOfferedWithoutReferences,
|
SCThingThatCanBeOfferedWithoutReferences,
|
||||||
} from './ThingThatCanBeOffered';
|
} from './thing-that-can-be-offered';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A creative work without references
|
* A creative work without references
|
||||||
@@ -42,7 +42,7 @@ export interface SCCreativeWorkWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Keywords of the creative work
|
* Keywords of the creative work
|
||||||
*
|
*
|
||||||
* @aggregatable
|
* @aggregatable
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
@@ -82,7 +82,7 @@ export interface SCCreativeWorkTranslatableProperties
|
|||||||
extends SCThingTranslatableProperties, SCThingThatCanBeOfferedTranslatableProperties {
|
extends SCThingTranslatableProperties, SCThingThatCanBeOfferedTranslatableProperties {
|
||||||
/**
|
/**
|
||||||
* Translation of the keywords of the creative work
|
* Translation of the keywords of the creative work
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
keywords?: string[];
|
keywords?: string[];
|
||||||
@@ -98,8 +98,8 @@ export class SCCreativeWorkMeta
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
|
...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
|
||||||
... SCThingThatCanBeOfferedMeta.getInstance().fieldTranslations.de,
|
...SCThingThatCanBeOfferedMeta.getInstance().fieldTranslations.de,
|
||||||
authors: 'Authoren',
|
authors: 'Authoren',
|
||||||
datePublished: 'Veröffentlichungsdatum',
|
datePublished: 'Veröffentlichungsdatum',
|
||||||
inLanguages: 'verfügbare Übersetzungen',
|
inLanguages: 'verfügbare Übersetzungen',
|
||||||
@@ -107,8 +107,8 @@ export class SCCreativeWorkMeta
|
|||||||
publishers: 'Verleger',
|
publishers: 'Verleger',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
|
...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
|
||||||
... SCThingThatCanBeOfferedMeta.getInstance().fieldTranslations.en,
|
...SCThingThatCanBeOfferedMeta.getInstance().fieldTranslations.en,
|
||||||
authors: 'authors',
|
authors: 'authors',
|
||||||
datePublished: 'release date',
|
datePublished: 'release date',
|
||||||
inLanguages: 'available Languages',
|
inLanguages: 'available Languages',
|
||||||
@@ -123,11 +123,11 @@ export class SCCreativeWorkMeta
|
|||||||
fieldValueTranslations = {
|
fieldValueTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
|
...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
|
||||||
... SCThingThatCanBeOfferedMeta.getInstance().fieldValueTranslations.en,
|
...SCThingThatCanBeOfferedMeta.getInstance().fieldValueTranslations.en,
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
|
...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
|
||||||
... SCThingThatCanBeOfferedMeta.getInstance().fieldValueTranslations.en,
|
...SCThingThatCanBeOfferedMeta.getInstance().fieldValueTranslations.en,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,12 +12,12 @@
|
|||||||
* 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 {SCThing, SCThingMeta, SCThingWithoutReferences} from '../Thing';
|
import {SCMetaTranslations} from '../../general/i18n';
|
||||||
import {SCCatalogWithoutReferences} from '../things/Catalog';
|
import {SCCatalogWithoutReferences} from '../catalog';
|
||||||
import {SCPersonWithoutReferences} from '../things/Person';
|
import {SCPersonWithoutReferences} from '../person';
|
||||||
import {SCSemesterWithoutReferences} from '../things/Semester';
|
import {SCSemesterWithoutReferences} from '../semester';
|
||||||
import {SCMetaTranslations} from '../types/i18n';
|
import {SCCreativeWorkWithoutReferences} from './creative-work';
|
||||||
import {SCCreativeWorkWithoutReferences} from './CreativeWork';
|
import {SCThing, SCThingMeta, SCThingWithoutReferences} from './thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An event without references
|
* An event without references
|
||||||
@@ -28,7 +28,7 @@ export interface SCEventWithoutReferences
|
|||||||
* Maximum number of participants of the event
|
* Maximum number of participants of the event
|
||||||
*
|
*
|
||||||
* A maximum number of people that can participate in the event.
|
* A maximum number of people that can participate in the event.
|
||||||
*
|
*
|
||||||
* @integer
|
* @integer
|
||||||
*/
|
*/
|
||||||
maximumParticipants?: number;
|
maximumParticipants?: number;
|
||||||
@@ -37,7 +37,7 @@ export interface SCEventWithoutReferences
|
|||||||
* Remaining attendee capacity of the event
|
* Remaining attendee capacity of the event
|
||||||
*
|
*
|
||||||
* This number represents the remaining open spots.
|
* This number represents the remaining open spots.
|
||||||
*
|
*
|
||||||
* @integer
|
* @integer
|
||||||
*/
|
*/
|
||||||
remainingAttendeeCapacity?: number;
|
remainingAttendeeCapacity?: number;
|
||||||
@@ -86,7 +86,7 @@ export class SCEventMeta
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
|
...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
|
||||||
academicTerms: 'Semester',
|
academicTerms: 'Semester',
|
||||||
catalogs: 'Verzeichnis',
|
catalogs: 'Verzeichnis',
|
||||||
creativeWorks: 'begleitende Werke',
|
creativeWorks: 'begleitende Werke',
|
||||||
@@ -96,7 +96,7 @@ export class SCEventMeta
|
|||||||
remainingAttendeeCapacity: 'verfügbare Anzahl an Teilnehmern',
|
remainingAttendeeCapacity: 'verfügbare Anzahl an Teilnehmern',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
|
...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
|
||||||
academicTerms: 'academic terms',
|
academicTerms: 'academic terms',
|
||||||
catalogs: 'catalogs',
|
catalogs: 'catalogs',
|
||||||
creativeWorks: 'related material',
|
creativeWorks: 'related material',
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,10 +12,62 @@
|
|||||||
* 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 {SCThing, SCThingMeta, SCThingTranslatableProperties, SCThingWithoutReferences} from '../Thing';
|
// tslint:disable-next-line:no-implicit-dependencies
|
||||||
import {SCGeoInformation} from '../types/GeoInformation';
|
import {Point, Polygon} from 'geojson';
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
import {SCMetaTranslations, SCTranslations} from '../../general/i18n';
|
||||||
import {SCPostalAddress} from '../types/PostalAddress';
|
import {SCBuildingWithoutReferences} from '../building';
|
||||||
|
import {SCPointOfInterestWithoutReferences} from '../point-of-interest';
|
||||||
|
import {SCRoomWithoutReferences} from '../room';
|
||||||
|
import {SCThing, SCThingMeta, SCThingTranslatableProperties, SCThingWithoutReferences} from './thing';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Positional information
|
||||||
|
*/
|
||||||
|
export interface SCGeoInformation {
|
||||||
|
/**
|
||||||
|
* Center point of a place
|
||||||
|
*/
|
||||||
|
point: Point;
|
||||||
|
/**
|
||||||
|
* Shape of a place
|
||||||
|
*/
|
||||||
|
polygon?: Polygon;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A postal address
|
||||||
|
*/
|
||||||
|
export interface SCPostalAddress {
|
||||||
|
/**
|
||||||
|
* Country of the address
|
||||||
|
*/
|
||||||
|
addressCountry: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* City of the address
|
||||||
|
*/
|
||||||
|
addressLocality: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* State of the address
|
||||||
|
*/
|
||||||
|
addressRegion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Zip code of the address
|
||||||
|
*/
|
||||||
|
postalCode: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Optional post box number
|
||||||
|
*/
|
||||||
|
postOfficeBoxNumber?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Street of the address - with house number!
|
||||||
|
*/
|
||||||
|
streetAddress: string;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A place without references
|
* A place without references
|
||||||
@@ -37,7 +89,7 @@ export interface SCPlaceWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Opening hours of the place
|
* Opening hours of the place
|
||||||
*
|
*
|
||||||
* @see http://wiki.openstreetmap.org/wiki/Key:opening_hours/specification
|
* @see http://wiki.openstreetmap.org/wiki/Key:opening_hours/specification
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
@@ -106,3 +158,19 @@ export class SCPlaceWithoutReferencesMeta
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Something that is or happens in a place
|
||||||
|
*
|
||||||
|
* !Important!
|
||||||
|
* This is not a SCThing.
|
||||||
|
*/
|
||||||
|
export interface SCInPlace {
|
||||||
|
/**
|
||||||
|
* Place the thing is or happens in
|
||||||
|
*/
|
||||||
|
inPlace?:
|
||||||
|
SCBuildingWithoutReferences
|
||||||
|
| SCPointOfInterestWithoutReferences
|
||||||
|
| SCRoomWithoutReferences;
|
||||||
|
}
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
* 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 {SCThing, SCThingUserOrigin, SCThingWithoutReferences} from '../Thing';
|
import {SCThing, SCThingUserOrigin, SCThingWithoutReferences} from './thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An encapsulation of the data (e.g. a thing) that is saved, which provides additional information.
|
* An encapsulation of the data (e.g. a thing) that is saved, which provides additional information.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,9 +12,9 @@
|
|||||||
* 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 {SCThing, SCThingMeta} from '../Thing';
|
import {SCMetaTranslations} from '../../general/i18n';
|
||||||
import {SCMetaTranslations} from '../types/i18n';
|
import {SCInPlace} from './place';
|
||||||
import {SCInPlace} from '../types/Places';
|
import {SCThing, SCThingMeta} from './thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A thing that is or happens in a place
|
* A thing that is or happens in a place
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,8 +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 {SCThing, SCThingMeta, SCThingWithoutReferences} from '../Thing';
|
import {SCMetaTranslations} from '../../general/i18n';
|
||||||
import {SCMetaTranslations} from '../types/i18n';
|
import {SCThing, SCThingMeta, SCThingWithoutReferences} from './thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Types of payment that are accepted at a place.
|
* Types of payment that are accepted at a place.
|
||||||
@@ -52,11 +52,11 @@ export class SCThingThatAcceptsPaymentsWithoutReferencesMeta
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
|
...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.de,
|
||||||
paymentsAccepted: 'Bezahlmethoden',
|
paymentsAccepted: 'Bezahlmethoden',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
... SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
|
...SCThingMeta.getInstance<SCThingMeta>().fieldTranslations.en,
|
||||||
paymentsAccepted: 'accepted payment methods',
|
paymentsAccepted: 'accepted payment methods',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -66,7 +66,7 @@ export class SCThingThatAcceptsPaymentsWithoutReferencesMeta
|
|||||||
*/
|
*/
|
||||||
fieldValueTranslations = {
|
fieldValueTranslations = {
|
||||||
de: {
|
de: {
|
||||||
... SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
|
...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
|
||||||
paymentsAccepted: {
|
paymentsAccepted: {
|
||||||
'cafeteria card': 'Mensakarte',
|
'cafeteria card': 'Mensakarte',
|
||||||
'cash': 'Bar',
|
'cash': 'Bar',
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,12 +12,12 @@
|
|||||||
* 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 {SCThing, SCThingMeta, SCThingTranslatableProperties, SCThingWithoutReferences} from '../Thing';
|
import {SCMetaTranslations, SCTranslations} from '../../general/i18n';
|
||||||
import {SCOrganizationWithoutReferences} from '../things/Organization';
|
import {SCISO8601Date} from '../../general/time';
|
||||||
import {SCPersonWithoutReferences} from '../things/Person';
|
import {SCOrganizationWithoutReferences} from '../organization';
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
import {SCPersonWithoutReferences} from '../person';
|
||||||
import {SCInPlace} from '../types/Places';
|
import {SCInPlace} from './place';
|
||||||
import {SCISO8601Date} from '../types/Time';
|
import {SCThing, SCThingMeta, SCThingTranslatableProperties, SCThingWithoutReferences} from './thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default price without distinction
|
* Default price without distinction
|
||||||
@@ -25,7 +25,7 @@ import {SCISO8601Date} from '../types/Time';
|
|||||||
export interface SCPriceGroup {
|
export interface SCPriceGroup {
|
||||||
/**
|
/**
|
||||||
* Default price of the thing
|
* Default price of the thing
|
||||||
*
|
*
|
||||||
* @sortable price
|
* @sortable price
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
@@ -39,7 +39,7 @@ export interface SCAcademicPriceGroup
|
|||||||
extends SCPriceGroup {
|
extends SCPriceGroup {
|
||||||
/**
|
/**
|
||||||
* Price for employees
|
* Price for employees
|
||||||
*
|
*
|
||||||
* @sortable price
|
* @sortable price
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
@@ -47,7 +47,7 @@ export interface SCAcademicPriceGroup
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Price for guests
|
* Price for guests
|
||||||
*
|
*
|
||||||
* @sortable price
|
* @sortable price
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
@@ -55,7 +55,7 @@ export interface SCAcademicPriceGroup
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Price for students
|
* Price for students
|
||||||
*
|
*
|
||||||
* @sortable price
|
* @sortable price
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
@@ -127,7 +127,7 @@ export interface SCThingThatCanBeOfferedTranslatableProperties
|
|||||||
extends SCThingTranslatableProperties {
|
extends SCThingTranslatableProperties {
|
||||||
/**
|
/**
|
||||||
* Availability of an offer
|
* Availability of an offer
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
'offers[].availability'?: string;
|
'offers[].availability'?: string;
|
||||||
@@ -152,8 +152,8 @@ export type SCThingThatCanBeOfferedAvailability =
|
|||||||
/**
|
/**
|
||||||
* Meta information about a thing without references that accepts payments
|
* Meta information about a thing without references that accepts payments
|
||||||
*/
|
*/
|
||||||
export class SCThingThatCanBeOfferedMeta<T extends SCPriceGroup> implements
|
export class SCThingThatCanBeOfferedMeta<T extends SCPriceGroup>
|
||||||
SCMetaTranslations<SCThingThatCanBeOffered<T>> {
|
implements SCMetaTranslations<SCThingThatCanBeOffered<T>> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instance
|
* Instance
|
||||||
@@ -165,11 +165,11 @@ export class SCThingThatCanBeOfferedMeta<T extends SCPriceGroup> implements
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
... SCThingMeta.getInstance().fieldTranslations.de,
|
...SCThingMeta.getInstance().fieldTranslations.de,
|
||||||
offers: 'Angebote',
|
offers: 'Angebote',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
... SCThingMeta.getInstance().fieldTranslations.en,
|
...SCThingMeta.getInstance().fieldTranslations.en,
|
||||||
offers: 'offers',
|
offers: 'offers',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -177,12 +177,12 @@ export class SCThingThatCanBeOfferedMeta<T extends SCPriceGroup> implements
|
|||||||
/**
|
/**
|
||||||
* Translations of values of fields
|
* Translations of values of fields
|
||||||
*/
|
*/
|
||||||
fieldValueTranslations = {
|
fieldValueTranslations = {
|
||||||
de: {
|
de: {
|
||||||
... SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
|
...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.de,
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
... SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
|
...SCThingMeta.getInstance<SCThingMeta>().fieldValueTranslations.en,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -196,7 +196,9 @@ export class SCThingThatCanBeOfferedMeta<T extends SCPriceGroup> implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
return SCThingThatCanBeOfferedMeta._instance
|
return SCThingThatCanBeOfferedMeta._instance
|
||||||
.get(this.name) as SCThingThatCanBeOfferedMeta<T>;
|
.get(this.name) as SCThingThatCanBeOfferedMeta<T>;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected constructor() {
|
||||||
}
|
}
|
||||||
protected constructor() {}
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,9 +12,9 @@
|
|||||||
* 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 {SCThing, SCThingMeta, SCThingTranslatableProperties, SCThingWithoutReferences} from '../Thing';
|
import {SCMetaTranslations, SCTranslations} from '../../general/i18n';
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
import {SCMap} from '../../general/map';
|
||||||
import {SCMap} from '../types/Map';
|
import {SCThing, SCThingMeta, SCThingTranslatableProperties, SCThingWithoutReferences} from './thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A thing without references with categories
|
* A thing without references with categories
|
||||||
@@ -26,7 +26,7 @@ export interface SCThingWithCategoriesWithoutReferences<T, U extends SCThingWith
|
|||||||
extends SCThingWithoutReferences {
|
extends SCThingWithoutReferences {
|
||||||
/**
|
/**
|
||||||
* Categories of a thing with categories
|
* Categories of a thing with categories
|
||||||
*
|
*
|
||||||
* @sortable ducet
|
* @sortable ducet
|
||||||
* @aggregatable
|
* @aggregatable
|
||||||
*/
|
*/
|
||||||
@@ -75,35 +75,35 @@ export interface SCThingWithCategoriesTranslatableProperties
|
|||||||
export interface SCThingWithCategoriesSpecificValues {
|
export interface SCThingWithCategoriesSpecificValues {
|
||||||
/**
|
/**
|
||||||
* Category specific alternate names of a thing
|
* Category specific alternate names of a thing
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
alternateNames?: string[];
|
alternateNames?: string[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Category specific description of a thing
|
* Category specific description of a thing
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
description?: string;
|
description?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* URL of a category specific image of a thing
|
* URL of a category specific image of a thing
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
image?: string;
|
image?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Category specific name of a thing
|
* Category specific name of a thing
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
name?: string;
|
name?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Category specific URL of a thing
|
* Category specific URL of a thing
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
url?: string;
|
url?: string;
|
||||||
@@ -156,11 +156,11 @@ export class SCThingWithCategoriesWithoutReferencesMeta<T, U>
|
|||||||
public static getInstance<T, U>(): SCThingWithCategoriesWithoutReferencesMeta<T, U> {
|
public static getInstance<T, U>(): SCThingWithCategoriesWithoutReferencesMeta<T, U> {
|
||||||
if (!SCThingWithCategoriesWithoutReferencesMeta._instance.has(this.name)) {
|
if (!SCThingWithCategoriesWithoutReferencesMeta._instance.has(this.name)) {
|
||||||
SCThingWithCategoriesWithoutReferencesMeta._instance
|
SCThingWithCategoriesWithoutReferencesMeta._instance
|
||||||
.set(this.name, new SCThingWithCategoriesWithoutReferencesMeta<T, U>());
|
.set(this.name, new SCThingWithCategoriesWithoutReferencesMeta<T, U>());
|
||||||
}
|
}
|
||||||
|
|
||||||
return SCThingWithCategoriesWithoutReferencesMeta._instance
|
return SCThingWithCategoriesWithoutReferencesMeta._instance
|
||||||
.get(this.name) as SCThingWithCategoriesWithoutReferencesMeta<T, U>;
|
.get(this.name) as SCThingWithCategoriesWithoutReferencesMeta<T, U>;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected constructor() {
|
protected constructor() {
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,11 +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 {SCOrganizationWithoutReferences} from './things/Organization';
|
import {SCMetaTranslations, SCTranslations} from '../../general/i18n';
|
||||||
import {SCPersonWithoutReferences} from './things/Person';
|
import {SCISO8601Date} from '../../general/time';
|
||||||
import {SCMetaTranslations, SCTranslations} from './types/i18n';
|
import {SCUuid} from '../../general/uuid';
|
||||||
import {SCISO8601Date} from './types/Time';
|
import {SCOrganizationWithoutReferences} from '../organization';
|
||||||
import {SCUuid} from './types/UUID';
|
import {SCPersonWithoutReferences} from '../person';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Types a thing can be
|
* Types a thing can be
|
||||||
@@ -54,7 +54,7 @@ export enum SCThingType {
|
|||||||
export interface SCThingWithoutReferences {
|
export interface SCThingWithoutReferences {
|
||||||
/**
|
/**
|
||||||
* Alternate names of the thing
|
* Alternate names of the thing
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
alternateNames?: string[];
|
alternateNames?: string[];
|
||||||
@@ -67,7 +67,7 @@ export interface SCThingWithoutReferences {
|
|||||||
description?: string;
|
description?: string;
|
||||||
/**
|
/**
|
||||||
* URL of an image of the thing
|
* URL of an image of the thing
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
image?: string;
|
image?: string;
|
||||||
@@ -87,7 +87,7 @@ export interface SCThingWithoutReferences {
|
|||||||
translations?: SCTranslations<SCThingTranslatableProperties>;
|
translations?: SCTranslations<SCThingTranslatableProperties>;
|
||||||
/**
|
/**
|
||||||
* Type of the thing
|
* Type of the thing
|
||||||
*
|
*
|
||||||
* @sortable ducet
|
* @sortable ducet
|
||||||
* @aggregatable
|
* @aggregatable
|
||||||
*/
|
*/
|
||||||
@@ -153,7 +153,7 @@ export interface SCThingRemoteOrigin extends SCThingOrigin {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Name of the origin
|
* Name of the origin
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
name: string;
|
name: string;
|
||||||
@@ -212,13 +212,13 @@ export interface SCThingUserOrigin extends SCThingOrigin {
|
|||||||
export interface SCThingTranslatableProperties {
|
export interface SCThingTranslatableProperties {
|
||||||
/**
|
/**
|
||||||
* Translation of the description of the thing
|
* Translation of the description of the thing
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
description?: string;
|
description?: string;
|
||||||
/**
|
/**
|
||||||
* Translation of the name of the thing
|
* Translation of the name of the thing
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
name?: string;
|
name?: string;
|
||||||
@@ -234,7 +234,7 @@ export interface SCThingTranslatableProperties {
|
|||||||
export interface SCThingTranslatablePropertyOrigin {
|
export interface SCThingTranslatablePropertyOrigin {
|
||||||
/**
|
/**
|
||||||
* Translation of the name of the origin
|
* Translation of the name of the origin
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
name: string;
|
name: string;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,16 +12,16 @@
|
|||||||
* 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 {SCEvent, SCEventMeta, SCEventWithoutReferences} from '../base/Event';
|
import {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
|
import {SCEvent, SCEventMeta, SCEventWithoutReferences} from './abstract/event';
|
||||||
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {
|
import {
|
||||||
SCThingWithCategories,
|
SCThingWithCategories,
|
||||||
SCThingWithCategoriesSpecificValues,
|
SCThingWithCategoriesSpecificValues,
|
||||||
SCThingWithCategoriesTranslatableProperties,
|
SCThingWithCategoriesTranslatableProperties,
|
||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from '../base/ThingWithCategories';
|
} from './abstract/thing-with-categories';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An academic event without references
|
* An academic event without references
|
||||||
@@ -31,7 +31,7 @@ export interface SCAcademicEventWithoutReferences
|
|||||||
SCThingWithCategoriesWithoutReferences<SCAcademicEventCategories, SCThingWithCategoriesSpecificValues> {
|
SCThingWithCategoriesWithoutReferences<SCAcademicEventCategories, SCThingWithCategoriesSpecificValues> {
|
||||||
/**
|
/**
|
||||||
* Majors of the academic event that this event belongs to
|
* Majors of the academic event that this event belongs to
|
||||||
*
|
*
|
||||||
* @aggregatable
|
* @aggregatable
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
@@ -39,7 +39,7 @@ export interface SCAcademicEventWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Original unmapped category from the source of the academic event
|
* Original unmapped category from the source of the academic event
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
originalCategory?: string;
|
originalCategory?: string;
|
||||||
@@ -101,14 +101,14 @@ export interface SCAcademicEventTranslatableProperties
|
|||||||
extends SCThingWithCategoriesTranslatableProperties {
|
extends SCThingWithCategoriesTranslatableProperties {
|
||||||
/**
|
/**
|
||||||
* Translations of the majors of the academic event that this event belongs to
|
* Translations of the majors of the academic event that this event belongs to
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
majors?: string[];
|
majors?: string[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Translation of the original unmapped category from the source of the academic event
|
* Translation of the original unmapped category from the source of the academic event
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
originalCategory?: string;
|
originalCategory?: string;
|
||||||
@@ -126,19 +126,15 @@ export class SCAcademicEventMeta
|
|||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCEventMeta.getInstance<SCEventMeta>().fieldTranslations.de,
|
...SCEventMeta.getInstance<SCEventMeta>().fieldTranslations.de,
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCAcademicEventCategories,
|
||||||
SCAcademicEventCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.de,
|
|
||||||
majors: 'Hauptfächer',
|
majors: 'Hauptfächer',
|
||||||
originalCategory: 'ursprüngliche Kategorie',
|
originalCategory: 'ursprüngliche Kategorie',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCEventMeta.getInstance<SCEventMeta>().fieldTranslations.en,
|
...SCEventMeta.getInstance<SCEventMeta>().fieldTranslations.en,
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCAcademicEventCategories,
|
||||||
SCAcademicEventCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.en,
|
|
||||||
majors: 'majors',
|
majors: 'majors',
|
||||||
originalCategory: 'original category',
|
originalCategory: 'original category',
|
||||||
},
|
},
|
||||||
@@ -150,10 +146,8 @@ export class SCAcademicEventMeta
|
|||||||
fieldValueTranslations = {
|
fieldValueTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCEventMeta.getInstance<SCEventMeta>().fieldValueTranslations.de,
|
...SCEventMeta.getInstance<SCEventMeta>().fieldValueTranslations.de,
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCAcademicEventCategories,
|
||||||
SCAcademicEventCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
categories: {
|
categories: {
|
||||||
'colloquium': 'Kolloquium',
|
'colloquium': 'Kolloquium',
|
||||||
'course': 'Kurs',
|
'course': 'Kurs',
|
||||||
@@ -174,10 +168,8 @@ export class SCAcademicEventMeta
|
|||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCEventMeta.getInstance<SCEventMeta>().fieldValueTranslations.en,
|
...SCEventMeta.getInstance<SCEventMeta>().fieldValueTranslations.en,
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCAcademicEventCategories,
|
||||||
SCAcademicEventCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
type: SCThingType.AcademicEvent,
|
type: SCThingType.AcademicEvent,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,21 +12,21 @@
|
|||||||
* 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 {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
import {
|
import {
|
||||||
SCCreativeWork,
|
SCCreativeWork,
|
||||||
SCCreativeWorkMeta,
|
SCCreativeWorkMeta,
|
||||||
SCCreativeWorkTranslatableProperties,
|
SCCreativeWorkTranslatableProperties,
|
||||||
SCCreativeWorkWithoutReferences,
|
SCCreativeWorkWithoutReferences,
|
||||||
} from '../base/CreativeWork';
|
} from './abstract/creative-work';
|
||||||
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {
|
import {
|
||||||
SCThingWithCategories,
|
SCThingWithCategories,
|
||||||
SCThingWithCategoriesSpecificValues,
|
SCThingWithCategoriesSpecificValues,
|
||||||
SCThingWithCategoriesTranslatableProperties,
|
SCThingWithCategoriesTranslatableProperties,
|
||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from '../base/ThingWithCategories';
|
} from './abstract/thing-with-categories';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An article without references
|
* An article without references
|
||||||
@@ -36,7 +36,7 @@ export interface SCArticleWithoutReferences
|
|||||||
SCThingWithCategoriesWithoutReferences<SCArticleCategories, SCThingWithCategoriesSpecificValues> {
|
SCThingWithCategoriesWithoutReferences<SCArticleCategories, SCThingWithCategoriesSpecificValues> {
|
||||||
/**
|
/**
|
||||||
* Article itself as markdown
|
* Article itself as markdown
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
articleBody: string;
|
articleBody: string;
|
||||||
@@ -84,7 +84,7 @@ export interface SCArticleTranslatableProperties
|
|||||||
extends SCThingWithCategoriesTranslatableProperties, SCCreativeWorkTranslatableProperties {
|
extends SCThingWithCategoriesTranslatableProperties, SCCreativeWorkTranslatableProperties {
|
||||||
/**
|
/**
|
||||||
* Translation of the article itself as markdown
|
* Translation of the article itself as markdown
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
articleBody?: string[];
|
articleBody?: string[];
|
||||||
@@ -102,19 +102,15 @@ export class SCArticleMeta
|
|||||||
de: {
|
de: {
|
||||||
...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
|
...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
|
||||||
.de,
|
.de,
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCArticleCategories,
|
||||||
SCArticleCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.de,
|
|
||||||
articleBody: 'Artikelinhalt',
|
articleBody: 'Artikelinhalt',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
|
...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>().fieldTranslations
|
||||||
.en,
|
.en,
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCArticleCategories,
|
||||||
SCArticleCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.en,
|
|
||||||
articleBody: 'article body',
|
articleBody: 'article body',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -126,10 +122,8 @@ export class SCArticleMeta
|
|||||||
de: {
|
de: {
|
||||||
...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
|
...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
|
||||||
.fieldValueTranslations.de,
|
.fieldValueTranslations.de,
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCArticleCategories,
|
||||||
SCArticleCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
categories: {
|
categories: {
|
||||||
'unipedia': 'Unipedia',
|
'unipedia': 'Unipedia',
|
||||||
},
|
},
|
||||||
@@ -138,10 +132,8 @@ export class SCArticleMeta
|
|||||||
en: {
|
en: {
|
||||||
...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
|
...SCCreativeWorkMeta.getInstance<SCCreativeWorkMeta>()
|
||||||
.fieldValueTranslations.en,
|
.fieldValueTranslations.en,
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCArticleCategories,
|
||||||
SCArticleCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
type: SCThingType.Article,
|
type: SCThingType.Article,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,16 +12,16 @@
|
|||||||
* 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 {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
import {
|
import {
|
||||||
SCCreativeWork,
|
SCCreativeWork,
|
||||||
SCCreativeWorkMeta,
|
SCCreativeWorkMeta,
|
||||||
SCCreativeWorkTranslatableProperties,
|
SCCreativeWorkTranslatableProperties,
|
||||||
SCCreativeWorkWithoutReferences,
|
SCCreativeWorkWithoutReferences,
|
||||||
} from '../base/CreativeWork';
|
} from './abstract/creative-work';
|
||||||
import {SCThingWithCategoriesTranslatableProperties} from '../base/ThingWithCategories';
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
import {SCThingWithCategoriesTranslatableProperties} from './abstract/thing-with-categories';
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
import {SCPersonWithoutReferences} from './person';
|
||||||
import {SCPersonWithoutReferences} from './Person';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A book without references
|
* A book without references
|
||||||
@@ -30,21 +30,21 @@ export interface SCBookWithoutReferences
|
|||||||
extends SCCreativeWorkWithoutReferences {
|
extends SCCreativeWorkWithoutReferences {
|
||||||
/**
|
/**
|
||||||
* Edition of a book
|
* Edition of a book
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
bookEdition?: string;
|
bookEdition?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ISBN of a book
|
* ISBN of a book
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
isbn: string;
|
isbn: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Number of pages of a book
|
* Number of pages of a book
|
||||||
*
|
*
|
||||||
* @integer
|
* @integer
|
||||||
*/
|
*/
|
||||||
numberOfPages?: number;
|
numberOfPages?: number;
|
||||||
@@ -91,7 +91,7 @@ export interface SCBookTranslatableFields
|
|||||||
extends SCThingWithCategoriesTranslatableProperties, SCCreativeWorkTranslatableProperties {
|
extends SCThingWithCategoriesTranslatableProperties, SCCreativeWorkTranslatableProperties {
|
||||||
/**
|
/**
|
||||||
* Translation of an edition of a book
|
* Translation of an edition of a book
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
bookEdition?: string;
|
bookEdition?: string;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,21 +12,21 @@
|
|||||||
* 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 {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
import {
|
import {
|
||||||
SCPlace,
|
SCPlace,
|
||||||
SCPlaceWithoutReferences,
|
SCPlaceWithoutReferences,
|
||||||
SCPlaceWithoutReferencesMeta,
|
SCPlaceWithoutReferencesMeta,
|
||||||
SCPlaceWithoutReferencesTranslatableProperties,
|
SCPlaceWithoutReferencesTranslatableProperties,
|
||||||
} from '../base/Place';
|
} from './abstract/place';
|
||||||
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {
|
import {
|
||||||
SCThingWithCategories,
|
SCThingWithCategories,
|
||||||
SCThingWithCategoriesSpecificValues,
|
SCThingWithCategoriesSpecificValues,
|
||||||
SCThingWithCategoriesTranslatableProperties,
|
SCThingWithCategoriesTranslatableProperties,
|
||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from '../base/ThingWithCategories';
|
} from './abstract/thing-with-categories';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
|
||||||
|
|
||||||
export type SCBuildingCategories =
|
export type SCBuildingCategories =
|
||||||
'cafe'
|
'cafe'
|
||||||
@@ -43,7 +43,7 @@ export interface SCBuildingWithoutReferences
|
|||||||
SCPlaceWithoutReferences {
|
SCPlaceWithoutReferences {
|
||||||
/**
|
/**
|
||||||
* Categories of a building
|
* Categories of a building
|
||||||
*
|
*
|
||||||
* @sortable ducet
|
* @sortable ducet
|
||||||
* @aggregatable
|
* @aggregatable
|
||||||
*/
|
*/
|
||||||
@@ -51,7 +51,7 @@ export interface SCBuildingWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* List of floor names of the place
|
* List of floor names of the place
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
floors?: string[];
|
floors?: string[];
|
||||||
@@ -106,23 +106,15 @@ export class SCBuildingMeta
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCBuildingCategories,
|
||||||
SCBuildingCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldTranslations.de,
|
||||||
>().fieldTranslations.de,
|
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
|
||||||
SCPlaceWithoutReferencesMeta
|
|
||||||
>().fieldTranslations.de,
|
|
||||||
floors: 'Etagen',
|
floors: 'Etagen',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCBuildingCategories,
|
||||||
SCBuildingCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldTranslations.en,
|
||||||
>().fieldTranslations.en,
|
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
|
||||||
SCPlaceWithoutReferencesMeta
|
|
||||||
>().fieldTranslations.en,
|
|
||||||
floors: 'floors',
|
floors: 'floors',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -132,13 +124,9 @@ export class SCBuildingMeta
|
|||||||
*/
|
*/
|
||||||
fieldValueTranslations = {
|
fieldValueTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCBuildingCategories,
|
||||||
SCBuildingCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldValueTranslations.de,
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
|
||||||
SCPlaceWithoutReferencesMeta
|
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
categories: {
|
categories: {
|
||||||
'cafe': 'Café',
|
'cafe': 'Café',
|
||||||
'canteen': 'Kantine',
|
'canteen': 'Kantine',
|
||||||
@@ -152,13 +140,9 @@ export class SCBuildingMeta
|
|||||||
type: 'Gebäude',
|
type: 'Gebäude',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCBuildingCategories,
|
||||||
SCBuildingCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldValueTranslations.en,
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
|
||||||
SCPlaceWithoutReferencesMeta
|
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
type: SCThingType.Building,
|
type: SCThingType.Building,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,16 +12,16 @@
|
|||||||
* 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 {SCAcademicTermWithoutReferences} from '../base/AcademicTerm';
|
import {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
|
import {SCAcademicTermWithoutReferences} from './abstract/academic-term';
|
||||||
|
import {SCThing, SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {
|
import {
|
||||||
SCThingWithCategories,
|
SCThingWithCategories,
|
||||||
SCThingWithCategoriesSpecificValues,
|
SCThingWithCategoriesSpecificValues,
|
||||||
SCThingWithCategoriesTranslatableProperties,
|
SCThingWithCategoriesTranslatableProperties,
|
||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from '../base/ThingWithCategories';
|
} from './abstract/thing-with-categories';
|
||||||
import {SCThing, SCThingMeta, SCThingType} from '../Thing';
|
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A catalog without references
|
* A catalog without references
|
||||||
@@ -32,7 +32,7 @@ export interface SCCatalogWithoutReferences
|
|||||||
* Level of the catalog (0 for 'root catalog', 1 for its subcatalog, 2 for its subcatalog etc.)
|
* Level of the catalog (0 for 'root catalog', 1 for its subcatalog, 2 for its subcatalog etc.)
|
||||||
*
|
*
|
||||||
* Needed for keeping order in catalog inheritance array.
|
* Needed for keeping order in catalog inheritance array.
|
||||||
*
|
*
|
||||||
* @integer
|
* @integer
|
||||||
*/
|
*/
|
||||||
level: number;
|
level: number;
|
||||||
@@ -46,7 +46,7 @@ export interface SCCatalogWithoutReferences
|
|||||||
/**
|
/**
|
||||||
* A catalog
|
* A catalog
|
||||||
*
|
*
|
||||||
* @validatable
|
* @validatable
|
||||||
* @indexable
|
* @indexable
|
||||||
*/
|
*/
|
||||||
export interface SCCatalog
|
export interface SCCatalog
|
||||||
@@ -88,20 +88,16 @@ export class SCCatalogMeta
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCCatalogCategories,
|
||||||
SCCatalogCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.de,
|
|
||||||
academicTerm: 'Semester',
|
academicTerm: 'Semester',
|
||||||
level: 'Ebene',
|
level: 'Ebene',
|
||||||
superCatalog: 'übergeordnetes Verzeichniss',
|
superCatalog: 'übergeordnetes Verzeichniss',
|
||||||
superCatalogs: 'übergeordnete Verzeichnisse',
|
superCatalogs: 'übergeordnete Verzeichnisse',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCCatalogCategories,
|
||||||
SCCatalogCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.en,
|
|
||||||
academicTerm: 'academic term',
|
academicTerm: 'academic term',
|
||||||
level: 'level',
|
level: 'level',
|
||||||
superCatalog: 'parent catalog',
|
superCatalog: 'parent catalog',
|
||||||
@@ -114,20 +110,16 @@ export class SCCatalogMeta
|
|||||||
*/
|
*/
|
||||||
fieldValueTranslations = {
|
fieldValueTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCCatalogCategories,
|
||||||
SCCatalogCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
categories: {
|
categories: {
|
||||||
'university events': 'Universitätsveranstaltung',
|
'university events': 'Universitätsveranstaltung',
|
||||||
},
|
},
|
||||||
type: 'Verzeichnis',
|
type: 'Verzeichnis',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCCatalogCategories,
|
||||||
SCCatalogCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
type: SCThingType.Catalog,
|
type: SCThingType.Catalog,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,18 +12,18 @@
|
|||||||
* 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 {SCAcademicDegree, SCAcademicDegreeMeta, SCAcademicDegreeWithoutReferences} from '../base/AcademicDegree';
|
import {SCLanguage, SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
|
import {SCAcademicDegree, SCAcademicDegreeMeta, SCAcademicDegreeWithoutReferences} from './abstract/academic-degree';
|
||||||
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {
|
import {
|
||||||
SCAcademicPriceGroup,
|
SCAcademicPriceGroup,
|
||||||
SCThingThatCanBeOffered,
|
SCThingThatCanBeOffered,
|
||||||
SCThingThatCanBeOfferedMeta,
|
SCThingThatCanBeOfferedMeta,
|
||||||
SCThingThatCanBeOfferedTranslatableProperties,
|
SCThingThatCanBeOfferedTranslatableProperties,
|
||||||
SCThingThatCanBeOfferedWithoutReferences,
|
SCThingThatCanBeOfferedWithoutReferences,
|
||||||
} from '../base/ThingThatCanBeOffered';
|
} from './abstract/thing-that-can-be-offered';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
import {SCDateSeriesWithoutReferences} from './date-series';
|
||||||
import {SCLanguage, SCMetaTranslations, SCTranslations} from '../types/i18n';
|
import {SCOrganizationWithoutReferences} from './organization';
|
||||||
import {SCDateSeriesWithoutReferences} from './DateSeries';
|
|
||||||
import {SCOrganizationWithoutReferences} from './Organization';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A course of studies without references
|
* A course of studies without references
|
||||||
@@ -38,7 +38,7 @@ export interface SCCourseOfStudiesWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Actual major of the course of studies (eg. physics)
|
* Actual major of the course of studies (eg. physics)
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
major: string;
|
major: string;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,20 +12,20 @@
|
|||||||
* 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 {SCThingInPlace, SCThingInPlaceMeta} from '../base/ThingInPlace';
|
import {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
|
import {SCISO8601Date, SCISO8601Duration} from '../general/time';
|
||||||
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
|
import {SCThingInPlace, SCThingInPlaceMeta} from './abstract/thing-in-place';
|
||||||
import {
|
import {
|
||||||
SCAcademicPriceGroup,
|
SCAcademicPriceGroup,
|
||||||
SCThingThatCanBeOffered,
|
SCThingThatCanBeOffered,
|
||||||
|
SCThingThatCanBeOfferedMeta,
|
||||||
SCThingThatCanBeOfferedTranslatableProperties,
|
SCThingThatCanBeOfferedTranslatableProperties,
|
||||||
SCThingThatCanBeOfferedWithoutReferences,
|
SCThingThatCanBeOfferedWithoutReferences,
|
||||||
} from '../base/ThingThatCanBeOffered';
|
} from './abstract/thing-that-can-be-offered';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
import {SCAcademicEventWithoutReferences} from './academic-event';
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
import {SCPersonWithoutReferences} from './person';
|
||||||
import {SCISO8601Date, SCISO8601Duration} from '../types/Time';
|
import {SCSportCourseWithoutReferences} from './sport-course';
|
||||||
import {SCThingThatCanBeOfferedMeta} from './../base/ThingThatCanBeOffered';
|
|
||||||
import {SCAcademicEventWithoutReferences} from './AcademicEvent';
|
|
||||||
import {SCPersonWithoutReferences} from './Person';
|
|
||||||
import {SCSportCourseWithoutReferences} from './SportCourse';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Price groups for sport courses
|
* Price groups for sport courses
|
||||||
@@ -34,7 +34,7 @@ export interface SCSportCoursePriceGroup
|
|||||||
extends SCAcademicPriceGroup {
|
extends SCAcademicPriceGroup {
|
||||||
/**
|
/**
|
||||||
* Price for alumnis
|
* Price for alumnis
|
||||||
*
|
*
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
alumni?: number;
|
alumni?: number;
|
||||||
@@ -62,7 +62,7 @@ export interface SCDateSeriesWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Frequency of the date series
|
* Frequency of the date series
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
frequency: string;
|
frequency: string;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -13,10 +13,10 @@
|
|||||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import * as jsonpatch from 'json-patch';
|
import * as jsonpatch from 'json-patch';
|
||||||
import {SCThingsWithoutDiff} from '../Classes';
|
import {SCMetaTranslations} from '../general/i18n';
|
||||||
import {SCThing, SCThingMeta, SCThingType, SCThingWithoutReferences} from '../Thing';
|
import {SCISO8601Date} from '../general/time';
|
||||||
import {SCMetaTranslations} from '../types/i18n';
|
import {SCThingsWithoutDiff} from '../meta';
|
||||||
import {SCISO8601Date} from '../types/Time';
|
import {SCThing, SCThingMeta, SCThingType, SCThingWithoutReferences} from './abstract/thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A diff without references
|
* A diff without references
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,22 +12,22 @@
|
|||||||
* 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 {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {
|
import {
|
||||||
SCAcademicPriceGroup,
|
SCAcademicPriceGroup,
|
||||||
SCThingThatCanBeOffered,
|
SCThingThatCanBeOffered,
|
||||||
|
SCThingThatCanBeOfferedMeta,
|
||||||
SCThingThatCanBeOfferedTranslatableProperties,
|
SCThingThatCanBeOfferedTranslatableProperties,
|
||||||
SCThingThatCanBeOfferedWithoutReferences,
|
SCThingThatCanBeOfferedWithoutReferences,
|
||||||
} from '../base/ThingThatCanBeOffered';
|
} from './abstract/thing-that-can-be-offered';
|
||||||
import {
|
import {
|
||||||
SCThingWithCategories,
|
SCThingWithCategories,
|
||||||
SCThingWithCategoriesSpecificValues,
|
SCThingWithCategoriesSpecificValues,
|
||||||
SCThingWithCategoriesTranslatableProperties,
|
SCThingWithCategoriesTranslatableProperties,
|
||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from '../base/ThingWithCategories';
|
} from './abstract/thing-with-categories';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
|
||||||
import {SCThingThatCanBeOfferedMeta} from './../base/ThingThatCanBeOffered';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A dish without references
|
* A dish without references
|
||||||
@@ -37,14 +37,14 @@ export interface SCDishWithoutReferences
|
|||||||
SCThingWithCategoriesWithoutReferences<SCDishCategories, SCThingWithCategoriesSpecificValues> {
|
SCThingWithCategoriesWithoutReferences<SCDishCategories, SCThingWithCategoriesSpecificValues> {
|
||||||
/**
|
/**
|
||||||
* Additives of the dish
|
* Additives of the dish
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
additives?: string[];
|
additives?: string[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Category of the dish
|
* Category of the dish
|
||||||
*
|
*
|
||||||
* @sortable ducet
|
* @sortable ducet
|
||||||
* @aggregatable
|
* @aggregatable
|
||||||
*/
|
*/
|
||||||
@@ -110,14 +110,14 @@ export interface SCDishTranslatableProperties
|
|||||||
export interface SCDishCharacteristic {
|
export interface SCDishCharacteristic {
|
||||||
/**
|
/**
|
||||||
* URL of an image of the characteristic
|
* URL of an image of the characteristic
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
image?: string;
|
image?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Name of the characteristic
|
* Name of the characteristic
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
name: string;
|
name: string;
|
||||||
@@ -142,49 +142,49 @@ export type SCDishCategories =
|
|||||||
export interface SCNutritionInformation {
|
export interface SCNutritionInformation {
|
||||||
/**
|
/**
|
||||||
* Number of calories contained (in kcal)
|
* Number of calories contained (in kcal)
|
||||||
*
|
*
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
calories?: number;
|
calories?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content of carbohydrates (in grams)
|
* Content of carbohydrates (in grams)
|
||||||
*
|
*
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
carbohydrateContent?: number;
|
carbohydrateContent?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content of fat (in grams)
|
* Content of fat (in grams)
|
||||||
*
|
*
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
fatContent?: number;
|
fatContent?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content of proteins (in grams)
|
* Content of proteins (in grams)
|
||||||
*
|
*
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
proteinContent?: number;
|
proteinContent?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content of salt (in grams)
|
* Content of salt (in grams)
|
||||||
*
|
*
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
saltContent?: number;
|
saltContent?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content of saturated fat (in grams)
|
* Content of saturated fat (in grams)
|
||||||
*
|
*
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
saturatedFatContent?: number;
|
saturatedFatContent?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content of sugar (in grams)
|
* Content of sugar (in grams)
|
||||||
*
|
*
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
sugarContent?: number;
|
sugarContent?: number;
|
||||||
@@ -201,10 +201,8 @@ export class SCDishMeta
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCDishCategories,
|
||||||
SCDishCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.de,
|
|
||||||
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
|
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
|
||||||
.fieldTranslations.de,
|
.fieldTranslations.de,
|
||||||
additives: 'Zusatzstoffe',
|
additives: 'Zusatzstoffe',
|
||||||
@@ -213,10 +211,8 @@ export class SCDishMeta
|
|||||||
nutrition: 'Nährwertangaben',
|
nutrition: 'Nährwertangaben',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCDishCategories,
|
||||||
SCDishCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.en,
|
|
||||||
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
|
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
|
||||||
.fieldTranslations.en,
|
.fieldTranslations.en,
|
||||||
additives: 'additives',
|
additives: 'additives',
|
||||||
@@ -231,10 +227,8 @@ export class SCDishMeta
|
|||||||
*/
|
*/
|
||||||
fieldValueTranslations = {
|
fieldValueTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCDishCategories,
|
||||||
SCDishCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
|
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
|
||||||
.fieldValueTranslations.de,
|
.fieldValueTranslations.de,
|
||||||
categories: {
|
categories: {
|
||||||
@@ -248,10 +242,8 @@ export class SCDishMeta
|
|||||||
type: 'Essen',
|
type: 'Essen',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCDishCategories,
|
||||||
SCDishCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
|
...SCThingThatCanBeOfferedMeta.getInstance<SCAcademicPriceGroup>()
|
||||||
.fieldValueTranslations.en,
|
.fieldValueTranslations.en,
|
||||||
type: SCThingType.Dish,
|
type: SCThingType.Dish,
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,17 +12,17 @@
|
|||||||
* 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 {SCSaveableThing, SCSaveableThingWithoutReferences} from '../base/SaveableThing';
|
import {SCSaveableThing, SCSaveableThingWithoutReferences} from './abstract/saveable-thing';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {SCAcademicEventWithoutReferences} from './AcademicEvent';
|
import {SCAcademicEventWithoutReferences} from './academic-event';
|
||||||
import {SCArticleWithoutReferences} from './Article';
|
import {SCArticleWithoutReferences} from './article';
|
||||||
import {SCBookWithoutReferences} from './Book';
|
import {SCBookWithoutReferences} from './book';
|
||||||
import {SCBuildingWithoutReferences} from './Building';
|
import {SCBuildingWithoutReferences} from './building';
|
||||||
import {SCPersonWithoutReferences} from './Person';
|
import {SCPersonWithoutReferences} from './person';
|
||||||
import {SCPointOfInterestWithoutReferences} from './PointOfInterest';
|
import {SCPointOfInterestWithoutReferences} from './point-of-interest';
|
||||||
import {SCRoomWithoutReferences} from './Room';
|
import {SCRoomWithoutReferences} from './room';
|
||||||
import {SCSportCourseWithoutReferences} from './SportCourse';
|
import {SCSportCourseWithoutReferences} from './sport-course';
|
||||||
import {SCToDoWithoutReferences} from './ToDo';
|
import {SCToDoWithoutReferences} from './todo';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Types that can be made a favorite (added as a favorite)
|
* Types that can be made a favorite (added as a favorite)
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -14,11 +14,11 @@
|
|||||||
*/
|
*/
|
||||||
// tslint:disable-next-line:no-implicit-dependencies
|
// tslint:disable-next-line:no-implicit-dependencies
|
||||||
import {Feature, FeatureCollection, GeometryObject, LineString} from 'geojson';
|
import {Feature, FeatureCollection, GeometryObject, LineString} from 'geojson';
|
||||||
import {SCThingInPlace, SCThingInPlaceMeta} from '../base/ThingInPlace';
|
import {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
import {SCThingMeta, SCThingTranslatableProperties, SCThingType, SCThingWithoutReferences} from '../Thing';
|
import {SCThingMeta, SCThingTranslatableProperties, SCThingType, SCThingWithoutReferences} from './abstract/thing';
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
import {SCThingInPlace, SCThingInPlaceMeta} from './abstract/thing-in-place';
|
||||||
import {SCPointOfInterestWithoutReferences} from './PointOfInterest';
|
import {SCPointOfInterestWithoutReferences} from './point-of-interest';
|
||||||
import {SCRoomWithoutReferences} from './Room';
|
import {SCRoomWithoutReferences} from './room';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A floor without references
|
* A floor without references
|
||||||
@@ -27,7 +27,7 @@ export interface SCFloorWithoutReferences
|
|||||||
extends SCThingWithoutReferences {
|
extends SCThingWithoutReferences {
|
||||||
/**
|
/**
|
||||||
* Floor name in the place it is in e.g. "first floor", "ground floor". This doesn't reference the building name.
|
* Floor name in the place it is in e.g. "first floor", "ground floor". This doesn't reference the building name.
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
floorName: string;
|
floorName: string;
|
||||||
@@ -96,7 +96,7 @@ export interface SCFloorTranslatableProperties
|
|||||||
extends SCThingTranslatableProperties {
|
extends SCThingTranslatableProperties {
|
||||||
/**
|
/**
|
||||||
* Translation of the floor name
|
* Translation of the floor name
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
floorName?: string;
|
floorName?: string;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,16 +12,16 @@
|
|||||||
* 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 {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
|
import {SCISO8601Date} from '../general/time';
|
||||||
import {
|
import {
|
||||||
SCCreativeWork,
|
SCCreativeWork,
|
||||||
SCCreativeWorkMeta,
|
SCCreativeWorkMeta,
|
||||||
SCCreativeWorkTranslatableProperties,
|
SCCreativeWorkTranslatableProperties,
|
||||||
SCCreativeWorkWithoutReferences,
|
SCCreativeWorkWithoutReferences,
|
||||||
} from '../base/CreativeWork';
|
} from './abstract/creative-work';
|
||||||
import {SCThingThatCanBeOfferedTranslatableProperties} from '../base/ThingThatCanBeOffered';
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
import {SCThingThatCanBeOfferedTranslatableProperties} from './abstract/thing-that-can-be-offered';
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
|
||||||
import {SCISO8601Date} from '../types/Time';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A message without references
|
* A message without references
|
||||||
@@ -40,7 +40,7 @@ export interface SCMessageWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Message itself
|
* Message itself
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
messageBody: string;
|
messageBody: string;
|
||||||
@@ -90,7 +90,7 @@ export interface SCMessageTranslatableProperties
|
|||||||
extends SCCreativeWorkTranslatableProperties, SCThingThatCanBeOfferedTranslatableProperties {
|
extends SCCreativeWorkTranslatableProperties, SCThingThatCanBeOfferedTranslatableProperties {
|
||||||
/**
|
/**
|
||||||
* Message itself
|
* Message itself
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
messageBody?: string;
|
messageBody?: string;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,9 +12,9 @@
|
|||||||
* 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 {SCThingInPlace, SCThingInPlaceMeta} from '../base/ThingInPlace';
|
import {SCMetaTranslations} from '../general/i18n';
|
||||||
import {SCThingMeta, SCThingType, SCThingWithoutReferences} from '../Thing';
|
import {SCThingMeta, SCThingType, SCThingWithoutReferences} from './abstract/thing';
|
||||||
import {SCMetaTranslations} from '../types/i18n';
|
import {SCThingInPlace, SCThingInPlaceMeta} from './abstract/thing-in-place';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An organization without references
|
* An organization without references
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,13 +12,13 @@
|
|||||||
* 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 {SCThing, SCThingMeta, SCThingType, SCThingWithoutReferences} from '../Thing';
|
import {SCMetaTranslations, SCNationality} from '../general/i18n';
|
||||||
import {SCMetaTranslations, SCNationality} from '../types/i18n';
|
import {SCISO8601Date} from '../general/time';
|
||||||
import {SCISO8601Date} from '../types/Time';
|
import {SCThing, SCThingMeta, SCThingType, SCThingWithoutReferences} from './abstract/thing';
|
||||||
import {SCBuildingWithoutReferences} from './Building';
|
import {SCBuildingWithoutReferences} from './building';
|
||||||
import {SCOrganizationWithoutReferences} from './Organization';
|
import {SCOrganizationWithoutReferences} from './organization';
|
||||||
import {SCPointOfInterestWithoutReferences} from './PointOfInterest';
|
import {SCPointOfInterestWithoutReferences} from './point-of-interest';
|
||||||
import {SCRoomWithoutReferences} from './Room';
|
import {SCRoomWithoutReferences} from './room';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A person without references
|
* A person without references
|
||||||
@@ -27,7 +27,7 @@ export interface SCPersonWithoutReferences
|
|||||||
extends SCThingWithoutReferences {
|
extends SCThingWithoutReferences {
|
||||||
/**
|
/**
|
||||||
* Additional first names of the person.
|
* Additional first names of the person.
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
additionalName?: string;
|
additionalName?: string;
|
||||||
@@ -41,21 +41,21 @@ export interface SCPersonWithoutReferences
|
|||||||
* The private email address of the person.
|
* The private email address of the person.
|
||||||
*
|
*
|
||||||
* @TJS-format email
|
* @TJS-format email
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
email?: string;
|
email?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The family name of the person.
|
* The family name of the person.
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
familyName: string;
|
familyName: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The private fax number of the person.
|
* The private fax number of the person.
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
faxNumber?: string;
|
faxNumber?: string;
|
||||||
@@ -67,35 +67,35 @@ export interface SCPersonWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* The first name of the person.
|
* The first name of the person.
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
givenName: string;
|
givenName: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Honorific prefix of the person.
|
* Honorific prefix of the person.
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
honorificPrefix?: string;
|
honorificPrefix?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Honorific suffix of the person.
|
* Honorific suffix of the person.
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
honorificSuffix?: string;
|
honorificSuffix?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Titles of jobs that the person has.
|
* Titles of jobs that the person has.
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
jobTitles?: string[];
|
jobTitles?: string[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The complete name of the person combining all the parts of the name into one.
|
* The complete name of the person combining all the parts of the name into one.
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
name: string;
|
name: string;
|
||||||
@@ -107,7 +107,7 @@ export interface SCPersonWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* The private telephone number of the person.
|
* The private telephone number of the person.
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
telephone?: string;
|
telephone?: string;
|
||||||
@@ -231,35 +231,35 @@ export interface SCContactPoint {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* E-mail at the work location
|
* E-mail at the work location
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
email?: string;
|
email?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fax number at the work location
|
* Fax number at the work location
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
faxNumber?: string;
|
faxNumber?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Times available for contacting at the work location
|
* Times available for contacting at the work location
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
hoursAvailable?: string;
|
hoursAvailable?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contact number at the work location
|
* Contact number at the work location
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
telephone?: string;
|
telephone?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* URL at the work location
|
* URL at the work location
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
url?: string;
|
url?: string;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,17 +12,17 @@
|
|||||||
* 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 {SCPlace, SCPlaceWithoutReferences, SCPlaceWithoutReferencesMeta} from '../base/Place';
|
import {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
import {SCThingInPlace, SCThingInPlaceMeta} from '../base/ThingInPlace';
|
import {SCPlace, SCPlaceWithoutReferences, SCPlaceWithoutReferencesMeta} from './abstract/place';
|
||||||
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
|
import {SCThingInPlace, SCThingInPlaceMeta} from './abstract/thing-in-place';
|
||||||
import {
|
import {
|
||||||
SCThingWithCategories,
|
SCThingWithCategories,
|
||||||
SCThingWithCategoriesSpecificValues,
|
SCThingWithCategoriesSpecificValues,
|
||||||
SCThingWithCategoriesTranslatableProperties,
|
SCThingWithCategoriesTranslatableProperties,
|
||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from '../base/ThingWithCategories';
|
} from './abstract/thing-with-categories';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A point of interest without references
|
* A point of interest without references
|
||||||
@@ -82,24 +82,16 @@ export class SCPointOfInterestMeta
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCPointOfInterestCategories,
|
||||||
SCPointOfInterestCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldTranslations.de,
|
||||||
>().fieldTranslations.de,
|
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
|
||||||
SCPlaceWithoutReferencesMeta
|
|
||||||
>().fieldTranslations.de,
|
|
||||||
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
|
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
|
||||||
.de,
|
.de,
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCPointOfInterestCategories,
|
||||||
SCPointOfInterestCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldTranslations.en,
|
||||||
>().fieldTranslations.en,
|
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
|
||||||
SCPlaceWithoutReferencesMeta
|
|
||||||
>().fieldTranslations.en,
|
|
||||||
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
|
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
|
||||||
.en,
|
.en,
|
||||||
},
|
},
|
||||||
@@ -110,13 +102,9 @@ export class SCPointOfInterestMeta
|
|||||||
*/
|
*/
|
||||||
fieldValueTranslations = {
|
fieldValueTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCPointOfInterestCategories,
|
||||||
SCPointOfInterestCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldValueTranslations.de,
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
|
||||||
SCPlaceWithoutReferencesMeta
|
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
categories: {
|
categories: {
|
||||||
'card charger': 'Kartenaufwerter',
|
'card charger': 'Kartenaufwerter',
|
||||||
'computer': 'Computer',
|
'computer': 'Computer',
|
||||||
@@ -127,13 +115,9 @@ export class SCPointOfInterestMeta
|
|||||||
type: 'Sonderziel',
|
type: 'Sonderziel',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCPointOfInterestCategories,
|
||||||
SCPointOfInterestCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldValueTranslations.en,
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
|
||||||
SCPlaceWithoutReferencesMeta
|
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
type: SCThingType.PointOfInterest,
|
type: SCThingType.PointOfInterest,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,24 +12,24 @@
|
|||||||
* 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 {SCPlace, SCPlaceWithoutReferences, SCPlaceWithoutReferencesMeta} from '../base/Place';
|
import {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
import {SCThingInPlace, SCThingInPlaceMeta} from '../base/ThingInPlace';
|
import {SCMap} from '../general/map';
|
||||||
|
import {SCPlace, SCPlaceWithoutReferences, SCPlaceWithoutReferencesMeta} from './abstract/place';
|
||||||
|
|
||||||
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
|
import {SCThingInPlace, SCThingInPlaceMeta} from './abstract/thing-in-place';
|
||||||
import {
|
import {
|
||||||
SCThingThatAcceptsPayments,
|
SCThingThatAcceptsPayments,
|
||||||
SCThingThatAcceptsPaymentsWithoutReferences,
|
SCThingThatAcceptsPaymentsWithoutReferences,
|
||||||
SCThingThatAcceptsPaymentsWithoutReferencesMeta,
|
SCThingThatAcceptsPaymentsWithoutReferencesMeta,
|
||||||
} from '../base/ThingThatAcceptsPayments';
|
} from './abstract/thing-that-accepts-payments';
|
||||||
import {
|
import {
|
||||||
SCThingWithCategories,
|
SCThingWithCategories,
|
||||||
SCThingWithCategoriesSpecificValues,
|
SCThingWithCategoriesSpecificValues,
|
||||||
SCThingWithCategoriesTranslatableProperties,
|
SCThingWithCategoriesTranslatableProperties,
|
||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from '../base/ThingWithCategories';
|
} from './abstract/thing-with-categories';
|
||||||
|
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
|
||||||
import {SCMap} from '../types/Map';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Categories of a room
|
* Categories of a room
|
||||||
@@ -57,7 +57,7 @@ export interface SCRoomWithoutReferences
|
|||||||
SCThingWithCategoriesWithoutReferences<SCRoomCategories, SCRoomSpecificValues> {
|
SCThingWithCategoriesWithoutReferences<SCRoomCategories, SCRoomSpecificValues> {
|
||||||
/**
|
/**
|
||||||
* The name of the floor in which the room is in.
|
* The name of the floor in which the room is in.
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
floorName?: string;
|
floorName?: string;
|
||||||
@@ -109,7 +109,7 @@ export interface SCRoomSpecificValues
|
|||||||
extends SCThingWithCategoriesSpecificValues {
|
extends SCThingWithCategoriesSpecificValues {
|
||||||
/**
|
/**
|
||||||
* Category specific opening hours of the room
|
* Category specific opening hours of the room
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
openingHours?: string;
|
openingHours?: string;
|
||||||
@@ -126,32 +126,22 @@ export class SCRoomMeta
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldTranslations.de,
|
||||||
SCPlaceWithoutReferencesMeta
|
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<SCThingThatAcceptsPaymentsWithoutReferencesMeta>()
|
||||||
>().fieldTranslations.de,
|
.fieldTranslations.de,
|
||||||
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCRoomCategories,
|
||||||
SCThingThatAcceptsPaymentsWithoutReferencesMeta
|
SCRoomSpecificValues>().fieldTranslations.de,
|
||||||
>().fieldTranslations.de,
|
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
|
||||||
SCRoomCategories,
|
|
||||||
SCRoomSpecificValues
|
|
||||||
>().fieldTranslations.de,
|
|
||||||
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
|
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
|
||||||
.de,
|
.de,
|
||||||
floorName: 'Etagenbezeichnung',
|
floorName: 'Etagenbezeichnung',
|
||||||
inventory: 'Bestand',
|
inventory: 'Bestand',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldTranslations.en,
|
||||||
SCPlaceWithoutReferencesMeta
|
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<SCThingThatAcceptsPaymentsWithoutReferencesMeta>()
|
||||||
>().fieldTranslations.en,
|
.fieldTranslations.en,
|
||||||
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCRoomCategories,
|
||||||
SCThingThatAcceptsPaymentsWithoutReferencesMeta
|
SCRoomSpecificValues>().fieldTranslations.en,
|
||||||
>().fieldTranslations.en,
|
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
|
||||||
SCRoomCategories,
|
|
||||||
SCRoomSpecificValues
|
|
||||||
>().fieldTranslations.en,
|
|
||||||
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
|
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>().fieldTranslations
|
||||||
.en,
|
.en,
|
||||||
floorName: 'floor name',
|
floorName: 'floor name',
|
||||||
@@ -164,16 +154,11 @@ export class SCRoomMeta
|
|||||||
*/
|
*/
|
||||||
fieldValueTranslations = {
|
fieldValueTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldValueTranslations.de,
|
||||||
SCPlaceWithoutReferencesMeta
|
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<SCThingThatAcceptsPaymentsWithoutReferencesMeta>()
|
||||||
>().fieldValueTranslations.de,
|
.fieldValueTranslations.de,
|
||||||
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCRoomCategories,
|
||||||
SCThingThatAcceptsPaymentsWithoutReferencesMeta
|
SCRoomSpecificValues>().fieldValueTranslations.de,
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
|
||||||
SCRoomCategories,
|
|
||||||
SCRoomSpecificValues
|
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
|
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
|
||||||
.fieldValueTranslations.de,
|
.fieldValueTranslations.de,
|
||||||
categories: {
|
categories: {
|
||||||
@@ -194,16 +179,11 @@ export class SCRoomMeta
|
|||||||
type: 'Raum',
|
type: 'Raum',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCPlaceWithoutReferencesMeta.getInstance<
|
...SCPlaceWithoutReferencesMeta.getInstance<SCPlaceWithoutReferencesMeta>().fieldValueTranslations.en,
|
||||||
SCPlaceWithoutReferencesMeta
|
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<SCThingThatAcceptsPaymentsWithoutReferencesMeta>()
|
||||||
>().fieldValueTranslations.en,
|
.fieldValueTranslations.en,
|
||||||
...SCThingThatAcceptsPaymentsWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCRoomCategories,
|
||||||
SCThingThatAcceptsPaymentsWithoutReferencesMeta
|
SCRoomSpecificValues>().fieldValueTranslations.en,
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
|
||||||
SCRoomCategories,
|
|
||||||
SCRoomSpecificValues
|
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
|
...SCThingInPlaceMeta.getInstance<SCThingInPlaceMeta>()
|
||||||
.fieldValueTranslations.en,
|
.fieldValueTranslations.en,
|
||||||
type: SCThingType.Room,
|
type: SCThingType.Room,
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,13 +12,13 @@
|
|||||||
* 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 {SCMetaTranslations} from '../general/i18n';
|
||||||
import {
|
import {
|
||||||
SCAcademicTerm,
|
SCAcademicTerm,
|
||||||
SCAcademicTermWithoutReferences,
|
SCAcademicTermWithoutReferences,
|
||||||
SCAcademicTermWithoutReferencesMeta,
|
SCAcademicTermWithoutReferencesMeta,
|
||||||
} from '../base/AcademicTerm';
|
} from './abstract/academic-term';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {SCMetaTranslations} from '../types/i18n';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A semester without references
|
* A semester without references
|
||||||
@@ -64,9 +64,7 @@ export class SCSemesterMeta
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCAcademicTermWithoutReferencesMeta.getInstance<
|
...SCAcademicTermWithoutReferencesMeta.getInstance<SCAcademicTermWithoutReferencesMeta>().fieldTranslations.de,
|
||||||
SCAcademicTermWithoutReferencesMeta
|
|
||||||
>().fieldTranslations.de,
|
|
||||||
acronym: 'Abkürzung',
|
acronym: 'Abkürzung',
|
||||||
endDate: 'Ende',
|
endDate: 'Ende',
|
||||||
eventsEndDate: 'Vorlesungsschluss',
|
eventsEndDate: 'Vorlesungsschluss',
|
||||||
@@ -74,9 +72,7 @@ export class SCSemesterMeta
|
|||||||
startDate: 'Beginn',
|
startDate: 'Beginn',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCAcademicTermWithoutReferencesMeta.getInstance<
|
...SCAcademicTermWithoutReferencesMeta.getInstance<SCAcademicTermWithoutReferencesMeta>().fieldTranslations.en,
|
||||||
SCAcademicTermWithoutReferencesMeta
|
|
||||||
>().fieldTranslations.en,
|
|
||||||
acronym: 'acronym',
|
acronym: 'acronym',
|
||||||
endDate: 'end date',
|
endDate: 'end date',
|
||||||
eventsEndDate: 'semester ending',
|
eventsEndDate: 'semester ending',
|
||||||
@@ -90,15 +86,13 @@ export class SCSemesterMeta
|
|||||||
*/
|
*/
|
||||||
fieldValueTranslations = {
|
fieldValueTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCAcademicTermWithoutReferencesMeta.getInstance<
|
...SCAcademicTermWithoutReferencesMeta.getInstance<SCAcademicTermWithoutReferencesMeta>()
|
||||||
SCAcademicTermWithoutReferencesMeta
|
.fieldValueTranslations.de,
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
type: 'Semester',
|
type: 'Semester',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCAcademicTermWithoutReferencesMeta.getInstance<
|
...SCAcademicTermWithoutReferencesMeta.getInstance<SCAcademicTermWithoutReferencesMeta>()
|
||||||
SCAcademicTermWithoutReferencesMeta
|
.fieldValueTranslations.en,
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
type: SCThingType.Semester,
|
type: SCThingType.Semester,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,15 +12,15 @@
|
|||||||
* 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 {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
|
import {SCThing, SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {
|
import {
|
||||||
SCThingWithCategories,
|
SCThingWithCategories,
|
||||||
SCThingWithCategoriesSpecificValues,
|
SCThingWithCategoriesSpecificValues,
|
||||||
SCThingWithCategoriesTranslatableProperties,
|
SCThingWithCategoriesTranslatableProperties,
|
||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from '../base/ThingWithCategories';
|
} from './abstract/thing-with-categories';
|
||||||
import {SCThing, SCThingMeta, SCThingType} from '../Thing';
|
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A setting without references
|
* A setting without references
|
||||||
@@ -41,7 +41,7 @@ export interface SCSettingWithoutReferences
|
|||||||
inputType: SCSettingInputType;
|
inputType: SCSettingInputType;
|
||||||
/**
|
/**
|
||||||
* The order number this setting should show up in its category list
|
* The order number this setting should show up in its category list
|
||||||
*
|
*
|
||||||
* @integer
|
* @integer
|
||||||
*/
|
*/
|
||||||
order: number;
|
order: number;
|
||||||
@@ -118,7 +118,7 @@ export type SCSettingValues = SCSettingValue[];
|
|||||||
export interface SCSettingValueTranslatableProperties extends SCThingWithCategoriesTranslatableProperties {
|
export interface SCSettingValueTranslatableProperties extends SCThingWithCategoriesTranslatableProperties {
|
||||||
/**
|
/**
|
||||||
* The translations of the possible values of a setting
|
* The translations of the possible values of a setting
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
values?: string[];
|
values?: string[];
|
||||||
@@ -133,10 +133,8 @@ export class SCSettingMeta extends SCThingMeta implements SCMetaTranslations<SCS
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCSettingCategories,
|
||||||
SCSettingCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.de,
|
|
||||||
defaultValue: 'Standard Wert',
|
defaultValue: 'Standard Wert',
|
||||||
inputType: 'Eingabetyp',
|
inputType: 'Eingabetyp',
|
||||||
order: 'Position',
|
order: 'Position',
|
||||||
@@ -144,10 +142,8 @@ export class SCSettingMeta extends SCThingMeta implements SCMetaTranslations<SCS
|
|||||||
values: 'Werte',
|
values: 'Werte',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCSettingCategories,
|
||||||
SCSettingCategories,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.en,
|
|
||||||
defaultValue: 'default value',
|
defaultValue: 'default value',
|
||||||
inputType: 'input type',
|
inputType: 'input type',
|
||||||
order: 'position',
|
order: 'position',
|
||||||
@@ -161,10 +157,8 @@ export class SCSettingMeta extends SCThingMeta implements SCMetaTranslations<SCS
|
|||||||
*/
|
*/
|
||||||
fieldValueTranslations = {
|
fieldValueTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCSettingCategories,
|
||||||
SCSettingCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldValueTranslations.de,
|
|
||||||
categories: {
|
categories: {
|
||||||
credentials: 'Anmeldedaten',
|
credentials: 'Anmeldedaten',
|
||||||
others: 'Andere',
|
others: 'Andere',
|
||||||
@@ -181,10 +175,8 @@ export class SCSettingMeta extends SCThingMeta implements SCMetaTranslations<SCS
|
|||||||
type: 'Einstellung',
|
type: 'Einstellung',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<SCSettingCategories,
|
||||||
SCSettingCategories,
|
SCThingWithCategoriesSpecificValues>().fieldValueTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldValueTranslations.en,
|
|
||||||
type: SCThingType.Setting,
|
type: SCThingType.Setting,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,9 +12,9 @@
|
|||||||
* 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 {SCEvent, SCEventMeta, SCEventWithoutReferences} from '../base/Event';
|
import {SCMetaTranslations} from '../general/i18n';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
import {SCEvent, SCEventMeta, SCEventWithoutReferences} from './abstract/event';
|
||||||
import {SCMetaTranslations} from '../types/i18n';
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A sport course without references
|
* A sport course without references
|
||||||
@@ -12,19 +12,19 @@
|
|||||||
* 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 {SCLanguage, SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
|
import {SCMap} from '../general/map';
|
||||||
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {
|
import {
|
||||||
SCAcademicPriceGroup,
|
SCAcademicPriceGroup,
|
||||||
SCThingThatCanBeOffered,
|
SCThingThatCanBeOffered,
|
||||||
|
SCThingThatCanBeOfferedMeta,
|
||||||
SCThingThatCanBeOfferedTranslatableProperties,
|
SCThingThatCanBeOfferedTranslatableProperties,
|
||||||
SCThingThatCanBeOfferedWithoutReferences,
|
SCThingThatCanBeOfferedWithoutReferences,
|
||||||
} from '../base/ThingThatCanBeOffered';
|
} from './abstract/thing-that-can-be-offered';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
import {SCAcademicEventWithoutReferences} from './academic-event';
|
||||||
import {SCLanguage, SCMetaTranslations, SCTranslations} from '../types/i18n';
|
import {SCOrganizationWithoutReferences} from './organization';
|
||||||
import {SCMap} from '../types/Map';
|
import {SCPersonWithoutReferences} from './person';
|
||||||
import {SCThingThatCanBeOfferedMeta} from './../base/ThingThatCanBeOffered';
|
|
||||||
import {SCAcademicEventWithoutReferences} from './AcademicEvent';
|
|
||||||
import {SCOrganizationWithoutReferences} from './Organization';
|
|
||||||
import {SCPersonWithoutReferences} from './Person';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A study module without references
|
* A study module without references
|
||||||
@@ -34,7 +34,7 @@ export interface SCStudyModuleWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* ECTS points (European Credit Transfer System)
|
* ECTS points (European Credit Transfer System)
|
||||||
*
|
*
|
||||||
* @float
|
* @float
|
||||||
*/
|
*/
|
||||||
ects: number;
|
ects: number;
|
||||||
@@ -46,7 +46,7 @@ export interface SCStudyModuleWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Majors that this study module is meant for
|
* Majors that this study module is meant for
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
majors: string[];
|
majors: string[];
|
||||||
@@ -116,7 +116,7 @@ export interface SCStudyModuleTranslatableProperties
|
|||||||
extends SCThingThatCanBeOfferedTranslatableProperties {
|
extends SCThingThatCanBeOfferedTranslatableProperties {
|
||||||
/**
|
/**
|
||||||
* Translations of the majors that this study module is meant for
|
* Translations of the majors that this study module is meant for
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
majors?: string[];
|
majors?: string[];
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -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 {SCThingInPlace, SCThingInPlaceMeta} from '../base/ThingInPlace';
|
import {SCMetaTranslations} from '../general/i18n';
|
||||||
import {SCThingMeta, SCThingType, SCThingWithoutReferences} from '../Thing';
|
import {SCISO8601Duration} from '../general/time';
|
||||||
import {SCMetaTranslations} from '../types/i18n';
|
import {SCThingMeta, SCThingType, SCThingWithoutReferences} from './abstract/thing';
|
||||||
import {SCISO8601Duration} from '../types/Time';
|
import {SCThingInPlace, SCThingInPlaceMeta} from './abstract/thing-in-place';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A ticket without references
|
* A ticket without references
|
||||||
@@ -29,7 +29,7 @@ export interface SCTicketWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Waiting number of the ticket
|
* Waiting number of the ticket
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
currentTicketNumber: string;
|
currentTicketNumber: string;
|
||||||
@@ -12,16 +12,16 @@
|
|||||||
* 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 {SCMetaTranslations, SCTranslations} from '../general/i18n';
|
||||||
|
import {SCISO8601Date} from '../general/time';
|
||||||
|
import {SCThing, SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {
|
import {
|
||||||
SCThingWithCategories,
|
SCThingWithCategories,
|
||||||
SCThingWithCategoriesSpecificValues,
|
SCThingWithCategoriesSpecificValues,
|
||||||
SCThingWithCategoriesTranslatableProperties,
|
SCThingWithCategoriesTranslatableProperties,
|
||||||
SCThingWithCategoriesWithoutReferences,
|
SCThingWithCategoriesWithoutReferences,
|
||||||
SCThingWithCategoriesWithoutReferencesMeta,
|
SCThingWithCategoriesWithoutReferencesMeta,
|
||||||
} from '../base/ThingWithCategories';
|
} from './abstract/thing-with-categories';
|
||||||
import {SCThing, SCThingMeta, SCThingType} from '../Thing';
|
|
||||||
import {SCMetaTranslations, SCTranslations} from '../types/i18n';
|
|
||||||
import {SCISO8601Date} from '../types/Time';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A "to do" without references
|
* A "to do" without references
|
||||||
@@ -86,19 +86,15 @@ export class SCToDoMeta extends SCThingMeta implements SCMetaTranslations<SCToDo
|
|||||||
*/
|
*/
|
||||||
fieldTranslations = {
|
fieldTranslations = {
|
||||||
de: {
|
de: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<string,
|
||||||
string,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.de,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.de,
|
|
||||||
done: 'Erledigt',
|
done: 'Erledigt',
|
||||||
dueDate: 'Fälligkeitsdatum',
|
dueDate: 'Fälligkeitsdatum',
|
||||||
priority: 'Priorität',
|
priority: 'Priorität',
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<
|
...SCThingWithCategoriesWithoutReferencesMeta.getInstance<string,
|
||||||
string,
|
SCThingWithCategoriesSpecificValues>().fieldTranslations.en,
|
||||||
SCThingWithCategoriesSpecificValues
|
|
||||||
>().fieldTranslations.en,
|
|
||||||
done: 'done',
|
done: 'done',
|
||||||
dueDate: 'due date',
|
dueDate: 'due date',
|
||||||
priority: 'priority',
|
priority: 'priority',
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,8 +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 {SCThing, SCThingMeta, SCThingType, SCThingWithoutReferences} from '../Thing';
|
import {SCMetaTranslations} from '../general/i18n';
|
||||||
import {SCMetaTranslations} from '../types/i18n';
|
import {SCThing, SCThingMeta, SCThingType, SCThingWithoutReferences} from './abstract/thing';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A tour without references
|
* A tour without references
|
||||||
@@ -22,21 +22,21 @@ export interface SCTourWithoutReferences
|
|||||||
extends SCThingWithoutReferences {
|
extends SCThingWithoutReferences {
|
||||||
/**
|
/**
|
||||||
* Init script for the tour
|
* Init script for the tour
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
init?: string;
|
init?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Steps of a tour
|
* Steps of a tour
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
steps: SCTourStep[];
|
steps: SCTourStep[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type of a tour
|
* Type of a tour
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
type: SCThingType.Tour;
|
type: SCThingType.Tour;
|
||||||
@@ -107,7 +107,7 @@ export type SCTourStep =
|
|||||||
export interface SCTourStepLocation {
|
export interface SCTourStepLocation {
|
||||||
/**
|
/**
|
||||||
* Location to go to
|
* Location to go to
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
location: string;
|
location: string;
|
||||||
@@ -129,7 +129,7 @@ export interface SCTourStepTooltip {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Element that the tooltip shall be pointing at or a list of elements to try in the specified order
|
* Element that the tooltip shall be pointing at or a list of elements to try in the specified order
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
element: string | string[];
|
element: string | string[];
|
||||||
@@ -146,14 +146,14 @@ export interface SCTourStepTooltip {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Text that the tooltip shall contain
|
* Text that the tooltip shall contain
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
text: string;
|
text: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* How often it shall be retried
|
* How often it shall be retried
|
||||||
*
|
*
|
||||||
* @integer
|
* @integer
|
||||||
*/
|
*/
|
||||||
tries?: number;
|
tries?: number;
|
||||||
@@ -190,7 +190,7 @@ export interface SCTourStepMenu {
|
|||||||
export interface SCTourResolvedElement {
|
export interface SCTourResolvedElement {
|
||||||
/**
|
/**
|
||||||
* Element name
|
* Element name
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
element: string;
|
element: string;
|
||||||
@@ -202,7 +202,7 @@ export interface SCTourResolvedElement {
|
|||||||
export interface SCTourResolvedEvent {
|
export interface SCTourResolvedEvent {
|
||||||
/**
|
/**
|
||||||
* Event name
|
* Event name
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
event: string;
|
event: string;
|
||||||
@@ -224,7 +224,7 @@ export interface SCTourResolvedLocation {
|
|||||||
export interface SCTourResolvedLocationTypeIs {
|
export interface SCTourResolvedLocationTypeIs {
|
||||||
/**
|
/**
|
||||||
* Specific location name
|
* Specific location name
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
is: string;
|
is: string;
|
||||||
@@ -236,7 +236,7 @@ export interface SCTourResolvedLocationTypeIs {
|
|||||||
export interface SCTourResolvedLocationTypeMatch {
|
export interface SCTourResolvedLocationTypeMatch {
|
||||||
/**
|
/**
|
||||||
* Regex location name
|
* Regex location name
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
match: string;
|
match: string;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018, 2019 StApps
|
* Copyright (C) 2019 StApps
|
||||||
* This program is free software: you can redistribute it and/or modify it
|
* 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
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
* Software Foundation, version 3.
|
* Software Foundation, version 3.
|
||||||
@@ -12,11 +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 {SCCreativeWork, SCCreativeWorkMeta, SCCreativeWorkWithoutReferences} from '../base/CreativeWork';
|
import {SCLanguage, SCMetaTranslations} from '../general/i18n';
|
||||||
import {SCThingMeta, SCThingType} from '../Thing';
|
import {SCISO8601Duration} from '../general/time';
|
||||||
import {SCLanguage, SCMetaTranslations} from '../types/i18n';
|
import {SCCreativeWork, SCCreativeWorkMeta, SCCreativeWorkWithoutReferences} from './abstract/creative-work';
|
||||||
import {SCISO8601Duration} from '../types/Time';
|
import {SCThingMeta, SCThingType} from './abstract/thing';
|
||||||
import {SCPersonWithoutReferences} from './Person';
|
import {SCPersonWithoutReferences} from './person';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A video without references
|
* A video without references
|
||||||
@@ -35,7 +35,7 @@ export interface SCVideoWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* URLs to a thumbnails for the Video
|
* URLs to a thumbnails for the Video
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
thumbnails?: string[];
|
thumbnails?: string[];
|
||||||
@@ -47,7 +47,7 @@ export interface SCVideoWithoutReferences
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* A Transcript of the Video
|
* A Transcript of the Video
|
||||||
*
|
*
|
||||||
* @text
|
* @text
|
||||||
*/
|
*/
|
||||||
transcript?: string;
|
transcript?: string;
|
||||||
@@ -61,7 +61,7 @@ export interface SCVideoWithoutReferences
|
|||||||
export interface SCVideoSource {
|
export interface SCVideoSource {
|
||||||
/**
|
/**
|
||||||
* Pixel Height of the Video
|
* Pixel Height of the Video
|
||||||
*
|
*
|
||||||
* @integer
|
* @integer
|
||||||
*/
|
*/
|
||||||
height?: number;
|
height?: number;
|
||||||
@@ -73,21 +73,21 @@ export interface SCVideoSource {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Size of the Video File in bytes
|
* Size of the Video File in bytes
|
||||||
*
|
*
|
||||||
* @integer
|
* @integer
|
||||||
*/
|
*/
|
||||||
size?: number;
|
size?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* URL to the Video File
|
* URL to the Video File
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
url: string;
|
url: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pixel Width of the Video
|
* Pixel Width of the Video
|
||||||
*
|
*
|
||||||
* @integer
|
* @integer
|
||||||
*/
|
*/
|
||||||
width?: number;
|
width?: number;
|
||||||
@@ -106,7 +106,7 @@ export interface SCVideoTrack {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* URL to the Track File
|
* URL to the Track File
|
||||||
*
|
*
|
||||||
* @keyword
|
* @keyword
|
||||||
*/
|
*/
|
||||||
url: string;
|
url: string;
|
||||||
@@ -12,14 +12,12 @@
|
|||||||
* 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 {SCClasses} from './Classes';
|
|
||||||
import {SCThing, SCThingType} from './Thing';
|
|
||||||
|
|
||||||
import {isThing} from './types/Guards';
|
|
||||||
import {SCTranslations} from './types/i18n';
|
|
||||||
|
|
||||||
import clone = require('fast-clone');
|
import clone = require('fast-clone');
|
||||||
import {Defined, OCType} from 'ts-optchain';
|
import {Defined, OCType} from 'ts-optchain';
|
||||||
|
import {SCTranslations} from './general/i18n';
|
||||||
|
import {isThing} from './guards';
|
||||||
|
import {SCClasses} from './meta';
|
||||||
|
import {SCThing, SCThingType} from './things/abstract/thing';
|
||||||
|
|
||||||
// tslint:disable:no-any
|
// tslint:disable:no-any
|
||||||
const standardCacheSize = 200;
|
const standardCacheSize = 200;
|
||||||
@@ -33,7 +31,6 @@ export class SCThingTranslator {
|
|||||||
* Property representing the translators target language
|
* Property representing the translators target language
|
||||||
*/
|
*/
|
||||||
private _language: keyof SCTranslations<SCThing>;
|
private _language: keyof SCTranslations<SCThing>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Property representing the translators base language
|
* Property representing the translators base language
|
||||||
* This means every translation is given for this language
|
* This means every translation is given for this language
|
||||||
@@ -45,7 +42,7 @@ export class SCThingTranslator {
|
|||||||
*/
|
*/
|
||||||
private readonly metaClasses: typeof SCClasses;
|
private readonly metaClasses: typeof SCClasses;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @example
|
* @example
|
||||||
* // returns translator instance for german
|
* // returns translator instance for german
|
||||||
* new SCThingTranslator('de');
|
* new SCThingTranslator('de');
|
||||||
@@ -115,17 +112,17 @@ export class SCThingTranslator {
|
|||||||
// Assigns every property in fieldTranslations to the known base language translation
|
// Assigns every property in fieldTranslations to the known base language translation
|
||||||
if (typeof metaClass.fieldTranslations.en !== 'undefined') {
|
if (typeof metaClass.fieldTranslations.en !== 'undefined') {
|
||||||
Object.keys(metaClass.fieldTranslations.en)
|
Object.keys(metaClass.fieldTranslations.en)
|
||||||
.forEach((key) => {
|
.forEach((key) => {
|
||||||
(fieldTranslations as any)[key] = metaClass.fieldTranslations.en[key];
|
(fieldTranslations as any)[key] = metaClass.fieldTranslations.en[key];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Assigns every property in fieldTranslations to the known translation in given language
|
// Assigns every property in fieldTranslations to the known translation in given language
|
||||||
if (typeof metaClass.fieldTranslations[language] !== 'undefined') {
|
if (typeof metaClass.fieldTranslations[language] !== 'undefined') {
|
||||||
Object.keys(metaClass.fieldTranslations[language])
|
Object.keys(metaClass.fieldTranslations[language])
|
||||||
.forEach((key) => {
|
.forEach((key) => {
|
||||||
(fieldTranslations as any)[key] = metaClass.fieldTranslations[language][key];
|
(fieldTranslations as any)[key] = metaClass.fieldTranslations[language][key];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return fieldTranslations;
|
return fieldTranslations;
|
||||||
@@ -161,19 +158,19 @@ export class SCThingTranslator {
|
|||||||
}
|
}
|
||||||
if (typeof metaClass.fieldValueTranslations[language] !== 'undefined') {
|
if (typeof metaClass.fieldValueTranslations[language] !== 'undefined') {
|
||||||
Object.keys(metaClass.fieldValueTranslations[language])
|
Object.keys(metaClass.fieldValueTranslations[language])
|
||||||
.forEach((key) => {
|
.forEach((key) => {
|
||||||
if (metaClass.fieldValueTranslations[language][key] instanceof Object) {
|
if (metaClass.fieldValueTranslations[language][key] instanceof Object) {
|
||||||
// Assigns known translations of subproperties to property in given language (e.g. categories)
|
// Assigns known translations of subproperties to property in given language (e.g. categories)
|
||||||
Object.keys((instance as any)[key])
|
Object.keys((instance as any)[key])
|
||||||
.forEach((subKey) => {
|
.forEach((subKey) => {
|
||||||
(instance as any)[key][subKey] =
|
(instance as any)[key][subKey] =
|
||||||
metaClass.fieldValueTranslations[language][key][(instance as any)[key][subKey]];
|
metaClass.fieldValueTranslations[language][key][(instance as any)[key][subKey]];
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// Assigns property to known translation of fieldValueTranslations in given language
|
// Assigns property to known translation of fieldValueTranslations in given language
|
||||||
(instance as any)[key] = metaClass.fieldValueTranslations[language][key];
|
(instance as any)[key] = metaClass.fieldValueTranslations[language][key];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return instance;
|
return instance;
|
||||||
@@ -241,14 +238,14 @@ export class SCThingTranslator {
|
|||||||
let nextInstance = instance;
|
let nextInstance = instance;
|
||||||
// Recursively call this function on all nested SCThings, arrays and objects
|
// Recursively call this function on all nested SCThings, arrays and objects
|
||||||
Object.keys(nextInstance)
|
Object.keys(nextInstance)
|
||||||
.forEach((key) => {
|
.forEach((key) => {
|
||||||
if (
|
if (
|
||||||
isThing((nextInstance as any)[key]) ||
|
isThing((nextInstance as any)[key]) ||
|
||||||
nextInstance[key] instanceof Array ||
|
nextInstance[key] instanceof Array ||
|
||||||
nextInstance[key] instanceof Object) {
|
nextInstance[key] instanceof Object) {
|
||||||
nextInstance[key] = this.translateWholeThingDestructively(nextInstance[key], targetLanguage);
|
nextInstance[key] = this.translateWholeThingDestructively(nextInstance[key], targetLanguage);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Spread variable translations given by the connector into thing
|
// Spread variable translations given by the connector into thing
|
||||||
if (typeof nextInstance.translations !== 'undefined') {
|
if (typeof nextInstance.translations !== 'undefined') {
|
||||||
@@ -265,7 +262,7 @@ export class SCThingTranslator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* LRUCache class
|
* LRUCache class
|
||||||
* Small last recently used cache intended to get used by SCThingTranslator
|
* Small last recently used cache intended to get used by SCThingTranslator
|
||||||
*/
|
*/
|
||||||
class LRUCache<T> {
|
class LRUCache<T> {
|
||||||
@@ -279,7 +276,7 @@ class LRUCache<T> {
|
|||||||
*/
|
*/
|
||||||
private readonly maxEntries: number;
|
private readonly maxEntries: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @example
|
* @example
|
||||||
* // returns LRUCache instance with a maximum capacity of 500
|
* // returns LRUCache instance with a maximum capacity of 500
|
||||||
* new LRUCache(500);
|
* new LRUCache(500);
|
||||||
@@ -308,7 +305,7 @@ class LRUCache<T> {
|
|||||||
/**
|
/**
|
||||||
* Get content from cache by key or by another objects uid
|
* Get content from cache by key or by another objects uid
|
||||||
*
|
*
|
||||||
* @param somethingOrKey The key which maps to the cached content or an object for which content has been cached
|
* @param somethingOrKey The key which maps to the cached content or an object for which content has been cached
|
||||||
* @returns If available the content connected to the key or somethingOrKey.uid property
|
* @returns If available the content connected to the key or somethingOrKey.uid property
|
||||||
*/
|
*/
|
||||||
public get<U extends SCThing>(somethingOrKey: string | U): T | undefined {
|
public get<U extends SCThing>(somethingOrKey: string | U): T | undefined {
|
||||||
@@ -341,7 +338,7 @@ class LRUCache<T> {
|
|||||||
if (this.entries.size >= this.maxEntries) {
|
if (this.entries.size >= this.maxEntries) {
|
||||||
// LRU behavior
|
// LRU behavior
|
||||||
const keyToDelete = this.entries.keys()
|
const keyToDelete = this.entries.keys()
|
||||||
.next().value;
|
.next().value;
|
||||||
this.entries.delete(keyToDelete);
|
this.entries.delete(keyToDelete);
|
||||||
}
|
}
|
||||||
this.entries.set(key, content);
|
this.entries.set(key, content);
|
||||||
@@ -349,10 +346,10 @@ class LRUCache<T> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Place content in cache by another objects uid
|
* Place content in cache by another objects uid
|
||||||
*
|
*
|
||||||
* @param something The object that should be cached under something.uid
|
* @param something The object that should be cached under something.uid
|
||||||
*/
|
*/
|
||||||
public putObject<U extends SCThing>(something: U) {
|
public putObject<U extends SCThing>(something: U) {
|
||||||
this.put(something.uid, (something as any) as T);
|
this.put(something.uid, (something as any) as T);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,18 +14,18 @@
|
|||||||
*/
|
*/
|
||||||
import {expect} from 'chai';
|
import {expect} from 'chai';
|
||||||
import {slow, suite, test, timeout} from 'mocha-typescript';
|
import {slow, suite, test, timeout} from 'mocha-typescript';
|
||||||
import {SCBulkResponse} from '../src/core/protocol/routes/bulk/BulkResponse';
|
import {SCBulkResponse} from '../src/protocol/routes/bulk-request';
|
||||||
import {SCMultiSearchResponse} from '../src/core/protocol/routes/search/MultiSearchResponse';
|
import {SCMultiSearchResponse} from '../src/protocol/routes/search-multi';
|
||||||
import {SCSearchResponse} from '../src/core/protocol/routes/search/SearchResponse';
|
import {SCSearchResponse} from '../src/protocol/routes/search';
|
||||||
import {SCThingOriginType, SCThingType} from '../src/core/Thing';
|
import {SCThingOriginType, SCThingType} from '../src/things/abstract/thing';
|
||||||
import {SCDish} from '../src/core/things/Dish';
|
import {SCDish} from '../src/things/dish';
|
||||||
import {
|
import {
|
||||||
isBulkResponse,
|
isBulkResponse,
|
||||||
isMultiSearchResponse,
|
isMultiSearchResponse,
|
||||||
isSearchResponse,
|
isSearchResponse,
|
||||||
isThing,
|
isThing,
|
||||||
isThingWithTranslations,
|
isThingWithTranslations,
|
||||||
} from '../src/core/types/Guards';
|
} from '../src/guards';
|
||||||
|
|
||||||
@suite(timeout(10000), slow(5000))
|
@suite(timeout(10000), slow(5000))
|
||||||
export class GuardsSpec {
|
export class GuardsSpec {
|
||||||
@@ -14,9 +14,9 @@
|
|||||||
*/
|
*/
|
||||||
import {expect} from 'chai';
|
import {expect} from 'chai';
|
||||||
import {slow, suite, test, timeout} from 'mocha-typescript';
|
import {slow, suite, test, timeout} from 'mocha-typescript';
|
||||||
import {SCBulkRoute} from '../src/core/protocol/routes/bulk/BulkRequest';
|
import {SCBulkRoute} from '../src/protocol/routes/bulk-request';
|
||||||
import {SCBulkAddRoute} from '../src/core/protocol/routes/bulk/UID/BulkAddRequest';
|
import {SCBulkAddRoute} from '../src/protocol/routes/bulk-add';
|
||||||
import {SCThingUpdateRoute} from '../src/core/protocol/routes/TYPE/UID/ThingUpdateRequest';
|
import {SCThingUpdateRoute} from '../src/protocol/routes/thing-update';
|
||||||
|
|
||||||
@suite(timeout(10000), slow(5000))
|
@suite(timeout(10000), slow(5000))
|
||||||
export class RoutesSpec {
|
export class RoutesSpec {
|
||||||
@@ -15,15 +15,14 @@
|
|||||||
import {expect} from 'chai';
|
import {expect} from 'chai';
|
||||||
import clone = require('fast-clone');
|
import clone = require('fast-clone');
|
||||||
import {slow, suite, test, timeout} from 'mocha-typescript';
|
import {slow, suite, test, timeout} from 'mocha-typescript';
|
||||||
|
import {SCThingOriginType, SCThingType} from '../src/things/abstract/thing';
|
||||||
import {SCThingOriginType, SCThingType} from '../src/core/Thing';
|
import {SCBuildingWithoutReferences} from '../src/things/building';
|
||||||
import {SCBuildingWithoutReferences} from '../src/core/things/Building';
|
import {SCDish, SCDishMeta} from '../src/things/dish';
|
||||||
import {SCDish, SCDishMeta} from '../src/core/things/Dish';
|
import {SCThingTranslator} from '../src/translator';
|
||||||
import {SCThingTranslator} from '../src/core/Translator';
|
|
||||||
|
|
||||||
const building: SCBuildingWithoutReferences = {
|
const building: SCBuildingWithoutReferences = {
|
||||||
address: {
|
address: {
|
||||||
addressCountry : 'base-address.addressCountry',
|
addressCountry: 'base-address.addressCountry',
|
||||||
addressLocality: 'base-address.addressLocality',
|
addressLocality: 'base-address.addressLocality',
|
||||||
postalCode: 'base-address.postalCode',
|
postalCode: 'base-address.postalCode',
|
||||||
streetAddress: 'base-address.streetAddress',
|
streetAddress: 'base-address.streetAddress',
|
||||||
@@ -40,7 +39,7 @@ const building: SCBuildingWithoutReferences = {
|
|||||||
translations: {
|
translations: {
|
||||||
de: {
|
de: {
|
||||||
address: {
|
address: {
|
||||||
addressCountry : 'de-address.addressCountry',
|
addressCountry: 'de-address.addressCountry',
|
||||||
addressLocality: 'de-address.addressLocality',
|
addressLocality: 'de-address.addressLocality',
|
||||||
postalCode: 'de-address.postalCode',
|
postalCode: 'de-address.postalCode',
|
||||||
streetAddress: 'de-address.streetAddress',
|
streetAddress: 'de-address.streetAddress',
|
||||||
@@ -60,15 +59,15 @@ const dish: SCDish = {
|
|||||||
name: 'base-dish-name',
|
name: 'base-dish-name',
|
||||||
offers: [
|
offers: [
|
||||||
{
|
{
|
||||||
availability: 'in stock',
|
availability: 'in stock',
|
||||||
inPlace: building,
|
inPlace: building,
|
||||||
prices: {
|
prices: {
|
||||||
default: 23.42,
|
default: 23.42,
|
||||||
},
|
},
|
||||||
provider: {
|
provider: {
|
||||||
name: 'base-provider',
|
name: 'base-provider',
|
||||||
type: SCThingType.Organization,
|
type: SCThingType.Organization,
|
||||||
uid: '540862f3-ea30-5b8f-8678-56b4dc217141',
|
uid: '540862f3-ea30-5b8f-8678-56b4dc217141',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -110,7 +109,7 @@ export class TranslationSpecInplace {
|
|||||||
@test
|
@test
|
||||||
public directArrayOfString() {
|
public directArrayOfString() {
|
||||||
expect(translator.translate(dish).characteristics()).to.deep
|
expect(translator.translate(dish).characteristics()).to.deep
|
||||||
.equal([{name: 'de-characteristic0'}, {name: 'de-characteristic1'}]);
|
.equal([{name: 'de-characteristic0'}, {name: 'de-characteristic1'}]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@test
|
@test
|
||||||
@@ -161,7 +160,7 @@ export class TranslationSpecInplace {
|
|||||||
@test
|
@test
|
||||||
public directArrayOfStringSubscriptFallback() {
|
public directArrayOfStringSubscriptFallback() {
|
||||||
expect(translatorWithFallback.translate(dish).characteristics[1]())
|
expect(translatorWithFallback.translate(dish).characteristics[1]())
|
||||||
.to.deep.equal({name: 'base-characteristic1'});
|
.to.deep.equal({name: 'base-characteristic1'});
|
||||||
}
|
}
|
||||||
|
|
||||||
@test
|
@test
|
||||||
@@ -187,7 +186,7 @@ export class TranslationSpecInplace {
|
|||||||
@test
|
@test
|
||||||
public nestedMetaArrayOfStringFallback() {
|
public nestedMetaArrayOfStringFallback() {
|
||||||
expect(translatorWithFallback.translate(dish).offers[0].inPlace.categories())
|
expect(translatorWithFallback.translate(dish).offers[0].inPlace.categories())
|
||||||
.to.deep.equal(['office', 'education']);
|
.to.deep.equal(['office', 'education']);
|
||||||
}
|
}
|
||||||
|
|
||||||
@test
|
@test
|
||||||
@@ -1,29 +1,46 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 StApps
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the Free
|
||||||
|
* Software Foundation, version 3.
|
||||||
|
*
|
||||||
|
* 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 {assert, Has, IsAny, IsNever, NotHas} from 'conditional-type-checks';
|
import {assert, Has, IsAny, IsNever, NotHas} from 'conditional-type-checks';
|
||||||
import {SCThing, SCThingWithoutReferences} from '../src/core/Thing';
|
import {SCThing, SCThingWithoutReferences} from '../src/things/abstract/thing';
|
||||||
import {SCAcademicEvent, SCAcademicEventWithoutReferences} from '../src/core/things/AcademicEvent';
|
import {SCAcademicEvent, SCAcademicEventWithoutReferences} from '../src/things/academic-event';
|
||||||
import {SCArticle, SCArticleWithoutReferences} from '../src/core/things/Article';
|
import {SCArticle, SCArticleWithoutReferences} from '../src/things/article';
|
||||||
import {SCBook, SCBookWithoutReferences} from '../src/core/things/Book';
|
import {SCBook, SCBookWithoutReferences} from '../src/things/book';
|
||||||
import {SCBuilding, SCBuildingWithoutReferences} from '../src/core/things/Building';
|
import {SCBuilding, SCBuildingWithoutReferences} from '../src/things/building';
|
||||||
import {SCCatalog, SCCatalogWithoutReferences} from '../src/core/things/Catalog';
|
import {SCCatalog, SCCatalogWithoutReferences} from '../src/things/catalog';
|
||||||
import {SCCourseOfStudies, SCCourseOfStudiesWithoutReferences} from '../src/core/things/CourseOfStudies';
|
import {SCCourseOfStudies, SCCourseOfStudiesWithoutReferences} from '../src/things/course-of-studies';
|
||||||
import {SCDateSeries, SCDateSeriesWithoutReferences} from '../src/core/things/DateSeries';
|
import {SCDateSeries, SCDateSeriesWithoutReferences} from '../src/things/date-series';
|
||||||
import {SCDiff, SCDiffWithoutReferences} from '../src/core/things/Diff';
|
import {SCDiff, SCDiffWithoutReferences} from '../src/things/diff';
|
||||||
import {SCDish, SCDishWithoutReferences} from '../src/core/things/Dish';
|
import {SCDish, SCDishWithoutReferences} from '../src/things/dish';
|
||||||
import {SCFavorite, SCFavoriteWithoutReferences} from '../src/core/things/Favorite';
|
import {SCFavorite, SCFavoriteWithoutReferences} from '../src/things/favorite';
|
||||||
import {SCFloor, SCFloorWithoutReferences} from '../src/core/things/Floor';
|
import {SCFloor, SCFloorWithoutReferences} from '../src/things/floor';
|
||||||
import {SCMessage, SCMessageWithoutReferences} from '../src/core/things/Message';
|
import {SCMessage, SCMessageWithoutReferences} from '../src/things/message';
|
||||||
import {SCOrganization, SCOrganizationWithoutReferences} from '../src/core/things/Organization';
|
import {SCOrganization, SCOrganizationWithoutReferences} from '../src/things/organization';
|
||||||
import {SCPerson, SCPersonWithoutReferences} from '../src/core/things/Person';
|
import {SCPerson, SCPersonWithoutReferences} from '../src/things/person';
|
||||||
import {SCPointOfInterest, SCPointOfInterestWithoutReferences} from '../src/core/things/PointOfInterest';
|
import {SCPointOfInterest, SCPointOfInterestWithoutReferences} from '../src/things/point-of-interest';
|
||||||
import {SCRoom, SCRoomWithoutReferences} from '../src/core/things/Room';
|
import {SCRoom, SCRoomWithoutReferences} from '../src/things/room';
|
||||||
import {SCSemester, SCSemesterWithoutReferences} from '../src/core/things/Semester';
|
import {SCSemester, SCSemesterWithoutReferences} from '../src/things/semester';
|
||||||
import {SCSetting, SCSettingWithoutReferences} from '../src/core/things/Setting';
|
import {SCSetting, SCSettingWithoutReferences} from '../src/things/setting';
|
||||||
import {SCSportCourse, SCSportCourseWithoutReferences} from '../src/core/things/SportCourse';
|
import {SCSportCourse, SCSportCourseWithoutReferences} from '../src/things/sport-course';
|
||||||
import {SCStudyModule, SCStudyModuleWithoutReferences} from '../src/core/things/StudyModule';
|
import {SCStudyModule, SCStudyModuleWithoutReferences} from '../src/things/study-module';
|
||||||
import {SCTicket, SCTicketWithoutReferences} from '../src/core/things/Ticket';
|
import {SCTicket, SCTicketWithoutReferences} from '../src/things/ticket';
|
||||||
import {SCToDo, SCToDoWithoutReferences} from '../src/core/things/ToDo';
|
import {SCToDo, SCToDoWithoutReferences} from '../src/things/todo';
|
||||||
import {SCTour, SCTourWithoutReferences} from '../src/core/things/Tour';
|
import {SCTour, SCTourWithoutReferences} from '../src/things/tour';
|
||||||
import {SCVideo, SCVideoWithoutReferences} from '../src/core/things/Video';
|
import {SCVideo, SCVideoWithoutReferences} from '../src/things/video';
|
||||||
|
|
||||||
|
// tslint:disable:no-any
|
||||||
|
// tslint:disable:completed-docs
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if E extends T
|
* Check if E extends T
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"extends": "./node_modules/@openstapps/configuration/tslint.json",
|
"extends": "./node_modules/@openstapps/configuration/tslint.json",
|
||||||
"rules": {
|
"rules": {
|
||||||
"no-empty-interface": false,
|
"no-empty-interface": false
|
||||||
"file-name-casing": [false, "camel-case"]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user