mongo2crate
Version:
Sync MongoDB to CrateDB and Convert JSON schema to SQL DDL
39 lines (38 loc) • 1.13 kB
TypeScript
export interface CrateConfig {
sqlEndpoint?: string;
auth?: string;
}
export interface QueryResult {
cols: string[];
col_types?: number[];
rows: any[][];
rowcount: number;
duration: number;
}
export interface BulkQueryResult {
cols: string[];
results: {
rowcount: number;
}[];
duration: number;
}
export interface ErrorResult {
error: {
message: string;
code: number;
};
}
export type Response = QueryResult | ErrorResult;
export type BulkResponse = BulkQueryResult | ErrorResult;
export interface QueryOptions {
args?: any[];
coltypes?: boolean;
}
export declare const crate: (config?: CrateConfig) => {
query: (sql: string, options?: QueryOptions) => Promise<Response>;
insert: (qualifiedName: string, record: object) => Promise<Response>;
upsert: (qualifiedName: string, record: object, update: object) => Promise<Response>;
bulkInsert: (qualifiedName: string, records: object[]) => Promise<BulkResponse>;
deleteById: (qualifiedName: string, id: string) => Promise<Response>;
};
export type Crate = ReturnType<typeof crate>;