diff options
author | Joas Schilling <coding@schilljs.com> | 2016-11-08 15:56:39 +0100 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2016-11-09 08:52:07 +0100 |
commit | 706b5c3fb6e9d911c147c92fc768df86990d09ea (patch) | |
tree | 0b7f8d67289ee4d7e667a85c92a662097812f6d2 /lib/public/RichObjectStrings | |
parent | 05cf1dab4ca7d69a837c2c9e890f078cef76c744 (diff) | |
download | nextcloud-server-706b5c3fb6e9d911c147c92fc768df86990d09ea.tar.gz nextcloud-server-706b5c3fb6e9d911c147c92fc768df86990d09ea.zip |
Use a php class for the definitions to avoid loading problems
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib/public/RichObjectStrings')
-rw-r--r-- | lib/public/RichObjectStrings/Definitions.php | 296 | ||||
-rw-r--r-- | lib/public/RichObjectStrings/definitions.json | 247 |
2 files changed, 296 insertions, 247 deletions
diff --git a/lib/public/RichObjectStrings/Definitions.php b/lib/public/RichObjectStrings/Definitions.php new file mode 100644 index 00000000000..d3e6b15cf99 --- /dev/null +++ b/lib/public/RichObjectStrings/Definitions.php @@ -0,0 +1,296 @@ +<?php +/** + * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCP\RichObjectStrings; + + +/** + * Class Definitions + * + * @package OCP\RichObjectStrings + * @since 9.2.0 + */ +class Definitions { + /** + * @var array + * @since 9.2.0 + */ + public $definitions = [ + 'addressbook' => [ + 'author' => 'Nextcloud', + 'app' => 'dav', + 'since' => '9.2.0', + 'parameters' => [ + 'id' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The id used to identify the addressbook on the instance', + 'example' => '42', + ], + 'name' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The display name of the addressbook which should be used in the visual representation', + 'example' => 'Contacts', + ], + ], + ], + 'addressbook-contact' => [ + 'author' => 'Nextcloud', + 'app' => 'dav', + 'since' => '9.2.0', + 'parameters' => [ + 'id' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The id used to identify the contact on the instance', + 'example' => '42', + ], + 'name' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The display name of the contact which should be used in the visual representation', + 'example' => 'John Doe', + ], + ], + ], + 'announcement' => [ + 'author' => 'Joas Schilling', + 'app' => 'announcementcenter', + 'since' => '9.2.0', + 'parameters' => [ + 'id' => [ + 'since' => '9.2.0', + 'required' => true, 'description' => 'The id used to identify the announcement on the instance', + 'example' => '42', + ], + 'name' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The announcement subject which should be used in the visual representation', + 'example' => 'file.txt', + ], + 'link' => [ + 'since' => '9.2.0', + 'required' => false, + 'description' => 'The full URL to the file', + 'example' => 'http://localhost/index.php/apps/announcements/#23', + ], + ], + ], + 'calendar' => [ + 'author' => 'Nextcloud', + 'app' => 'dav', + 'since' => '9.2.0', + 'parameters' => [ + 'id' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The id used to identify the calendar on the instance', + 'example' => '42', + ], + 'name' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The display name of the calendar which should be used in the visual representation', + 'example' => 'Personal', + ], + ], + ], + 'calendar-event' => [ + 'author' => 'Nextcloud', + 'app' => 'dav', + 'since' => '9.2.0', + 'parameters' => [ + 'id' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The id used to identify the event on the instance', + 'example' => '42', + ], + 'name' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The display name of the event which should be used in the visual representation', + 'example' => 'Workout', + ], + ], + ], + 'email' => [ + 'author' => 'Nextcloud', + 'app' => 'sharebymail', + 'since' => '9.2.0', + 'parameters' => [ + 'id' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The mail-address used to identify the event on the instance', + 'example' => 'test@localhost', + ], + 'name' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The display name of a matching contact or the email (fallback) which should be used in the visual representation', + 'example' => 'Foo Bar', + ], + ], + ], + 'file' => [ + 'author' => 'Nextcloud', + 'app' => 'dav', + 'since' => '9.2.0', + 'parameters' => [ + 'id' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The id used to identify the file on the instance', + 'example' => '42', + ], + 'name' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The file name which should be used in the visual representation', + 'example' => 'file.txt', + ], + 'path' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The full path of the file for the user', + 'example' => 'path/to/file.txt', + ], + 'link' => [ + 'since' => '9.2.0', + 'required' => false, + 'description' => 'The full URL to the file', + 'example' => 'http://localhost/index.php/f/42', + ], + ], + ], + 'pending-federated-share' => [ + 'author' => 'Nextcloud', + 'app' => 'dav', + 'since' => '9.2.0', + 'parameters' => [ + 'id' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The id used to identify the federated share on the instance', + 'example' => '42', + ], + 'name' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The name of the shared item which should be used in the visual representation', + 'example' => 'file.txt', + ], + ], + ], + 'systemtag' => [ + 'author' => 'Nextcloud', + 'app' => 'core', + 'since' => '9.2.0', + 'parameters' => [ + 'id' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The id used to identify the systemtag on the instance', + 'example' => '23', + ], + 'name' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The display name of the systemtag which should be used in the visual representation', + 'example' => 'Project 1', + ], + 'visibility' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'If the user can see the systemtag', + 'example' => '1', + ], + 'assignable' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'If the user can assign the systemtag', + 'example' => '0', + ], + ], + ], + 'user' => [ + 'author' => 'Nextcloud', + 'app' => 'core', + 'since' => '9.2.0', + 'parameters' => [ + 'id' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The id used to identify the user on the instance', + 'example' => 'johndoe', + ], + 'name' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The display name of the user which should be used in the visual representation', + 'example' => 'John Doe', + ], + 'server' => [ + 'since' => '9.2.0', + 'required' => false, + 'description' => 'The URL of the instance the user lives on', + 'example' => 'localhost', + ], + ], + ], + 'user-group' => [ + 'author' => 'Nextcloud', + 'app' => 'core', + 'since' => '9.2.0', + 'parameters' => [ + 'id' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The id used to identify the group on the instance', + 'example' => 'supportteam', + ], + 'name' => [ + 'since' => '9.2.0', + 'required' => true, + 'description' => 'The display name of the group which should be used in the visual representation', + 'example' => 'Support Team', + ], + ], + ], + ]; + + /** + * @param string $type + * @return array + * @throws InvalidObjectExeption + * @since 9.2.0 + */ + public function getDefinition($type) { + if (isset($this->definitions[$type])) { + return $this->definitions[$type]; + } + + throw new InvalidObjectExeption('Object type is undefined'); + } +} diff --git a/lib/public/RichObjectStrings/definitions.json b/lib/public/RichObjectStrings/definitions.json deleted file mode 100644 index 494e96c8f76..00000000000 --- a/lib/public/RichObjectStrings/definitions.json +++ /dev/null @@ -1,247 +0,0 @@ -{ - "addressbook": { - "author": "Nextcloud", - "app": "dav", - "since": "9.2.0", - "parameters": { - "id": { - "since": "9.2.0", - "required": true, - "description": "The id used to identify the addressbook on the instance", - "example": "42" - }, - "name": { - "since": "9.2.0", - "required": true, - "description": "The display name of the addressbook which should be used in the visual representation", - "example": "Contacts" - } - } - }, - "addressbook-contact": { - "author": "Nextcloud", - "app": "dav", - "since": "9.2.0", - "parameters": { - "id": { - "since": "9.2.0", - "required": true, - "description": "The id used to identify the contact on the instance", - "example": "42" - }, - "name": { - "since": "9.2.0", - "required": true, - "description": "The display name of the contact which should be used in the visual representation", - "example": "John Doe" - } - } - }, - "announcement": { - "author": "Joas Schilling", - "app": "announcementcenter", - "since": "9.2.0", - "parameters": { - "id": { - "since": "9.2.0", - "required": true, - "description": "The id used to identify the announcement on the instance", - "example": "42" - }, - "name": { - "since": "9.2.0", - "required": true, - "description": "The announcement subject which should be used in the visual representation", - "example": "file.txt" - }, - "link": { - "since": "9.2.0", - "required": false, - "description": "The full URL to the file", - "example": "http://localhost/index.php/apps/announcements/#23" - } - } - }, - "calendar": { - "author": "Nextcloud", - "app": "dav", - "since": "9.2.0", - "parameters": { - "id": { - "since": "9.2.0", - "required": true, - "description": "The id used to identify the calendar on the instance", - "example": "42" - }, - "name": { - "since": "9.2.0", - "required": true, - "description": "The display name of the calendar which should be used in the visual representation", - "example": "Personal" - } - } - }, - "calendar-event": { - "author": "Nextcloud", - "app": "dav", - "since": "9.2.0", - "parameters": { - "id": { - "since": "9.2.0", - "required": true, - "description": "The id used to identify the event on the instance", - "example": "42" - }, - "name": { - "since": "9.2.0", - "required": true, - "description": "The display name of the event which should be used in the visual representation", - "example": "Workout" - } - } - }, - "file": { - "author": "Nextcloud", - "app": "dav", - "since": "9.2.0", - "parameters": { - "id": { - "since": "9.2.0", - "required": true, - "description": "The id used to identify the file on the instance", - "example": "42" - }, - "name": { - "since": "9.2.0", - "required": true, - "description": "The file name which should be used in the visual representation", - "example": "file.txt" - }, - "path": { - "since": "9.2.0", - "required": true, - "description": "The full path of the file for the user", - "example": "path/to/file.txt" - }, - "link": { - "since": "9.2.0", - "required": false, - "description": "The full URL to the file", - "example": "http://localhost/index.php/f/42" - } - } - }, - "pending-federated-share": { - "author": "Nextcloud", - "app": "dav", - "since": "9.2.0", - "parameters": { - "id": { - "since": "9.2.0", - "required": true, - "description": "The id used to identify the federated share on the instance", - "example": "42" - }, - "name": { - "since": "9.2.0", - "required": true, - "description": "The name of the shared item which should be used in the visual representation", - "example": "file.txt" - } - } - }, - "systemtag": { - "author": "Nextcloud", - "app": "core", - "since": "9.2.0", - "parameters": { - "id": { - "since": "9.2.0", - "required": true, - "description": "The id used to identify the systemtag on the instance", - "example": "23" - }, - "name": { - "since": "9.2.0", - "required": true, - "description": "The display name of the systemtag which should be used in the visual representation", - "example": "Project 1" - }, - "visibility": { - "since": "9.2.0", - "required": true, - "description": "If the user can see the systemtag", - "example": "1" - }, - "assignable": { - "since": "9.2.0", - "required": true, - "description": "If the user can assign the systemtag", - "example": "0" - } - } - }, - "user": { - "author": "Nextcloud", - "app": "core", - "since": "9.2.0", - "parameters": { - "id": { - "since": "9.2.0", - "required": true, - "description": "The id used to identify the user on the instance", - "example": "johndoe" - }, - "name": { - "since": "9.2.0", - "required": true, - "description": "The display name of the user which should be used in the visual representation", - "example": "John Doe" - }, - "server": { - "since": "9.2.0", - "required": false, - "description": "The URL of the instance the user lives on", - "example": "localhost" - } - } - }, - "user-group": { - "author": "Nextcloud", - "app": "core", - "since": "9.2.0", - "parameters": { - "id": { - "since": "9.2.0", - "required": true, - "description": "The id used to identify the group on the instance", - "example": "supportteam" - }, - "name": { - "since": "9.2.0", - "required": true, - "description": "The display name of the group which should be used in the visual representation", - "example": "Support Team" - } - } - }, - "email": { - "author": "Nextcloud", - "app": "sharebymail", - "since": "9.2.0", - "parameters": { - "id": { - "since": "9.2.0", - "required": true, - "description": "The mail-address used to identify the event on the instance", - "example": "test@localhost" - }, - "name": { - "since": "9.2.0", - "required": true, - "description": "The display name of a matching contact or the email (fallback) which should be used in the visual representation", - "example": "Foo Bar" - } - } - } -} |