import { MediasModel } from './entities/medias.entity'; import { RepositoryBase, IRepositoryBase } from '@tomei/general'; export class MediasRepository extends RepositoryBase implements IRepositoryBase { constructor() { super(MediasModel); } async findByPk(MediaId: string, transaction: any): Promise { try { const options = { where: { MediaId, }, transaction, }; const result = await MediasModel.findOne(options); return result; } catch (error) { throw new Error( `An Error occured when fetching : ${(error as Error).message}`, ); } } async delete(MediaId: string, dbTransaction?: any) { try { const options = { where: { MediaId, }, transaction: dbTransaction, }; await MediasModel.destroy(options); } catch (error) { throw new Error( `An Error occured when delete : ${(error as Error).message}`, ); } } async findAndCountAll(options?: any) { try { let medias: any; if (options) { medias = await MediasModel.findAndCountAll(options); } else { medias = await MediasModel.findAndCountAll(); } return medias; } catch (error) { throw new Error( `An Error occured when retriving : ${(error as Error).message}`, ); } } }