initial commit
This commit is contained in:
63
app/repositories/user.repository.ts
Normal file
63
app/repositories/user.repository.ts
Normal file
@@ -0,0 +1,63 @@
|
||||
import type { $Fetch } from 'ofetch';
|
||||
import type { User, ConfirmResult } from '~/types/auth'
|
||||
|
||||
export default class UserRepository {
|
||||
private fetcher: $Fetch;
|
||||
|
||||
constructor(fetcher: $Fetch) {
|
||||
this.fetcher = fetcher;
|
||||
}
|
||||
|
||||
async confirm(token: string){
|
||||
return await this.fetcher<ConfirmResult>('/auth/confirm', {
|
||||
method: 'POST',
|
||||
body: {
|
||||
token
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
async register(email: string, password:string, locale:string){
|
||||
return await this.fetcher<ConfirmResult>('/user/register', {
|
||||
method: 'POST',
|
||||
body:{
|
||||
email, password, locale
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
async emailChange(newEmail: string, locale:string){
|
||||
return await this.fetcher<ConfirmResult>('/user/email-update/request', {
|
||||
method: 'POST',
|
||||
body:{
|
||||
newEmail, locale
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
async updateDisplayName(newDisplayName: string){
|
||||
return await this.fetcher<ConfirmResult>('/user/update', {
|
||||
method: 'PUT',
|
||||
body:{
|
||||
display_name : newDisplayName
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
async deleteRequest(locale:string){
|
||||
return await this.fetcher<ConfirmResult>('/user/delete-request', {
|
||||
method:'DELETE',
|
||||
body:{
|
||||
locale
|
||||
}
|
||||
})
|
||||
}
|
||||
async pwdChallenge(pwd:string){
|
||||
return await this.fetcher<ConfirmResult>('/user/pwdChallenge', {
|
||||
method:'POST',
|
||||
body:{
|
||||
pwd
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user