UNPKG

@cyber-rom/nestjs-scylladb

Version:

Based on https://www.npmjs.com/package/@ouato/nestjs-express-cassandra With support columns name mapping

34 lines (33 loc) 2.18 kB
import { Type } from '@nestjs/common'; import { types } from 'cassandra-driver'; import { Observable } from 'rxjs'; import { BaseModel, FindQuery, SaveOptionsStatic, UpdateOptionsStatic, DeleteOptionsStatic, FindQueryOptionsStatic } from '../interfaces/externals/scylla.interface'; import { ReturnQueryBuilder } from './builder/return-query.builder'; export declare class Repository<Entity = any> { readonly model: BaseModel<Entity>; readonly target: Type<Entity>; readonly returnQueryBuilder: ReturnQueryBuilder<Entity>; create(entity?: Partial<Entity>): Entity; create(entities: Partial<Entity>[]): Entity[]; count(query: FindQuery<Entity>, key?: String | keyof Entity): Observable<number>; findOne(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): Observable<Entity>; findOneOrFail(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): Observable<Entity>; find(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): Observable<Entity[]>; findAndCount(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): Observable<[Entity[], number]>; save(entity: Partial<Entity>, options?: SaveOptionsStatic): Observable<Entity>; save(entities: Partial<Entity>[], options?: SaveOptionsStatic): Observable<Entity[]>; update(query: FindQuery<Entity>, updateValue: Partial<Entity>, options?: UpdateOptionsStatic<Entity>): Observable<any>; remove(entity: Entity, options?: DeleteOptionsStatic): Observable<Entity>; remove(entity: Entity[], options?: DeleteOptionsStatic): Observable<Entity[]>; delete(query: FindQuery<Entity>, options?: DeleteOptionsStatic): Observable<any>; truncate(): Observable<any>; stream(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): Observable<Entity>; eachRow(query: FindQuery<Entity>, options?: FindQueryOptionsStatic<Entity>): EachRowArgument; get getModelRef(): BaseModel<Entity>; getReturnQueryBuilder(): ReturnQueryBuilder<Entity>; doBatch(queries: any): Promise<any>; } export interface EachRowArgument { getReader<T = any>(): Observable<T>; getDone(): Observable<types.ResultSet>; }