mirror of
https://github.com/mgerb/classic-wow-forums
synced 2026-01-11 09:32:51 +00:00
client - user account page done
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import { chain } from 'lodash';
|
||||
import axios from '../axios/axios';
|
||||
import userStore from '../stores/user-store';
|
||||
import { CharacterModel } from '../model';
|
||||
import { CharacterService } from './character.service';
|
||||
|
||||
// fetch user and store in local storage
|
||||
const authorize = async (code: string): Promise<void> => {
|
||||
@@ -12,16 +14,31 @@ const authorize = async (code: string): Promise<void> => {
|
||||
}
|
||||
};
|
||||
|
||||
const getCharacters = async (): Promise<CharacterModel | null> => {
|
||||
const getCharacters = async (): Promise<any> => {
|
||||
try {
|
||||
const res = await axios.get('/api/user/characters');
|
||||
return res.data.data.characters;
|
||||
const characters = res.data.data.characters;
|
||||
if (!!characters) {
|
||||
res.data.data.characters = filterCharacters(characters);
|
||||
}
|
||||
return res.data.data;
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
const filterCharacters = (chars: CharacterModel[]): CharacterModel[] => {
|
||||
return chain(chars)
|
||||
.filter(c => !!CharacterService.getClass(c.class))
|
||||
.map((c) => {
|
||||
c.races = CharacterService.getClass(c.class).races;
|
||||
c.avatarList = CharacterService.getFilteredAvatarList(c.races);
|
||||
return c;
|
||||
})
|
||||
.value();
|
||||
};
|
||||
|
||||
const saveCharacter = async (character: any): Promise<any> => {
|
||||
try {
|
||||
const res = await axios.put('/api/user/characters', character);
|
||||
|
||||
Reference in New Issue
Block a user