@burdenoff/microfe-buildmyiq 2026.720.2 → 2026.720.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/buildmyiq/BuildmyiqRoutes.d.ts.map +1 -1
- package/dist/buildmyiq/BuildmyiqRoutes.js +4 -0
- package/dist/buildmyiq/BuildmyiqRoutes.js.map +1 -1
- package/dist/buildmyiq/hooks/useBuildmyiqApi.d.ts +55 -3
- package/dist/buildmyiq/hooks/useBuildmyiqApi.d.ts.map +1 -1
- package/dist/buildmyiq/hooks/useBuildmyiqApi.js +147 -87
- package/dist/buildmyiq/hooks/useBuildmyiqApi.js.map +1 -1
- package/dist/buildmyiq/pages/submissions/SubmissionsPage.d.ts.map +1 -1
- package/dist/buildmyiq/pages/submissions/SubmissionsPage.js +380 -357
- package/dist/buildmyiq/pages/submissions/SubmissionsPage.js.map +1 -1
- package/dist/utils/pageContext.d.ts.map +1 -1
- package/dist/utils/pageContext.js +1 -1
- package/dist/utils/pageContext.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildmyiqRoutes.d.ts","sourceRoot":"","sources":["../../src/buildmyiq/BuildmyiqRoutes.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAc,EAAE,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAwGvD,eAAO,MAAM,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"BuildmyiqRoutes.d.ts","sourceRoot":"","sources":["../../src/buildmyiq/BuildmyiqRoutes.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAc,EAAE,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAwGvD,eAAO,MAAM,eAAe,EAAE,EAuE7B,CAAC"}
|
|
@@ -85,6 +85,10 @@ var j = () => {
|
|
|
85
85
|
path: "submissions",
|
|
86
86
|
element: A("buildmyiq.submissions", /* @__PURE__ */ u(w, {}))
|
|
87
87
|
}),
|
|
88
|
+
/* @__PURE__ */ u(s, {
|
|
89
|
+
path: "submissions/:submissionId",
|
|
90
|
+
element: A("buildmyiq.submissions", /* @__PURE__ */ u(w, {}))
|
|
91
|
+
}),
|
|
88
92
|
/* @__PURE__ */ u(s, {
|
|
89
93
|
path: "cohorts",
|
|
90
94
|
element: A("buildmyiq.cohorts", /* @__PURE__ */ u(T, {}))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildmyiqRoutes.js","names":[],"sources":["../../src/buildmyiq/BuildmyiqRoutes.tsx"],"sourcesContent":["/**\n * Buildmyiq Routes\n * @module buildmyiq\n *\n * Domain routes. The dashboard is eager-loaded (primary landing); all other\n * pages are lazy-loaded. Every route maps to a real `bui*` backend capability.\n * All product routes are gated by feature flags that default to enabled.\n */\n\nimport React, { type FC, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router-dom';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { useBuildmyiq } from './context';\nimport { useTr } from './shared/hooks/useTr';\n\n// Eager — primary landing\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Catalog (learner-facing course discovery + detail + enrol)\nconst CatalogPage = lazy(() =>\n import('./pages/catalog/CatalogPage').then((m) => ({ default: m.CatalogPage }))\n);\nconst CourseDetailPage = lazy(() =>\n import('./pages/catalog/CourseDetailPage').then((m) => ({ default: m.CourseDetailPage }))\n);\n\n// My Learning (enrollments + progress + lesson player)\nconst MyLearningPage = lazy(() =>\n import('./pages/learning/MyLearningPage').then((m) => ({ default: m.MyLearningPage }))\n);\nconst LessonPlayerPage = lazy(() =>\n import('./pages/learning/LessonPlayerPage').then((m) => ({ default: m.LessonPlayerPage }))\n);\n\n// Authoring (instructor course management + builder)\nconst AuthoringPage = lazy(() =>\n import('./pages/authoring/AuthoringPage').then((m) => ({ default: m.AuthoringPage }))\n);\nconst CourseBuilderPage = lazy(() =>\n import('./pages/authoring/CourseBuilderPage').then((m) => ({ default: m.CourseBuilderPage }))\n);\n\n// Assessments (list + builder/questions/detail)\nconst AssessmentsPage = lazy(() =>\n import('./pages/assessments/AssessmentsPage').then((m) => ({ default: m.AssessmentsPage }))\n);\nconst AssessmentDetailPage = lazy(() =>\n import('./pages/assessments/AssessmentDetailPage').then((m) => ({\n default: m.AssessmentDetailPage,\n }))\n);\n// Learner-facing: take a published assessment (answer + submit)\nconst TakeAssessmentPage = lazy(() =>\n import('./pages/assessments/TakeAssessmentPage').then((m) => ({ default: m.TakeAssessmentPage }))\n);\n\n// Insights (educator analytics, derived from real data)\nconst InsightsPage = lazy(() =>\n import('./pages/insights/InsightsPage').then((m) => ({ default: m.InsightsPage }))\n);\n\n// Skill Journeys (derived guided paths)\nconst PathsPage = lazy(() =>\n import('./pages/paths/PathsPage').then((m) => ({ default: m.PathsPage }))\n);\n\n// Grading (submissions queue)\nconst SubmissionsPage = lazy(() =>\n import('./pages/submissions/SubmissionsPage').then((m) => ({ default: m.SubmissionsPage }))\n);\n\n// Cohorts\nconst CohortsPage = lazy(() =>\n import('./pages/cohorts/CohortsPage').then((m) => ({ default: m.CohortsPage }))\n);\n\n// Skills taxonomy\nconst SkillsPage = lazy(() =>\n import('./pages/skills/SkillsPage').then((m) => ({ default: m.SkillsPage }))\n);\n\n// Certificates\nconst CertificatesPage = lazy(() =>\n import('./pages/certificates/CertificatesPage').then((m) => ({ default: m.CertificatesPage }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <Spinner size=\"lg\" />\n </div>\n);\n\nfunction FeatureDisabledFallback() {\n const tr = useTr();\n return (\n <div className=\"flex h-full min-h-[200px] items-center justify-center text-sm text-text-secondary\">\n {tr(\n 'buildmyiq.pages.featureDisabled',\n 'This feature is currently disabled. You can enable it from Feature Previews.'\n )}\n </div>\n );\n}\n\nfunction gated(flag: string, element: React.ReactNode, defaultValue = true): React.ReactElement {\n return (\n <FeatureGate flag={flag} defaultValue={defaultValue} fallback={<FeatureDisabledFallback />}>\n {element}\n </FeatureGate>\n );\n}\n\nexport const BuildmyiqRoutes: FC = () => {\n const { basePath, isStandalone } = useBuildmyiq();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: only render if the current path matches basePath (integrated mode).\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex min-h-full flex-col\">\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={gated('buildmyiq.overview', <DashboardPage />)} />\n\n <Route path=\"catalog\" element={gated('buildmyiq.catalog', <CatalogPage />)} />\n <Route\n path=\"catalog/:courseId\"\n element={gated('buildmyiq.catalog', <CourseDetailPage />)}\n />\n\n <Route path=\"learning\" element={gated('buildmyiq.learning', <MyLearningPage />)} />\n <Route\n path=\"learning/:enrollmentId\"\n element={gated('buildmyiq.learning', <LessonPlayerPage />)}\n />\n\n <Route path=\"paths\" element={gated('buildmyiq.paths', <PathsPage />)} />\n\n <Route path=\"authoring\" element={gated('buildmyiq.authoring', <AuthoringPage />)} />\n <Route\n path=\"authoring/:courseId\"\n element={gated('buildmyiq.authoring', <CourseBuilderPage />)}\n />\n\n <Route path=\"assessments\" element={gated('buildmyiq.assessments', <AssessmentsPage />)} />\n <Route\n path=\"assessments/:assessmentId\"\n element={gated('buildmyiq.assessments', <AssessmentDetailPage />)}\n />\n <Route\n path=\"assessments/:assessmentId/take\"\n element={gated('buildmyiq.assessments', <TakeAssessmentPage />)}\n />\n\n <Route path=\"insights\" element={gated('buildmyiq.insights', <InsightsPage />)} />\n\n <Route path=\"submissions\" element={gated('buildmyiq.submissions', <SubmissionsPage />)} />\n <Route path=\"cohorts\" element={gated('buildmyiq.cohorts', <CohortsPage />)} />\n <Route path=\"skills\" element={gated('buildmyiq.skills', <SkillsPage />)} />\n <Route\n path=\"certificates\"\n element={gated('buildmyiq.certificates', <CertificatesPage />)}\n />\n\n <Route path=\"*\" element={<Navigate to={normalizedBasePath || '/'} replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AAoBA,IAAM,IAAc,QAClB,OAAO,kCAA+B,MAAM,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAChF,GACM,IAAmB,QACvB,OAAO,uCAAoC,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAC1F,GAGM,IAAiB,QACrB,OAAO,sCAAmC,MAAM,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CACvF,GACM,IAAmB,QACvB,OAAO,wCAAqC,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAC3F,GAGM,IAAgB,QACpB,OAAO,sCAAmC,MAAM,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CACtF,GACM,IAAoB,QACxB,OAAO,0CAAuC,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAC9F,GAGM,IAAkB,QACtB,OAAO,0CAAuC,MAAM,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAC5F,GACM,IAAuB,QAC3B,OAAO,+CAA4C,MAAM,OAAO,EAC9D,SAAS,EAAE,qBACb,EAAE,CACJ,GAEM,IAAqB,QACzB,OAAO,6CAA0C,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAClG,GAGM,IAAe,QACnB,OAAO,oCAAiC,MAAM,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CACnF,GAGM,IAAY,QAChB,OAAO,8BAA2B,MAAM,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAC1E,GAGM,IAAkB,QACtB,OAAO,0CAAuC,MAAM,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAC5F,GAGM,IAAc,QAClB,OAAO,kCAA+B,MAAM,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAChF,GAGM,IAAa,QACjB,OAAO,gCAA6B,MAAM,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAC7E,GAGM,IAAmB,QACvB,OAAO,4CAAyC,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAC/F,GAEM,UACJ,kBAAC,OAAD;CAAK,WAAU;WACb,kBAAC,GAAD,EAAS,MAAK,KAAM,CAAA;AACjB,CAAA;AAGP,SAAS,IAA0B;CAEjC,OACE,kBAAC,OAAD;EAAK,WAAU;YAFN,EAGN,EACC,mCACA,8EACF;CACG,CAAA;AAET;AAEA,SAAS,EAAM,GAAc,GAA0B,IAAe,IAA0B;CAC9F,OACE,kBAAC,GAAD;EAAmB;EAAoB;EAAc,UAAU,kBAAC,GAAD,CAA0B,CAAA;YACtF;CACU,CAAA;AAEjB;AAEA,IAAa,UAA4B;CACvC,IAAM,EAAE,aAAU,oBAAiB,EAAa,GAC1C,IAAW,EAAY,GAEvB,IAAqB,MAAa,MAAM,MAAM,KAAY,IAAI,QAAQ,OAAO,EAAE;CAYrF,OATI,KAAsB,CAAC,KAIrB,EAFF,EAAS,aAAa,KACtB,EAAS,SAAS,WAAW,IAAqB,GAAG,KAE9C,OAKT,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD;GAAU,UAAU,kBAAC,GAAD,CAAa,CAAA;aAC/B,kBAAC,GAAD,EAAA,UAAA;IACE,kBAAC,GAAD;KAAO,OAAA;KAAM,SAAS,EAAM,sBAAsB,kBAAC,GAAD,CAAgB,CAAA,CAAC;IAAI,CAAA;IAEvE,kBAAC,GAAD;KAAO,MAAK;KAAU,SAAS,EAAM,qBAAqB,kBAAC,GAAD,CAAc,CAAA,CAAC;IAAI,CAAA;IAC7E,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EAAM,qBAAqB,kBAAC,GAAD,CAAmB,CAAA,CAAC;IACzD,CAAA;IAED,kBAAC,GAAD;KAAO,MAAK;KAAW,SAAS,EAAM,sBAAsB,kBAAC,GAAD,CAAiB,CAAA,CAAC;IAAI,CAAA;IAClF,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EAAM,sBAAsB,kBAAC,GAAD,CAAmB,CAAA,CAAC;IAC1D,CAAA;IAED,kBAAC,GAAD;KAAO,MAAK;KAAQ,SAAS,EAAM,mBAAmB,kBAAC,GAAD,CAAY,CAAA,CAAC;IAAI,CAAA;IAEvE,kBAAC,GAAD;KAAO,MAAK;KAAY,SAAS,EAAM,uBAAuB,kBAAC,GAAD,CAAgB,CAAA,CAAC;IAAI,CAAA;IACnF,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EAAM,uBAAuB,kBAAC,GAAD,CAAoB,CAAA,CAAC;IAC5D,CAAA;IAED,kBAAC,GAAD;KAAO,MAAK;KAAc,SAAS,EAAM,yBAAyB,kBAAC,GAAD,CAAkB,CAAA,CAAC;IAAI,CAAA;IACzF,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EAAM,yBAAyB,kBAAC,GAAD,CAAuB,CAAA,CAAC;IACjE,CAAA;IACD,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EAAM,yBAAyB,kBAAC,GAAD,CAAqB,CAAA,CAAC;IAC/D,CAAA;IAED,kBAAC,GAAD;KAAO,MAAK;KAAW,SAAS,EAAM,sBAAsB,kBAAC,GAAD,CAAe,CAAA,CAAC;IAAI,CAAA;IAEhF,kBAAC,GAAD;KAAO,MAAK;KAAc,SAAS,EAAM,yBAAyB,kBAAC,GAAD,CAAkB,CAAA,CAAC;IAAI,CAAA;IACzF,kBAAC,GAAD;KAAO,MAAK;KAAU,SAAS,EAAM,qBAAqB,kBAAC,GAAD,CAAc,CAAA,CAAC;IAAI,CAAA;IAC7E,kBAAC,GAAD;KAAO,MAAK;KAAS,SAAS,EAAM,oBAAoB,kBAAC,GAAD,CAAa,CAAA,CAAC;IAAI,CAAA;IAC1E,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EAAM,0BAA0B,kBAAC,GAAD,CAAmB,CAAA,CAAC;IAC9D,CAAA;IAED,kBAAC,GAAD;KAAO,MAAK;KAAI,SAAS,kBAAC,GAAD;MAAU,IAAI,KAAsB;MAAK,SAAA;KAAS,CAAA;IAAI,CAAA;GACzE,EAAA,CAAA;EACA,CAAA;CACP,CAAA;AAET"}
|
|
1
|
+
{"version":3,"file":"BuildmyiqRoutes.js","names":[],"sources":["../../src/buildmyiq/BuildmyiqRoutes.tsx"],"sourcesContent":["/**\n * Buildmyiq Routes\n * @module buildmyiq\n *\n * Domain routes. The dashboard is eager-loaded (primary landing); all other\n * pages are lazy-loaded. Every route maps to a real `bui*` backend capability.\n * All product routes are gated by feature flags that default to enabled.\n */\n\nimport React, { type FC, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router-dom';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { useBuildmyiq } from './context';\nimport { useTr } from './shared/hooks/useTr';\n\n// Eager — primary landing\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Catalog (learner-facing course discovery + detail + enrol)\nconst CatalogPage = lazy(() =>\n import('./pages/catalog/CatalogPage').then((m) => ({ default: m.CatalogPage }))\n);\nconst CourseDetailPage = lazy(() =>\n import('./pages/catalog/CourseDetailPage').then((m) => ({ default: m.CourseDetailPage }))\n);\n\n// My Learning (enrollments + progress + lesson player)\nconst MyLearningPage = lazy(() =>\n import('./pages/learning/MyLearningPage').then((m) => ({ default: m.MyLearningPage }))\n);\nconst LessonPlayerPage = lazy(() =>\n import('./pages/learning/LessonPlayerPage').then((m) => ({ default: m.LessonPlayerPage }))\n);\n\n// Authoring (instructor course management + builder)\nconst AuthoringPage = lazy(() =>\n import('./pages/authoring/AuthoringPage').then((m) => ({ default: m.AuthoringPage }))\n);\nconst CourseBuilderPage = lazy(() =>\n import('./pages/authoring/CourseBuilderPage').then((m) => ({ default: m.CourseBuilderPage }))\n);\n\n// Assessments (list + builder/questions/detail)\nconst AssessmentsPage = lazy(() =>\n import('./pages/assessments/AssessmentsPage').then((m) => ({ default: m.AssessmentsPage }))\n);\nconst AssessmentDetailPage = lazy(() =>\n import('./pages/assessments/AssessmentDetailPage').then((m) => ({\n default: m.AssessmentDetailPage,\n }))\n);\n// Learner-facing: take a published assessment (answer + submit)\nconst TakeAssessmentPage = lazy(() =>\n import('./pages/assessments/TakeAssessmentPage').then((m) => ({ default: m.TakeAssessmentPage }))\n);\n\n// Insights (educator analytics, derived from real data)\nconst InsightsPage = lazy(() =>\n import('./pages/insights/InsightsPage').then((m) => ({ default: m.InsightsPage }))\n);\n\n// Skill Journeys (derived guided paths)\nconst PathsPage = lazy(() =>\n import('./pages/paths/PathsPage').then((m) => ({ default: m.PathsPage }))\n);\n\n// Grading (submissions queue)\nconst SubmissionsPage = lazy(() =>\n import('./pages/submissions/SubmissionsPage').then((m) => ({ default: m.SubmissionsPage }))\n);\n\n// Cohorts\nconst CohortsPage = lazy(() =>\n import('./pages/cohorts/CohortsPage').then((m) => ({ default: m.CohortsPage }))\n);\n\n// Skills taxonomy\nconst SkillsPage = lazy(() =>\n import('./pages/skills/SkillsPage').then((m) => ({ default: m.SkillsPage }))\n);\n\n// Certificates\nconst CertificatesPage = lazy(() =>\n import('./pages/certificates/CertificatesPage').then((m) => ({ default: m.CertificatesPage }))\n);\n\nconst PageLoader: FC = () => (\n <div className=\"flex min-h-[400px] items-center justify-center\">\n <Spinner size=\"lg\" />\n </div>\n);\n\nfunction FeatureDisabledFallback() {\n const tr = useTr();\n return (\n <div className=\"flex h-full min-h-[200px] items-center justify-center text-sm text-text-secondary\">\n {tr(\n 'buildmyiq.pages.featureDisabled',\n 'This feature is currently disabled. You can enable it from Feature Previews.'\n )}\n </div>\n );\n}\n\nfunction gated(flag: string, element: React.ReactNode, defaultValue = true): React.ReactElement {\n return (\n <FeatureGate flag={flag} defaultValue={defaultValue} fallback={<FeatureDisabledFallback />}>\n {element}\n </FeatureGate>\n );\n}\n\nexport const BuildmyiqRoutes: FC = () => {\n const { basePath, isStandalone } = useBuildmyiq();\n const location = useLocation();\n\n const normalizedBasePath = basePath === '/' ? '' : (basePath ?? '').replace(/\\/$/, '');\n\n // Guard: only render if the current path matches basePath (integrated mode).\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex min-h-full flex-col\">\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={gated('buildmyiq.overview', <DashboardPage />)} />\n\n <Route path=\"catalog\" element={gated('buildmyiq.catalog', <CatalogPage />)} />\n <Route\n path=\"catalog/:courseId\"\n element={gated('buildmyiq.catalog', <CourseDetailPage />)}\n />\n\n <Route path=\"learning\" element={gated('buildmyiq.learning', <MyLearningPage />)} />\n <Route\n path=\"learning/:enrollmentId\"\n element={gated('buildmyiq.learning', <LessonPlayerPage />)}\n />\n\n <Route path=\"paths\" element={gated('buildmyiq.paths', <PathsPage />)} />\n\n <Route path=\"authoring\" element={gated('buildmyiq.authoring', <AuthoringPage />)} />\n <Route\n path=\"authoring/:courseId\"\n element={gated('buildmyiq.authoring', <CourseBuilderPage />)}\n />\n\n <Route path=\"assessments\" element={gated('buildmyiq.assessments', <AssessmentsPage />)} />\n <Route\n path=\"assessments/:assessmentId\"\n element={gated('buildmyiq.assessments', <AssessmentDetailPage />)}\n />\n <Route\n path=\"assessments/:assessmentId/take\"\n element={gated('buildmyiq.assessments', <TakeAssessmentPage />)}\n />\n\n <Route path=\"insights\" element={gated('buildmyiq.insights', <InsightsPage />)} />\n\n <Route path=\"submissions\" element={gated('buildmyiq.submissions', <SubmissionsPage />)} />\n <Route\n path=\"submissions/:submissionId\"\n element={gated('buildmyiq.submissions', <SubmissionsPage />)}\n />\n <Route path=\"cohorts\" element={gated('buildmyiq.cohorts', <CohortsPage />)} />\n <Route path=\"skills\" element={gated('buildmyiq.skills', <SkillsPage />)} />\n <Route\n path=\"certificates\"\n element={gated('buildmyiq.certificates', <CertificatesPage />)}\n />\n\n <Route path=\"*\" element={<Navigate to={normalizedBasePath || '/'} replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -7,7 +7,32 @@ export interface UseBuiCoursesArgs {
|
|
|
7
7
|
limit?: number;
|
|
8
8
|
enabled?: boolean;
|
|
9
9
|
}
|
|
10
|
-
export declare const useBuiCourses: (args?: UseBuiCoursesArgs) => import('@tanstack/react-query').UseQueryResult<NoInfer<
|
|
10
|
+
export declare const useBuiCourses: (args?: UseBuiCoursesArgs) => import('@tanstack/react-query').UseQueryResult<NoInfer<{
|
|
11
|
+
items: {
|
|
12
|
+
modules: BuiModule[];
|
|
13
|
+
lessons: BuiLesson[];
|
|
14
|
+
status: BuiCourseStatus;
|
|
15
|
+
workspaceId: string;
|
|
16
|
+
title: string;
|
|
17
|
+
description?: string | null | undefined;
|
|
18
|
+
summary?: string | null | undefined;
|
|
19
|
+
id: string;
|
|
20
|
+
createdAt: string;
|
|
21
|
+
updatedAt: string;
|
|
22
|
+
slug: string;
|
|
23
|
+
level: BuiCourseLevel;
|
|
24
|
+
language: string;
|
|
25
|
+
estimatedHours: number;
|
|
26
|
+
isPublic: boolean;
|
|
27
|
+
tags: string[];
|
|
28
|
+
skillId?: string | null | undefined;
|
|
29
|
+
skill?: (BuiSkill | null) | undefined;
|
|
30
|
+
instructorId?: string | null | undefined;
|
|
31
|
+
cover?: (import('../types').BuiFileRef | null) | undefined;
|
|
32
|
+
publishedAt?: string | null | undefined;
|
|
33
|
+
}[];
|
|
34
|
+
pageInfo: import('../types').BuiPageInfo;
|
|
35
|
+
}>, Error>;
|
|
11
36
|
export declare const useBuiCourse: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<BuiCourse | null>, Error>;
|
|
12
37
|
export declare const useBuiCreateCourse: () => import('@tanstack/react-query').UseMutationResult<BuiCourse, Error, BuiCreateCourseInput, unknown>;
|
|
13
38
|
export declare const useBuiUpdateCourse: () => import('@tanstack/react-query').UseMutationResult<BuiCourse, Error, {
|
|
@@ -16,11 +41,36 @@ export declare const useBuiUpdateCourse: () => import('@tanstack/react-query').U
|
|
|
16
41
|
}, unknown>;
|
|
17
42
|
export declare const useBuiPublishCourse: () => import('@tanstack/react-query').UseMutationResult<BuiCourse, Error, string, unknown>;
|
|
18
43
|
export declare const useBuiArchiveCourse: () => import('@tanstack/react-query').UseMutationResult<boolean, Error, string, unknown>;
|
|
19
|
-
export declare const useBuiModules: (courseId: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<
|
|
44
|
+
export declare const useBuiModules: (courseId: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<{
|
|
45
|
+
lessons: BuiLesson[];
|
|
46
|
+
workspaceId: string;
|
|
47
|
+
title: string;
|
|
48
|
+
description?: string | null | undefined;
|
|
49
|
+
id: string;
|
|
50
|
+
courseId: string;
|
|
51
|
+
position: number;
|
|
52
|
+
createdAt: string;
|
|
53
|
+
updatedAt: string;
|
|
54
|
+
}[]>, Error>;
|
|
20
55
|
export declare const useBuiLessons: (courseId: string | undefined, moduleId?: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<BuiLesson[]>, Error>;
|
|
21
56
|
export declare const useBuiCreateModule: () => import('@tanstack/react-query').UseMutationResult<BuiModule, Error, BuiCreateModuleInput, unknown>;
|
|
22
57
|
export declare const useBuiCreateLesson: () => import('@tanstack/react-query').UseMutationResult<BuiLesson, Error, BuiCreateLessonInput, unknown>;
|
|
23
|
-
export declare const useBuiAssessments: (courseId: string | undefined, status?: BuiAssessmentStatus) => import('@tanstack/react-query').UseQueryResult<NoInfer<
|
|
58
|
+
export declare const useBuiAssessments: (courseId: string | undefined, status?: BuiAssessmentStatus) => import('@tanstack/react-query').UseQueryResult<NoInfer<{
|
|
59
|
+
questions: BuiQuestion[];
|
|
60
|
+
status: BuiAssessmentStatus;
|
|
61
|
+
workspaceId: string;
|
|
62
|
+
title: string;
|
|
63
|
+
description?: string | null | undefined;
|
|
64
|
+
id: string;
|
|
65
|
+
type: import('../types').BuiAssessmentType;
|
|
66
|
+
courseId: string;
|
|
67
|
+
createdAt: string;
|
|
68
|
+
updatedAt: string;
|
|
69
|
+
passingScore: number;
|
|
70
|
+
maxAttempts: number;
|
|
71
|
+
timeLimitMin: number;
|
|
72
|
+
isGraded: boolean;
|
|
73
|
+
}[]>, Error>;
|
|
24
74
|
export declare const useBuiAssessment: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<BuiAssessment | null>, Error>;
|
|
25
75
|
export declare const useBuiCreateAssessment: () => import('@tanstack/react-query').UseMutationResult<BuiAssessment, Error, BuiCreateAssessmentInput, unknown>;
|
|
26
76
|
export declare const useBuiPublishAssessment: () => import('@tanstack/react-query').UseMutationResult<BuiAssessment, Error, string, unknown>;
|
|
@@ -34,6 +84,8 @@ export interface UseBuiSubmissionsArgs {
|
|
|
34
84
|
enabled?: boolean;
|
|
35
85
|
}
|
|
36
86
|
export declare const useBuiSubmissions: (args?: UseBuiSubmissionsArgs) => import('@tanstack/react-query').UseQueryResult<NoInfer<BuiConnection<BuiSubmission>>, Error>;
|
|
87
|
+
/** Single-submission lookup — used for deep-linking to `/buildmyiq/submissions/:submissionId`. */
|
|
88
|
+
export declare const useBuiSubmission: (id: string | undefined) => import('@tanstack/react-query').UseQueryResult<NoInfer<BuiSubmission | null>, Error>;
|
|
37
89
|
export declare const useBuiSubmitAssessment: () => import('@tanstack/react-query').UseMutationResult<BuiSubmission, Error, BuiSubmitAssessmentInput, unknown>;
|
|
38
90
|
export declare const useBuiGradeSubmission: () => import('@tanstack/react-query').UseMutationResult<BuiSubmission, Error, {
|
|
39
91
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildmyiqApi.d.ts","sourceRoot":"","sources":["../../../src/buildmyiq/hooks/useBuildmyiqApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,EACf,SAAS,EACT,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EAEzB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"useBuildmyiqApi.d.ts","sourceRoot":"","sources":["../../../src/buildmyiq/hooks/useBuildmyiqApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,12 @@ var a = () => {
|
|
|
53
53
|
certificates: ["buildmyiq", "certificates"],
|
|
54
54
|
cohorts: ["buildmyiq", "cohorts"],
|
|
55
55
|
skills: ["buildmyiq", "skills"],
|
|
56
|
-
submissions: ["buildmyiq", "submissions"]
|
|
56
|
+
submissions: ["buildmyiq", "submissions"],
|
|
57
|
+
submission: (e) => [
|
|
58
|
+
"buildmyiq",
|
|
59
|
+
"submission",
|
|
60
|
+
e
|
|
61
|
+
]
|
|
57
62
|
}, c = 24, l = (e, t = c) => e ? {
|
|
58
63
|
limit: t,
|
|
59
64
|
cursor: e
|
|
@@ -68,24 +73,37 @@ var a = () => {
|
|
|
68
73
|
media { ${u} }
|
|
69
74
|
`, h = `
|
|
70
75
|
${f}
|
|
71
|
-
modules { ${p} lessons { ${m} } }
|
|
72
|
-
lessons { ${m} }
|
|
76
|
+
modules { items { ${p} lessons { items { ${m} } } } }
|
|
77
|
+
lessons { items { ${m} } }
|
|
73
78
|
`, g = "\n id workspaceId courseId title description type status passingScore maxAttempts\n timeLimitMin isGraded createdAt updatedAt\n", _ = "\n id workspaceId assessmentId prompt type options points position explanation\n createdAt updatedAt\n", v = `
|
|
74
79
|
${g}
|
|
75
|
-
questions { ${_} }
|
|
80
|
+
questions { items { ${_} } }
|
|
76
81
|
`, y = "\n id workspaceId assessmentId enrollmentId learnerId attempt answers status score\n passed feedback gradedById gradedAt submittedAt createdAt updatedAt\n", b = "\n id workspaceId courseId name capacity facilitatorId startDate endDate status\n createdAt updatedAt\n", x = "\n id workspaceId enrollmentId lessonId status secondsSpent completedAt createdAt updatedAt\n", S = "\n id workspaceId courseId learnerId cohortId status progressPct enrolledAt startedAt\n completedAt lastActiveAt expiresAt createdAt updatedAt\n", C = `
|
|
77
82
|
${S}
|
|
78
83
|
cohort { ${b} }
|
|
79
|
-
lessonProgress { ${x} }
|
|
84
|
+
lessonProgress { items { ${x} } }
|
|
80
85
|
`, w = `
|
|
81
86
|
id workspaceId courseId learnerId enrollmentId serial status issuedAt expiresAt
|
|
82
87
|
revokedAt finalScore createdAt updatedAt
|
|
83
88
|
file { ${u} }
|
|
84
|
-
`, T = () => {
|
|
89
|
+
`, T = (e) => ({
|
|
90
|
+
...e,
|
|
91
|
+
modules: e.modules.items.map((e) => ({
|
|
92
|
+
...e,
|
|
93
|
+
lessons: e.lessons.items
|
|
94
|
+
})),
|
|
95
|
+
lessons: e.lessons.items
|
|
96
|
+
}), E = (e) => ({
|
|
97
|
+
...e,
|
|
98
|
+
questions: e.questions.items
|
|
99
|
+
}), D = (e) => ({
|
|
100
|
+
...e,
|
|
101
|
+
lessonProgress: e.lessonProgress.items
|
|
102
|
+
}), O = () => {
|
|
85
103
|
let { apiGatewayUrl: t } = e();
|
|
86
104
|
return t;
|
|
87
|
-
},
|
|
88
|
-
let t =
|
|
105
|
+
}, k = (e = {}) => {
|
|
106
|
+
let t = O(), { level: r, status: i, cursor: a, limit: c, enabled: u = !0 } = e;
|
|
89
107
|
return n({
|
|
90
108
|
queryKey: [...s.courses, {
|
|
91
109
|
level: r,
|
|
@@ -94,19 +112,29 @@ var a = () => {
|
|
|
94
112
|
limit: c
|
|
95
113
|
}],
|
|
96
114
|
enabled: u,
|
|
97
|
-
queryFn: async () =>
|
|
115
|
+
queryFn: async () => {
|
|
116
|
+
let e = await o(`query BuiListCourses($level: BuiCourseLevel, $status: BuiCourseStatus, $pagination: PaginationInput) {
|
|
98
117
|
buiListCourses(level: $level, status: $status, pagination: $pagination) {
|
|
99
|
-
items { ${f} modules { id } lessons { id } }
|
|
118
|
+
items { ${f} modules { items { id } } lessons { items { id } } }
|
|
100
119
|
pageInfo { cursor hasMore }
|
|
101
120
|
}
|
|
102
121
|
}`, {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
122
|
+
level: r,
|
|
123
|
+
status: i,
|
|
124
|
+
pagination: l(a, c)
|
|
125
|
+
}, t);
|
|
126
|
+
return {
|
|
127
|
+
items: e.buiListCourses.items.map((e) => ({
|
|
128
|
+
...e,
|
|
129
|
+
modules: e.modules.items,
|
|
130
|
+
lessons: e.lessons.items
|
|
131
|
+
})),
|
|
132
|
+
pageInfo: e.buiListCourses.pageInfo
|
|
133
|
+
};
|
|
134
|
+
}
|
|
107
135
|
});
|
|
108
|
-
},
|
|
109
|
-
let t =
|
|
136
|
+
}, A = (e) => {
|
|
137
|
+
let t = O();
|
|
110
138
|
return n({
|
|
111
139
|
queryKey: e ? s.course(e) : [
|
|
112
140
|
"buildmyiq",
|
|
@@ -114,20 +142,23 @@ var a = () => {
|
|
|
114
142
|
"nil"
|
|
115
143
|
],
|
|
116
144
|
enabled: !!e,
|
|
117
|
-
queryFn: async () =>
|
|
145
|
+
queryFn: async () => {
|
|
146
|
+
let n = await o(`query BuiCourse($id: ID!) {
|
|
118
147
|
buiCourse(id: $id) { ${h} }
|
|
119
|
-
}`, { id: e }, t)
|
|
148
|
+
}`, { id: e }, t);
|
|
149
|
+
return n.buiCourse ? T(n.buiCourse) : null;
|
|
150
|
+
}
|
|
120
151
|
});
|
|
121
|
-
},
|
|
122
|
-
let e =
|
|
152
|
+
}, j = () => {
|
|
153
|
+
let e = O(), n = r();
|
|
123
154
|
return t({
|
|
124
155
|
mutationFn: async (t) => (await o(`mutation BuiCreateCourse($input: BuiCreateCourseInput!) {
|
|
125
156
|
buiCreateCourse(input: $input) { ${f} }
|
|
126
157
|
}`, { input: t }, e)).buiCreateCourse,
|
|
127
158
|
onSuccess: () => n.invalidateQueries({ queryKey: s.courses })
|
|
128
159
|
});
|
|
129
|
-
},
|
|
130
|
-
let e =
|
|
160
|
+
}, M = () => {
|
|
161
|
+
let e = O(), n = r();
|
|
131
162
|
return t({
|
|
132
163
|
mutationFn: async (t) => (await o(`mutation BuiUpdateCourse($id: ID!, $input: BuiUpdateCourseInput!) {
|
|
133
164
|
buiUpdateCourse(id: $id, input: $input) { ${f} }
|
|
@@ -136,8 +167,8 @@ var a = () => {
|
|
|
136
167
|
n.invalidateQueries({ queryKey: s.courses }), n.invalidateQueries({ queryKey: s.course(e.id) });
|
|
137
168
|
}
|
|
138
169
|
});
|
|
139
|
-
},
|
|
140
|
-
let e =
|
|
170
|
+
}, N = () => {
|
|
171
|
+
let e = O(), n = r();
|
|
141
172
|
return t({
|
|
142
173
|
mutationFn: async (t) => (await o(`mutation BuiPublishCourse($id: ID!) {
|
|
143
174
|
buiPublishCourse(id: $id) { ${f} }
|
|
@@ -146,16 +177,16 @@ var a = () => {
|
|
|
146
177
|
n.invalidateQueries({ queryKey: s.courses }), n.invalidateQueries({ queryKey: s.course(e.id) });
|
|
147
178
|
}
|
|
148
179
|
});
|
|
149
|
-
},
|
|
150
|
-
let e =
|
|
180
|
+
}, P = () => {
|
|
181
|
+
let e = O(), n = r();
|
|
151
182
|
return t({
|
|
152
183
|
mutationFn: async (t) => (await o("mutation BuiArchiveCourse($id: ID!) { buiArchiveCourse(id: $id) }", { id: t }, e)).buiArchiveCourse,
|
|
153
184
|
onSuccess: (e, t) => {
|
|
154
185
|
n.invalidateQueries({ queryKey: s.courses }), n.invalidateQueries({ queryKey: s.course(t) });
|
|
155
186
|
}
|
|
156
187
|
});
|
|
157
|
-
},
|
|
158
|
-
let t =
|
|
188
|
+
}, F = (e) => {
|
|
189
|
+
let t = O();
|
|
159
190
|
return n({
|
|
160
191
|
queryKey: e ? s.modules(e) : [
|
|
161
192
|
"buildmyiq",
|
|
@@ -164,11 +195,16 @@ var a = () => {
|
|
|
164
195
|
],
|
|
165
196
|
enabled: !!e,
|
|
166
197
|
queryFn: async () => (await o(`query BuiListModules($courseId: ID!) {
|
|
167
|
-
buiListModules(courseId: $courseId) {
|
|
168
|
-
|
|
198
|
+
buiListModules(courseId: $courseId) {
|
|
199
|
+
items { ${p} lessons { items { ${m} } } }
|
|
200
|
+
}
|
|
201
|
+
}`, { courseId: e }, t)).buiListModules.items.map((e) => ({
|
|
202
|
+
...e,
|
|
203
|
+
lessons: e.lessons.items
|
|
204
|
+
}))
|
|
169
205
|
});
|
|
170
|
-
},
|
|
171
|
-
let e =
|
|
206
|
+
}, I = () => {
|
|
207
|
+
let e = O(), n = r();
|
|
172
208
|
return t({
|
|
173
209
|
mutationFn: async (t) => (await o(`mutation BuiCreateModule($input: BuiCreateModuleInput!) {
|
|
174
210
|
buiCreateModule(input: $input) { ${p} }
|
|
@@ -177,8 +213,8 @@ var a = () => {
|
|
|
177
213
|
n.invalidateQueries({ queryKey: s.modules(e.courseId) }), n.invalidateQueries({ queryKey: s.course(e.courseId) });
|
|
178
214
|
}
|
|
179
215
|
});
|
|
180
|
-
},
|
|
181
|
-
let e =
|
|
216
|
+
}, L = () => {
|
|
217
|
+
let e = O(), n = r();
|
|
182
218
|
return t({
|
|
183
219
|
mutationFn: async (t) => (await o(`mutation BuiCreateLesson($input: BuiCreateLessonInput!) {
|
|
184
220
|
buiCreateLesson(input: $input) { ${m} }
|
|
@@ -187,8 +223,8 @@ var a = () => {
|
|
|
187
223
|
n.invalidateQueries({ queryKey: s.lessons(e.courseId) }), n.invalidateQueries({ queryKey: s.modules(e.courseId) }), n.invalidateQueries({ queryKey: s.course(e.courseId) });
|
|
188
224
|
}
|
|
189
225
|
});
|
|
190
|
-
},
|
|
191
|
-
let r =
|
|
226
|
+
}, R = (e, t) => {
|
|
227
|
+
let r = O();
|
|
192
228
|
return n({
|
|
193
229
|
queryKey: e ? [...s.assessments(e), { status: t }] : [
|
|
194
230
|
"buildmyiq",
|
|
@@ -197,14 +233,19 @@ var a = () => {
|
|
|
197
233
|
],
|
|
198
234
|
enabled: !!e,
|
|
199
235
|
queryFn: async () => (await o(`query BuiListAssessments($courseId: ID!, $status: BuiAssessmentStatus) {
|
|
200
|
-
buiListAssessments(courseId: $courseId, status: $status) {
|
|
236
|
+
buiListAssessments(courseId: $courseId, status: $status) {
|
|
237
|
+
items { ${g} questions { items { id } } }
|
|
238
|
+
}
|
|
201
239
|
}`, {
|
|
202
240
|
courseId: e,
|
|
203
241
|
status: t
|
|
204
|
-
}, r)).buiListAssessments
|
|
242
|
+
}, r)).buiListAssessments.items.map((e) => ({
|
|
243
|
+
...e,
|
|
244
|
+
questions: e.questions.items
|
|
245
|
+
}))
|
|
205
246
|
});
|
|
206
|
-
},
|
|
207
|
-
let t =
|
|
247
|
+
}, z = (e) => {
|
|
248
|
+
let t = O();
|
|
208
249
|
return n({
|
|
209
250
|
queryKey: e ? s.assessment(e) : [
|
|
210
251
|
"buildmyiq",
|
|
@@ -212,20 +253,23 @@ var a = () => {
|
|
|
212
253
|
"nil"
|
|
213
254
|
],
|
|
214
255
|
enabled: !!e,
|
|
215
|
-
queryFn: async () =>
|
|
256
|
+
queryFn: async () => {
|
|
257
|
+
let n = await o(`query BuiAssessment($id: ID!) {
|
|
216
258
|
buiAssessment(id: $id) { ${v} }
|
|
217
|
-
}`, { id: e }, t)
|
|
259
|
+
}`, { id: e }, t);
|
|
260
|
+
return n.buiAssessment ? E(n.buiAssessment) : null;
|
|
261
|
+
}
|
|
218
262
|
});
|
|
219
|
-
},
|
|
220
|
-
let e =
|
|
263
|
+
}, ee = () => {
|
|
264
|
+
let e = O(), n = r();
|
|
221
265
|
return t({
|
|
222
266
|
mutationFn: async (t) => (await o(`mutation BuiCreateAssessment($input: BuiCreateAssessmentInput!) {
|
|
223
267
|
buiCreateAssessment(input: $input) { ${g} }
|
|
224
268
|
}`, { input: t }, e)).buiCreateAssessment,
|
|
225
269
|
onSuccess: (e) => n.invalidateQueries({ queryKey: s.assessments(e.courseId) })
|
|
226
270
|
});
|
|
227
|
-
},
|
|
228
|
-
let e =
|
|
271
|
+
}, B = () => {
|
|
272
|
+
let e = O(), n = r();
|
|
229
273
|
return t({
|
|
230
274
|
mutationFn: async (t) => (await o(`mutation BuiPublishAssessment($id: ID!) {
|
|
231
275
|
buiPublishAssessment(id: $id) { ${g} }
|
|
@@ -234,16 +278,16 @@ var a = () => {
|
|
|
234
278
|
n.invalidateQueries({ queryKey: s.assessment(e.id) }), n.invalidateQueries({ queryKey: s.assessments(e.courseId) });
|
|
235
279
|
}
|
|
236
280
|
});
|
|
237
|
-
},
|
|
238
|
-
let e =
|
|
281
|
+
}, V = () => {
|
|
282
|
+
let e = O(), n = r();
|
|
239
283
|
return t({
|
|
240
284
|
mutationFn: async (t) => (await o(`mutation BuiCreateQuestion($input: BuiCreateQuestionInput!) {
|
|
241
285
|
buiCreateQuestion(input: $input) { ${_} }
|
|
242
286
|
}`, { input: t }, e)).buiCreateQuestion,
|
|
243
287
|
onSuccess: (e) => n.invalidateQueries({ queryKey: s.assessment(e.assessmentId) })
|
|
244
288
|
});
|
|
245
|
-
},
|
|
246
|
-
let t =
|
|
289
|
+
}, H = (e = {}) => {
|
|
290
|
+
let t = O(), { assessmentId: r, learnerId: i, status: a, cursor: c, limit: u, enabled: d = !0 } = e;
|
|
247
291
|
return n({
|
|
248
292
|
queryKey: [...s.submissions, {
|
|
249
293
|
assessmentId: r,
|
|
@@ -265,24 +309,37 @@ var a = () => {
|
|
|
265
309
|
pagination: l(c, u)
|
|
266
310
|
}, t)).buiListSubmissions
|
|
267
311
|
});
|
|
268
|
-
},
|
|
269
|
-
let
|
|
312
|
+
}, U = (e) => {
|
|
313
|
+
let t = O();
|
|
314
|
+
return n({
|
|
315
|
+
queryKey: e ? s.submission(e) : [
|
|
316
|
+
"buildmyiq",
|
|
317
|
+
"submission",
|
|
318
|
+
"nil"
|
|
319
|
+
],
|
|
320
|
+
enabled: !!e,
|
|
321
|
+
queryFn: async () => (await o(`query BuiSubmission($id: ID!) {
|
|
322
|
+
buiSubmission(id: $id) { ${y} }
|
|
323
|
+
}`, { id: e }, t)).buiSubmission
|
|
324
|
+
});
|
|
325
|
+
}, W = () => {
|
|
326
|
+
let e = O(), n = r();
|
|
270
327
|
return t({
|
|
271
328
|
mutationFn: async (t) => (await o(`mutation BuiSubmitAssessment($input: BuiSubmitAssessmentInput!) {
|
|
272
329
|
buiSubmitAssessment(input: $input) { ${y} }
|
|
273
330
|
}`, { input: t }, e)).buiSubmitAssessment,
|
|
274
331
|
onSuccess: () => n.invalidateQueries({ queryKey: s.submissions })
|
|
275
332
|
});
|
|
276
|
-
},
|
|
277
|
-
let e =
|
|
333
|
+
}, G = () => {
|
|
334
|
+
let e = O(), n = r();
|
|
278
335
|
return t({
|
|
279
336
|
mutationFn: async (t) => (await o(`mutation BuiGradeSubmission($id: ID!, $input: BuiGradeSubmissionInput!) {
|
|
280
337
|
buiGradeSubmission(id: $id, input: $input) { ${y} }
|
|
281
338
|
}`, t, e)).buiGradeSubmission,
|
|
282
339
|
onSuccess: () => n.invalidateQueries({ queryKey: s.submissions })
|
|
283
340
|
});
|
|
284
|
-
},
|
|
285
|
-
let t =
|
|
341
|
+
}, K = (e = {}) => {
|
|
342
|
+
let t = O(), { courseId: r, learnerId: i, status: a, cursor: c, limit: u, enabled: d = !0 } = e;
|
|
286
343
|
return n({
|
|
287
344
|
queryKey: [...s.enrollments, {
|
|
288
345
|
courseId: r,
|
|
@@ -304,8 +361,8 @@ var a = () => {
|
|
|
304
361
|
pagination: l(c, u)
|
|
305
362
|
}, t)).buiListEnrollments
|
|
306
363
|
});
|
|
307
|
-
},
|
|
308
|
-
let t =
|
|
364
|
+
}, q = (e) => {
|
|
365
|
+
let t = O();
|
|
309
366
|
return n({
|
|
310
367
|
queryKey: e ? s.enrollment(e) : [
|
|
311
368
|
"buildmyiq",
|
|
@@ -313,20 +370,23 @@ var a = () => {
|
|
|
313
370
|
"nil"
|
|
314
371
|
],
|
|
315
372
|
enabled: !!e,
|
|
316
|
-
queryFn: async () =>
|
|
373
|
+
queryFn: async () => {
|
|
374
|
+
let n = await o(`query BuiEnrollment($id: ID!) {
|
|
317
375
|
buiEnrollment(id: $id) { ${C} }
|
|
318
|
-
}`, { id: e }, t)
|
|
376
|
+
}`, { id: e }, t);
|
|
377
|
+
return n.buiEnrollment ? D(n.buiEnrollment) : null;
|
|
378
|
+
}
|
|
319
379
|
});
|
|
320
|
-
},
|
|
321
|
-
let e =
|
|
380
|
+
}, J = () => {
|
|
381
|
+
let e = O(), n = r();
|
|
322
382
|
return t({
|
|
323
383
|
mutationFn: async (t) => (await o(`mutation BuiEnroll($input: BuiEnrollInput!) {
|
|
324
384
|
buiEnroll(input: $input) { ${S} }
|
|
325
385
|
}`, { input: t }, e)).buiEnroll,
|
|
326
386
|
onSuccess: () => n.invalidateQueries({ queryKey: s.enrollments })
|
|
327
387
|
});
|
|
328
|
-
},
|
|
329
|
-
let e =
|
|
388
|
+
}, Y = () => {
|
|
389
|
+
let e = O(), n = r();
|
|
330
390
|
return t({
|
|
331
391
|
mutationFn: async (t) => (await o(`mutation BuiTransitionEnrollment($id: ID!, $status: BuiEnrollmentStatus!) {
|
|
332
392
|
buiTransitionEnrollment(id: $id, status: $status) { ${S} }
|
|
@@ -335,8 +395,8 @@ var a = () => {
|
|
|
335
395
|
n.invalidateQueries({ queryKey: s.enrollments }), n.invalidateQueries({ queryKey: s.enrollment(e.id) });
|
|
336
396
|
}
|
|
337
397
|
});
|
|
338
|
-
},
|
|
339
|
-
let e =
|
|
398
|
+
}, X = () => {
|
|
399
|
+
let e = O(), n = r();
|
|
340
400
|
return t({
|
|
341
401
|
mutationFn: async (t) => (await o(`mutation BuiRecordLessonProgress($input: BuiRecordLessonProgressInput!) {
|
|
342
402
|
buiRecordLessonProgress(input: $input) { ${x} }
|
|
@@ -345,68 +405,68 @@ var a = () => {
|
|
|
345
405
|
n.invalidateQueries({ queryKey: s.enrollment(e.enrollmentId) }), n.invalidateQueries({ queryKey: s.enrollments });
|
|
346
406
|
}
|
|
347
407
|
});
|
|
348
|
-
},
|
|
349
|
-
let r =
|
|
408
|
+
}, Z = (e, t) => {
|
|
409
|
+
let r = O();
|
|
350
410
|
return n({
|
|
351
411
|
queryKey: [...s.cohorts, {
|
|
352
412
|
courseId: e,
|
|
353
413
|
status: t
|
|
354
414
|
}],
|
|
355
415
|
queryFn: async () => (await o(`query BuiListCohorts($courseId: ID, $status: BuiCohortStatus) {
|
|
356
|
-
buiListCohorts(courseId: $courseId, status: $status) { ${b} }
|
|
416
|
+
buiListCohorts(courseId: $courseId, status: $status) { items { ${b} } }
|
|
357
417
|
}`, {
|
|
358
418
|
courseId: e,
|
|
359
419
|
status: t
|
|
360
|
-
}, r)).buiListCohorts
|
|
420
|
+
}, r)).buiListCohorts.items
|
|
361
421
|
});
|
|
362
|
-
},
|
|
363
|
-
let e =
|
|
422
|
+
}, Q = () => {
|
|
423
|
+
let e = O(), n = r();
|
|
364
424
|
return t({
|
|
365
425
|
mutationFn: async (t) => (await o(`mutation BuiCreateCohort($input: BuiCreateCohortInput!) {
|
|
366
426
|
buiCreateCohort(input: $input) { ${b} }
|
|
367
427
|
}`, { input: t }, e)).buiCreateCohort,
|
|
368
428
|
onSuccess: () => n.invalidateQueries({ queryKey: s.cohorts })
|
|
369
429
|
});
|
|
370
|
-
},
|
|
371
|
-
let t =
|
|
430
|
+
}, $ = (e) => {
|
|
431
|
+
let t = O();
|
|
372
432
|
return n({
|
|
373
433
|
queryKey: [...s.skills, { category: e }],
|
|
374
434
|
queryFn: async () => (await o(`query BuiListSkills($category: BuiSkillCategory) {
|
|
375
|
-
buiListSkills(category: $category) { ${d} }
|
|
376
|
-
}`, { category: e }, t)).buiListSkills
|
|
435
|
+
buiListSkills(category: $category) { items { ${d} } }
|
|
436
|
+
}`, { category: e }, t)).buiListSkills.items
|
|
377
437
|
});
|
|
378
|
-
},
|
|
379
|
-
let e =
|
|
438
|
+
}, te = () => {
|
|
439
|
+
let e = O(), n = r();
|
|
380
440
|
return t({
|
|
381
441
|
mutationFn: async (t) => (await o(`mutation BuiCreateSkill($input: BuiCreateSkillInput!) {
|
|
382
442
|
buiCreateSkill(input: $input) { ${d} }
|
|
383
443
|
}`, { input: t }, e)).buiCreateSkill,
|
|
384
444
|
onSuccess: () => n.invalidateQueries({ queryKey: s.skills })
|
|
385
445
|
});
|
|
386
|
-
},
|
|
387
|
-
let r =
|
|
446
|
+
}, ne = (e, t) => {
|
|
447
|
+
let r = O();
|
|
388
448
|
return n({
|
|
389
449
|
queryKey: [...s.certificates, {
|
|
390
450
|
courseId: e,
|
|
391
451
|
learnerId: t
|
|
392
452
|
}],
|
|
393
453
|
queryFn: async () => (await o(`query BuiListCertificates($courseId: ID, $learnerId: ID) {
|
|
394
|
-
buiListCertificates(courseId: $courseId, learnerId: $learnerId) { ${w} }
|
|
454
|
+
buiListCertificates(courseId: $courseId, learnerId: $learnerId) { items { ${w} } }
|
|
395
455
|
}`, {
|
|
396
456
|
courseId: e,
|
|
397
457
|
learnerId: t
|
|
398
|
-
}, r)).buiListCertificates
|
|
458
|
+
}, r)).buiListCertificates.items
|
|
399
459
|
});
|
|
400
|
-
},
|
|
401
|
-
let e =
|
|
460
|
+
}, re = () => {
|
|
461
|
+
let e = O(), n = r();
|
|
402
462
|
return t({
|
|
403
463
|
mutationFn: async (t) => (await o(`mutation BuiIssueCertificate($input: BuiIssueCertificateInput!) {
|
|
404
464
|
buiIssueCertificate(input: $input) { ${w} }
|
|
405
465
|
}`, { input: t }, e)).buiIssueCertificate,
|
|
406
466
|
onSuccess: () => n.invalidateQueries({ queryKey: s.certificates })
|
|
407
467
|
});
|
|
408
|
-
},
|
|
409
|
-
let e =
|
|
468
|
+
}, ie = () => {
|
|
469
|
+
let e = O(), n = r();
|
|
410
470
|
return t({
|
|
411
471
|
mutationFn: async (t) => (await o(`mutation BuiRevokeCertificate($id: ID!) {
|
|
412
472
|
buiRevokeCertificate(id: $id) { ${w} }
|
|
@@ -415,6 +475,6 @@ var a = () => {
|
|
|
415
475
|
});
|
|
416
476
|
};
|
|
417
477
|
//#endregion
|
|
418
|
-
export {
|
|
478
|
+
export { P as useBuiArchiveCourse, z as useBuiAssessment, R as useBuiAssessments, ne as useBuiCertificates, Z as useBuiCohorts, A as useBuiCourse, k as useBuiCourses, ee as useBuiCreateAssessment, Q as useBuiCreateCohort, j as useBuiCreateCourse, L as useBuiCreateLesson, I as useBuiCreateModule, V as useBuiCreateQuestion, te as useBuiCreateSkill, J as useBuiEnroll, q as useBuiEnrollment, K as useBuiEnrollments, G as useBuiGradeSubmission, re as useBuiIssueCertificate, F as useBuiModules, B as useBuiPublishAssessment, N as useBuiPublishCourse, X as useBuiRecordLessonProgress, ie as useBuiRevokeCertificate, $ as useBuiSkills, U as useBuiSubmission, H as useBuiSubmissions, W as useBuiSubmitAssessment, Y as useBuiTransitionEnrollment, M as useBuiUpdateCourse };
|
|
419
479
|
|
|
420
480
|
//# sourceMappingURL=useBuildmyiqApi.js.map
|