Skip to content

Latest commit

 

History

History
229 lines (170 loc) · 15.2 KB

File metadata and controls

229 lines (170 loc) · 15.2 KB


Android OMH Storage

NPM version License

Chat on Discord Follow on Twitter


Android OMH Storage streamlines the integration of various cloud storage providers into your Android application by offering a unified API for different storage providers. It supports both Google Mobile Services (GMS) and non-GMS configurations, making it easy to incorporate Google Drive, OneDrive, Dropbox, and other supported third-party storage providers.

Features

  • 📱 GMS and non-GMS support for all storage providers
  • 🖇️ Identical API across all storage providers
  • 📦 Official storage provider SDK integration
  • 🚀 Easy configuration and setup
  • 💨 Lightweight modules

OMH Storage Modules

This is the main directory of the mono-repo for Android OMH Storage. If you're searching for a particular package, please click on the corresponding package link below.

Documentation

Supported functionality

  • ✅ - supported
  • 🟨 - partially supported
  • ❌ - not supported
Features Google Drive (GMS) Google Drive (non-GMS) OneDrive Dropbox
File listing
File searching 🟨
Folder creation
File creation (by mime type)
File creation (by extension)
File update
File deletion
File permanent deletion
File upload
File download
File export
File metadata 🟨 🟨
File versioning
File permissions 🟨 🟨 🟨 🟨
File URL

File metadata

Show details

OmhStorageEntity.OmhFile

Property Google Drive (GMS) Google Drive (non-GMS) OneDrive Dropbox
id
name
createdTime
modifiedTime
parentId
mimeType
extension
size

OmhStorageEntity.OmhFolder

Property Google Drive (GMS) Google Drive (non-GMS) OneDrive Dropbox
id
name
createdTime
modifiedTime
parentId

OmhStorageMetadata.originalMetadata

Storage provider Type
Google Drive (GMS) com.google.api.services.drive.model.File
Google Drive (non-GMS) String
OneDrive com.microsoft.graph.models.DriveItem
Dropbox com.dropbox.core.v2.files.Metadata

File versioning

Show details

OmhFileVersion

Property Google Drive (GMS) Google Drive (non-GMS) OneDrive Dropbox
fieldId
versionId
lastModified

File permissions

Show details

OmhPermission.IdentityPermission

Property Google Drive (GMS) Google Drive (non-GMS) OneDrive Dropbox
id 🟨
role
isInherited 🟨 🟨
identity

Google Drive: isInherited is present only for shared drive items. Dropbox: id equals to underlying identity ID.

OmhIdentity

Type Google Drive (GMS) Google Drive (non-GMS) OneDrive Dropbox
User
Group
Domain
Anyone
Device
Application

OmhIdentity.User

Property Google Drive (GMS) Google Drive (non-GMS) OneDrive Dropbox
id
displayName 🟨
emailAddress
expirationTime
deleted
photoLink
pendingOwner

Dropbox: Invited users without a Dropbox account will not have a displayName.

OmhIdentity.Group

Property Google Drive (GMS) Google Drive (non-GMS) OneDrive Dropbox
id
displayName
emailAddress
expirationTime
deleted

OmhPermissionRole

Role Google Drive (GMS) Google Drive (non-GMS) OneDrive Dropbox
OWNER
WRITER 🟨
COMMENTER
READER 🟨

Dropbox:

  • Dropbox does not support granting a READER role, although it is documented as available in the API. An exception will be thrown with user message: viewer_no_comment isn’t yet supported
  • Dropbox does not support granting a WRITER role to uploaded files. An exception will be thrown with user message: You don’t have permission to perform this action..

OmhPermissionRecipient

Type Google Drive (GMS) Google Drive (non-GMS) OneDrive Dropbox
User
Group
Domain
Anyone
WithObjectId
WithAlias

Dropbox: to invite Group, use WithObjectId and provide group ID

OmhStorageClient.createPermission

Dropbox: this method returns null when permission is successfully created.

OmhStorageClient.updatePermission

Dropbox: this method returns null when permission is successfully updated.

OmhStorageClient.getWebUrl

Dropbox: a folder needs to be a shared folder to return web URL.

OmhStorageClient.getFilePermissions

Dropbox: a folder needs to be a shared folder to return any permissions, including OWNER permission.

Contributing

License