UNPKG

@tomei/rental

Version:
52 lines (46 loc) 1.33 kB
import { RepositoryBase, IRepositoryBase } from '@tomei/general'; import { BookingModel } from '../../models/booking.entity'; export class BookingRepository extends RepositoryBase<BookingModel> implements IRepositoryBase<BookingModel> { constructor() { super(BookingModel); } async findByPk(id: string, transaction?: any): Promise<BookingModel | null> { try { const result = await BookingModel.findByPk(id, { transaction: transaction, }); return result; } catch (error) { throw new Error(`An Error occured when fetching : ${error.message}`); } } async delete(BookingNo: string, dbTransaction?: any) { try { const options = { where: { BookingNo: BookingNo, }, transaction: dbTransaction, }; await BookingModel.destroy(options); } catch (error) { throw new Error(`An Error occured when delete : ${error.message}`); } } async findAndCountAll(options?: any) { try { let Bookings: any; if (options) { Bookings = await BookingModel.findAndCountAll(options); } else { Bookings = await BookingModel.findAndCountAll(); } return Bookings; } catch (error) { throw new Error(`An Error occured when retriving : ${error.message}`); } } }