feat: certificates, landing pages, ai tutor, website update, compliance

This commit is contained in:
Rotimi Best
2026-05-18 03:47:22 +01:00
parent c31ad63955
commit ac3a2c14a7
644 changed files with 56050 additions and 5439 deletions
@@ -0,0 +1,32 @@
import { BaseApi, classroomio } from '$lib/utils/services/api';
import type { ComplianceOverviewData, ComplianceOverviewRequest } from '../utils/types';
class ComplianceApi extends BaseApi {
overview = $state<ComplianceOverviewData | null>(null);
loading = $state(false);
lastFetchedOrgId = $state<string | null>(null);
async fetchOverview(orgId: string) {
if (!orgId) return;
this.loading = true;
this.lastFetchedOrgId = orgId;
await this.execute<ComplianceOverviewRequest>({
requestFn: () => classroomio.dash['compliance-overview'].$get({ query: { orgId } }),
logContext: 'fetching org compliance overview',
onSuccess: (response) => {
this.overview = response.data;
}
});
this.loading = false;
}
ensureFetched(orgId: string) {
if (this.lastFetchedOrgId === orgId) return;
this.fetchOverview(orgId);
}
}
export const complianceApi = new ComplianceApi();