@tomei/product
Version:
NestJS package for product module
54 lines (49 loc) • 1.46 kB
text/typescript
import { RepositoryBase, IRepositoryBase } from '@tomei/general';
import { ProductCategoriesModel } from '../../entities/product-category.entity';
export class ProductProductCategoryRepository
extends RepositoryBase<ProductCategoriesModel>
implements IRepositoryBase<ProductCategoriesModel>
{
constructor() {
super(ProductCategoriesModel);
}
async findByPk(code: string): Promise<ProductCategoriesModel> {
try {
const options = {
where: {
Code: code,
},
};
const result = await ProductCategoriesModel.findOne(options);
return result;
} catch (error) {
throw new Error(`An Error occured when fetching : ${error.message}`);
}
}
async delete(code: string, dbTransaction?: any) {
try {
const options = {
where: {
Code: code,
},
transaction: dbTransaction,
};
await ProductCategoriesModel.destroy(options);
} catch (error) {
throw new Error(`An Error occured when delete : ${error.message}`);
}
}
async findAndCountAll(options?: any) {
try {
let collection: any;
if (options) {
collection = await ProductCategoriesModel.findAndCountAll(options);
} else {
collection = await ProductCategoriesModel.findAndCountAll();
}
return collection;
} catch (error) {
throw new Error(`An Error occured when retriving : ${error.message}`);
}
}
}