forked from mirrors/homebox
a6d2fd45df
* refactor: implement factories for testing * add additional factories * change protection for dropFields * prevent timed attacks on login * use switch instead of else-if * API implementation for changing password * add change-password dialog
27 lines
727 B
TypeScript
27 lines
727 B
TypeScript
import { BaseAPI, route } from "../base";
|
|
import { ChangePassword, UserOut } from "../types/data-contracts";
|
|
import { Result } from "../types/non-generated";
|
|
|
|
export class UserApi extends BaseAPI {
|
|
public self() {
|
|
return this.http.get<Result<UserOut>>({ url: route("/users/self") });
|
|
}
|
|
|
|
public logout() {
|
|
return this.http.post<object, void>({ url: route("/users/logout") });
|
|
}
|
|
|
|
public delete() {
|
|
return this.http.delete<void>({ url: route("/users/self") });
|
|
}
|
|
|
|
public changePassword(current: string, newPassword: string) {
|
|
return this.http.put<ChangePassword, void>({
|
|
url: route("/users/self/change-password"),
|
|
body: {
|
|
current,
|
|
new: newPassword,
|
|
},
|
|
});
|
|
}
|
|
}
|