parent
f812140ff1
commit
b001b7a7d9
@ -1,10 +1,22 @@
|
|||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import url from "@/router/url";
|
import url from "@/router/url";
|
||||||
import { setData } from "../resources/workoutResource.js";
|
import { setData, getJson, getArray } from "../resources/workoutResource.js";
|
||||||
export default class WorkoutRepository {
|
export default class WorkoutRepository {
|
||||||
|
async index() {
|
||||||
|
let response = await axios.get(url("indexWorkout"));
|
||||||
|
if (response.status === 200) {
|
||||||
|
return getArray(response.data);
|
||||||
|
}
|
||||||
|
}
|
||||||
async store(data) {
|
async store(data) {
|
||||||
let json = setData(data);
|
let json = setData(data);
|
||||||
let response = await axios.post(url("storeWorkout"), json);
|
let response = await axios.post(url("storeWorkout"), json);
|
||||||
console.log('response', response);
|
console.log('kldsbhakjbg', response.data);
|
||||||
|
if (response.status === 201) {
|
||||||
|
return getJson(response.data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async delete(workoutId) {
|
||||||
|
await axios.delete(url("destroyWorkout", { workout: workoutId }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
import WorkoutCategoriesRepository from "@/abstraction/repository/workoutCategoriesRepository";
|
import WorkoutCategoriesRepository from "@/abstraction/repository/workoutCategoriesRepository";
|
||||||
export default {
|
export default {
|
||||||
async loadWorkoutCategories({ commit }) {
|
async loadWorkoutCategories({ commit }, id) {
|
||||||
let data = { sorts: 'fasdfas' }
|
|
||||||
let repository = new WorkoutCategoriesRepository();
|
let repository = new WorkoutCategoriesRepository();
|
||||||
const resource = await repository.index(data);
|
const resource = await repository.index({filters:{sport_category_id: id}});
|
||||||
commit("SET_WORKOUT_CATEGORIES", resource.data);
|
commit("SET_WORKOUT_CATEGORIES", resource.data);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,9 +1,19 @@
|
|||||||
import workoutRepository from "@/abstraction/repository/workoutRepository";
|
import workoutRepository from "@/abstraction/repository/workoutRepository";
|
||||||
export default {
|
export default {
|
||||||
|
async loadWorkouts({ commit }) {
|
||||||
|
let repository = new workoutRepository();
|
||||||
|
const resource = await repository.index();
|
||||||
|
commit("SET_WORKOUT", resource.data);
|
||||||
|
// commit("SET_PAGINATION", resource.pagination);
|
||||||
|
},
|
||||||
async addWorkout({ commit }, data) {
|
async addWorkout({ commit }, data) {
|
||||||
console.log('data', data);
|
|
||||||
let repository = new workoutRepository();
|
let repository = new workoutRepository();
|
||||||
const resource = await repository.store(data);
|
const resource = await repository.store(data);
|
||||||
commit("SET_WORKOUTS", resource.data);
|
commit("ADD_WORKOUT", resource.data);
|
||||||
|
},
|
||||||
|
async deleteWorkout({ commit }, workoutId) {
|
||||||
|
let repository = new workoutRepository();
|
||||||
|
await repository.delete(workoutId);
|
||||||
|
commit('DELETE_WORKOUT', workoutId);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
export default {
|
||||||
|
getWorkouts: state => state.workouts
|
||||||
|
}
|
@ -1,7 +1,13 @@
|
|||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
export default {
|
export default {
|
||||||
SET_WORKOUTS(state, data) {
|
SET_WORKOUT(state, data) {
|
||||||
Vue.set(state, "workout", data);
|
Vue.set(state, "workouts", data);
|
||||||
|
},
|
||||||
|
ADD_WORKOUT(state, data) {
|
||||||
|
state.workouts.push(data);
|
||||||
|
},
|
||||||
|
DELETE_WORKOUT(state, workoutId) {
|
||||||
|
const index = state.workouts.findIndex((x) => x.id === workoutId);
|
||||||
|
state.workouts.splice(index, 1);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in new issue