UNPKG

armisa-models

Version:
51 lines (45 loc) 1.25 kB
import { ModelLanguage } from './ModelLogin'; import { MainStateManager } from '../MainStateManager'; import { Language, ILanguage } from './Save'; import axios from 'axios'; const Axios = (path: string) => { return axios.create({ baseURL: `${process.env.REACT_APP_SHAREKERNEL_ADDRESS}/${path}` }); }; export interface IResult { isAmisa: boolean; languages: Language[]; } export class GetAllFactory extends ModelLanguage { // startToLoad = () => { // this.request('GetAll', GetAllFactory.deserialize, (err) => { // this.mainStateManager.forceUpdate(); // }); // }; static deserialize = ( mainStateManager: MainStateManager, json: { isAmisa: boolean, languages: ILanguage[] } ): IResult => { const languages = json.languages.map( (l) => new Language(mainStateManager, l.id, l.name, l.rightToLeft) ); return { isAmisa: json.isAmisa, languages: languages, }; }; static empty() { return { isAmisa: false, languages: [], }; } static buildNew(mainStateManager: MainStateManager) { return new GetAllFactory( mainStateManager, GetAllFactory.empty, Axios('Language') ); } }