academe-kit 0.10.1 → 0.10.3

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.
@@ -10703,6 +10703,80 @@ export interface paths {
10703
10703
  patch?: never;
10704
10704
  trace?: never;
10705
10705
  };
10706
+ "/reports/students-journey-status/{id}": {
10707
+ parameters: {
10708
+ query?: never;
10709
+ header?: never;
10710
+ path?: never;
10711
+ cookie?: never;
10712
+ };
10713
+ /**
10714
+ * Status de jornada dos alunos por bimestre (cards de /students)
10715
+ * @description Recorta os alunos ativos da escola em 4 categorias mutuamente exclusivas
10716
+ * (notStarted, inJourney, inReview, completed) considerando os challenges
10717
+ * do bimestre alvo. Cada aluno cai na categoria mais avançada que alcançou.
10718
+ */
10719
+ get: {
10720
+ parameters: {
10721
+ query?: {
10722
+ /** @description UUID do educational_model_period, OU a string literal `"all"` para considerar todos os bimestres do ano letivo. Omitido = corrente. */
10723
+ periodId?: string;
10724
+ /** @description Quando presente, restringe o cálculo a UM challenge específico dentro do recorte temporal. */
10725
+ challengeId?: string;
10726
+ };
10727
+ header?: never;
10728
+ path: {
10729
+ /** @description UUID da instituição */
10730
+ id: string;
10731
+ };
10732
+ cookie?: never;
10733
+ };
10734
+ requestBody?: never;
10735
+ responses: {
10736
+ /** @description Status agregado */
10737
+ 200: {
10738
+ headers: {
10739
+ [name: string]: unknown;
10740
+ };
10741
+ content: {
10742
+ "application/json": {
10743
+ /** @example success */
10744
+ status?: string;
10745
+ data?: components["schemas"]["StudentsJourneyStatusResponse"];
10746
+ };
10747
+ };
10748
+ };
10749
+ /** @description institutionId inválido ou querystring inválida */
10750
+ 400: {
10751
+ headers: {
10752
+ [name: string]: unknown;
10753
+ };
10754
+ content?: never;
10755
+ };
10756
+ /** @description Não autenticado */
10757
+ 401: {
10758
+ headers: {
10759
+ [name: string]: unknown;
10760
+ };
10761
+ content?: never;
10762
+ };
10763
+ /** @description Erro interno */
10764
+ 500: {
10765
+ headers: {
10766
+ [name: string]: unknown;
10767
+ };
10768
+ content?: never;
10769
+ };
10770
+ };
10771
+ };
10772
+ put?: never;
10773
+ post?: never;
10774
+ delete?: never;
10775
+ options?: never;
10776
+ head?: never;
10777
+ patch?: never;
10778
+ trace?: never;
10779
+ };
10706
10780
  "/roles": {
10707
10781
  parameters: {
10708
10782
  query?: never;
@@ -11687,7 +11761,13 @@ export interface paths {
11687
11761
  userId?: string;
11688
11762
  groupId?: string;
11689
11763
  institutionId?: string;
11764
+ /** @description Filtra por turma (institution_classroom) do aluno na instituição */
11765
+ institutionClassroomId?: string;
11766
+ /** @description Filtra por série (serie) da turma do aluno na instituição */
11767
+ serieId?: string;
11690
11768
  status?: "submitted" | "ai_evaluated" | "approved" | "rejected";
11769
+ /** @description Busca por nome ou e-mail do aluno (submissão) */
11770
+ search?: string;
11691
11771
  /** @description Page number */
11692
11772
  page?: components["parameters"]["page"];
11693
11773
  /** @description Items per page */
@@ -12424,6 +12504,11 @@ export interface paths {
12424
12504
  * Útil para pré-visualização administrativa ou quando o aluno pertence a múltiplas séries.
12425
12505
  */
12426
12506
  serieId?: string;
12507
+ /**
12508
+ * @description [Admin] Quando presente, retorna a jornada do usuário-alvo em vez da do
12509
+ * autenticado. Usado pelo backoffice para visualizar a jornada de um aluno.
12510
+ */
12511
+ userId?: string;
12427
12512
  };
12428
12513
  header?: never;
12429
12514
  path?: never;
@@ -12815,6 +12900,86 @@ export interface paths {
12815
12900
  patch?: never;
12816
12901
  trace?: never;
12817
12902
  };
12903
+ "/user-challenge-progress/challenges/{id}/users/{userId}/complete-all": {
12904
+ parameters: {
12905
+ query?: never;
12906
+ header?: never;
12907
+ path?: never;
12908
+ cookie?: never;
12909
+ };
12910
+ get?: never;
12911
+ put?: never;
12912
+ /**
12913
+ * [Admin] Force-complete ALL steps of a challenge for a target user
12914
+ * @description Marks every active step (challenges_steps) of the challenge as completed for the
12915
+ * given target user, creating the user_challenge_progress row when it does not exist.
12916
+ * Idempotent: steps already completed are left untouched.
12917
+ *
12918
+ * Unlike POST /challenges/{id}/advance (which advances one tick at a time for the
12919
+ * authenticated user), this endpoint completes the whole challenge at once for the
12920
+ * user identified in the path. For group challenges, only the target user's progress
12921
+ * is completed — other group members are not affected.
12922
+ */
12923
+ post: {
12924
+ parameters: {
12925
+ query?: never;
12926
+ header?: never;
12927
+ path: {
12928
+ /** @description ID of the challenge */
12929
+ id: string;
12930
+ /** @description ID of the target user whose progress will be completed */
12931
+ userId: string;
12932
+ };
12933
+ cookie?: never;
12934
+ };
12935
+ requestBody?: never;
12936
+ responses: {
12937
+ /** @description All steps completed for the target user */
12938
+ 200: {
12939
+ headers: {
12940
+ [name: string]: unknown;
12941
+ };
12942
+ content: {
12943
+ "application/json": {
12944
+ /** @example success */
12945
+ status?: string;
12946
+ data?: {
12947
+ /** Format: uuid */
12948
+ challengeId?: string;
12949
+ /** Format: uuid */
12950
+ userId?: string;
12951
+ /** @description Number of active steps in the challenge */
12952
+ total?: number;
12953
+ completedSteps?: {
12954
+ /** Format: uuid */
12955
+ id?: string;
12956
+ index?: number;
12957
+ name?: string;
12958
+ /** Format: date-time */
12959
+ completedAt?: string | null;
12960
+ }[];
12961
+ };
12962
+ };
12963
+ };
12964
+ };
12965
+ 401: components["responses"]["Unauthorized"];
12966
+ /** @description Challenge not found or has no active steps */
12967
+ 404: {
12968
+ headers: {
12969
+ [name: string]: unknown;
12970
+ };
12971
+ content: {
12972
+ "application/json": components["schemas"]["Error"];
12973
+ };
12974
+ };
12975
+ };
12976
+ };
12977
+ delete?: never;
12978
+ options?: never;
12979
+ head?: never;
12980
+ patch?: never;
12981
+ trace?: never;
12982
+ };
12818
12983
  "/user-creation-requests": {
12819
12984
  parameters: {
12820
12985
  query?: never;
@@ -14660,10 +14825,10 @@ export interface components {
14660
14825
  maxStudents: number;
14661
14826
  /** @example true */
14662
14827
  isActive: boolean;
14663
- /** Format: uri */
14664
- logoUrl?: string | null;
14665
- /** Format: uri */
14666
- capaUrl?: string | null;
14828
+ /** Format: uuid */
14829
+ logoFileId?: string | null;
14830
+ /** Format: uuid */
14831
+ capaFileId?: string | null;
14667
14832
  /** Format: uuid */
14668
14833
  addressId?: string | null;
14669
14834
  /** Format: uuid */
@@ -14672,8 +14837,8 @@ export interface components {
14672
14837
  createdAt: string;
14673
14838
  /** Format: date-time */
14674
14839
  updatedAt: string;
14675
- organization?: components["schemas"]["Organization"] | null;
14676
- address?: components["schemas"]["Address"] | null;
14840
+ organization?: components["schemas"]["Organization"];
14841
+ address?: components["schemas"]["Address"];
14677
14842
  institutionReward?: Record<string, never> | null;
14678
14843
  };
14679
14844
  Organization: {
@@ -16467,10 +16632,12 @@ export interface components {
16467
16632
  courses?: components["schemas"]["EncourageJourneyCourse"][];
16468
16633
  };
16469
16634
  EncourageSubmissions: {
16635
+ /** @description Total de alunos ativos da escola (denominador para % concluído) */
16470
16636
  total?: number;
16471
- evaluated?: number;
16637
+ /** @description Última submissão por (aluno, challenge do bimestre corrente) com teacher_score preenchido */
16638
+ finalized?: number;
16639
+ /** @description Última submissão por (aluno, challenge do bimestre corrente) ainda SEM teacher_score */
16472
16640
  awaitingTeacher?: number;
16473
- awaitingAi?: number;
16474
16641
  };
16475
16642
  EncourageClassPerformance: {
16476
16643
  /** Format: uuid */
@@ -16521,6 +16688,36 @@ export interface components {
16521
16688
  topStudents?: components["schemas"]["EncourageTopStudent"][];
16522
16689
  topTeachers?: components["schemas"]["EncourageTopTeacher"][];
16523
16690
  };
16691
+ StudentsJourneyStatusSummary: {
16692
+ /** @description Alunos sem step concluído nos challenges do recorte */
16693
+ notStarted?: number;
16694
+ /** @description Tem step concluído mas sem submissão */
16695
+ inJourney?: number;
16696
+ /** @description Submissão pendente de avaliação (teacher_score nulo) */
16697
+ inReview?: number;
16698
+ /** @description Submissão já avaliada (teacher_score preenchido) */
16699
+ completed?: number;
16700
+ };
16701
+ StudentsJourneyStatusScope: {
16702
+ /**
16703
+ * Format: uuid
16704
+ * @description UUID do bimestre alvo; null quando allPeriods
16705
+ */
16706
+ periodId?: string | null;
16707
+ /**
16708
+ * Format: uuid
16709
+ * @description UUID do challenge alvo; null quando todos do recorte
16710
+ */
16711
+ challengeId?: string | null;
16712
+ /** @description Quantidade de challenges no recorte */
16713
+ challengesCount?: number;
16714
+ /** @description Total de alunos ativos da escola — fecha com a soma dos 4 status */
16715
+ totalStudents?: number;
16716
+ };
16717
+ StudentsJourneyStatusResponse: {
16718
+ summary?: components["schemas"]["StudentsJourneyStatusSummary"];
16719
+ scope?: components["schemas"]["StudentsJourneyStatusScope"];
16720
+ };
16524
16721
  UserCreationRequest: {
16525
16722
  /**
16526
16723
  * Format: uuid
@@ -16595,15 +16792,15 @@ export interface components {
16595
16792
  */
16596
16793
  isActive: boolean;
16597
16794
  /**
16598
- * Format: uri
16599
- * @example https://example.com/logo.png
16795
+ * Format: uuid
16796
+ * @description ID do storage_file usado como logo
16600
16797
  */
16601
- logoUrl?: string;
16798
+ logoFileId?: string;
16602
16799
  /**
16603
- * Format: uri
16604
- * @example https://example.com/capa.png
16800
+ * Format: uuid
16801
+ * @description ID do storage_file usado como capa/banner
16605
16802
  */
16606
- capaUrl?: string;
16803
+ capaFileId?: string;
16607
16804
  /** Format: uuid */
16608
16805
  addressId?: string;
16609
16806
  /** Format: uuid */
@@ -16628,15 +16825,15 @@ export interface components {
16628
16825
  /** @example true */
16629
16826
  isActive?: boolean;
16630
16827
  /**
16631
- * Format: uri
16632
- * @example https://example.com/logo.png
16828
+ * Format: uuid
16829
+ * @description ID do storage_file usado como logo
16633
16830
  */
16634
- logoUrl?: string;
16831
+ logoFileId?: string;
16635
16832
  /**
16636
- * Format: uri
16637
- * @example https://example.com/capa.png
16833
+ * Format: uuid
16834
+ * @description ID do storage_file usado como capa/banner
16638
16835
  */
16639
- capaUrl?: string;
16836
+ capaFileId?: string;
16640
16837
  /** Format: uuid */
16641
16838
  addressId?: string;
16642
16839
  /** Format: uuid */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "academe-kit",
3
- "version": "0.10.1",
3
+ "version": "0.10.3",
4
4
  "type": "module",
5
5
  "description": "Official React SDK for Academe ecosystem - Authentication, protected routes, API services, and UI components for educational management applications",
6
6
  "main": "dist/index.cjs",