UNPKG

react-native-cloud-storage

Version:

☁️ Save to & read from iCloud and Google Drive using React Native

76 lines (67 loc) 2.09 kB
export type GoogleDriveFileSpace = 'appDataFolder' | 'drive'; export enum MimeTypes { BINARY = 'application/octet-stream', CSV = 'text/csv', FOLDER = 'application/vnd.google-apps.folder', JSON = 'application/json', PDF = 'application/pdf', TEXT = 'text/plain', } export interface GoogleDriveFile { id: string; kind: 'drive#file'; mimeType: string; name: string; parents: string[]; spaces: GoogleDriveFileSpace[]; createdTime: string; modifiedTime: string; size?: number; } export interface GoogleDriveListOperationQueryParameters { corpora?: 'user' | 'drive' | 'domain' | 'allDrives'; driveId?: string; fields?: string; includeItemsFromAllDrives?: boolean; includePermissionsForView?: 'published'; // comma-separated list of 'createdTime' | 'folder' | 'modifiedByMeTime' | 'modifiedTime' | 'name' | 'name_natural' | 'quotaBytesUsed' | 'recency' | 'sharedWithMeTime' | 'starred' | 'viewedByMeTime' orderBy?: string; pageSize?: number; pageToken?: string; q?: string; // comma-separated list of 'appDataFolder' | 'drive' | 'photos' spaces?: string; supportsAllDrives?: boolean; } export interface GoogleDriveListOperationResponse { files: GoogleDriveFile[]; incompleteSearch: boolean; kind: 'drive#fileList'; nextPageToken: string; } export interface GoogleDriveDeleteOperationQueryParameters { supportsAllDrives?: boolean; } export interface GoogleDriveGetOperationQueryParameters { acknowledgeAbuse?: boolean; fields?: string; includeLabels?: string; includePermissionsForView?: 'published'; supportsAllDrives?: boolean; alt?: 'media'; } export interface GoogleDriveCreateOperationRequestBody { name?: string; mimeType?: string; parents?: string[]; } export interface GoogleDriveCreateOperationQueryParameters { uploadType: 'media' | 'multipart' | 'resumable'; ignoreDefaultVisibility?: boolean; includeLabels?: string; includePermissionsForView?: 'published'; keepRevisionForever?: boolean; ocrLanguage?: string; supportsAllDrives?: boolean; useContentAsIndexableText?: boolean; }