@mieweb/wikigdrive
Version:
Google Drive to MarkDown synchronization
43 lines • 2.18 kB
TypeScript
import { Writable } from 'node:stream';
import { Logger } from 'winston';
import { GoogleFile, SimpleFile } from '../model/GoogleFile.js';
import { FileId } from '../model/model.js';
import { Drive, Permission } from '../containers/folder_registry/FolderRegistryContainer.js';
import { QuotaLimiter } from './QuotaLimiter.js';
import { HasAccessToken } from './AuthClient.js';
import { Buffer } from "node:buffer";
export interface Changes {
token: string;
files: GoogleFile[];
}
export interface ListContext {
folderId?: string;
fileId?: string;
modifiedTime?: string;
driveId?: string;
retries?: number;
}
export interface HasId {
id: string;
}
export declare class GoogleDriveService {
private logger;
private quotaLimiter;
constructor(logger: Logger, quotaLimiter: QuotaLimiter);
getStartTrackToken(auth: HasAccessToken, driveId?: string): Promise<string>;
watchChanges(auth: HasAccessToken, pageToken: string, driveId?: string): Promise<Changes>;
listFiles(auth: HasAccessToken, context: ListContext, pageToken?: string): any;
getFile(auth: HasAccessToken, fileId: FileId): Promise<GoogleFile>;
download(auth: HasAccessToken, file: SimpleFile, dest: Writable): Promise<void>;
exportDocument(auth: HasAccessToken, file: GoogleFile, dest: Writable): Promise<void>;
about(auth: HasAccessToken): Promise<any>;
listDrives(accessToken: string, pageToken?: string): Promise<Drive[]>;
getDrive(accessToken: string, driveId: FileId): Promise<Drive>;
listPermissions(accessToken: string, fileId: string, pageToken?: string): Promise<Permission[]>;
shareDrive(accessToken: string, fileId: string, email: string): Promise<Permission>;
createDir(accessToken: string, folderId: FileId, name: string): Promise<HasId>;
generateIds(accessToken: string, count: number): Promise<FileId[]>;
upload(accessToken: string, folderId: FileId, name: string, mimeType: string, buffer: Buffer, id?: FileId): Promise<HasId>;
update(accessToken: string, folderId: FileId, name: string, mimeType: string, buffer: Buffer, fileId: FileId): Promise<HasId>;
}
//# sourceMappingURL=GoogleDriveService.d.ts.map