2019-03-02 10:25:10 +00:00
|
|
|
import AbstractService from './abstractService'
|
2022-09-06 09:36:01 +00:00
|
|
|
import TeamMemberModel from '@/models/teamMember'
|
|
|
|
import type {ITeamMember} from '@/modelTypes/ITeamMember'
|
2019-03-02 10:25:10 +00:00
|
|
|
|
2023-03-22 15:33:22 +00:00
|
|
|
const paths = {
|
|
|
|
create: '/teams/{teamId}/members',
|
|
|
|
delete: '/teams/{teamId}/members/{username}',
|
|
|
|
update: '/teams/{teamId}/members/{username}/admin',
|
|
|
|
} as const
|
|
|
|
|
|
|
|
export default class TeamMemberService extends AbstractService<ITeamMember, typeof paths> {
|
2019-03-02 10:25:10 +00:00
|
|
|
constructor() {
|
2023-03-22 15:33:22 +00:00
|
|
|
super(paths)
|
2019-03-02 10:25:10 +00:00
|
|
|
}
|
2020-02-08 13:16:06 +00:00
|
|
|
|
2019-03-02 10:25:10 +00:00
|
|
|
modelFactory(data) {
|
|
|
|
return new TeamMemberModel(data)
|
|
|
|
}
|
2020-08-05 15:32:18 +00:00
|
|
|
|
2019-03-02 10:25:10 +00:00
|
|
|
beforeCreate(model) {
|
2020-04-17 10:19:53 +00:00
|
|
|
model.userId = model.id // The api wants to get the user id as user_Id
|
2019-03-02 10:25:10 +00:00
|
|
|
model.admin = model.admin === null ? false : model.admin
|
|
|
|
return model
|
|
|
|
}
|
|
|
|
}
|