fix: support org_id from URL query param in course-package-store
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -67,6 +67,13 @@ export default defineComponent({
|
|||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { store, queryPublicPackages, queryOrgPackages } = useCoursePackage();
|
const { store, queryPublicPackages, queryOrgPackages } = useCoursePackage();
|
||||||
|
|
||||||
|
const resolvedOrgId = computed(() => {
|
||||||
|
if (props.orgId) return props.orgId;
|
||||||
|
// Fallback to URL query param `org_id` (e.g. for shared store links)
|
||||||
|
const params = new URLSearchParams(window.location.search);
|
||||||
|
return params.get('org_id') || '';
|
||||||
|
});
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
loading: false,
|
loading: false,
|
||||||
error: false,
|
error: false,
|
||||||
@@ -81,16 +88,11 @@ export default defineComponent({
|
|||||||
state.loading = true;
|
state.loading = true;
|
||||||
state.error = false;
|
state.error = false;
|
||||||
let ok: boolean;
|
let ok: boolean;
|
||||||
if (props.orgId) {
|
const orgId = resolvedOrgId.value;
|
||||||
ok = await queryPublicPackages(props.orgId);
|
if (orgId) {
|
||||||
|
ok = await queryPublicPackages(orgId);
|
||||||
} else {
|
} else {
|
||||||
// Fallback: use auth'd API if logged in, otherwise skip
|
|
||||||
ok = isLoggedIn() ? await queryOrgPackages() : false;
|
ok = isLoggedIn() ? await queryOrgPackages() : false;
|
||||||
if (!ok && !isLoggedIn()) {
|
|
||||||
state.loading = false;
|
|
||||||
state.error = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
state.error = !ok;
|
state.error = !ok;
|
||||||
state.loading = false;
|
state.loading = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user