1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| import axios from 'axios'; import Cache from '../../helpers/Cache';
export default { state: { categories: [], category: '', albums: [], album: null, photos: [], photo: null, }, mutations: { setCategories(state, categories) { state.categories = categories; }, setCategory(state, category) { state.category = category; }, setAlbums(state, albums) { state.albums = albums; }, setAlbum(state, album) { state.album = album; }, setPhotos(state, photos) { state.photos = photos; }, setPhoto(state, photo) { state.photo = photo; }, }, actions: { fetchCategories(context, { resource, minutes }) { return new Promise((resolve, reject) => { axios({ method: 'GET', url: resource.url, }) .then(({ data }) => { Cache.set(resource, data.data, minutes); context.commit('setCategories', data.data); resolve(data); }) .catch((error) => { reject(error); }); }); }, fetchAlbums(context, { resource, minutes }) { return new Promise((resolve, reject) => { axios({ method: 'GET', url: resource.url, params: resource.params, }) .then(({ data }) => { Cache.set(resource, data.data, minutes); context.commit('setAlbums', data.data); resolve(data); }) .catch((error) => { reject(error); }); }); }, fetchPhotos(context, { resource, minutes }) { return new Promise((resolve, reject) => { axios({ method: 'GET', url: resource.url, params: resource.params, }) .then(({ data }) => { Cache.set(resource, data.data, minutes); context.commit('setPhotos', data.data); resolve(data); }) .catch((error) => { reject(error); }); }); }, }, };
|