@nestjs-crud/typeorm
v2.2.2
Published
NestJs CRUD for RESTful APIs - TypeORM
Maintainers
Readme
Install
npm i @nestjs-crud/typeorm @nestjs/typeorm typeormUsage
Assume you have some TypeORM entity:
import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';
@Entity()
export class Company {
@PrimaryGeneratedColumn() id: number;
@Column() name: string;
}Then you need to create a service:
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { TypeOrmCrudService } from '@nestjs-crud/typeorm';
import { Company } from './company.entity';
@Injectable()
export class CompaniesService extends TypeOrmCrudService<Company> {
constructor(@InjectRepository(Company) repo) {
super(repo);
}
}After that you need to provide your service in a controller:
import { Controller } from '@nestjs/common';
import { Crud, CrudController } from '@nestjs-crud/core';
import { Company } from './company.entity';
import { CompaniesService } from './companies.service';
@Crud({
model: {
type: Company,
},
})
@Controller('companies')
export class CompaniesController implements CrudController<Company> {
constructor(public service: CompaniesService) {}
}See also
- Wiki: ServiceTypeorm — full TypeORM adapter API
- Wiki: Caching —
@Crud({ query: { cache } })+ DataSource cache provider +CrudCacheNotConfiguredError - Wiki: RelationLoadStrategy —
'join'vs'query'strategy + alias-select divergence (v2.0.0) - Wiki: Logging — optional
LoggerServiceconstructor parameter (v2.0.0) - v2 Migration guide
