Fix router guard to load course with session context

pull/4922/head
Angel Fernando Quiroz Campos 2 years ago
parent 173ae043e3
commit 4ed15d50a4
  1. 2
      assets/vue/services/api.js
  2. 15
      assets/vue/store/cidReq.js

@ -13,7 +13,7 @@ export default function makeService(endpoint) {
const searchParams = new URLSearchParams(combinedParams);
return fetch(`${id}?${searchParams.toString()}`);
return fetch(id, { params: Object.fromEntries(searchParams) });
},
findAll(params) {
console.log('api.js findAll');

@ -49,12 +49,12 @@ export const useCidReqStore = defineStore("cidReq", () => {
session.value = null
}
const setCourseByIri = async (iri) => {
const setCourseByIri = async (iri, sid = 0) => {
if (course.value && iri === course.value["@id"]) {
return
}
course.value = await courseService.find(iri).then((response) => response.json())
course.value = await courseService.find(iri, { sid }).then((response) => response.json())
}
const setSessionByIri = async (iri) => {
@ -65,12 +65,14 @@ export const useCidReqStore = defineStore("cidReq", () => {
session.value = await sessionService.find(iri).then((response) => response.json())
}
const setCourseAndSessionByIri = async (courseIri, sessionIri = undefined) => {
const setCourseAndSessionByIri = async (courseIri, sId = 0) => {
if (!courseIri) {
return
}
await setCourseByIri(courseIri)
await setCourseByIri(courseIri, sId)
let sessionIri = sId ? `/api/sessions/${sId}` : undefined
if (!sessionIri) {
return
@ -80,10 +82,9 @@ export const useCidReqStore = defineStore("cidReq", () => {
}
const setCourseAndSessionById = async (cid, sid = undefined) => {
let courseIri = cid ? "/api/courses/" + cid : undefined
let sessionIri = sid ? "/api/sessions/" + sid : undefined
let courseIri = cid ? `/api/courses/${cid}` : undefined
await setCourseAndSessionByIri(courseIri, sessionIri)
await setCourseAndSessionByIri(courseIri, sid)
}
return {

Loading…
Cancel
Save