alinea
Version:
Headless git-based CMS
30 lines (29 loc) • 1.34 kB
TypeScript
import { OAuth2 } from 'alinea/backend/api/OAuth2';
import { Config } from 'alinea/core/Config';
import type { RemoteConnection, RequestContext, Revision } from 'alinea/core/Connection';
import { type Draft, type DraftKey } from 'alinea/core/Draft';
import type { CommitRequest } from 'alinea/core/db/CommitRequest';
import type { EntryRecord } from 'alinea/core/EntryRecord';
import { ReadonlyTree } from 'alinea/core/source/Tree';
export declare class CloudRemote extends OAuth2 implements RemoteConnection {
#private;
constructor(context: RequestContext, config: Config);
getTreeIfDifferent(sha: string): Promise<ReadonlyTree | undefined>;
getBlobs(shas: Array<string>): AsyncGenerator<[sha: string, blob: Uint8Array]>;
write(request: CommitRequest): Promise<{
sha: string;
}>;
authenticate(request: Request): Promise<globalThis.Response>;
prepareUpload(file: string): Promise<{
method: string | undefined;
url: string;
entryId: string;
location: string;
previewUrl: string;
provider: string;
}>;
getDraft(draftKey: DraftKey): Promise<Draft | undefined>;
storeDraft(draft: Draft): Promise<void>;
revisions(file: string): Promise<Array<Revision>>;
revisionData(file: string, revisionId: string): Promise<EntryRecord | undefined>;
}