summaryrefslogtreecommitdiffstats
path: root/apps/files_external/lib/backend
Commit message (Collapse)AuthorAgeFilesLines
* Move Lib\Backend to PSR-4Joas Schilling2016-05-2414-949/+0
|
* Add links to load GDrive/Dropbox configuration pagesRobin McCorkell2016-05-032-0/+2
|
* Allow multiple custom JS filesRobin McCorkell2016-05-031-1/+1
|
* Fix storage backend class namespaces and move to subdirRobin McCorkell2016-04-1410-10/+10
| | | | | All classes that were previously \OC\Files\Storage\FooBar are now \OCA\Files_External\Lib\Storage\FooBar
* Introduce 'login credentials' auth mechanismRobin McCorkell2016-01-182-2/+5
| | | | | Stores user credentials in the database after user login, uses the new CredentialsManager class
* Happy new year!Thomas Müller2016-01-1214-28/+28
|
* deduplicate @xenopathicMorris Jobke2015-10-0614-14/+14
|
* Mark SMB_OC and SFTP_Key as deprecated backendsRobin McCorkell2015-09-232-4/+8
|
* Add deprecation mechanic to IdentifierTraitRobin McCorkell2015-09-231-0/+1
| | | | | Deprecation allows a backend/auth mechanism to designate an object that it deprecates to, allowing clean transitions to updated codebases.
* Revert "Implement more fine-grained external storage permissions model"Robin McCorkell2015-09-234-8/+4
| | | | | | This reverts commit 0b97a05e7bd631d66de1c2aee115113ada8a5f63. This reverts commit d2e3c17c0000bc0020f1ff641190452f370434de. This reverts commit cc88c5f4b84da57c425cbdb7dc8b391b1942b503.
* Correct manipulateStorageConfig parameterRobin McCorkell2015-09-171-0/+1
|
* Merge branch 'master' into smb-workgroupRobin McCorkell2015-09-1513-8/+380
|\
| * Fix dependency check for Swift and SMB_OCRobin McCorkell2015-09-132-2/+6
| | | | | | | | Mistake caused during merging, where the API had changed
| * Merge pull request #18441 from owncloud/ext-backends.advancedRobin McCorkell2015-09-136-4/+184
| |\ | | | | | | Migrate advanced external storage backends to new registration API [part 3]
| | * Fix Swift legacy auth mechanism fallbackRobin McCorkell2015-09-031-1/+1
| | |
| | * Fix typo in SMB_OCRobin McCorkell2015-09-031-2/+2
| | |
| | * Prevent creation of deprecated backendsRobin McCorkell2015-08-282-0/+4
| | |
| | * Implement more fine-grained external storage permissions modelRobin McCorkell2015-08-282-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VisibilityTrait -> PermissionsTrait PermissionsTrait stores two sets of data, $permissions and $allowedPermissions (analogous to $visibility and $allowedVisibility of VisibilityTrait). Each set is a map of user type ('admin' or 'personal') to permissions (mounting permission, create permission). The result is that a backend can now be restricted for creation, while still allowing it to be mounted. This is useful for deprecating backends or auth mechanisms, preventing new storages being created, while still allowing existing storages to be mounted.
| | * Migrate SFTP_Key external storage to new APIRobin McCorkell2015-08-282-0/+49
| | | | | | | | | | | | | | | The SFTP backend now supports public key authentication alongside password authentication.
| | * Migrate SMB_OC external storage to new APIRobin McCorkell2015-08-281-0/+67
| | | | | | | | | | | | | | | SMB_OC has been merged with SMB, via the identifier aliases mechanism. Legacy migration is done to the Session Credentials password mechanism
| | * Migrate Swift external storage to new APIRobin McCorkell2015-08-281-0/+60
| | | | | | | | | | | | | | | The Rackspace/OpenStack differences have been split into separate auth mechanisms, with correct legacy migration
| * | Make checkDependencies a real methodRobin McCorkell2015-09-017-7/+41
| |/ | | | | | | | | Replace ->setDependencyCheck(callable) with a real method checkDependencies(). A polyfill is available for legacy storages.
| * Migrate Google external storage to new APIRobin McCorkell2015-08-251-0/+48
| |
| * Migrate Dropbox external storage to new APIRobin McCorkell2015-08-251-0/+48
| |
| * Migrate AmazonS3 external storage to new APIRobin McCorkell2015-08-251-0/+58
| |
* | Allow domain to be specified for SMBRobin McCorkell2015-08-211-0/+12
|/
* Migrate SFTP external storage to new APIRobin McCorkell2015-08-191-0/+50
|
* Migrate OwnCloud external storage to new APIRobin McCorkell2015-08-191-0/+52
|
* Migrate DAV external storage to new APIRobin McCorkell2015-08-191-0/+53
|
* Migrate SMB external storage to new APIRobin McCorkell2015-08-191-0/+52
|
* Migrate FTP external storage to new APIRobin McCorkell2015-08-191-0/+53
|
* Migrate Local external storage to new APIRobin McCorkell2015-08-191-0/+49
|
* Compatibility shims for OC_Mount_ConfigRobin McCorkell2015-08-191-0/+85
| | | | | | | | | | | | | | | | | | The following functions have been removed: - addMountPoint() - removeMountPoint() - movePersonalMountPoint() registerBackend() has been rewritten as a shim around BackendService, allowing legacy code to interact with the new API seamlessly addMountPoint() was already disconnected from all production code, so this commit completes the job and removes the function itself, along with disconnecting and removing related functions. Unit tests have likewise been removed. getAbsoluteMountPoints(), getSystemMountPoints() and getPersonalMountPoints() have been rewritten to use the StoragesServices
* Split backend identifiers from the class nameRobin McCorkell2015-08-191-8/+2
| | | | | | | | | | | | | 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/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 BackendService for managing external storage backendsRobin McCorkell2015-08-191-0/+94
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).