37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.RepositoryHelp = void 0;
|
|
class RepositoryHelp {
|
|
static async update(repos, where, entity) {
|
|
const result = await repos.update(where, entity);
|
|
return result.affected;
|
|
}
|
|
static finePaginatedData(repos, dto, options) {
|
|
const skipAndTake = this.paginatedDtoToSkipAndTake(dto);
|
|
return repos.find({
|
|
...options,
|
|
skip: skipAndTake.skip,
|
|
take: skipAndTake.take,
|
|
});
|
|
}
|
|
static async findPaginated(repos, dto, options) {
|
|
const skipAndTake = this.paginatedDtoToSkipAndTake(dto);
|
|
const [data, total] = await repos.findAndCount({
|
|
...options,
|
|
skip: skipAndTake.skip,
|
|
take: skipAndTake.take,
|
|
});
|
|
return { data, total };
|
|
}
|
|
static paginatedDtoToSkipAndTake(dto) {
|
|
const page = dto.page || 1;
|
|
const size = dto.size || 15;
|
|
const skip = (page - 1) * size;
|
|
return {
|
|
skip,
|
|
take: size,
|
|
};
|
|
}
|
|
}
|
|
exports.RepositoryHelp = RepositoryHelp;
|
|
//# sourceMappingURL=repository_help.js.map
|