From 77451af93c3d050482b558cceadf6b0d0be49a3f Mon Sep 17 00:00:00 2001 From: sajjad Date: Wed, 8 Dec 2021 17:39:47 +0330 Subject: [PATCH] fix --- .../repository/programRepository.js | 13 +++++- src/abstraction/repository/userRepository.js | 3 +- .../repository/workoutRepository.js | 4 +- .../repository/workoutToSeriesRepository.js | 2 +- src/abstraction/resources/programResource.js | 23 +++++------ src/abstraction/resources/traineeResource.js | 21 ++++++++++ src/abstraction/resources/workoutResource.js | 40 ++++++++----------- src/components/Dashboard/Main.vue | 6 +-- src/components/Global/Input/DateInput.vue | 6 ++- src/components/Global/Section/SideBar.vue | 4 +- src/components/Products/Add.vue | 2 +- src/components/Products/Item.vue | 5 +-- src/components/Profile/Profile.vue | 2 +- src/components/Profile/TrainerProfile.vue | 2 +- src/components/Programs/Add.vue | 2 +- src/components/Programs/Item.vue | 11 +++-- src/components/Users/Item.vue | 4 +- src/components/Workouts/Add.vue | 3 +- src/components/Workouts/Item.vue | 16 +++++--- .../WorkoutsSeries/Modals/AddWorkoutModal.vue | 5 +-- src/router/path.js | 4 +- src/router/url.js | 2 + src/store/modules/programs/actions.js | 15 ++++++- src/store/modules/workoutToSeries/actions.js | 6 +-- .../modules/workoutToSeries/mutations.js | 3 -- 25 files changed, 118 insertions(+), 86 deletions(-) create mode 100644 src/abstraction/resources/traineeResource.js diff --git a/src/abstraction/repository/programRepository.js b/src/abstraction/repository/programRepository.js index 70894bc..864ee6d 100644 --- a/src/abstraction/repository/programRepository.js +++ b/src/abstraction/repository/programRepository.js @@ -38,6 +38,12 @@ export default class ProgramRepository { return getJson(response.data.data); } } + async showTrainer(courseId) { + let response = await axios.get(url("showTrainerProgram", { course: courseId })); + if (response.status === 200) { + return getJson(response.data.data); + } + } async store(data) { let json = setData(data); let response = await axios.post(url("storeProgram"), json); @@ -46,8 +52,8 @@ export default class ProgramRepository { } } async update(courseId, data) { - let json = setData(data, true); - let response = await axios.post( + let json = setData(data); + let response = await axios.put( url("updateProgram", { course: courseId }), json ); @@ -58,6 +64,9 @@ export default class ProgramRepository { async delete(courseId) { await axios.delete(url("destroyProgram", { course: courseId })); } + async deleteTrainer(courseId) { + await axios.delete(url("destroyTrainerProgram", { course: courseId })); + } async verify(courseId) { await axios.post(url("verifyProgram", { course: courseId })); } diff --git a/src/abstraction/repository/userRepository.js b/src/abstraction/repository/userRepository.js index 81db873..283eed1 100644 --- a/src/abstraction/repository/userRepository.js +++ b/src/abstraction/repository/userRepository.js @@ -1,6 +1,7 @@ import axios from "axios"; import url from "@/router/url"; import { getArray, setQuery } from "../resources/userResource"; +import { getArray as getArrayTrainee } from "../resources/traineeResource"; export default class UserRepository { async indexUsers(data) { @@ -14,7 +15,7 @@ export default class UserRepository { let params = setQuery(data) let response = await axios.get(url('indexTrainerTrainee'), { params }) if (response.status === 200) { - return getArray(response.data) + return getArrayTrainee(response.data) } } async delete(userId) { diff --git a/src/abstraction/repository/workoutRepository.js b/src/abstraction/repository/workoutRepository.js index 3a62900..5a664e4 100644 --- a/src/abstraction/repository/workoutRepository.js +++ b/src/abstraction/repository/workoutRepository.js @@ -23,8 +23,8 @@ export default class WorkoutRepository { } } async update(workoutId, data) { - let json = setData(data, true); - let response = await axios.post( + let json = setData(data); + let response = await axios.put( url("updateWorkout", { workout: workoutId }), json ); diff --git a/src/abstraction/repository/workoutToSeriesRepository.js b/src/abstraction/repository/workoutToSeriesRepository.js index b1f451c..1899ca2 100644 --- a/src/abstraction/repository/workoutToSeriesRepository.js +++ b/src/abstraction/repository/workoutToSeriesRepository.js @@ -25,7 +25,7 @@ export default class WorkoutToSeriesRepository { let json = setData(data); let response = await axios.post(url("joinWorkoutToSeries", { series: seriesId, workout: workoutId }), json); if (response.status === 201 || response.status === 200) { - return response.data; + return getArray(response.data); } } async delete(data) { diff --git a/src/abstraction/resources/programResource.js b/src/abstraction/resources/programResource.js index 3c65b56..8fbf29b 100644 --- a/src/abstraction/resources/programResource.js +++ b/src/abstraction/resources/programResource.js @@ -20,20 +20,15 @@ export const getJson = (data) => ({ type: data.type, period: data.period }); -export const setData = (data, isUpdate = false) => { - let formData = { - sport_category_id: data.sport_category_id, - title: data.title, - description: data.description, - tags: data.tags, - batch_id: data.batch_id, - period: data.period - }; - if (isUpdate) { - formData["_method"] = "put"; - } - return objectToFormData(formData); -}; +export const setData = (data) => ({ + sport_category_id: data.sport_category_id, + title: data.title, + description: data.description, + tags: data.tags, + batch_id: data.batch_id, + period: data.period + +}); export const getArray = ({ data, meta }) => { const pagination = SetPagination(meta); data = data.map((program) => getJson(program)); diff --git a/src/abstraction/resources/traineeResource.js b/src/abstraction/resources/traineeResource.js new file mode 100644 index 0000000..e8dc157 --- /dev/null +++ b/src/abstraction/resources/traineeResource.js @@ -0,0 +1,21 @@ +import { SetPagination } from "@/utils/setQueriesObject"; + +export const getJson = (data) => ({ + id: data.id, + name: data.name, + first_name: data.first_name, + last_name: data.last_name, + profile: data.profile, + birthday: data.birthday, + age: data.age, + arm_diameter: data.arm_diameter, + details: data.details, + height: data.height, + leg_diameter: data.leg_diameter, + weight: data.weight +}); +export const getArray = ({ data, meta }) => { + const pagination = SetPagination(meta); + data = data.map((user) => getJson(user)); + return { data, pagination }; +}; \ No newline at end of file diff --git a/src/abstraction/resources/workoutResource.js b/src/abstraction/resources/workoutResource.js index 2a0f47e..bd046b5 100644 --- a/src/abstraction/resources/workoutResource.js +++ b/src/abstraction/resources/workoutResource.js @@ -17,29 +17,23 @@ export const getJson = (data) => ({ set: data.set, per_set: data.per_set, }); -export const setData = (data, isUpdate = false) => { - let formData = { - id: data.id, - workout_category_id: data.workout_category_id, - name: data.name, - local_name: data.local_name, - title: data.title, - description: data.description, - video: data.video, - suggested_per_set: data.suggested_per_set, - suggested_set: data.suggested_set, - suggested_time: data.suggested_time, - batch_id: data.batch_id, - tags: data.tags, - set: data.set, - per_set: data.per_set, - estimate_time: data.estimate_time, - }; - if (isUpdate) { - formData["_method"] = "put"; - } - return objectToFormData(formData); -}; +export const setData = (data) => ({ + id: data.id, + workout_category_id: data.workout_category_id, + name: data.name, + local_name: data.local_name, + title: data.title, + description: data.description, + video: data.video, + suggested_per_set: data.suggested_per_set, + suggested_set: data.suggested_set, + suggested_time: data.suggested_time, + batch_id: data.batch_id, + tags: data.tags, + set: data.set, + per_set: data.per_set, + estimate_time: data.estimate_time, +}); export const getArray = ({ data, meta }) => { data = data.map((workout) => getJson(workout)); if (meta) { diff --git a/src/components/Dashboard/Main.vue b/src/components/Dashboard/Main.vue index 6b10a6f..3cb3b7d 100644 --- a/src/components/Dashboard/Main.vue +++ b/src/components/Dashboard/Main.vue @@ -8,7 +8,7 @@ -
+
here is dashboard home, feel free navigate from right side menu or choose from shortcuts we prepared for you. @@ -97,7 +97,7 @@
- +
@@ -153,7 +153,7 @@
- +
diff --git a/src/components/Global/Input/DateInput.vue b/src/components/Global/Input/DateInput.vue index 858e5b9..83d4aea 100644 --- a/src/components/Global/Input/DateInput.vue +++ b/src/components/Global/Input/DateInput.vue @@ -27,6 +27,8 @@ :color="color" v-model="date" :type="type" + :min="min" + :max="max" @input="menu = false" /> @@ -42,6 +44,8 @@ export default { type: { default: "date", }, + min: {}, + max: {}, dark: { type: Boolean, default: false, @@ -61,4 +65,4 @@ export default { }, }, }; - \ No newline at end of file + diff --git a/src/components/Global/Section/SideBar.vue b/src/components/Global/Section/SideBar.vue index ef6f7df..b038816 100644 --- a/src/components/Global/Section/SideBar.vue +++ b/src/components/Global/Section/SideBar.vue @@ -154,8 +154,8 @@ export default { { id: 3, text: "my programs", - link: "trainsPrograms", - active: this.$route.name === "trainsPrograms", + link: "traineePrograms", + active: this.$route.name === "traineePrograms", }, { id: 5, diff --git a/src/components/Products/Add.vue b/src/components/Products/Add.vue index 051d141..db42e29 100644 --- a/src/components/Products/Add.vue +++ b/src/components/Products/Add.vue @@ -90,7 +90,7 @@ label="description" placeholder="description" dark - v-model="form.description" + v-model.trim="form.description" > diff --git a/src/components/Products/Item.vue b/src/components/Products/Item.vue index 65fc748..da8ce20 100644 --- a/src/components/Products/Item.vue +++ b/src/components/Products/Item.vue @@ -10,7 +10,7 @@ :style="{ backgroundImage: `url('${product.thumbnail}')` }" >
-->
diff --git a/src/components/Profile/TrainerProfile.vue b/src/components/Profile/TrainerProfile.vue index 6730da9..21896da 100644 --- a/src/components/Profile/TrainerProfile.vue +++ b/src/components/Profile/TrainerProfile.vue @@ -90,7 +90,7 @@ class="no-error-msg" label="Birthday" dark - :max="new Date()" + :max="new Date().toISOString().slice(0, 10)" v-model="form.birthday" /> diff --git a/src/components/Programs/Add.vue b/src/components/Programs/Add.vue index ec88660..f8fd05f 100644 --- a/src/components/Programs/Add.vue +++ b/src/components/Programs/Add.vue @@ -62,7 +62,7 @@ --> product image - +
Role: @@ -38,7 +38,7 @@
- +
@@ -76,7 +77,7 @@ rows="3" label="description" placeholder="description" - v-model="form.description" + v-model.trim="form.description" >
diff --git a/src/components/Workouts/Item.vue b/src/components/Workouts/Item.vue index 7828aa7..1e85ccd 100644 --- a/src/components/Workouts/Item.vue +++ b/src/components/Workouts/Item.vue @@ -2,11 +2,18 @@
-
+ >
+ product image +
@@ -74,9 +81,6 @@ export default {