academe-kit 0.15.0 → 0.17.0
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 +22 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +747 -62
- package/dist/index.esm.js +22 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/types/services/QuizService.d.ts +55 -0
- package/dist/types/services/userService.d.ts +48 -4
- package/dist/types/types/academe-api.d.ts +593 -7
- package/package.json +4 -2
|
@@ -9235,7 +9235,7 @@ export interface paths {
|
|
|
9235
9235
|
};
|
|
9236
9236
|
requestBody?: never;
|
|
9237
9237
|
responses: {
|
|
9238
|
-
/** @description provider, embedUrl, videoExternalId, startTimeSeconds, durationSeconds, progress */
|
|
9238
|
+
/** @description provider, embedUrl, videoExternalId, startTimeSeconds, durationSeconds, progress e `ambient` (mídia do Ambient Glow — spriteUrlTemplate com placeholder `{n}`, thumbnailUrl e metadados da grade de seek; null quando o provider não é panda) */
|
|
9239
9239
|
200: {
|
|
9240
9240
|
headers: {
|
|
9241
9241
|
[name: string]: unknown;
|
|
@@ -11411,6 +11411,62 @@ export interface paths {
|
|
|
11411
11411
|
};
|
|
11412
11412
|
trace?: never;
|
|
11413
11413
|
};
|
|
11414
|
+
"/quiz-questions/{id}/generate-explanations": {
|
|
11415
|
+
parameters: {
|
|
11416
|
+
query?: never;
|
|
11417
|
+
header?: never;
|
|
11418
|
+
path?: never;
|
|
11419
|
+
cookie?: never;
|
|
11420
|
+
};
|
|
11421
|
+
get?: never;
|
|
11422
|
+
put?: never;
|
|
11423
|
+
/**
|
|
11424
|
+
* Generate answer explanations with AI
|
|
11425
|
+
* @description Preenche via IA a explicação de cada alternativa de uma pergunta que já existe — o backfill dos quizzes criados antes da feature. Sobrescreve as explicações existentes; o backoffice confirma antes de chamar.
|
|
11426
|
+
*/
|
|
11427
|
+
post: {
|
|
11428
|
+
parameters: {
|
|
11429
|
+
query?: never;
|
|
11430
|
+
header?: never;
|
|
11431
|
+
path: {
|
|
11432
|
+
id: string;
|
|
11433
|
+
};
|
|
11434
|
+
cookie?: never;
|
|
11435
|
+
};
|
|
11436
|
+
requestBody?: {
|
|
11437
|
+
content: {
|
|
11438
|
+
"application/json": {
|
|
11439
|
+
/** @description Modelo OpenRouter a usar. Omitido, usa o padrão do servidor. */
|
|
11440
|
+
model?: string;
|
|
11441
|
+
};
|
|
11442
|
+
};
|
|
11443
|
+
};
|
|
11444
|
+
responses: {
|
|
11445
|
+
/** @description Pergunta com as alternativas atualizadas */
|
|
11446
|
+
200: {
|
|
11447
|
+
headers: {
|
|
11448
|
+
[name: string]: unknown;
|
|
11449
|
+
};
|
|
11450
|
+
content: {
|
|
11451
|
+
"application/json": {
|
|
11452
|
+
/** @example success */
|
|
11453
|
+
status?: string;
|
|
11454
|
+
data?: components["schemas"]["QuizQuestion"];
|
|
11455
|
+
};
|
|
11456
|
+
};
|
|
11457
|
+
};
|
|
11458
|
+
400: components["responses"]["BadRequest"];
|
|
11459
|
+
401: components["responses"]["Unauthorized"];
|
|
11460
|
+
404: components["responses"]["NotFound"];
|
|
11461
|
+
500: components["responses"]["ServerError"];
|
|
11462
|
+
};
|
|
11463
|
+
};
|
|
11464
|
+
delete?: never;
|
|
11465
|
+
options?: never;
|
|
11466
|
+
head?: never;
|
|
11467
|
+
patch?: never;
|
|
11468
|
+
trace?: never;
|
|
11469
|
+
};
|
|
11414
11470
|
"/quiz-questions/bulk": {
|
|
11415
11471
|
parameters: {
|
|
11416
11472
|
query?: never;
|
|
@@ -11444,6 +11500,8 @@ export interface paths {
|
|
|
11444
11500
|
options?: {
|
|
11445
11501
|
text?: string;
|
|
11446
11502
|
is_correct?: boolean;
|
|
11503
|
+
/** @description Resumo revelado ao aluno ao confirmar a resposta. */
|
|
11504
|
+
explanation?: string;
|
|
11447
11505
|
}[];
|
|
11448
11506
|
}[];
|
|
11449
11507
|
};
|
|
@@ -11915,6 +11973,8 @@ export interface paths {
|
|
|
11915
11973
|
options?: {
|
|
11916
11974
|
text?: string;
|
|
11917
11975
|
is_correct?: boolean;
|
|
11976
|
+
/** @description Resumo revelado ao aluno ao confirmar a resposta. String vazia quando a IA não produziu. */
|
|
11977
|
+
explanation?: string;
|
|
11918
11978
|
}[];
|
|
11919
11979
|
}[];
|
|
11920
11980
|
};
|
|
@@ -13819,6 +13879,407 @@ export interface paths {
|
|
|
13819
13879
|
};
|
|
13820
13880
|
trace?: never;
|
|
13821
13881
|
};
|
|
13882
|
+
"/studio/state": {
|
|
13883
|
+
parameters: {
|
|
13884
|
+
query?: never;
|
|
13885
|
+
header?: never;
|
|
13886
|
+
path?: never;
|
|
13887
|
+
cookie?: never;
|
|
13888
|
+
};
|
|
13889
|
+
/** Estado do Estúdio (publicado + MEUS rascunhos mesclados) */
|
|
13890
|
+
get: {
|
|
13891
|
+
parameters: {
|
|
13892
|
+
query?: {
|
|
13893
|
+
/** @description Escola do contexto (hero da escola + preview) */
|
|
13894
|
+
institutionId?: string;
|
|
13895
|
+
};
|
|
13896
|
+
header?: never;
|
|
13897
|
+
path?: never;
|
|
13898
|
+
cookie?: never;
|
|
13899
|
+
};
|
|
13900
|
+
requestBody?: never;
|
|
13901
|
+
responses: {
|
|
13902
|
+
/** @description hero{global,institution,myDrafts} + playlists[{id,draft,items,meta{state,hasMyDraft,stale,othersDrafts}}] + layout{order,hasMyDraft} + myDraftCount */
|
|
13903
|
+
200: {
|
|
13904
|
+
headers: {
|
|
13905
|
+
[name: string]: unknown;
|
|
13906
|
+
};
|
|
13907
|
+
content?: never;
|
|
13908
|
+
};
|
|
13909
|
+
/** @description Não é staff */
|
|
13910
|
+
403: {
|
|
13911
|
+
headers: {
|
|
13912
|
+
[name: string]: unknown;
|
|
13913
|
+
};
|
|
13914
|
+
content?: never;
|
|
13915
|
+
};
|
|
13916
|
+
};
|
|
13917
|
+
};
|
|
13918
|
+
put?: never;
|
|
13919
|
+
post?: never;
|
|
13920
|
+
delete?: never;
|
|
13921
|
+
options?: never;
|
|
13922
|
+
head?: never;
|
|
13923
|
+
patch?: never;
|
|
13924
|
+
trace?: never;
|
|
13925
|
+
};
|
|
13926
|
+
"/studio/drafts/playlist/{id}": {
|
|
13927
|
+
parameters: {
|
|
13928
|
+
query?: never;
|
|
13929
|
+
header?: never;
|
|
13930
|
+
path?: never;
|
|
13931
|
+
cookie?: never;
|
|
13932
|
+
};
|
|
13933
|
+
get?: never;
|
|
13934
|
+
/** Upsert do MEU rascunho de uma playlist (id pode ser de playlist nova — isNew) */
|
|
13935
|
+
put: {
|
|
13936
|
+
parameters: {
|
|
13937
|
+
query?: never;
|
|
13938
|
+
header?: never;
|
|
13939
|
+
path: {
|
|
13940
|
+
id: string;
|
|
13941
|
+
};
|
|
13942
|
+
cookie?: never;
|
|
13943
|
+
};
|
|
13944
|
+
requestBody: {
|
|
13945
|
+
content: {
|
|
13946
|
+
"application/json": {
|
|
13947
|
+
/** @enum {string} */
|
|
13948
|
+
op?: "upsert" | "delete";
|
|
13949
|
+
isNew?: boolean;
|
|
13950
|
+
playlist?: {
|
|
13951
|
+
title?: string;
|
|
13952
|
+
subtitle?: string | null;
|
|
13953
|
+
/** @enum {string} */
|
|
13954
|
+
status?: "draft" | "published";
|
|
13955
|
+
/** @enum {string} */
|
|
13956
|
+
source?: "curated" | "continue_watching" | "trending" | "watchlist" | "recent" | "continue_playlist";
|
|
13957
|
+
/** @enum {string} */
|
|
13958
|
+
variant?: "common" | "featured";
|
|
13959
|
+
/** @enum {string} */
|
|
13960
|
+
cardOrientation?: "horizontal" | "vertical" | "square" | "fullImage";
|
|
13961
|
+
itemsPerViewDesktop?: number;
|
|
13962
|
+
itemsPerViewMobile?: number;
|
|
13963
|
+
autoplay?: boolean;
|
|
13964
|
+
isGlobal?: boolean;
|
|
13965
|
+
};
|
|
13966
|
+
targets?: {
|
|
13967
|
+
institutionId?: string;
|
|
13968
|
+
organizationId?: string;
|
|
13969
|
+
}[];
|
|
13970
|
+
groupIds?: string[];
|
|
13971
|
+
/** @description ordem do array = position */
|
|
13972
|
+
items?: {
|
|
13973
|
+
courseId?: string;
|
|
13974
|
+
courseModuleId?: string;
|
|
13975
|
+
courseModuleLessonId?: string;
|
|
13976
|
+
}[];
|
|
13977
|
+
};
|
|
13978
|
+
};
|
|
13979
|
+
};
|
|
13980
|
+
responses: {
|
|
13981
|
+
/** @description Rascunho salvo (não altera o publicado) */
|
|
13982
|
+
200: {
|
|
13983
|
+
headers: {
|
|
13984
|
+
[name: string]: unknown;
|
|
13985
|
+
};
|
|
13986
|
+
content?: never;
|
|
13987
|
+
};
|
|
13988
|
+
};
|
|
13989
|
+
};
|
|
13990
|
+
post?: never;
|
|
13991
|
+
delete?: never;
|
|
13992
|
+
options?: never;
|
|
13993
|
+
head?: never;
|
|
13994
|
+
patch?: never;
|
|
13995
|
+
trace?: never;
|
|
13996
|
+
};
|
|
13997
|
+
"/studio/drafts/hero": {
|
|
13998
|
+
parameters: {
|
|
13999
|
+
query?: never;
|
|
14000
|
+
header?: never;
|
|
14001
|
+
path?: never;
|
|
14002
|
+
cookie?: never;
|
|
14003
|
+
};
|
|
14004
|
+
get?: never;
|
|
14005
|
+
/** Upsert do MEU rascunho do hero (institutionId no body; ausente = global) */
|
|
14006
|
+
put: {
|
|
14007
|
+
parameters: {
|
|
14008
|
+
query?: never;
|
|
14009
|
+
header?: never;
|
|
14010
|
+
path?: never;
|
|
14011
|
+
cookie?: never;
|
|
14012
|
+
};
|
|
14013
|
+
requestBody: {
|
|
14014
|
+
content: {
|
|
14015
|
+
"application/json": {
|
|
14016
|
+
/** Format: uuid */
|
|
14017
|
+
institutionId?: string | null;
|
|
14018
|
+
/** @enum {string} */
|
|
14019
|
+
op?: "upsert" | "delete";
|
|
14020
|
+
hero?: {
|
|
14021
|
+
eyebrow?: string | null;
|
|
14022
|
+
title?: string;
|
|
14023
|
+
subtitle?: string | null;
|
|
14024
|
+
ctaLabel?: string | null;
|
|
14025
|
+
ctaUrl?: string | null;
|
|
14026
|
+
/** @enum {string} */
|
|
14027
|
+
mediaType?: "gradient" | "image" | "video";
|
|
14028
|
+
mediaUrl?: string | null;
|
|
14029
|
+
mediaLoop?: boolean;
|
|
14030
|
+
};
|
|
14031
|
+
};
|
|
14032
|
+
};
|
|
14033
|
+
};
|
|
14034
|
+
responses: {
|
|
14035
|
+
/** @description Rascunho salvo */
|
|
14036
|
+
200: {
|
|
14037
|
+
headers: {
|
|
14038
|
+
[name: string]: unknown;
|
|
14039
|
+
};
|
|
14040
|
+
content?: never;
|
|
14041
|
+
};
|
|
14042
|
+
};
|
|
14043
|
+
};
|
|
14044
|
+
post?: never;
|
|
14045
|
+
delete?: never;
|
|
14046
|
+
options?: never;
|
|
14047
|
+
head?: never;
|
|
14048
|
+
patch?: never;
|
|
14049
|
+
trace?: never;
|
|
14050
|
+
};
|
|
14051
|
+
"/studio/drafts/layout": {
|
|
14052
|
+
parameters: {
|
|
14053
|
+
query?: never;
|
|
14054
|
+
header?: never;
|
|
14055
|
+
path?: never;
|
|
14056
|
+
cookie?: never;
|
|
14057
|
+
};
|
|
14058
|
+
get?: never;
|
|
14059
|
+
/** Upsert do MEU rascunho de ordem das rails (lista completa de ids) */
|
|
14060
|
+
put: {
|
|
14061
|
+
parameters: {
|
|
14062
|
+
query?: never;
|
|
14063
|
+
header?: never;
|
|
14064
|
+
path?: never;
|
|
14065
|
+
cookie?: never;
|
|
14066
|
+
};
|
|
14067
|
+
requestBody: {
|
|
14068
|
+
content: {
|
|
14069
|
+
"application/json": {
|
|
14070
|
+
order?: string[];
|
|
14071
|
+
};
|
|
14072
|
+
};
|
|
14073
|
+
};
|
|
14074
|
+
responses: {
|
|
14075
|
+
/** @description Rascunho salvo */
|
|
14076
|
+
200: {
|
|
14077
|
+
headers: {
|
|
14078
|
+
[name: string]: unknown;
|
|
14079
|
+
};
|
|
14080
|
+
content?: never;
|
|
14081
|
+
};
|
|
14082
|
+
};
|
|
14083
|
+
};
|
|
14084
|
+
post?: never;
|
|
14085
|
+
delete?: never;
|
|
14086
|
+
options?: never;
|
|
14087
|
+
head?: never;
|
|
14088
|
+
patch?: never;
|
|
14089
|
+
trace?: never;
|
|
14090
|
+
};
|
|
14091
|
+
"/studio/drafts/{entityType}/{entityId}": {
|
|
14092
|
+
parameters: {
|
|
14093
|
+
query?: never;
|
|
14094
|
+
header?: never;
|
|
14095
|
+
path?: never;
|
|
14096
|
+
cookie?: never;
|
|
14097
|
+
};
|
|
14098
|
+
get?: never;
|
|
14099
|
+
put?: never;
|
|
14100
|
+
post?: never;
|
|
14101
|
+
/** Desfaz UM rascunho meu (playlist/hero por entidade) */
|
|
14102
|
+
delete: {
|
|
14103
|
+
parameters: {
|
|
14104
|
+
query?: never;
|
|
14105
|
+
header?: never;
|
|
14106
|
+
path: {
|
|
14107
|
+
entityType: "playlist" | "hero" | "layout";
|
|
14108
|
+
entityId: string;
|
|
14109
|
+
};
|
|
14110
|
+
cookie?: never;
|
|
14111
|
+
};
|
|
14112
|
+
requestBody?: never;
|
|
14113
|
+
responses: {
|
|
14114
|
+
/** @description { deleted: n } */
|
|
14115
|
+
200: {
|
|
14116
|
+
headers: {
|
|
14117
|
+
[name: string]: unknown;
|
|
14118
|
+
};
|
|
14119
|
+
content?: never;
|
|
14120
|
+
};
|
|
14121
|
+
};
|
|
14122
|
+
};
|
|
14123
|
+
options?: never;
|
|
14124
|
+
head?: never;
|
|
14125
|
+
patch?: never;
|
|
14126
|
+
trace?: never;
|
|
14127
|
+
};
|
|
14128
|
+
"/studio/discard": {
|
|
14129
|
+
parameters: {
|
|
14130
|
+
query?: never;
|
|
14131
|
+
header?: never;
|
|
14132
|
+
path?: never;
|
|
14133
|
+
cookie?: never;
|
|
14134
|
+
};
|
|
14135
|
+
get?: never;
|
|
14136
|
+
put?: never;
|
|
14137
|
+
/** Descarta TODOS os meus rascunhos */
|
|
14138
|
+
post: {
|
|
14139
|
+
parameters: {
|
|
14140
|
+
query?: never;
|
|
14141
|
+
header?: never;
|
|
14142
|
+
path?: never;
|
|
14143
|
+
cookie?: never;
|
|
14144
|
+
};
|
|
14145
|
+
requestBody?: never;
|
|
14146
|
+
responses: {
|
|
14147
|
+
/** @description { discarded: n } */
|
|
14148
|
+
200: {
|
|
14149
|
+
headers: {
|
|
14150
|
+
[name: string]: unknown;
|
|
14151
|
+
};
|
|
14152
|
+
content?: never;
|
|
14153
|
+
};
|
|
14154
|
+
};
|
|
14155
|
+
};
|
|
14156
|
+
delete?: never;
|
|
14157
|
+
options?: never;
|
|
14158
|
+
head?: never;
|
|
14159
|
+
patch?: never;
|
|
14160
|
+
trace?: never;
|
|
14161
|
+
};
|
|
14162
|
+
"/studio/publish": {
|
|
14163
|
+
parameters: {
|
|
14164
|
+
query?: never;
|
|
14165
|
+
header?: never;
|
|
14166
|
+
path?: never;
|
|
14167
|
+
cookie?: never;
|
|
14168
|
+
};
|
|
14169
|
+
get?: never;
|
|
14170
|
+
put?: never;
|
|
14171
|
+
/** Publica atomicamente os MEUS rascunhos (playlists+layout+heroes); nunca os de outro editor */
|
|
14172
|
+
post: {
|
|
14173
|
+
parameters: {
|
|
14174
|
+
query?: never;
|
|
14175
|
+
header?: never;
|
|
14176
|
+
path?: never;
|
|
14177
|
+
cookie?: never;
|
|
14178
|
+
};
|
|
14179
|
+
requestBody?: never;
|
|
14180
|
+
responses: {
|
|
14181
|
+
/** @description { applied{...}, warnings[] (staleness/missing) } */
|
|
14182
|
+
200: {
|
|
14183
|
+
headers: {
|
|
14184
|
+
[name: string]: unknown;
|
|
14185
|
+
};
|
|
14186
|
+
content?: never;
|
|
14187
|
+
};
|
|
14188
|
+
/** @description Nenhuma alteração para publicar */
|
|
14189
|
+
409: {
|
|
14190
|
+
headers: {
|
|
14191
|
+
[name: string]: unknown;
|
|
14192
|
+
};
|
|
14193
|
+
content?: never;
|
|
14194
|
+
};
|
|
14195
|
+
/** @description Falha (ex. conteúdo excluído) — nada foi aplicado */
|
|
14196
|
+
422: {
|
|
14197
|
+
headers: {
|
|
14198
|
+
[name: string]: unknown;
|
|
14199
|
+
};
|
|
14200
|
+
content?: never;
|
|
14201
|
+
};
|
|
14202
|
+
};
|
|
14203
|
+
};
|
|
14204
|
+
delete?: never;
|
|
14205
|
+
options?: never;
|
|
14206
|
+
head?: never;
|
|
14207
|
+
patch?: never;
|
|
14208
|
+
trace?: never;
|
|
14209
|
+
};
|
|
14210
|
+
"/studio/catalog": {
|
|
14211
|
+
parameters: {
|
|
14212
|
+
query?: never;
|
|
14213
|
+
header?: never;
|
|
14214
|
+
path?: never;
|
|
14215
|
+
cookie?: never;
|
|
14216
|
+
};
|
|
14217
|
+
/** Busca de conteúdo p/ o picker (cursos/módulos/aulas, com flag published) */
|
|
14218
|
+
get: {
|
|
14219
|
+
parameters: {
|
|
14220
|
+
query?: {
|
|
14221
|
+
q?: string;
|
|
14222
|
+
kind?: "course" | "module" | "lesson";
|
|
14223
|
+
limit?: number;
|
|
14224
|
+
offset?: number;
|
|
14225
|
+
};
|
|
14226
|
+
header?: never;
|
|
14227
|
+
path?: never;
|
|
14228
|
+
cookie?: never;
|
|
14229
|
+
};
|
|
14230
|
+
requestBody?: never;
|
|
14231
|
+
responses: {
|
|
14232
|
+
/** @description { counts{courses,modules,lessons}, results[{kind,id,courseId,title,subtitle,coverUrl,published}] } */
|
|
14233
|
+
200: {
|
|
14234
|
+
headers: {
|
|
14235
|
+
[name: string]: unknown;
|
|
14236
|
+
};
|
|
14237
|
+
content?: never;
|
|
14238
|
+
};
|
|
14239
|
+
};
|
|
14240
|
+
};
|
|
14241
|
+
put?: never;
|
|
14242
|
+
post?: never;
|
|
14243
|
+
delete?: never;
|
|
14244
|
+
options?: never;
|
|
14245
|
+
head?: never;
|
|
14246
|
+
patch?: never;
|
|
14247
|
+
trace?: never;
|
|
14248
|
+
};
|
|
14249
|
+
"/studio/audiences": {
|
|
14250
|
+
parameters: {
|
|
14251
|
+
query?: never;
|
|
14252
|
+
header?: never;
|
|
14253
|
+
path?: never;
|
|
14254
|
+
cookie?: never;
|
|
14255
|
+
};
|
|
14256
|
+
/** Chips de escopo do drawer (escolas, organizações e perfis) */
|
|
14257
|
+
get: {
|
|
14258
|
+
parameters: {
|
|
14259
|
+
query?: never;
|
|
14260
|
+
header?: never;
|
|
14261
|
+
path?: never;
|
|
14262
|
+
cookie?: never;
|
|
14263
|
+
};
|
|
14264
|
+
requestBody?: never;
|
|
14265
|
+
responses: {
|
|
14266
|
+
/** @description { institutions[], organizations[], groups[] } */
|
|
14267
|
+
200: {
|
|
14268
|
+
headers: {
|
|
14269
|
+
[name: string]: unknown;
|
|
14270
|
+
};
|
|
14271
|
+
content?: never;
|
|
14272
|
+
};
|
|
14273
|
+
};
|
|
14274
|
+
};
|
|
14275
|
+
put?: never;
|
|
14276
|
+
post?: never;
|
|
14277
|
+
delete?: never;
|
|
14278
|
+
options?: never;
|
|
14279
|
+
head?: never;
|
|
14280
|
+
patch?: never;
|
|
14281
|
+
trace?: never;
|
|
14282
|
+
};
|
|
13822
14283
|
"/submissions": {
|
|
13823
14284
|
parameters: {
|
|
13824
14285
|
query?: never;
|
|
@@ -16459,6 +16920,92 @@ export interface paths {
|
|
|
16459
16920
|
patch?: never;
|
|
16460
16921
|
trace?: never;
|
|
16461
16922
|
};
|
|
16923
|
+
"/users/{id}/courses/{courseId}/lessons": {
|
|
16924
|
+
parameters: {
|
|
16925
|
+
query?: never;
|
|
16926
|
+
header?: never;
|
|
16927
|
+
path?: never;
|
|
16928
|
+
cookie?: never;
|
|
16929
|
+
};
|
|
16930
|
+
/**
|
|
16931
|
+
* Drill-down por aula de um curso para um aluno (drawer do backoffice)
|
|
16932
|
+
* @description Lista as aulas publicadas do curso na ordem de módulo/aula, com o progresso consolidado (user_lesson_progress_v2) e o agregado de sessões por aula. watchedRanges são os intervalos do vídeo efetivamente assistidos (merged), para o heatmap de cobertura. Só leitura — nenhuma migration.
|
|
16933
|
+
*/
|
|
16934
|
+
get: {
|
|
16935
|
+
parameters: {
|
|
16936
|
+
query?: never;
|
|
16937
|
+
header?: never;
|
|
16938
|
+
path: {
|
|
16939
|
+
/** @description id do aluno */
|
|
16940
|
+
id: string;
|
|
16941
|
+
courseId: string;
|
|
16942
|
+
};
|
|
16943
|
+
cookie?: never;
|
|
16944
|
+
};
|
|
16945
|
+
requestBody?: never;
|
|
16946
|
+
responses: {
|
|
16947
|
+
/** @description Aulas do curso com progresso do aluno */
|
|
16948
|
+
200: {
|
|
16949
|
+
headers: {
|
|
16950
|
+
[name: string]: unknown;
|
|
16951
|
+
};
|
|
16952
|
+
content: {
|
|
16953
|
+
"application/json": {
|
|
16954
|
+
/** @example success */
|
|
16955
|
+
status?: string;
|
|
16956
|
+
data?: {
|
|
16957
|
+
/** Format: uuid */
|
|
16958
|
+
courseId?: string;
|
|
16959
|
+
courseTitle?: string;
|
|
16960
|
+
totalLessons?: number;
|
|
16961
|
+
completedLessons?: number;
|
|
16962
|
+
hoursWatched?: number;
|
|
16963
|
+
avgPlaybackRate?: number | null;
|
|
16964
|
+
modules?: {
|
|
16965
|
+
/** Format: uuid */
|
|
16966
|
+
moduleId?: string;
|
|
16967
|
+
title?: string;
|
|
16968
|
+
position?: number;
|
|
16969
|
+
lessons?: {
|
|
16970
|
+
/** Format: uuid */
|
|
16971
|
+
lessonId?: string;
|
|
16972
|
+
title?: string;
|
|
16973
|
+
position?: number;
|
|
16974
|
+
durationSeconds?: number;
|
|
16975
|
+
completed?: boolean;
|
|
16976
|
+
/** Format: date-time */
|
|
16977
|
+
completedAt?: string | null;
|
|
16978
|
+
positionSeconds?: number;
|
|
16979
|
+
watchedSeconds?: number;
|
|
16980
|
+
watchedPct?: number;
|
|
16981
|
+
/** Format: date-time */
|
|
16982
|
+
lastActivityAt?: string | null;
|
|
16983
|
+
sessions?: number;
|
|
16984
|
+
ranges?: number[][];
|
|
16985
|
+
}[];
|
|
16986
|
+
}[];
|
|
16987
|
+
};
|
|
16988
|
+
};
|
|
16989
|
+
};
|
|
16990
|
+
};
|
|
16991
|
+
/** @description Curso não encontrado */
|
|
16992
|
+
404: {
|
|
16993
|
+
headers: {
|
|
16994
|
+
[name: string]: unknown;
|
|
16995
|
+
};
|
|
16996
|
+
content?: never;
|
|
16997
|
+
};
|
|
16998
|
+
500: components["responses"]["ServerError"];
|
|
16999
|
+
};
|
|
17000
|
+
};
|
|
17001
|
+
put?: never;
|
|
17002
|
+
post?: never;
|
|
17003
|
+
delete?: never;
|
|
17004
|
+
options?: never;
|
|
17005
|
+
head?: never;
|
|
17006
|
+
patch?: never;
|
|
17007
|
+
trace?: never;
|
|
17008
|
+
};
|
|
16462
17009
|
"/vitrine/home": {
|
|
16463
17010
|
parameters: {
|
|
16464
17011
|
query?: never;
|
|
@@ -16705,7 +17252,12 @@ export interface components {
|
|
|
16705
17252
|
* Format: email
|
|
16706
17253
|
* @example john.doe@example.com
|
|
16707
17254
|
*/
|
|
16708
|
-
email: string;
|
|
17255
|
+
email: string | null;
|
|
17256
|
+
/**
|
|
17257
|
+
* @description Login do usuário (gerado quando não informado)
|
|
17258
|
+
* @example johndoe
|
|
17259
|
+
*/
|
|
17260
|
+
username?: string;
|
|
16709
17261
|
/** @example +5511999999999 */
|
|
16710
17262
|
phone?: string | null;
|
|
16711
17263
|
/** @example 12345678901 */
|
|
@@ -16905,9 +17457,15 @@ export interface components {
|
|
|
16905
17457
|
lastName: string;
|
|
16906
17458
|
/**
|
|
16907
17459
|
* Format: email
|
|
17460
|
+
* @description Optional. When omitted, the user logs in with the generated username
|
|
16908
17461
|
* @example john.doe@example.com
|
|
16909
17462
|
*/
|
|
16910
|
-
email
|
|
17463
|
+
email?: string | null;
|
|
17464
|
+
/**
|
|
17465
|
+
* @description Optional. Auto-generated from firstName + lastName when omitted
|
|
17466
|
+
* @example johndoe
|
|
17467
|
+
*/
|
|
17468
|
+
username?: string | null;
|
|
16911
17469
|
/**
|
|
16912
17470
|
* @description Password for the user's Keycloak account
|
|
16913
17471
|
* @example SecurePassword123!
|
|
@@ -16916,7 +17474,7 @@ export interface components {
|
|
|
16916
17474
|
/** @example +5511999999999 */
|
|
16917
17475
|
phone?: string | null;
|
|
16918
17476
|
/** @example 12345678901 */
|
|
16919
|
-
document
|
|
17477
|
+
document?: string | null;
|
|
16920
17478
|
/**
|
|
16921
17479
|
* @example male
|
|
16922
17480
|
* @enum {string|null}
|
|
@@ -16939,6 +17497,18 @@ export interface components {
|
|
|
16939
17497
|
* @example 550e8400-e29b-41d4-a716-446655440001
|
|
16940
17498
|
*/
|
|
16941
17499
|
institutionId?: string | null;
|
|
17500
|
+
/**
|
|
17501
|
+
* Format: uuid
|
|
17502
|
+
* @description Optional classroom ID to enroll the user (requires groupId)
|
|
17503
|
+
* @example 550e8400-e29b-41d4-a716-446655440003
|
|
17504
|
+
*/
|
|
17505
|
+
institutionClassroomId?: string | null;
|
|
17506
|
+
/**
|
|
17507
|
+
* Format: uuid
|
|
17508
|
+
* @description Optional ID that groups this request with other creation requests
|
|
17509
|
+
* @example 550e8400-e29b-41d4-a716-446655440004
|
|
17510
|
+
*/
|
|
17511
|
+
userCreationRequestsGroupId?: string | null;
|
|
16942
17512
|
/**
|
|
16943
17513
|
* Format: uuid
|
|
16944
17514
|
* @description Seat code ID to register the user
|
|
@@ -17068,7 +17638,12 @@ export interface components {
|
|
|
17068
17638
|
* Format: email
|
|
17069
17639
|
* @example john.doe@example.com
|
|
17070
17640
|
*/
|
|
17071
|
-
email?: string;
|
|
17641
|
+
email?: string | null;
|
|
17642
|
+
/**
|
|
17643
|
+
* @description Login do usuário (gerado quando não informado)
|
|
17644
|
+
* @example johndoe
|
|
17645
|
+
*/
|
|
17646
|
+
username?: string;
|
|
17072
17647
|
/** @example +5511999999999 */
|
|
17073
17648
|
phone?: string | null;
|
|
17074
17649
|
/** @example 12345678901 */
|
|
@@ -19258,9 +19833,11 @@ export interface components {
|
|
|
19258
19833
|
requestId?: string;
|
|
19259
19834
|
/**
|
|
19260
19835
|
* Format: email
|
|
19261
|
-
* @description Email of the user being created
|
|
19836
|
+
* @description Email of the user being created (optional)
|
|
19262
19837
|
*/
|
|
19263
|
-
email?: string;
|
|
19838
|
+
email?: string | null;
|
|
19839
|
+
/** @description Login of the created user, generated by the worker when not provided (available after processing) */
|
|
19840
|
+
username?: string | null;
|
|
19264
19841
|
/**
|
|
19265
19842
|
* @description Current status of the creation request
|
|
19266
19843
|
* @enum {string}
|
|
@@ -19771,6 +20348,11 @@ export interface components {
|
|
|
19771
20348
|
answer?: string;
|
|
19772
20349
|
/** @example true */
|
|
19773
20350
|
isCorrect?: boolean;
|
|
20351
|
+
/**
|
|
20352
|
+
* @description Resumo revelado ao aluno ao confirmar a resposta. Na alternativa correta explica o conceito; nas incorretas, o erro que a opção representa. NULL nas perguntas anteriores à feature.
|
|
20353
|
+
* @example O 'S' significa 'Secure' e indica que o protocolo utiliza SSL/TLS.
|
|
20354
|
+
*/
|
|
20355
|
+
explanation?: string | null;
|
|
19774
20356
|
/** Format: date-time */
|
|
19775
20357
|
createdAt?: string;
|
|
19776
20358
|
/** Format: date-time */
|
|
@@ -19783,10 +20365,14 @@ export interface components {
|
|
|
19783
20365
|
answer: string;
|
|
19784
20366
|
/** @example true */
|
|
19785
20367
|
isCorrect: boolean;
|
|
20368
|
+
/** @description Resumo revelado ao aluno ao confirmar a resposta. String vazia limpa. */
|
|
20369
|
+
explanation?: string;
|
|
19786
20370
|
};
|
|
19787
20371
|
UpdateQuizQuestionAnswerDto: {
|
|
19788
20372
|
answer?: string;
|
|
19789
20373
|
isCorrect?: boolean;
|
|
20374
|
+
/** @description Resumo revelado ao aluno ao confirmar a resposta. String vazia limpa. */
|
|
20375
|
+
explanation?: string;
|
|
19790
20376
|
};
|
|
19791
20377
|
QuizAttempt: {
|
|
19792
20378
|
/** Format: uuid */
|