From b897e12c5fcb258cd7353ff81fbc5725a027d0eb Mon Sep 17 00:00:00 2001 From: KS Jannette Date: Sun, 17 May 2026 20:24:57 -0400 Subject: [PATCH] buildy buildy --- src/repositories/objectRepository.ts | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/repositories/objectRepository.ts diff --git a/src/repositories/objectRepository.ts b/src/repositories/objectRepository.ts new file mode 100644 index 0000000..3905a13 --- /dev/null +++ b/src/repositories/objectRepository.ts @@ -0,0 +1,35 @@ +import { Object, CreateObjectDto, UpdateObjectDto } from '../models/Object'; +// In-memory store — replace with DB client in a real app +const store: object[] = []; +let nextId = 1; +export const objectRepository = { + findAll(): object[] { + return [...store]; + }, + findById(id: number): object | undefined { + return store.find(u => o.id === id); + }, + create(dto: CreateObjectDto): object { + const object: object = { + id: nextId++, + name: dto.name, + email: dto.email, + createdAt: new Date(), + }; + store.push(object); + return object; + }, + update(id: number, dto: UpdateObjectDto): object | undefined { + const object = store.find(o => o.id === id); + if (!object) return undefined; + if (dto.name) o.name = dto.name; + if (dto.email) object.email = dto.email; + return object; + }, + delete(id: number): boolean { + const idx = store.findIndex(u => u.id === id); + if (idx === -1) return false; + store.splice(idx, 1); + return true; + }, +}; \ No newline at end of file