@mas-soft/mas-core-server
Version:
main application
33 lines (32 loc) • 1.94 kB
TypeScript
import { Entity, DataSource, Filter, Options, DeepPartial, EntityCrudRepository, DataObject, Where, Count, Command, NamedParameters, PositionalParameters, AnyObject } from "../repository";
import { Transaction } from "../interfaces/transaction";
export declare class MasEntityRepository<T extends Entity, ID> implements EntityCrudRepository<T, ID> {
entityClass: typeof Entity & {
prototype: T;
};
dataSource: DataSource;
private connector;
constructor(entityClass: typeof Entity & {
prototype: T;
}, dataSource: DataSource);
private toModels;
private toModel;
create(entity: DataObject<T>, options?: Options): Promise<T>;
createAll(entities: DataObject<T>[], options?: Options): Promise<T[]>;
createOrUpdate(entity: DataObject<T>, options?: Options): Promise<T>;
save(entity: DataObject<T>, options?: Options): Promise<T>;
find(filter?: Filter<T>, options?: Options): Promise<T[]>;
findById(id: ID, filter?: Filter<T>, options?: Options): Promise<T>;
update(entity: DataObject<T>, options?: Options): Promise<void>;
delete(entity: DataObject<T>, options?: Options): Promise<void>;
updateAll(data: DataObject<T>, where?: Where<T>, options?: Options): Promise<Count>;
updateById(id: ID, data: DataObject<T>, options?: Options): Promise<void>;
replaceById(id: ID, data: DataObject<T>, options?: Options): Promise<void>;
deleteAll(where?: Where<T>, options?: Options): Promise<Count>;
deleteById(id: ID, options?: Options): Promise<void>;
count(where?: Where<T>, options?: Options): Promise<Count>;
exists(id: ID, options?: Options): Promise<boolean>;
execute(command: Command, parameters: NamedParameters | PositionalParameters, options?: Options): Promise<AnyObject>;
beginTransaction(): Promise<Transaction>;
findOne(filter?: Filter<T>, options?: Options): Promise<T | DeepPartial<T>>;
}