feat: add member list in setting

This commit is contained in:
Steven
2023-07-09 00:45:26 +08:00
parent c00f7d0852
commit 5db3506cba
26 changed files with 614 additions and 238 deletions

View File

@ -1,7 +1,6 @@
import * as api from "../helpers/api";
import store from "../stores";
import { setGlobalState } from "../stores/modules/global";
import userService from "./userService";
const globalService = {
getState: () => {
@ -15,12 +14,6 @@ const globalService = {
} catch (error) {
// do nth
}
try {
await userService.initialState();
} catch (error) {
// do nth
}
},
};

View File

@ -1,5 +1,4 @@
import globalService from "./globalService";
import shortcutService from "./shortcutService";
import userService from "./userService";
export { globalService, shortcutService, userService };
export { globalService, shortcutService };

View File

@ -1,66 +0,0 @@
import * as api from "../helpers/api";
import store from "../stores";
import { setUser, patchUser } from "../stores/modules/user";
export const convertResponseModelUser = (user: User): User => {
return {
...user,
createdTs: user.createdTs * 1000,
updatedTs: user.updatedTs * 1000,
};
};
const userService = {
getState: () => {
return store.getState().user;
},
initialState: async () => {
try {
const user = (await api.getMyselfUser()).data;
if (user) {
store.dispatch(setUser(convertResponseModelUser(user)));
}
} catch (error) {
// do nth
}
},
doSignIn: async () => {
const user = (await api.getMyselfUser()).data;
if (user) {
store.dispatch(setUser(convertResponseModelUser(user)));
} else {
userService.doSignOut();
}
return user;
},
doSignOut: async () => {
store.dispatch(setUser());
await api.signout();
},
getUserById: async (userId: UserId) => {
const user = (await api.getUserById(userId)).data;
if (user) {
return convertResponseModelUser(user);
} else {
return undefined;
}
},
patchUser: async (userPatch: UserPatch): Promise<void> => {
const data = (await api.patchUser(userPatch)).data;
if (userPatch.id === store.getState().user.user?.id) {
const user = convertResponseModelUser(data);
store.dispatch(patchUser(user));
}
},
deleteUser: async (userDelete: UserDelete) => {
await api.deleteUser(userDelete);
},
};
export default userService;