mirror of https://github.com/doccano/doccano.git
pythondatasetnatural-language-processingdata-labelingmachine-learningannotation-tooldatasetsactive-learningtext-annotation
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
675 B
28 lines
675 B
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 getMyProfile(): Promise<UserDTO> {
|
|
const item = await this.repository.getMe()
|
|
return new UserDTO(item)
|
|
}
|
|
|
|
public async list(query: string): Promise<UserDTO[]> {
|
|
const items = await this.repository.list(query)
|
|
return items.map(item => new UserDTO(item))
|
|
}
|
|
}
|