initial commit

This commit is contained in:
2026-02-26 21:29:34 +01:00
commit d9d84634e8
72 changed files with 18491 additions and 0 deletions

View 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
}
})
}
}