Built with 💗 at Vizzuality.
- Add tutorial
- Add tests
- Implement transaction support
- Implement opinionated batching
- Add support for validation (via plugin?)
- Add support for auditing (via plugin?)
- Add support for pagination
- Add support for serialization
- Add support for batching of operations
(C) Copyright Vizzuality 2020-2021.
Distributed under the MIT license.
- Add the necessary decorator to your request parsing, on your controller method, like so:
import {
FetchSpecification,
ProcessFetchSpecification,
} from 'nestjs-base-service';
@Controller(`/api/v1/some-model`)
@ApiTags(someModelResource.className)
export class SomeModelController {
constructor(public readonly someModelsService: SomeModelsService) {}
@Get()
async findAll(
@ProcessFetchSpecification(['status'])
fetchSpecification: FetchSpecification,
): Promise<SomeModel> {
const results = await this.someModelsService.findAllPaginated(
fetchSpecification,
);
return this.someModelsService.serialize(results.data, results.metadata);
}
}- Ensure your service class extends the included
BaseServiceclass. - On your controller decorator argument, optionally pass a whitelist of filtering parameters (recommended).