forked from mirrors/homebox
feat: user profiles (#32)
* add user profiles and theme selectors * lowercase buttons by default * basic layout * (wip) init token APIs * refactor server to support variable options * fix types * api refactor / registration tests * implement UI for url and join * remove console.logs * rename repository factory * fix upload size
This commit is contained in:
parent
1ca430af21
commit
79f7ad40cb
76 changed files with 5154 additions and 388 deletions
|
@ -1,37 +1,42 @@
|
|||
import { BaseAPI, route } from "./base";
|
||||
import { BaseAPI } from "./base";
|
||||
import { ItemsApi } from "./classes/items";
|
||||
import { LabelsApi } from "./classes/labels";
|
||||
import { LocationsApi } from "./classes/locations";
|
||||
import { UserOut } from "./types/data-contracts";
|
||||
import { GroupApi } from "./classes/group";
|
||||
import { UserApi } from "./classes/users";
|
||||
import { Requests } from "~~/lib/requests";
|
||||
|
||||
export type Result<T> = {
|
||||
item: T;
|
||||
};
|
||||
|
||||
export class UserApi extends BaseAPI {
|
||||
export class UserClient extends BaseAPI {
|
||||
locations: LocationsApi;
|
||||
labels: LabelsApi;
|
||||
items: ItemsApi;
|
||||
group: GroupApi;
|
||||
user: UserApi;
|
||||
|
||||
constructor(requests: Requests) {
|
||||
super(requests);
|
||||
|
||||
this.locations = new LocationsApi(requests);
|
||||
this.labels = new LabelsApi(requests);
|
||||
this.items = new ItemsApi(requests);
|
||||
this.group = new GroupApi(requests);
|
||||
this.user = new UserApi(requests);
|
||||
|
||||
Object.freeze(this);
|
||||
}
|
||||
|
||||
/** @deprecated use this.user.self() */
|
||||
public self() {
|
||||
return this.http.get<Result<UserOut>>({ url: route("/users/self") });
|
||||
return this.user.self();
|
||||
}
|
||||
|
||||
/** @deprecated use this.user.logout() */
|
||||
public logout() {
|
||||
return this.http.post<object, void>({ url: route("/users/logout") });
|
||||
return this.user.logout();
|
||||
}
|
||||
|
||||
/** @deprecated use this.user.delete() */
|
||||
public deleteAccount() {
|
||||
return this.http.delete<void>({ url: route("/users/self") });
|
||||
return this.user.delete();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue