mirror of
https://github.com/mgerb/classic-wow-forums
synced 2026-01-16 03:52:48 +00:00
client - add services
This commit is contained in:
18
client/app/services/category.service.ts
Normal file
18
client/app/services/category.service.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { cloneDeep } from 'lodash';
|
||||
import axios from '../axios/axios';
|
||||
import { CategoryModel } from '../model';
|
||||
|
||||
export class CategoryService {
|
||||
private static categoryCache: CategoryModel[];
|
||||
|
||||
public static async getCategories(): Promise<CategoryModel[]> {
|
||||
// return cache if it exists
|
||||
if (CategoryService.categoryCache) {
|
||||
return Promise.resolve(cloneDeep(CategoryService.categoryCache));
|
||||
}
|
||||
|
||||
const res = await axios.get('/api/category');
|
||||
CategoryService.categoryCache = cloneDeep(res.data.data);
|
||||
return res.data.data;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user