summaryrefslogtreecommitdiffstats
path: root/apps/files_external/service/storagesservice.php
Commit message (Collapse)AuthorAgeFilesLines
* Move stuff from outside lib/ to PSR-4Joas Schilling2016-05-241-527/+0
|
* apps/files_external: Fix typos in comments (found and fixed by codespell)Stefan Weil2016-03-301-2/+2
| | | | Signed-off-by: Stefan Weil <sw@weilnetz.de>
* Remove Scrutinizer Auto FixerLukas Reschke2016-03-011-1/+0
|
* dont die when missing an auth backendRobin Appelman2016-02-171-0/+7
|
* clear mount cache when removing applicablesRobin Appelman2016-01-201-1/+39
|
* Fix adding global applicable when removing all other applicablesRobin Appelman2016-01-131-2/+2
|
* Happy new year!Thomas Müller2016-01-121-2/+5
|
* Filter getStorage to make sure the user has access to itRobin Appelman2016-01-081-4/+15
|
* fix setting mountpoint and auth backend of external storagesRobin Appelman2016-01-081-0/+8
|
* Scrutinizer Auto-FixesScrutinizer Auto-Fixer2015-12-101-0/+3
| | | | This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
* db config backend for files_externalRobin Appelman2015-12-041-305/+139
|
* Migrate storate status code to storagenotavailablexceptionJesús Macias2015-12-031-1/+2
|
* dont die if the external storage backend doesn't existRobin Appelman2015-11-201-11/+20
|
* Remove oc_storages entries after removing ext storagesVincent Petry2015-10-061-0/+41
| | | | | | | | | When removing external storages, either system-wide or user-wide, automatically remove the matching oc_storages and oc_filecache entries. This can only work if the backend configuration doesn't contain any substitution variable $user in which case the storage id cannot be computed, so this case is ignored for now.
* deduplicate @xenopathicMorris Jobke2015-10-061-1/+1
|
* update licence headers via scriptMorris Jobke2015-10-051-1/+1
|
* Perform visibility checks on storagesRobin McCorkell2015-09-231-1/+44
| | | | | | | | StoragesService::getStorages() will check the visibility of the backend and auth mechanism for the storage, and if either are not visible to the user (aka disabled by admin) then the storage will be filtered out. The original method StoragesService::getAllStorages() still exists in case such storages need to be detected, but its use is discouraged.
* Allow an empty mount pointRobin McCorkell2015-08-311-2/+2
|
* Prevent objectstore being set from client sideRobin McCorkell2015-08-251-2/+6
|
* Merge pull request #18445 from owncloud/ext-only-setuservars-stringMorris Jobke2015-08-251-0/+8
|\ | | | | setUserVars() should only attempt substitution with strings
| * Convert string booleans to real booleansRobin McCorkell2015-08-201-0/+8
| | | | | | | | | | Legacy compatibility, from the days in stable8 when checkbox boolean values were stored as the strings 'true' and 'false'.
* | Merge pull request #18408 from owncloud/ext-ocpRobin McCorkell2015-08-201-1/+1
|\ \ | |/ |/| Use OCP classes as much as possible in files_external v2
| * Use OCP classes as much as possible in files_externalRobin McCorkell2015-08-191-1/+1
| |
* | Allow builtin auth mechanism to be overriddenRobin McCorkell2015-08-191-1/+1
|/ | | | | | The builtin mechanism is used exclusively for legacy external storages, which when upgraded to the new registration need to fallback to the defined legacy authentication mechanism instead.
* Split backend identifiers from the class nameRobin McCorkell2015-08-191-15/+24
| | | | | | | | | | | | | Prior to this, the storage class name was stored in mount.json under the "class" parameter, and the auth mechanism class name under the "authMechanism" parameter. This decouples the class name from the identifier used to retrieve the backend or auth mechanism. Now, backends/auth mechanisms have a unique identifier, which is saved in the "backend" or "authMechanism" parameter in mount.json respectively. An identifier is considered unique for the object it references, but the underlying class may change (e.g. files_external gets pulled into core and namespaces are modified).
* Authentication mechanisms for external storage backendsRobin McCorkell2015-08-191-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A backend can now specify generic authentication schemes that it supports, instead of specifying the parameters for its authentication method directly. This allows multiple authentication mechanisms to be implemented for a single scheme, providing altered functionality. This commit introduces the backend framework for this feature, and so at this point the UI will be broken as the frontend does not specify the required information. Terminology: - authentication scheme Parameter interface for the authentication method. A backend supporting the 'password' scheme accepts two parameters, 'user' and 'password'. - authentication mechanism Specific mechanism implementing a scheme. Basic mechanisms may forward configuration options directly to the backend, more advanced ones may lookup parameters or retrieve them from the session New dropdown selector for external storage configurations to select the authentication mechanism to be used. Authentication mechanisms can have visibilities, just like backends. The API was extended too to make it easier to add/remove visibilities. In addition, the concept of 'allowed visibility' has been introduced, so a backend/auth mechanism can force a maximum visibility level (e.g. Local storage type) that cannot be overridden by configuration in the web UI. An authentication mechanism is a fully instantiated implementation. This allows an implementation to have dependencies injected into it, e.g. an \OCP\IDB for database operations. When a StorageConfig is being prepared for mounting, the authentication mechanism implementation has manipulateStorage() called, which inserts the relevant authentication method options into the storage ready for mounting.
* Introduce UserGlobalStoragesServiceRobin McCorkell2015-08-191-9/+29
| | | | | | | | | | | | | | | | | | UserGlobalStoragesService reads the global storage configuration, cherry-picking storages applicable to a user. Writing storages through this service is forbidden, on punishment of throwing an exception. Storage IDs may also be config hashes when retrieved from this service, as it is unable to update the storages with real IDs. As UserGlobalStoragesService and UserStoragesService share a bit of code relating to users, that has been split into UserTrait. UserTrait also allows for the user set to be overridden, rather than using the user from IUserSession. Config\ConfigAdapter has been reworked to use UserStoragesService and UserGlobalStoragesService instead of OC_Mount_Config::getAbsoluteMountPoints(), further reducing dependance on that horrible static class.
* Introduce BackendService for managing external storage backendsRobin McCorkell2015-08-191-4/+64
| | | | | | | | | | | | | | | | | Backends are registered to the BackendService through new data structures: Backends are concrete classes, deriving from \OCA\Files_External\Lib\Backend\Backend. During construction, the various configuration parameters of the Backend can be set, in a design similar to Symfony Console. DefinitionParameter stores a parameter configuration for an external storage: name of parameter, human-readable name, type of parameter (text, password, hidden, checkbox), flags (optional or not). Storages in the StoragesController now get their parameters validated server-side (fixes a TODO).
* Revert "Use OCP classes as much as possible in files_external"Thomas Müller2015-07-021-1/+1
|
* Use OCP classes as much as possible in files_externalRobin McCorkell2015-07-011-1/+1
|
* update license headers and authorsMorris Jobke2015-06-251-0/+2
|
* Fix language level incompatibiltiesLukas Reschke2015-04-081-2/+4
| | | | | | Arbitrary expressions in empty are allowed in PHP 5.5 ands upwards. Seems to only affect master. Fixed https://github.com/owncloud/core/issues/15463
* Update license headersJenkins for ownCloud2015-03-261-4/+17
|
* Fix PHPDoc in files_external, add missing tagVincent Petry2015-03-171-5/+12
| | | | | | Fix various PHPDoc issues in external storage app. Added missing NoAdminRequired tag
* Generate storage config ids when missingVincent Petry2015-03-161-29/+101
| | | | | | | | When reading in old mount.json files, they do not contain config ids. Since these are needed to be able to use the UI and the new service classes, these will be generated automatically. The config grouping is based on a config hash.
* Mount options for ext storage are now passed aroundVincent Petry2015-03-131-0/+7
| | | | | | The mount options are now passed to the UI and stored in a hidden field. The ext storage controllers and services also know how to load/save them from the legacy config.
* Use storage id + appframework for ext storage CRUDVincent Petry2015-03-121-0/+303
- Added StorageConfig class to replace ugly arrays - Implemented StorageService and StorageController for Global and User storages - Async status checking for storages (from Xenopathic) - Auto-generate id for external storage configs (not the same as storage_id) - Refactor JS classes for external storage settings, this mostly moves/encapsulated existing global event handlers into the MountConfigListView class. - Added some JS unit tests for the external storage UI