UNPKG

typecql

Version:

ORM for CQL databases.

82 lines (81 loc) 3.38 kB
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; }