fix: improve trail api

This commit is contained in:
swve 2023-03-26 19:26:17 +02:00
parent e14ba02f97
commit 83dbdfdc05
5 changed files with 53 additions and 22 deletions

View file

@ -11,8 +11,8 @@ import { getCourse } from "@services/courses/courses";
import VideoActivity from "@components/ActivityViews/Video/Video";
import useSWR, { mutate } from "swr";
import { Check } from "lucide-react";
import { maskActivityAsComplete } from "@services/courses/activity";
import { swrFetcher } from "@services/utils/requests";
import { markActivityAsComplete } from "@services/courses/activity";
function ActivityPage(params: any) {
const activityid = params.params.activityid;
@ -20,12 +20,11 @@ function ActivityPage(params: any) {
const orgslug = params.params.orgslug;
const { data: course, error: error_course } = useSWR(`${getAPIUrl()}courses/meta/course_${courseid}`, swrFetcher);
const { data: activity, error: error_activity } = useSWR(`${getAPIUrl()}activities/activity_${activityid}`, swrFetcher);
const { data: activity, error: error_activity } = useSWR(`${getAPIUrl()}trail/org_slug/${orgslug}/trail`, swrFetcher);
console.log(course, activity);
async function markActivityAsCompleteFront() {
const activity = await maskActivityAsComplete("" + activityid, courseid, activity.activity_id.replace("activity_", ""));
const trail = await markActivityAsComplete(orgslug, courseid, activityid);
mutate(`${getAPIUrl()}activities/activity_${activityid}`);
mutate(`${getAPIUrl()}courses/meta/course_${courseid}`);
}
@ -76,9 +75,10 @@ function ActivityPage(params: any) {
{activity.type == "video" && <VideoActivity course={course} activity={activity} />}
<ActivityMarkerWrapper>
{course.activity.activities_marked_complete &&
course.activity.activities_marked_complete.includes("activity_" + activityid) &&
course.activity.status == "ongoing" ? (
{course.trail.activities_marked_complete &&
course.trail.activities_marked_complete.includes("activity_" + activityid) &&
course.trail.status == "ongoing" ? (
<button style={{ backgroundColor: "green" }}>
<i>
<Check size={20}></Check>

View file

@ -23,7 +23,6 @@ const CourseIdPage = (params: any) => {
async function quitCourse() {
// Close activity
let activity = await removeCourse("course_" + courseid, orgslug);
console.log(activity);

View file

@ -7,21 +7,21 @@ import { getAPIUrl } from "@services/config/config";
*/
export async function startCourse(course_id: string, org_slug: string) {
const result: any = await fetch(`${getAPIUrl()}trail/${org_slug}/add_course/${course_id}`, RequestBody("POST", null))
const result: any = await fetch(`${getAPIUrl()}trail/org_slug/${org_slug}/add_course/${course_id}`, RequestBody("POST", null))
.then((result) => result.json())
.catch((error) => console.log("error", error));
return result;
}
export async function removeCourse(course_id: string, org_slug: string) {
const result: any = await fetch(`${getAPIUrl()}trail/${org_slug}/remove_course/${course_id}`, RequestBody("POST", null))
const result: any = await fetch(`${getAPIUrl()}trail/org_slug/${org_slug}/remove_course/${course_id}`, RequestBody("POST", null))
.then((result) => result.json())
.catch((error) => console.log("error", error));
return result;
}
export async function maskActivityAsComplete(org_id: string, course_id: string, activity_id: string) {
const result: any = await fetch(`${getAPIUrl()}activity/${org_id}/add_activity/${course_id}/${activity_id}`, RequestBody("POST", null))
export async function markActivityAsComplete(org_slug: string, course_id: string, activity_id: string) {
const result: any = await fetch(`${getAPIUrl()}trail/org_slug/${org_slug}/add_activity/course_id/${course_id}/activity_id/${activity_id}`, RequestBody("POST", null))
.then((result) => result.json())
.catch((error) => console.log("error", error));
return result;