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); const searchParams = new URLSearchParams(combinedParams);
return fetch(`${id}?${searchParams.toString()}`); return fetch(id, { params: Object.fromEntries(searchParams) });
}, },
findAll(params) { findAll(params) {
console.log('api.js findAll'); console.log('api.js findAll');

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

Loading…
Cancel
Save