diff --git a/src/models/Object.ts b/src/models/Object.ts new file mode 100644 index 0000000..9eb1b9c --- /dev/null +++ b/src/models/Object.ts @@ -0,0 +1,11 @@ +export interface Object { + id: number; + createdAt: Date; +} + +export interface CreateObjectDto { + id: number; + createdAt: Date; +} +// All fields optional for partial updates +export type UpdateObjectDto = Partial; \ No newline at end of file diff --git a/src/routes/routes.ts b/src/routes/routes.ts index 92d5c0f..8dbf1be 100644 --- a/src/routes/routes.ts +++ b/src/routes/routes.ts @@ -2,5 +2,5 @@ import { Router } from 'express'; export const router = Router(); -// GET /data +// GET diff --git a/src/services/service.ts b/src/services/service.ts index 182541b..ba5c53a 100644 --- a/src/services/service.ts +++ b/src/services/service.ts @@ -1,7 +1,40 @@ -export interface IService { +import { CreateObjectDto, UpdateObjectDto, Object } from '../models/Object'; +import { AppError } from '../middleware/errorHandler'; -} +export const Service = { + + getAll(): Object[] { + //return userRepository.findAll(); + }, + + getById(id: number): Object { + /*const user = userRepository.findById(id); + if (!user) throw new AppError(404, `User ${id} not found`); + */ + return object; + + }, + create(dto: CreateObjectDto): Object { + /* + if (!dto.name?.trim()) throw new AppError(400, 'Name is required'); + if (!dto.email?.trim()) throw new AppError(400, 'Email is required'); + // In a real app: check email uniqueness, hash password, etc. + return userRepository.create(dto); + */ + }, + update(id: number, dto: UpdateObjectDto): Object { + /* + const updated = userRepository.update(id, dto); + if (!updated) throw new AppError(404, `User ${id} not found`); + return updated; + */ + }, + + delete(id: number): void { + /* + const deleted = userRepository.delete(id); + if (!deleted) throw new AppError(404, `User ${id} not found`); + */ + }, -export default function Service(): IService { - return {}; } \ No newline at end of file