appwrite
Version:
Appwrite is an open-source self-hosted backend server that abstracts and simplifies complex and repetitive development tasks behind a very simple REST API
75 lines (74 loc) • 2.04 kB
TypeScript
interface Database {
_db: any;
}
interface Collection {
_coll: any;
}
interface Document {
_doc: any;
}
interface TablesDB {
_tdb: any;
}
interface Table {
_tbl: any;
}
interface Row {
_row: any;
}
interface Bucket {
_bkt: any;
}
interface File {
_file: any;
}
interface Func {
_fn: any;
}
interface Execution {
_exec: any;
}
interface Team {
_team: any;
}
interface Membership {
_mem: any;
}
interface Resolved {
_res: any;
}
type Actionable = Document | Row | File | Team | Membership;
export declare class Channel<T> {
private readonly segments;
_type: T;
private constructor();
private next;
private resolve;
toString(): string;
collection(this: Channel<Database>, id: string): Channel<Collection>;
document(this: Channel<Collection>, id?: string): Channel<Document>;
table(this: Channel<TablesDB>, id: string): Channel<Table>;
row(this: Channel<Table>, id?: string): Channel<Row>;
file(this: Channel<Bucket>, id?: string): Channel<File>;
create(this: Channel<Actionable>): Channel<Resolved>;
upsert(this: Channel<Document | Row>): Channel<Resolved>;
update(this: Channel<Actionable>): Channel<Resolved>;
delete(this: Channel<Actionable>): Channel<Resolved>;
static database(id: string): Channel<Database>;
static execution(id: string): Channel<Execution>;
static tablesdb(id: string): Channel<TablesDB>;
static bucket(id: string): Channel<Bucket>;
static function(id: string): Channel<Func>;
static team(id: string): Channel<Team>;
static membership(id: string): Channel<Membership>;
static account(): string;
static documents(): string;
static rows(): string;
static files(): string;
static executions(): string;
static teams(): string;
static memberships(): string;
}
export type ActionableChannel = Channel<Document> | Channel<Row> | Channel<File> | Channel<Execution> | Channel<Team> | Channel<Membership>;
export type ResolvedChannel = Channel<Resolved>;
export {};