2021-11-23 18:57:24 -09:00
|
|
|
import { BaseCRUDAPI } from "../_base";
|
|
|
|
|
|
|
|
const prefix = "/api";
|
|
|
|
|
2021-11-25 14:17:02 -09:00
|
|
|
export interface UserCreate {
|
2021-11-23 18:57:24 -09:00
|
|
|
username: string;
|
|
|
|
fullName: string;
|
|
|
|
email: string;
|
|
|
|
admin: boolean;
|
|
|
|
group: string;
|
|
|
|
advanced: boolean;
|
|
|
|
canInvite: boolean;
|
|
|
|
canManage: boolean;
|
|
|
|
canOrganize: boolean;
|
|
|
|
password: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface UserToken {
|
|
|
|
name: string;
|
|
|
|
id: number;
|
|
|
|
createdAt: Date;
|
|
|
|
}
|
|
|
|
|
2021-11-25 14:17:02 -09:00
|
|
|
export interface UserRead extends UserToken {
|
2021-11-23 18:57:24 -09:00
|
|
|
id: number;
|
|
|
|
groupId: number;
|
|
|
|
favoriteRecipes: any[];
|
|
|
|
tokens: UserToken[];
|
|
|
|
}
|
|
|
|
|
|
|
|
const routes = {
|
|
|
|
adminUsers: `${prefix}/admin/users`,
|
|
|
|
adminUsersId: (tag: string) => `${prefix}/admin/users/${tag}`,
|
|
|
|
};
|
|
|
|
|
|
|
|
export class AdminUsersApi extends BaseCRUDAPI<UserRead, UserCreate> {
|
|
|
|
baseRoute: string = routes.adminUsers;
|
|
|
|
itemRoute = routes.adminUsersId;
|
|
|
|
}
|