UNPKG

@tomei/product

Version:

NestJS package for product module

60 lines (55 loc) 1.51 kB
import { RepositoryBase, IRepositoryBase } from '@tomei/general'; import { SettingsGroupModel } from '../../entities/settings-group.entity'; export class ProductGroupRepository extends RepositoryBase<SettingsGroupModel> implements IRepositoryBase<SettingsGroupModel> { constructor() { super(SettingsGroupModel); } async findByPk(code: string): Promise<SettingsGroupModel> { try { const options = { where: { Code: code, }, }; const result = await SettingsGroupModel.findOne(options); return result; } catch (error) { throw new Error( `An Error occured when fetching product group: ${error.message}`, ); } } async delete(code: string, dbTransaction?: any) { try { const options = { where: { Code: code, }, transaction: dbTransaction, }; await SettingsGroupModel.destroy(options); } catch (error) { throw new Error( `An Error occured when delete product group: ${error.message}`, ); } } async findAndCountAll(options?: any) { try { let settingGroups: any; if (options) { settingGroups = await SettingsGroupModel.findAndCountAll(options); } else { settingGroups = await SettingsGroupModel.findAndCountAll(); } return settingGroups; } catch (error) { throw new Error( `An Error occured when retriving product groups: ${error.message}`, ); } } }