typeorm
Version:
Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.
72 lines (71 loc) • 2.33 kB
TypeScript
import { EntityFieldsNames } from "../common/EntityFieldsNames";
import { JoinOptions } from "./JoinOptions";
import { ObjectLiteral } from "../common/ObjectLiteral";
import { FindConditions } from "./FindConditions";
/**
* Defines a special criteria to find specific entity.
*/
export interface FindOneOptions<Entity = any> {
/**
* Specifies what columns should be retrieved.
*/
select?: (keyof Entity)[];
/**
* Simple condition that should be applied to match entities.
*/
where?: FindConditions<Entity>[] | FindConditions<Entity> | ObjectLiteral | string;
/**
* Indicates what relations of entity should be loaded (simplified left join form).
*/
relations?: string[];
/**
* Specifies what relations should be loaded.
*/
join?: JoinOptions;
/**
* Order, in which entities should be ordered.
*/
order?: {
[]?: "ASC" | "DESC" | 1 | -1;
};
/**
* Enables or disables query result caching.
*/
cache?: boolean | number | {
id: any;
milliseconds: number;
};
/**
* Indicates what locking mode should be used.
*
* Note: For lock tables, you must specify the table names and not the relation names
*/
lock?: {
mode: "optimistic";
version: number | Date;
} | {
mode: "pessimistic_read" | "pessimistic_write" | "dirty_read" | "pessimistic_partial_write" | "pessimistic_write_or_fail" | "for_no_key_update";
tables?: string[];
};
/**
* Indicates if soft-deleted rows should be included in entity result.
*/
withDeleted?: boolean;
/**
* If sets to true then loads all relation ids of the entity and maps them into relation values (not relation objects).
* If array of strings is given then loads only relation ids of the given properties.
*/
loadRelationIds?: boolean | {
relations?: string[];
disableMixedMap?: boolean;
};
/**
* Indicates if eager relations should be loaded or not.
* By default they are loaded when find methods are used.
*/
loadEagerRelations?: boolean;
/**
* If this is set to true, SELECT query in a `find` method will be executed in a transaction.
*/
transaction?: boolean;
}