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.
 
 
 
 
 
 

17 lines
587 B

import ApiService from '@/services/api.service'
import { RoleRepository } from '@/domain/models/role/roleRepository'
import { RoleItem } from '@/domain/models/role/role'
function toModel(item: { [key: string]: any }): RoleItem {
return new RoleItem(item.id, item.name)
}
export class APIRoleRepository implements RoleRepository {
constructor(private readonly request = ApiService) {}
async list(): Promise<RoleItem[]> {
const url = `/roles`
const response = await this.request.get(url)
return response.data.map((item: { [key: string]: any }) => toModel(item))
}
}