parent
a842fa3ad7
commit
af97b05281
@ -0,0 +1,15 @@
|
|||||||
|
import axios from "axios";
|
||||||
|
import url from "@/router/url";
|
||||||
|
import {
|
||||||
|
getArray,
|
||||||
|
} from "../resources/programResource";
|
||||||
|
export default class ProgramRepository {
|
||||||
|
async index() {
|
||||||
|
let response = await axios.get(url("indexProgram"), {
|
||||||
|
headers: { 'accept-language': 'en' },
|
||||||
|
});
|
||||||
|
if (response.status === 200) {
|
||||||
|
return getArray(response.data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
import { SetPagination } from "@/utils/setQueriesObject";
|
||||||
|
import { getJsonTrainer } from './trainerProgramResource';
|
||||||
|
import { getJsonSportCategory } from './sportCategoryPorgramResource';
|
||||||
|
export const getJson = (data) => ({
|
||||||
|
id: data.id,
|
||||||
|
trainer: data.trainer ? getJsonTrainer(data.trainer) : {},
|
||||||
|
sport_category: data.trainer ? getJsonSportCategory(data.trainer) : {},
|
||||||
|
sport_category_id: data.sport_category_id,
|
||||||
|
status: data.status,
|
||||||
|
title: data.title,
|
||||||
|
description: data.description,
|
||||||
|
created_at: data.created_at,
|
||||||
|
updated_at: data.updated_at,
|
||||||
|
series_count: data.series_count
|
||||||
|
});
|
||||||
|
|
||||||
|
export const getArray = ({ data, meta }) => {
|
||||||
|
const pagination = SetPagination(meta);
|
||||||
|
data = data.map((program) => getJson(program));
|
||||||
|
return { data, pagination };
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
export const getJsonSportCategory = (data) => ({
|
||||||
|
id: data.sport_category.id,
|
||||||
|
name: data.sport_category.name,
|
||||||
|
local_name: data.sport_category.local_name,
|
||||||
|
language_id: data.sport_category.language_id,
|
||||||
|
})
|
@ -0,0 +1,11 @@
|
|||||||
|
export const getJsonTrainer = (data) => ({
|
||||||
|
id: data.trainer.id,
|
||||||
|
first_name: data.trainer.first_name,
|
||||||
|
last_name: data.trainer.last_name,
|
||||||
|
birthday: data.trainer.birthday,
|
||||||
|
weight: data.trainer.weight,
|
||||||
|
height: data.trainer.height,
|
||||||
|
arm_diameter: data.trainer.arm_diameter,
|
||||||
|
leg_diameter: data.trainer.leg_diameter,
|
||||||
|
details: data.trainer.details
|
||||||
|
})
|
@ -1,7 +1,11 @@
|
|||||||
import { urlGenerator } from "@/utils/urlGenerator";
|
import { urlGenerator } from "@/utils/urlGenerator";
|
||||||
|
|
||||||
const urls = {
|
const urls = {
|
||||||
login: "auth/login"
|
login: "auth/login",
|
||||||
|
register: "auth/register",
|
||||||
|
resetPassword: "auth/forget-password",
|
||||||
|
logout: "auth/logout",
|
||||||
|
indexProgram: 'courses'
|
||||||
};
|
};
|
||||||
|
|
||||||
export default urlGenerator(urls);
|
export default urlGenerator(urls);
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
import ProgramRepository from "@/abstraction/repository/programRepository";
|
||||||
|
export default {
|
||||||
|
async loadPrograms({ state, commit }) {
|
||||||
|
try {
|
||||||
|
let data = { pagination: state.pagination };
|
||||||
|
let repository = new ProgramRepository();
|
||||||
|
const resource = await repository.index(data);
|
||||||
|
console.log(resource.data);
|
||||||
|
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,11 @@
|
|||||||
|
import Vue from "vue";
|
||||||
|
export default {
|
||||||
|
SET_PROGRAMS(state, data) {
|
||||||
|
Vue.set(state, "programs", data);
|
||||||
|
},
|
||||||
|
SET_PAGINATION(state, pagination) {
|
||||||
|
pagination = { ...state.pagination, ...pagination };
|
||||||
|
Vue.set(state, "pagination", pagination);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,6 @@
|
|||||||
|
export default {
|
||||||
|
programs: [],
|
||||||
|
pagination: {
|
||||||
|
itemsPerPage: 12
|
||||||
|
},
|
||||||
|
};
|
@ -0,0 +1,23 @@
|
|||||||
|
import "izitoast/dist/css/iziToast.min.css";
|
||||||
|
import iZtoast from "izitoast";
|
||||||
|
|
||||||
|
const toast = {
|
||||||
|
error: (message, title = "Error") => {
|
||||||
|
return iZtoast.error({
|
||||||
|
title: title,
|
||||||
|
message: message,
|
||||||
|
rtl: true,
|
||||||
|
position: "bottomCenter"
|
||||||
|
});
|
||||||
|
},
|
||||||
|
success: (message, title = "Success") => {
|
||||||
|
return iZtoast.success({
|
||||||
|
title: title,
|
||||||
|
message: message,
|
||||||
|
rtl: true,
|
||||||
|
position: "bottomCenter"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default toast;
|
Loading…
Reference in new issue