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";
|
||||
|
||||
const urls = {
|
||||
login: "auth/login"
|
||||
login: "auth/login",
|
||||
register: "auth/register",
|
||||
resetPassword: "auth/forget-password",
|
||||
logout: "auth/logout",
|
||||
indexProgram: 'courses'
|
||||
};
|
||||
|
||||
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