parent
b0418183f9
commit
fa7791be24
@ -1,18 +1,26 @@
|
|||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import url from '@/router/url';
|
import url from '@/router/url';
|
||||||
import { getArray } from "../resources/bookmarksResource";
|
import { getArray, setQuery } from "../resources/bookmarksResource";
|
||||||
|
|
||||||
export default class BookmarsRepository {
|
export default class BookmarsRepository {
|
||||||
async indexCourses() {
|
async indexCourses(data) {
|
||||||
let response = await axios.get(url('indexCoursesBookmarks'));
|
let params = setQuery(data)
|
||||||
|
let response = await axios.get(url('indexCoursesBookmarks'), { params });
|
||||||
if (response.status === 200) {
|
if (response.status === 200) {
|
||||||
return getArray(response.data);
|
return getArray(response.data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async indexWorkouts() {
|
async indexWorkouts(data) {
|
||||||
let response = await axios.get(url('indexWorkoutsBookmarks'));
|
let params = setQuery(data)
|
||||||
|
let response = await axios.get(url('indexWorkoutsBookmarks'), { params });
|
||||||
if (response.status === 200) {
|
if (response.status === 200) {
|
||||||
return getArray(response.data);
|
return getArray(response.data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
async deleteWorkout(workoutId) {
|
||||||
|
await axios.delete(url("destroyWorkoutBookmarks", { workout: workoutId }));
|
||||||
|
}
|
||||||
|
async deleteProgram(courseId) {
|
||||||
|
await axios.delete(url("destroyProgramBookmarks", { course: courseId }));
|
||||||
|
}
|
||||||
}
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
import axios from "axios";
|
||||||
|
import url from "@/router/url"
|
||||||
|
import { getArray, setQuery } from "../resources/userProgramsResource";
|
||||||
|
export default class UserProgramsRepository {
|
||||||
|
async index(data) {
|
||||||
|
let params = setQuery(data);
|
||||||
|
let response = await axios.get(url('indexUserProgram'), { params });
|
||||||
|
if (response.status === 200) {
|
||||||
|
return getArray(response.data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
import { SetPagination, SetQueriesObject } from "@/utils/setQueriesObject";
|
||||||
|
import { getJsonTrainer } from './trainerProgramResource';
|
||||||
|
export const getJson = (data) => ({
|
||||||
|
id: data.id,
|
||||||
|
trainer: data.trainer ? getJsonTrainer(data.trainer) : {},
|
||||||
|
sport_category_id: data.sport_category_id,
|
||||||
|
thumbnail: data.thumbnail,
|
||||||
|
verified: data.verified,
|
||||||
|
status: data.status,
|
||||||
|
title: data.title,
|
||||||
|
description: data.description,
|
||||||
|
series_count: data.series_count,
|
||||||
|
workouts_count: data.workouts_count,
|
||||||
|
type: data.type,
|
||||||
|
period: data.period,
|
||||||
|
series: data.series,
|
||||||
|
schedule: data.schedule
|
||||||
|
});
|
||||||
|
export const getArray = ({ data, meta }) => {
|
||||||
|
const pagination = SetPagination(meta);
|
||||||
|
data = data.map((program) => getJson(program));
|
||||||
|
return { data, pagination }
|
||||||
|
};
|
||||||
|
|
||||||
|
export const setQuery = (data) => {
|
||||||
|
return SetQueriesObject(data);
|
||||||
|
};
|
@ -1,15 +1,31 @@
|
|||||||
import BookmarksRepository from "@/abstraction/repository/bookmarksRepository";
|
import BookmarksRepository from "@/abstraction/repository/bookmarksRepository";
|
||||||
export default {
|
export default {
|
||||||
async loadBookmarksPrograms({ commit }) {
|
async loadBookmarksPrograms({ state, commit }) {
|
||||||
|
try {
|
||||||
|
let data = { pagination: state.programsPagination }
|
||||||
let repository = new BookmarksRepository();
|
let repository = new BookmarksRepository();
|
||||||
const resource = await repository.indexCourses();
|
const resource = await repository.indexCourses(data);
|
||||||
commit("SET_BOOKMARKS_PROGRAMS", resource.data);
|
commit("SET_BOOKMARKS_PROGRAMS", resource.data);
|
||||||
// commit("SET_PAGINATION", resource.pagination);
|
commit("SET_PROGRAMS_PAGINATION", resource.pagination);
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
async loadBookmarksWorkouts({ commit }) {
|
async loadBookmarksWorkouts({ state, commit }) {
|
||||||
|
let data = { pagination: state.workoutsPagination }
|
||||||
let repository = new BookmarksRepository();
|
let repository = new BookmarksRepository();
|
||||||
const resource = await repository.indexWorkouts();
|
const resource = await repository.indexWorkouts(data);
|
||||||
commit("SET_BOOKMARKS_WORKOUTS", resource.data);
|
commit("SET_BOOKMARKS_WORKOUTS", resource.data);
|
||||||
// commit("SET_PAGINATION", resource.pagination);
|
commit("SET_WORKOUTS_PAGINATION", resource.pagination);
|
||||||
|
},
|
||||||
|
async deleteBookmarksWorkout({ commit }, workoutId) {
|
||||||
|
let repository = new BookmarksRepository();
|
||||||
|
await repository.deleteWorkout(workoutId);
|
||||||
|
commit('DELETE_BOOKMARKS_WORKOUT', workoutId);
|
||||||
|
},
|
||||||
|
async deleteBookmarksProgram({ commit }, courseId) {
|
||||||
|
let repository = new BookmarksRepository();
|
||||||
|
await repository.deleteProgram(courseId);
|
||||||
|
commit('DELETE_BOOKMARKS_PROGRAM', courseId);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
export default {
|
export default {
|
||||||
getBookmarksPrograms: state => state.programs,
|
getBookmarksPrograms: state => state.programs,
|
||||||
getBookmarksWorkouts: state => state.workouts,
|
getBookmarksWorkouts: state => state.workouts,
|
||||||
|
getPaginationProgram: state => state.programsPagination,
|
||||||
|
getPaginationWorkout: state => state.workoutsPagination
|
||||||
}
|
}
|
@ -1,7 +1,10 @@
|
|||||||
export default {
|
export default {
|
||||||
programs: [],
|
programs: [],
|
||||||
workouts: [],
|
workouts: [],
|
||||||
pagination: {
|
programsPagination: {
|
||||||
|
itemsPerPage: 12
|
||||||
|
},
|
||||||
|
workoutsPagination: {
|
||||||
itemsPerPage: 12
|
itemsPerPage: 12
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
import UserProgramsRepository from "@/abstraction/repository/userProgramsRepository";
|
||||||
|
export default {
|
||||||
|
async loadPrograms({ state, commit }) {
|
||||||
|
try {
|
||||||
|
let data = { pagination: state.pagination };
|
||||||
|
let repository = new UserProgramsRepository();
|
||||||
|
const resource = await repository.index(data);
|
||||||
|
console.log('resource', resource);
|
||||||
|
commit("SET_PROGRAMS", resource.data);
|
||||||
|
commit("SET_PAGINATION", resource.pagination);
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
@ -0,0 +1,3 @@
|
|||||||
|
export default {
|
||||||
|
getPrograms: state => state.programs,
|
||||||
|
};
|
@ -0,0 +1,10 @@
|
|||||||
|
import Vue from "vue";
|
||||||
|
export default {
|
||||||
|
SET_PROGRAMS(state, payload) {
|
||||||
|
Vue.set(state, "programs", payload);
|
||||||
|
},
|
||||||
|
SET_PAGINATION(state, pagination) {
|
||||||
|
pagination = { ...state.pagination, ...pagination };
|
||||||
|
Vue.set(state, "pagination", pagination);
|
||||||
|
},
|
||||||
|
};
|
@ -0,0 +1,6 @@
|
|||||||
|
export default {
|
||||||
|
programs: [],
|
||||||
|
pagination: {
|
||||||
|
itemsPerPage: 12
|
||||||
|
},
|
||||||
|
};
|
Loading…
Reference in new issue