@loopback/docs
Version:
Documentation files rendered at [https://loopback.io](https://loopback.io)
83 lines (68 loc) • 8.26 kB
Markdown
---
lang: en
title: 'API docs: sequelize.sequelizecrudrepository'
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
sidebar: lb4_sidebar
editurl: https://github.com/loopbackio/loopback-next/tree/master/extensions/sequelize
permalink: /doc/en/lb4/apidocs.sequelize.sequelizecrudrepository.html
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@loopback/sequelize](./sequelize.md) > [SequelizeCrudRepository](./sequelize.sequelizecrudrepository.md)
## SequelizeCrudRepository class
Sequelize implementation of CRUD repository to be used with default loopback entities and SequelizeDataSource for SQL Databases
**Signature:**
```typescript
export declare class SequelizeCrudRepository<T extends Entity, ID, Relations extends object = {}> implements EntityCrudRepository<T, ID, Relations>
```
**Implements:** [EntityCrudRepository](./repository.entitycrudrepository.md)<!-- --><T, ID, Relations>
## Constructors
| Constructor | Modifiers | Description |
| --- | --- | --- |
| [(constructor)(entityClass, dataSource)](./sequelize.sequelizecrudrepository._constructor_.md) | | Constructs a new instance of the <code>SequelizeCrudRepository</code> class |
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [dataSource](./sequelize.sequelizecrudrepository.datasource.md) | | [SequelizeDataSource](./sequelize.sequelizedatasource.md) | |
| [DB\_SPECIFIC\_SETTINGS\_KEYS](./sequelize.sequelizecrudrepository.db_specific_settings_keys.md) | <code>readonly</code> | readonly \["postgresql", "mysql", "sqlite3"\] | <p>Object keys used in models for set database specific settings. Example: In model property definition one can use postgresql dataType as float <code>{ type: 'number', postgresql: { dataType: 'float', precision: 20, scale: 4, }, }</code></p><p>This array of keys is used while building model definition for sequelize.</p> |
| [DEFAULT\_ORDER\_STYLE](./sequelize.sequelizecrudrepository.default_order_style.md) | <code>readonly</code> | (not declared) | Default <code>order</code> filter style if only column name is specified |
| [entityClass](./sequelize.sequelizecrudrepository.entityclass.md) | | typeof [Entity](./repository.entity.md) & { prototype: T; } | |
| [inclusionResolvers](./sequelize.sequelizecrudrepository.inclusionresolvers.md) | <code>readonly</code> | Map<string, [InclusionResolver](./repository.inclusionresolver.md)<!-- --><T, [Entity](./repository.entity.md)<!-- -->>> | |
| [sequelizeModel](./sequelize.sequelizecrudrepository.sequelizemodel.md) | | ModelStatic<Model<T>> | Sequelize Model Instance created from the model definition received from the <code>entityClass</code> |
## Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [beginTransaction(options)](./sequelize.sequelizecrudrepository.begintransaction.md) | | |
| [buildSequelizeAttributeFilter(fields)](./sequelize.sequelizecrudrepository.buildsequelizeattributefilter.md) | <code>protected</code> | Get Sequelize <code>attributes</code> filter value from <code>fields</code> of loopback. |
| [buildSequelizeIncludeFilter(inclusionFilters, sourceModel)](./sequelize.sequelizecrudrepository.buildsequelizeincludefilter.md) | <code>protected</code> | Build Sequelize compatible <code>include</code> filter |
| [buildSequelizeOrder(order)](./sequelize.sequelizecrudrepository.buildsequelizeorder.md) | <code>protected</code> | Get Sequelize Order filter value from loopback style order value |
| [buildSequelizeWhere(where)](./sequelize.sequelizecrudrepository.buildsequelizewhere.md) | <code>protected</code> | Build Sequelize compatible where condition object |
| [count(where, options)](./sequelize.sequelizecrudrepository.count.md) | | |
| [create(entity, options)](./sequelize.sequelizecrudrepository.create.md) | | |
| [createAll(entities, options)](./sequelize.sequelizecrudrepository.createall.md) | | |
| [createBelongsToAccessorFor(relationName, targetRepositoryGetter)](./sequelize.sequelizecrudrepository.createbelongstoaccessorfor.md) | <code>protected</code> | Function to create a belongs to accessor |
| [createHasManyRepositoryFactoryFor(relationName, targetRepositoryGetter)](./sequelize.sequelizecrudrepository.createhasmanyrepositoryfactoryfor.md) | <code>protected</code> | Function to create a constrained relation repository factory |
| [createHasManyThroughRepositoryFactoryFor(relationName, targetRepositoryGetter, throughRepositoryGetter)](./sequelize.sequelizecrudrepository.createhasmanythroughrepositoryfactoryfor.md) | <code>protected</code> | Function to create a constrained hasManyThrough relation repository factory |
| [createHasOneRepositoryFactoryFor(relationName, targetRepositoryGetter)](./sequelize.sequelizecrudrepository.createhasonerepositoryfactoryfor.md) | <code>protected</code> | Function to create a constrained hasOne relation repository factory |
| [createReferencesManyAccessorFor(relationName, targetRepoGetter)](./sequelize.sequelizecrudrepository.createreferencesmanyaccessorfor.md) | <code>protected</code> | Function to create a references many accessor |
| [delete(entity, options)](./sequelize.sequelizecrudrepository.delete.md) | | |
| [deleteAll(where, options)](./sequelize.sequelizecrudrepository.deleteall.md) | | |
| [deleteById(id, options)](./sequelize.sequelizecrudrepository.deletebyid.md) | | |
| [excludeHiddenProps(entity)](./sequelize.sequelizecrudrepository.excludehiddenprops.md) | <code>protected</code> | Remove hidden properties specified in model from response body. (See: https://github.com/sourcefuse/loopback4-sequelize/issues/3) |
| [execute(\_args)](./sequelize.sequelizecrudrepository.execute.md) | | |
| [exists(id, \_options)](./sequelize.sequelizecrudrepository.exists.md) | | |
| [find(filter, options)](./sequelize.sequelizecrudrepository.find.md) | | |
| [findById(id, filter, options)](./sequelize.sequelizecrudrepository.findbyid.md) | | |
| [findOne(filter, options)](./sequelize.sequelizecrudrepository.findone.md) | | |
| [getSequelizeModel(entityClass)](./sequelize.sequelizecrudrepository.getsequelizemodel.md) | | Get Sequelize Model |
| [getSequelizeModelAttributes(definition)](./sequelize.sequelizecrudrepository.getsequelizemodelattributes.md) | <code>protected</code> | Get Sequelize Model Attributes |
| [getSequelizeOperator(key)](./sequelize.sequelizecrudrepository.getsequelizeoperator.md) | <code>protected</code> | Get Sequelize Operator |
| [includeReferencesIfRequested(parentEntities, parentEntityClass, inclusionFilters)](./sequelize.sequelizecrudrepository.includereferencesifrequested.md) | <code>protected</code> | <p>Include related entities of <code>@referencesMany</code> relation</p><p>referencesMany relation is NOT handled by <code>sequelizeModel.findAll</code> as it doesn't have any direct alternative to it, so to include relation data of referencesMany, we're manually fetching related data requested</p> |
| [registerInclusionResolver(relationName, resolver)](./sequelize.sequelizecrudrepository.registerinclusionresolver.md) | | Register an inclusion resolver for the related model name. |
| [replaceById(id, data, options)](./sequelize.sequelizecrudrepository.replacebyid.md) | | |
| [save(entity, options)](./sequelize.sequelizecrudrepository.save.md) | | |
| [syncLoadedSequelizeModels(options)](./sequelize.sequelizecrudrepository.syncloadedsequelizemodels.md) | | Run CREATE TABLE query for the all sequelize models, Useful for quick testing |
| [syncSequelizeModel(options)](./sequelize.sequelizecrudrepository.syncsequelizemodel.md) | | Run CREATE TABLE query for the target sequelize model, Useful for quick testing |
| [toEntities(models)](./sequelize.sequelizecrudrepository.toentities.md) | <code>protected</code> | |
| [update(entity, options)](./sequelize.sequelizecrudrepository.update.md) | | |
| [updateAll(data, where, options)](./sequelize.sequelizecrudrepository.updateall.md) | | |
| [updateById(id, data, options)](./sequelize.sequelizecrudrepository.updatebyid.md) | | |