academe-kit 0.9.8 → 0.9.9
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/index.cjs +37 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +419 -3
- package/dist/index.esm.js +37 -25
- package/dist/index.esm.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/services/ChallengeService.d.ts +35 -0
- package/dist/types/services/ReportService.d.ts +56 -0
- package/dist/types/services/SubmissionService.d.ts +8 -1
- package/dist/types/types/academe-api.d.ts +319 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -2880,6 +2880,91 @@ interface paths {
|
|
|
2880
2880
|
};
|
|
2881
2881
|
trace?: never;
|
|
2882
2882
|
};
|
|
2883
|
+
"/challenges/{id}/quiz-attempts": {
|
|
2884
|
+
parameters: {
|
|
2885
|
+
query?: never;
|
|
2886
|
+
header?: never;
|
|
2887
|
+
path?: never;
|
|
2888
|
+
cookie?: never;
|
|
2889
|
+
};
|
|
2890
|
+
/**
|
|
2891
|
+
* Get a user's quiz attempts for this challenge's course modules
|
|
2892
|
+
* @description Returns the quiz attempts of `userId` on every quiz attached to a course
|
|
2893
|
+
* module that is referenced by one of this challenge's steps. Optionally
|
|
2894
|
+
* includes the issued certificate per attempt.
|
|
2895
|
+
*
|
|
2896
|
+
* Each entry corresponds to a `challenges_steps` row that has a non-null
|
|
2897
|
+
* `course_module_id` whose `course_module.quiz_id` is also non-null.
|
|
2898
|
+
* `attempt` is `null` when the user has not yet attempted that quiz.
|
|
2899
|
+
*/
|
|
2900
|
+
get: {
|
|
2901
|
+
parameters: {
|
|
2902
|
+
query?: {
|
|
2903
|
+
/** @description Defaults to the authenticated user when omitted. */
|
|
2904
|
+
userId?: string;
|
|
2905
|
+
};
|
|
2906
|
+
header?: never;
|
|
2907
|
+
path: {
|
|
2908
|
+
/** @description Resource ID */
|
|
2909
|
+
id: components["parameters"]["id"];
|
|
2910
|
+
};
|
|
2911
|
+
cookie?: never;
|
|
2912
|
+
};
|
|
2913
|
+
requestBody?: never;
|
|
2914
|
+
responses: {
|
|
2915
|
+
/** @description List of quiz attempts (one per quiz-bearing challenge step) */
|
|
2916
|
+
200: {
|
|
2917
|
+
headers: {
|
|
2918
|
+
[name: string]: unknown;
|
|
2919
|
+
};
|
|
2920
|
+
content: {
|
|
2921
|
+
"application/json": {
|
|
2922
|
+
/** @example success */
|
|
2923
|
+
status?: string;
|
|
2924
|
+
data?: {
|
|
2925
|
+
/** Format: uuid */
|
|
2926
|
+
challengeStepId?: string;
|
|
2927
|
+
challengeStepName?: string;
|
|
2928
|
+
challengeStepIndex?: number;
|
|
2929
|
+
/** Format: uuid */
|
|
2930
|
+
courseModuleId?: string;
|
|
2931
|
+
courseModuleTitle?: string;
|
|
2932
|
+
/** Format: uuid */
|
|
2933
|
+
quizId?: string;
|
|
2934
|
+
quizTitle?: string;
|
|
2935
|
+
attempt?: {
|
|
2936
|
+
/** Format: uuid */
|
|
2937
|
+
id?: string;
|
|
2938
|
+
score?: number;
|
|
2939
|
+
passed?: boolean;
|
|
2940
|
+
/** Format: date-time */
|
|
2941
|
+
startedAt?: string;
|
|
2942
|
+
/** Format: date-time */
|
|
2943
|
+
completedAt?: string | null;
|
|
2944
|
+
} | null;
|
|
2945
|
+
certificate?: {
|
|
2946
|
+
/** Format: uuid */
|
|
2947
|
+
id?: string;
|
|
2948
|
+
certificateNumber?: string;
|
|
2949
|
+
url?: string | null;
|
|
2950
|
+
} | null;
|
|
2951
|
+
}[];
|
|
2952
|
+
};
|
|
2953
|
+
};
|
|
2954
|
+
};
|
|
2955
|
+
400: components["responses"]["BadRequest"];
|
|
2956
|
+
401: components["responses"]["Unauthorized"];
|
|
2957
|
+
404: components["responses"]["NotFound"];
|
|
2958
|
+
};
|
|
2959
|
+
};
|
|
2960
|
+
put?: never;
|
|
2961
|
+
post?: never;
|
|
2962
|
+
delete?: never;
|
|
2963
|
+
options?: never;
|
|
2964
|
+
head?: never;
|
|
2965
|
+
patch?: never;
|
|
2966
|
+
trace?: never;
|
|
2967
|
+
};
|
|
2883
2968
|
"/classrooms": {
|
|
2884
2969
|
parameters: {
|
|
2885
2970
|
query?: never;
|
|
@@ -11709,7 +11794,22 @@ interface paths {
|
|
|
11709
11794
|
/** @example success */
|
|
11710
11795
|
status?: string;
|
|
11711
11796
|
data?: components["schemas"]["Submission"][];
|
|
11712
|
-
meta?: components["schemas"]["PaginationMeta"]
|
|
11797
|
+
meta?: components["schemas"]["PaginationMeta"] & {
|
|
11798
|
+
/**
|
|
11799
|
+
* @description Contagem por status, ignorando o filtro `status`. Útil para
|
|
11800
|
+
* alimentar abas/pills sem requisições adicionais.
|
|
11801
|
+
*/
|
|
11802
|
+
statusCounts?: {
|
|
11803
|
+
/** @example 12 */
|
|
11804
|
+
submitted?: number;
|
|
11805
|
+
/** @example 4 */
|
|
11806
|
+
ai_evaluated?: number;
|
|
11807
|
+
/** @example 30 */
|
|
11808
|
+
approved?: number;
|
|
11809
|
+
/** @example 2 */
|
|
11810
|
+
rejected?: number;
|
|
11811
|
+
};
|
|
11812
|
+
};
|
|
11713
11813
|
};
|
|
11714
11814
|
};
|
|
11715
11815
|
};
|
|
@@ -12371,6 +12471,128 @@ interface paths {
|
|
|
12371
12471
|
patch?: never;
|
|
12372
12472
|
trace?: never;
|
|
12373
12473
|
};
|
|
12474
|
+
"/user-challenge-progress/journey": {
|
|
12475
|
+
parameters: {
|
|
12476
|
+
query?: never;
|
|
12477
|
+
header?: never;
|
|
12478
|
+
path?: never;
|
|
12479
|
+
cookie?: never;
|
|
12480
|
+
};
|
|
12481
|
+
/**
|
|
12482
|
+
* Jornada completa pré-computada do aluno autenticado
|
|
12483
|
+
* @description Retorna todos os desafios da série com suas etapas e o status de progresso do aluno
|
|
12484
|
+
* já computados pelo backend. Substitui as ~25 chamadas HTTP paralelas que o frontend
|
|
12485
|
+
* fazia anteriormente para montar a tela de jornada.
|
|
12486
|
+
*
|
|
12487
|
+
* **Regra de prioridade:** para cada `index` de desafio dentro da série, o backend
|
|
12488
|
+
* prefere o challenge específico da instituição do aluno sobre o template global
|
|
12489
|
+
* (`institution_id IS NULL`). Isso permite que escolas customizem desafios pontuais
|
|
12490
|
+
* sem recriar toda a jornada.
|
|
12491
|
+
*
|
|
12492
|
+
* **Resolução da série:** se `serieId` não for informado, o backend resolve
|
|
12493
|
+
* automaticamente a partir da turma (`institutionClassroom`) do aluno. Se o aluno
|
|
12494
|
+
* não estiver em nenhuma turma e `serieId` também não for passado, retorna
|
|
12495
|
+
* `challenges: []` com `serieId: null`.
|
|
12496
|
+
*
|
|
12497
|
+
* **Status por etapa:** `done` = completedAt preenchido; `current` = primeira etapa
|
|
12498
|
+
* não concluída (apenas uma por vez); `locked` = todas as demais.
|
|
12499
|
+
*
|
|
12500
|
+
* **Progresso:** para etapas `type=course` no status `current`, o campo `progress`
|
|
12501
|
+
* reflete o percentual de lições concluídas no módulo. Para `done` é sempre 100,
|
|
12502
|
+
* para `locked` é sempre 0.
|
|
12503
|
+
*/
|
|
12504
|
+
get: {
|
|
12505
|
+
parameters: {
|
|
12506
|
+
query?: {
|
|
12507
|
+
/**
|
|
12508
|
+
* @description ID da série a filtrar. Opcional — se omitido, o backend resolve pela turma do aluno.
|
|
12509
|
+
* Útil para pré-visualização administrativa ou quando o aluno pertence a múltiplas séries.
|
|
12510
|
+
*/
|
|
12511
|
+
serieId?: string;
|
|
12512
|
+
};
|
|
12513
|
+
header?: never;
|
|
12514
|
+
path?: never;
|
|
12515
|
+
cookie?: never;
|
|
12516
|
+
};
|
|
12517
|
+
requestBody?: never;
|
|
12518
|
+
responses: {
|
|
12519
|
+
/** @description Jornada pré-computada com desafios e etapas */
|
|
12520
|
+
200: {
|
|
12521
|
+
headers: {
|
|
12522
|
+
[name: string]: unknown;
|
|
12523
|
+
};
|
|
12524
|
+
content: {
|
|
12525
|
+
/**
|
|
12526
|
+
* @example {
|
|
12527
|
+
* "status": "success",
|
|
12528
|
+
* "data": {
|
|
12529
|
+
* "serieId": "a1b2c3d4-0000-0000-0000-000000000001",
|
|
12530
|
+
* "serieLabel": "6º ANO",
|
|
12531
|
+
* "challenges": [
|
|
12532
|
+
* {
|
|
12533
|
+
* "id": "a1b2c3d4-0000-0000-0000-000000000002",
|
|
12534
|
+
* "title": "Desafio 1 — Energia Limpa",
|
|
12535
|
+
* "index": 0,
|
|
12536
|
+
* "courseId": "a1b2c3d4-0000-0000-0000-000000000003",
|
|
12537
|
+
* "isUpcoming": false,
|
|
12538
|
+
* "steps": [
|
|
12539
|
+
* {
|
|
12540
|
+
* "id": "a1b2c3d4-0000-0000-0000-000000000010",
|
|
12541
|
+
* "name": "Inicie o desafio",
|
|
12542
|
+
* "index": 0,
|
|
12543
|
+
* "type": "challenge",
|
|
12544
|
+
* "color": "#1AC84A",
|
|
12545
|
+
* "icon": "LuStar",
|
|
12546
|
+
* "status": "done",
|
|
12547
|
+
* "progress": 100,
|
|
12548
|
+
* "courseModuleId": null,
|
|
12549
|
+
* "courseModuleName": null
|
|
12550
|
+
* },
|
|
12551
|
+
* {
|
|
12552
|
+
* "id": "a1b2c3d4-0000-0000-0000-000000000011",
|
|
12553
|
+
* "name": "Módulo de IA",
|
|
12554
|
+
* "index": 1,
|
|
12555
|
+
* "type": "course",
|
|
12556
|
+
* "color": "#8030D8",
|
|
12557
|
+
* "icon": "LuCirclePlay",
|
|
12558
|
+
* "status": "current",
|
|
12559
|
+
* "progress": 67,
|
|
12560
|
+
* "courseModuleId": "a1b2c3d4-0000-0000-0000-000000000020",
|
|
12561
|
+
* "courseModuleName": "Introdução a IA"
|
|
12562
|
+
* }
|
|
12563
|
+
* ]
|
|
12564
|
+
* }
|
|
12565
|
+
* ]
|
|
12566
|
+
* }
|
|
12567
|
+
* }
|
|
12568
|
+
*/
|
|
12569
|
+
"application/json": {
|
|
12570
|
+
/** @example success */
|
|
12571
|
+
status?: string;
|
|
12572
|
+
data?: components["schemas"]["JourneyView"];
|
|
12573
|
+
};
|
|
12574
|
+
};
|
|
12575
|
+
};
|
|
12576
|
+
/** @description serieId inválido (não é um UUID) */
|
|
12577
|
+
400: {
|
|
12578
|
+
headers: {
|
|
12579
|
+
[name: string]: unknown;
|
|
12580
|
+
};
|
|
12581
|
+
content: {
|
|
12582
|
+
"application/json": components["schemas"]["Error"];
|
|
12583
|
+
};
|
|
12584
|
+
};
|
|
12585
|
+
401: components["responses"]["Unauthorized"];
|
|
12586
|
+
};
|
|
12587
|
+
};
|
|
12588
|
+
put?: never;
|
|
12589
|
+
post?: never;
|
|
12590
|
+
delete?: never;
|
|
12591
|
+
options?: never;
|
|
12592
|
+
head?: never;
|
|
12593
|
+
patch?: never;
|
|
12594
|
+
trace?: never;
|
|
12595
|
+
};
|
|
12374
12596
|
"/user-challenge-progress/challenges/{id}/advance": {
|
|
12375
12597
|
parameters: {
|
|
12376
12598
|
query?: never;
|
|
@@ -14535,6 +14757,9 @@ interface components {
|
|
|
14535
14757
|
createdAt: string;
|
|
14536
14758
|
/** Format: date-time */
|
|
14537
14759
|
updatedAt: string;
|
|
14760
|
+
organization?: components["schemas"]["Organization"] | null;
|
|
14761
|
+
address?: components["schemas"]["Address"] | null;
|
|
14762
|
+
institutionReward?: Record<string, never> | null;
|
|
14538
14763
|
};
|
|
14539
14764
|
Organization: {
|
|
14540
14765
|
/** Format: uuid */
|
|
@@ -15235,6 +15460,99 @@ interface components {
|
|
|
15235
15460
|
/** Format: date-time */
|
|
15236
15461
|
updatedAt?: string;
|
|
15237
15462
|
};
|
|
15463
|
+
/** @description Etapa de um desafio com status computado pelo backend */
|
|
15464
|
+
JourneyStepView: {
|
|
15465
|
+
/**
|
|
15466
|
+
* Format: uuid
|
|
15467
|
+
* @description ID do challenge_step
|
|
15468
|
+
*/
|
|
15469
|
+
id: string;
|
|
15470
|
+
/** @example Módulo de IA */
|
|
15471
|
+
name: string;
|
|
15472
|
+
/**
|
|
15473
|
+
* @description Ordem da etapa dentro do desafio
|
|
15474
|
+
* @example 1
|
|
15475
|
+
*/
|
|
15476
|
+
index: number;
|
|
15477
|
+
/**
|
|
15478
|
+
* @description Tipo da etapa (do catálogo de steps)
|
|
15479
|
+
* @example course
|
|
15480
|
+
* @enum {string}
|
|
15481
|
+
*/
|
|
15482
|
+
type: "challenge" | "course" | "tutorial" | "publication" | "evaluation" | "certificate";
|
|
15483
|
+
/**
|
|
15484
|
+
* @description Cor hex do step catalog
|
|
15485
|
+
* @example #8030D8
|
|
15486
|
+
*/
|
|
15487
|
+
color: string;
|
|
15488
|
+
/**
|
|
15489
|
+
* @description Nome do ícone Lucide do step catalog
|
|
15490
|
+
* @example LuCirclePlay
|
|
15491
|
+
*/
|
|
15492
|
+
icon: string;
|
|
15493
|
+
/**
|
|
15494
|
+
* @description Status computado pelo backend: done=concluído, current=etapa ativa, locked=ainda bloqueado
|
|
15495
|
+
* @example current
|
|
15496
|
+
* @enum {string}
|
|
15497
|
+
*/
|
|
15498
|
+
status: "done" | "current" | "locked";
|
|
15499
|
+
/**
|
|
15500
|
+
* @description Percentual de progresso (0-100). Para done=100, para locked=0, para current=% do curso ou 0
|
|
15501
|
+
* @example 67
|
|
15502
|
+
*/
|
|
15503
|
+
progress: number;
|
|
15504
|
+
/**
|
|
15505
|
+
* Format: uuid
|
|
15506
|
+
* @description ID do módulo do curso referenciado por esta etapa (apenas quando type=course)
|
|
15507
|
+
*/
|
|
15508
|
+
courseModuleId?: string | null;
|
|
15509
|
+
/**
|
|
15510
|
+
* @description Título do módulo do curso (apenas quando courseModuleId não é null)
|
|
15511
|
+
* @example Introdução a IA
|
|
15512
|
+
*/
|
|
15513
|
+
courseModuleName?: string | null;
|
|
15514
|
+
};
|
|
15515
|
+
/** @description Desafio da jornada com suas etapas e status computados */
|
|
15516
|
+
JourneyChallengeView: {
|
|
15517
|
+
/**
|
|
15518
|
+
* Format: uuid
|
|
15519
|
+
* @description ID do challenge
|
|
15520
|
+
*/
|
|
15521
|
+
id: string;
|
|
15522
|
+
/** @example Desafio 1 — Energia Limpa */
|
|
15523
|
+
title: string;
|
|
15524
|
+
/**
|
|
15525
|
+
* @description Ordem do desafio na série
|
|
15526
|
+
* @example 0
|
|
15527
|
+
*/
|
|
15528
|
+
index: number;
|
|
15529
|
+
/**
|
|
15530
|
+
* Format: uuid
|
|
15531
|
+
* @description Curso ao qual o desafio está associado
|
|
15532
|
+
*/
|
|
15533
|
+
courseId: string;
|
|
15534
|
+
/**
|
|
15535
|
+
* @description True quando o desafio ainda não está disponível para o aluno (challenge seguinte ao ativo com steps pendentes)
|
|
15536
|
+
* @example false
|
|
15537
|
+
*/
|
|
15538
|
+
isUpcoming: boolean;
|
|
15539
|
+
steps: components["schemas"]["JourneyStepView"][];
|
|
15540
|
+
};
|
|
15541
|
+
/** @description Resposta completa do endpoint GET /user-challenge-progress/journey — dados pré-computados para renderização direta da tela de jornada */
|
|
15542
|
+
JourneyView: {
|
|
15543
|
+
/** @description Desafios da jornada ordenados por index, com prioridade escola > template aplicada */
|
|
15544
|
+
challenges: components["schemas"]["JourneyChallengeView"][];
|
|
15545
|
+
/**
|
|
15546
|
+
* Format: uuid
|
|
15547
|
+
* @description ID da série resolvida (da turma do aluno, ou do query param serieId)
|
|
15548
|
+
*/
|
|
15549
|
+
serieId: string | null;
|
|
15550
|
+
/**
|
|
15551
|
+
* @description Rótulo legível da série para exibição na UI
|
|
15552
|
+
* @example 6º ANO
|
|
15553
|
+
*/
|
|
15554
|
+
serieLabel: string | null;
|
|
15555
|
+
};
|
|
15238
15556
|
/** @description Aggregated progress of a user on a course or module, derived from users_course_log completion events */
|
|
15239
15557
|
UsersCourseLogProgress: {
|
|
15240
15558
|
/**
|
|
@@ -19878,6 +20196,62 @@ declare function createReportService(apiClient: AcademeApiClient): {
|
|
|
19878
20196
|
query: GetTopStudentsParams;
|
|
19879
20197
|
};
|
|
19880
20198
|
}, `${string}/${string}`>>;
|
|
20199
|
+
/**
|
|
20200
|
+
* Get encourage dashboard for an institution
|
|
20201
|
+
* Retorna o payload agregado da tela /new-dashboard:
|
|
20202
|
+
* overview, KPIs, licenças (alunos), jornada (cursos), submissões,
|
|
20203
|
+
* desempenho por turma, top alunos e top professores.
|
|
20204
|
+
*
|
|
20205
|
+
* @param id UUID da instituição.
|
|
20206
|
+
*/
|
|
20207
|
+
getEncourageDashboardByInstitution(id: string): Promise<openapi_fetch.FetchResponse<{
|
|
20208
|
+
parameters: {
|
|
20209
|
+
query?: never;
|
|
20210
|
+
header?: never;
|
|
20211
|
+
path: {
|
|
20212
|
+
id: string;
|
|
20213
|
+
};
|
|
20214
|
+
cookie?: never;
|
|
20215
|
+
};
|
|
20216
|
+
requestBody?: never;
|
|
20217
|
+
responses: {
|
|
20218
|
+
200: {
|
|
20219
|
+
headers: {
|
|
20220
|
+
[name: string]: unknown;
|
|
20221
|
+
};
|
|
20222
|
+
content: {
|
|
20223
|
+
"application/json": {
|
|
20224
|
+
status?: string;
|
|
20225
|
+
data?: components["schemas"]["EncourageDashboardResponse"];
|
|
20226
|
+
};
|
|
20227
|
+
};
|
|
20228
|
+
};
|
|
20229
|
+
400: {
|
|
20230
|
+
headers: {
|
|
20231
|
+
[name: string]: unknown;
|
|
20232
|
+
};
|
|
20233
|
+
content?: never;
|
|
20234
|
+
};
|
|
20235
|
+
401: {
|
|
20236
|
+
headers: {
|
|
20237
|
+
[name: string]: unknown;
|
|
20238
|
+
};
|
|
20239
|
+
content?: never;
|
|
20240
|
+
};
|
|
20241
|
+
500: {
|
|
20242
|
+
headers: {
|
|
20243
|
+
[name: string]: unknown;
|
|
20244
|
+
};
|
|
20245
|
+
content?: never;
|
|
20246
|
+
};
|
|
20247
|
+
};
|
|
20248
|
+
}, {
|
|
20249
|
+
params: {
|
|
20250
|
+
path: {
|
|
20251
|
+
id: string;
|
|
20252
|
+
};
|
|
20253
|
+
};
|
|
20254
|
+
}, `${string}/${string}`>>;
|
|
19881
20255
|
};
|
|
19882
20256
|
type ReportService = ReturnType<typeof createReportService>;
|
|
19883
20257
|
|
|
@@ -24814,6 +25188,35 @@ interface UpdateEvaluationCriterionBody {
|
|
|
24814
25188
|
description?: string;
|
|
24815
25189
|
index?: number;
|
|
24816
25190
|
}
|
|
25191
|
+
interface ChallengeUserQuizAttempt {
|
|
25192
|
+
challengeStepId: string;
|
|
25193
|
+
challengeStepName: string;
|
|
25194
|
+
challengeStepIndex: number;
|
|
25195
|
+
courseModuleId: string;
|
|
25196
|
+
courseModuleTitle: string;
|
|
25197
|
+
quizId: string;
|
|
25198
|
+
quizTitle: string;
|
|
25199
|
+
attempt: {
|
|
25200
|
+
id: string;
|
|
25201
|
+
score: number;
|
|
25202
|
+
passed: boolean;
|
|
25203
|
+
startedAt: string;
|
|
25204
|
+
completedAt: string | null;
|
|
25205
|
+
} | null;
|
|
25206
|
+
certificate: {
|
|
25207
|
+
id: string;
|
|
25208
|
+
certificateNumber: string;
|
|
25209
|
+
url: string | null;
|
|
25210
|
+
} | null;
|
|
25211
|
+
}
|
|
25212
|
+
interface ChallengeUserQuizAttemptsResponse {
|
|
25213
|
+
data?: {
|
|
25214
|
+
status?: string;
|
|
25215
|
+
data?: ChallengeUserQuizAttempt[];
|
|
25216
|
+
};
|
|
25217
|
+
error?: unknown;
|
|
25218
|
+
response: Response;
|
|
25219
|
+
}
|
|
24817
25220
|
declare function createChallengeService(apiClient: AcademeApiClient): {
|
|
24818
25221
|
/**
|
|
24819
25222
|
* List challenges with filters and pagination
|
|
@@ -25125,6 +25528,12 @@ declare function createChallengeService(apiClient: AcademeApiClient): {
|
|
|
25125
25528
|
title?: string;
|
|
25126
25529
|
};
|
|
25127
25530
|
}, `${string}/${string}`>>;
|
|
25531
|
+
/**
|
|
25532
|
+
* Get a user's quiz attempts for the quizzes attached to this challenge's
|
|
25533
|
+
* course modules (one entry per step with course_module.quiz_id).
|
|
25534
|
+
* Defaults to the authenticated user when userId is omitted.
|
|
25535
|
+
*/
|
|
25536
|
+
getUserQuizAttempts(challengeId: string, userId?: string): Promise<ChallengeUserQuizAttemptsResponse>;
|
|
25128
25537
|
/**
|
|
25129
25538
|
* Add a step to the challenge
|
|
25130
25539
|
*/
|
|
@@ -25785,7 +26194,14 @@ declare function createSubmissionService(apiClient: AcademeApiClient): {
|
|
|
25785
26194
|
"application/json": {
|
|
25786
26195
|
status?: string;
|
|
25787
26196
|
data?: components["schemas"]["Submission"][];
|
|
25788
|
-
meta?: components["schemas"]["PaginationMeta"]
|
|
26197
|
+
meta?: components["schemas"]["PaginationMeta"] & {
|
|
26198
|
+
statusCounts?: {
|
|
26199
|
+
submitted?: number;
|
|
26200
|
+
ai_evaluated?: number;
|
|
26201
|
+
approved?: number;
|
|
26202
|
+
rejected?: number;
|
|
26203
|
+
};
|
|
26204
|
+
};
|
|
25789
26205
|
};
|
|
25790
26206
|
};
|
|
25791
26207
|
};
|
|
@@ -26215,4 +26631,4 @@ declare enum NINA_ROLES {
|
|
|
26215
26631
|
}
|
|
26216
26632
|
|
|
26217
26633
|
export { AcademeAuthProvider, BACKOFFICE_ROLES, Button, CosmicDecor, CosmicStarsCanvas, DASHBOARD_ROLES, GLOBAL_ROLES, JourneyCrystalPin, JourneyStep, MIKE_ROLES, NINA_ROLES, ProtectedApp, ProtectedComponent, ProtectedRouter, STREAMING_ROLES, Spinner, WIDGET_ROLES, academeApi_d as apiTypes, cn, createAcademeApiClient, index_d as types, useAcademeAuth, useProtectedAppColors };
|
|
26218
|
-
export type { AcademeApiClient, AcademeKeycloakContextProps, AcademeServices, AcademeUser, ButtonProps, CosmicDecorProps, CosmicDecorVariant, CosmicPlanet, CosmicStarsCanvasProps, FrameKind, JourneyCrystalPinProps, JourneyStepProps, JourneyStepSize, JourneyStepType, KeycloakUser, RequiredClientRoles, SecurityContextType, SecurityProviderProps };
|
|
26634
|
+
export type { AcademeApiClient, AcademeKeycloakContextProps, AcademeServices, AcademeUser, ButtonProps, ChallengeUserQuizAttempt, ChallengeUserQuizAttemptsResponse, CosmicDecorProps, CosmicDecorVariant, CosmicPlanet, CosmicStarsCanvasProps, FrameKind, JourneyCrystalPinProps, JourneyStepProps, JourneyStepSize, JourneyStepType, KeycloakUser, RequiredClientRoles, SecurityContextType, SecurityProviderProps };
|