Files
ghibli-api/store/films/index.js

38 lines
729 B
JavaScript

export const state = () => ({
list: [],
film: {}
});
export const mutations = {
setList: (state, films) => {
state.list = films;
},
setFilm: (state, film) => {
state.film = film;
}
};
export const actions = {
async getList({ commit }) {
try {
const films = await this.$axios.$get("/api/films");
commit("setList", films);
} catch (e) {
throw Error("API Error occurred.");
}
},
async getFilm({ commit }, id) {
try {
const film = await this.$axios.$get(`/api/films/${id}`);
commit("setFilm", film);
} catch (e) {
throw Error("API Error occurred.");
}
}
};
export const getters = {
list: state => state.list,
film: state => state.film
};