typecql
Version:
ORM for CQL databases.
82 lines (81 loc) • 3.38 kB
TypeScript
import { InsertParams, WriteQueryFactory } from '../factory/write-query.factory';
import { updateObject, updateParameters } from '../repositories/crud/update-repository';
import { deleteParameters } from '../repositories/crud/delete-repository';
import { DeleteFactory } from '../factory/delete.factory';
import { UpdateFactory } from '../factory/update.factory';
import { Settings } from '../misc/utils/settings';
import { Client } from 'cassandra-driver';
export declare class TransactionEntity<E> {
private tableName;
private batchQueries;
private writeFactory;
private deleteFactory;
private updateFactory;
private settings;
private client;
constructor(tableName: string, batchQueries: Array<{
query: string;
params: unknown[];
}>, writeFactory: WriteQueryFactory<E>, deleteFactory: DeleteFactory<E>, updateFactory: UpdateFactory<E>, settings: Settings, client: Client);
/**
* Transactional version of <a href='https://typecql.com/#Insert%20-%20insert'>insert</a> method.
* @param data object or array of objects to be inserted in database.
* @param options additional options.
* @link https://typecql.com/#Transactions
*/
insert(data: InsertParams<E>[], options?: {
returning: true;
replace?: boolean;
ttl?: number;
timestamp?: number;
}): E[];
/**
* Transactional version of <a href='https://typecql.com/#Insert%20-%20insert'>insert</a> method.
* @param data object or array of objects to be inserted in database.
* @param options additional options.
* @link https://typecql.com/#Transactions
*/
insert(data: InsertParams<E>, options?: {
returning: true;
replace?: boolean;
ttl?: number;
timestamp?: number;
}): E;
/**
* Transactional version of <a href='https://typecql.com/#Insert%20-%20insert'>insert</a> method.
* @param data object or array of objects to be inserted in database.
* @param options additional options.
* @link https://typecql.com/#Transactions
*/
insert(data: InsertParams<E> | InsertParams<E>[], options?: {
returning: true;
replace?: boolean;
ttl?: number;
timestamp?: number;
}): E | E[];
/**
* Transactional version of <a href='https://typecql.com/#Insert%20-%20insert'>insert</a> method.
* @param data object or array of objects to be inserted in database.
* @param options additional options.
* @link https://typecql.com/#Transactions
*/
insert(data: InsertParams<E> | InsertParams<E>[], options?: {
returning: false;
replace?: boolean;
ttl?: number;
timestamp?: number;
}): void;
/**
* Transactional version of <a href='https://typecql.com/#Update%20-%20update'>update</a> method.
* @param parameters - update query parameters.
* @param partialObject object with fields as update values.
* @link https://typecql.com/#Transactions
*/
update(parameters: updateParameters<E>, partialObject: updateObject<E>): void;
/**
* Transactional version of <a href='https://typecql.com/#Delete%20-%20delete'>delete</a> method.
* @param parameters - delete query parameters.
* @link https://typecql.com/#Transactions
*/
delete(parameters: deleteParameters<E>): void;
}