diff --git a/frontend/services/application/user.service.ts b/frontend/services/application/user.service.ts new file mode 100644 index 00000000..f928e19f --- /dev/null +++ b/frontend/services/application/user.service.ts @@ -0,0 +1,23 @@ +import { UserItem } from '@/models/user' +import { UserItemListRepository } from '@/repositories/user/interface' + +export class UserDTO { + id: number + username: string + + constructor(item: UserItem) { + this.id = item.id + this.username = item.username + } +} + +export class UserApplicationService { + constructor( + private readonly repository: UserItemListRepository + ) {} + + public async list(query: string): Promise { + const items = await this.repository.list(query) + return items.map(item => new UserDTO(item)) + } +}