@sekolaos/shared-api 1.1.1 → 1.3.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.
Files changed (129) hide show
  1. package/dist/{chunk-3RS57C3E.cjs → chunk-23XAR4OH.cjs} +33 -25
  2. package/dist/chunk-23XAR4OH.cjs.map +1 -0
  3. package/dist/{chunk-YTF4Z7I4.js → chunk-2ZN6MTBE.js} +3 -3
  4. package/dist/{chunk-YTF4Z7I4.js.map → chunk-2ZN6MTBE.js.map} +1 -1
  5. package/dist/{chunk-QJSOSQ7M.cjs → chunk-3TOBH3YY.cjs} +8 -3
  6. package/dist/chunk-3TOBH3YY.cjs.map +1 -0
  7. package/dist/chunk-5KSKHZWB.cjs +16 -0
  8. package/dist/chunk-5KSKHZWB.cjs.map +1 -0
  9. package/dist/{chunk-AOBHBJ2G.cjs → chunk-AMKVNGY4.cjs} +18 -15
  10. package/dist/chunk-AMKVNGY4.cjs.map +1 -0
  11. package/dist/{chunk-R37QQTQS.cjs → chunk-BBJBCD2K.cjs} +8 -8
  12. package/dist/{chunk-R37QQTQS.cjs.map → chunk-BBJBCD2K.cjs.map} +1 -1
  13. package/dist/{chunk-RMU634GQ.js → chunk-CSEMYBBZ.js} +4 -4
  14. package/dist/{chunk-RMU634GQ.js.map → chunk-CSEMYBBZ.js.map} +1 -1
  15. package/dist/{chunk-6UCHRWSL.js → chunk-DATSHIPR.js} +4 -4
  16. package/dist/{chunk-6UCHRWSL.js.map → chunk-DATSHIPR.js.map} +1 -1
  17. package/dist/{chunk-DMEWJ56D.js → chunk-FVPR2MOB.js} +11 -8
  18. package/dist/chunk-FVPR2MOB.js.map +1 -0
  19. package/dist/chunk-H3CE34TG.js +14 -0
  20. package/dist/chunk-H3CE34TG.js.map +1 -0
  21. package/dist/{chunk-XVG5Z6B5.cjs → chunk-HISL2IF2.cjs} +4 -3
  22. package/dist/chunk-HISL2IF2.cjs.map +1 -0
  23. package/dist/{chunk-S6QFHKCE.js → chunk-ID3UGFZZ.js} +14 -11
  24. package/dist/chunk-ID3UGFZZ.js.map +1 -0
  25. package/dist/chunk-JGCFIGB3.js +129 -0
  26. package/dist/chunk-JGCFIGB3.js.map +1 -0
  27. package/dist/{chunk-R7ACSDOA.cjs → chunk-JVX37TC5.cjs} +19 -16
  28. package/dist/chunk-JVX37TC5.cjs.map +1 -0
  29. package/dist/{chunk-CBIDGS35.cjs → chunk-KB4TZTAC.cjs} +11 -11
  30. package/dist/{chunk-CBIDGS35.cjs.map → chunk-KB4TZTAC.cjs.map} +1 -1
  31. package/dist/{chunk-TSLEYQKD.cjs → chunk-LS4ZQRFS.cjs} +13 -13
  32. package/dist/{chunk-TSLEYQKD.cjs.map → chunk-LS4ZQRFS.cjs.map} +1 -1
  33. package/dist/{chunk-4ECXVAIQ.cjs → chunk-N4OBLYCQ.cjs} +8 -8
  34. package/dist/{chunk-4ECXVAIQ.cjs.map → chunk-N4OBLYCQ.cjs.map} +1 -1
  35. package/dist/{chunk-ZHCA7HVE.js → chunk-NCENQB6W.js} +10 -8
  36. package/dist/chunk-NCENQB6W.js.map +1 -0
  37. package/dist/{chunk-LA7MRXWR.js → chunk-NPR4GLFZ.js} +4 -4
  38. package/dist/{chunk-LA7MRXWR.js.map → chunk-NPR4GLFZ.js.map} +1 -1
  39. package/dist/chunk-OVHSXH7Z.cjs +102 -0
  40. package/dist/chunk-OVHSXH7Z.cjs.map +1 -0
  41. package/dist/chunk-PMN2DTYF.js +89 -0
  42. package/dist/chunk-PMN2DTYF.js.map +1 -0
  43. package/dist/{chunk-XU5UEIBL.js → chunk-PQFTPOP4.js} +4 -4
  44. package/dist/{chunk-XU5UEIBL.js.map → chunk-PQFTPOP4.js.map} +1 -1
  45. package/dist/{chunk-MRFGUSN2.js → chunk-Q5ZX6TKB.js} +8 -3
  46. package/dist/chunk-Q5ZX6TKB.js.map +1 -0
  47. package/dist/{chunk-GRBBLS5Y.js → chunk-RDW4IZWK.js} +30 -22
  48. package/dist/chunk-RDW4IZWK.js.map +1 -0
  49. package/dist/{chunk-YK7QFPBF.js → chunk-ROK2DEVT.js} +4 -4
  50. package/dist/{chunk-YK7QFPBF.js.map → chunk-ROK2DEVT.js.map} +1 -1
  51. package/dist/{chunk-AGNLUQKT.cjs → chunk-SBBVQ3Z2.cjs} +7 -7
  52. package/dist/{chunk-AGNLUQKT.cjs.map → chunk-SBBVQ3Z2.cjs.map} +1 -1
  53. package/dist/{chunk-BOASJ3VG.cjs → chunk-TO5MBW6Z.cjs} +4 -4
  54. package/dist/{chunk-BOASJ3VG.cjs.map → chunk-TO5MBW6Z.cjs.map} +1 -1
  55. package/dist/{chunk-YA2KONBB.js → chunk-U7YG2GA7.js} +4 -4
  56. package/dist/{chunk-YA2KONBB.js.map → chunk-U7YG2GA7.js.map} +1 -1
  57. package/dist/chunk-XINNTOCO.cjs +151 -0
  58. package/dist/chunk-XINNTOCO.cjs.map +1 -0
  59. package/dist/{chunk-ALMSFTRM.js → chunk-XNH67ORL.js} +4 -3
  60. package/dist/chunk-XNH67ORL.js.map +1 -0
  61. package/dist/{chunk-5C4JMJ6P.cjs → chunk-Y4YURM53.cjs} +19 -17
  62. package/dist/chunk-Y4YURM53.cjs.map +1 -0
  63. package/dist/{chunk-NBVPN4KL.cjs → chunk-ZPEEFUEC.cjs} +6 -6
  64. package/dist/{chunk-NBVPN4KL.cjs.map → chunk-ZPEEFUEC.cjs.map} +1 -1
  65. package/dist/index.cjs +280 -182
  66. package/dist/index.d.cts +9 -3
  67. package/dist/index.d.ts +9 -3
  68. package/dist/index.js +16 -14
  69. package/dist/keys/index.cjs +18 -13
  70. package/dist/keys/index.d.cts +14 -1
  71. package/dist/keys/index.d.ts +14 -1
  72. package/dist/keys/index.js +2 -1
  73. package/dist/modules/academic/index.cjs +12 -11
  74. package/dist/modules/academic/index.js +4 -3
  75. package/dist/modules/attendance/index.cjs +18 -17
  76. package/dist/modules/attendance/index.d.cts +6 -5
  77. package/dist/modules/attendance/index.d.ts +6 -5
  78. package/dist/modules/attendance/index.js +4 -3
  79. package/dist/modules/auth/index.cjs +22 -13
  80. package/dist/modules/auth/index.d.cts +112 -15
  81. package/dist/modules/auth/index.d.ts +112 -15
  82. package/dist/modules/auth/index.js +4 -3
  83. package/dist/modules/classroom/index.cjs +16 -15
  84. package/dist/modules/classroom/index.d.cts +3 -1
  85. package/dist/modules/classroom/index.d.ts +3 -1
  86. package/dist/modules/classroom/index.js +4 -3
  87. package/dist/modules/lead/index.cjs +12 -11
  88. package/dist/modules/lead/index.js +4 -3
  89. package/dist/modules/platform-admin/index.cjs +96 -0
  90. package/dist/modules/platform-admin/index.cjs.map +1 -0
  91. package/dist/modules/platform-admin/index.d.cts +125 -0
  92. package/dist/modules/platform-admin/index.d.ts +125 -0
  93. package/dist/modules/platform-admin/index.js +7 -0
  94. package/dist/modules/platform-admin/index.js.map +1 -0
  95. package/dist/modules/student/index.cjs +20 -19
  96. package/dist/modules/student/index.d.cts +4 -2
  97. package/dist/modules/student/index.d.ts +4 -2
  98. package/dist/modules/student/index.js +4 -3
  99. package/dist/modules/subject/index.cjs +10 -9
  100. package/dist/modules/subject/index.js +4 -3
  101. package/dist/modules/system/index.cjs +6 -5
  102. package/dist/modules/system/index.js +4 -3
  103. package/dist/modules/teaching-schedule/index.cjs +16 -15
  104. package/dist/modules/teaching-schedule/index.d.cts +12 -7
  105. package/dist/modules/teaching-schedule/index.d.ts +12 -7
  106. package/dist/modules/teaching-schedule/index.js +4 -3
  107. package/dist/modules/tenant/index.cjs +18 -17
  108. package/dist/modules/tenant/index.js +4 -3
  109. package/dist/modules/upload/index.cjs +6 -6
  110. package/dist/modules/upload/index.js +2 -2
  111. package/dist/modules/user/index.cjs +16 -15
  112. package/dist/modules/user/index.js +4 -3
  113. package/package.json +2 -2
  114. package/dist/chunk-3RS57C3E.cjs.map +0 -1
  115. package/dist/chunk-4T52ABA5.js +0 -63
  116. package/dist/chunk-4T52ABA5.js.map +0 -1
  117. package/dist/chunk-5C4JMJ6P.cjs.map +0 -1
  118. package/dist/chunk-ALMSFTRM.js.map +0 -1
  119. package/dist/chunk-AOBHBJ2G.cjs.map +0 -1
  120. package/dist/chunk-CP46K2UB.cjs +0 -74
  121. package/dist/chunk-CP46K2UB.cjs.map +0 -1
  122. package/dist/chunk-DMEWJ56D.js.map +0 -1
  123. package/dist/chunk-GRBBLS5Y.js.map +0 -1
  124. package/dist/chunk-MRFGUSN2.js.map +0 -1
  125. package/dist/chunk-QJSOSQ7M.cjs.map +0 -1
  126. package/dist/chunk-R7ACSDOA.cjs.map +0 -1
  127. package/dist/chunk-S6QFHKCE.js.map +0 -1
  128. package/dist/chunk-XVG5Z6B5.cjs.map +0 -1
  129. package/dist/chunk-ZHCA7HVE.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { API_ENDPOINTS } from './chunk-MRFGUSN2.js';
1
+ import { API_ENDPOINTS } from './chunk-Q5ZX6TKB.js';
2
2
  import { getPaginated, getData, postData, putData, deleteData } from './chunk-6JGO2CUT.js';
3
- import { studentKeys } from './chunk-ALMSFTRM.js';
3
+ import { studentKeys } from './chunk-XNH67ORL.js';
4
4
  import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
5
5
 
6
6
  var ENDPOINT = API_ENDPOINTS.students;
@@ -88,16 +88,18 @@ function useDeleteStudent() {
88
88
  }
89
89
  });
90
90
  }
91
- function useBulkImportStudents() {
91
+ function useBulkImportStudents(options) {
92
92
  const queryClient = useQueryClient();
93
93
  return useMutation({
94
94
  mutationFn: bulkImportStudents,
95
- onSuccess: async () => {
96
- await queryClient.invalidateQueries({ queryKey: studentKeys.all });
97
- }
95
+ onSuccess: (data, vars, ctx) => {
96
+ queryClient.invalidateQueries({ queryKey: studentKeys.all });
97
+ options?.onSuccess?.(data, vars, ctx);
98
+ },
99
+ ...options
98
100
  });
99
101
  }
100
102
 
101
103
  export { bulkImportStudents, createStudent, deleteStudent, getStudent, getStudentKioskCache, getStudentQrPayload, listStudents, updateStudent, useBulkImportStudents, useCreateStudent, useDeleteStudent, useStudent, useStudentKioskCache, useStudentQrCode, useStudents, useUpdateStudent };
102
- //# sourceMappingURL=chunk-ZHCA7HVE.js.map
103
- //# sourceMappingURL=chunk-ZHCA7HVE.js.map
104
+ //# sourceMappingURL=chunk-NCENQB6W.js.map
105
+ //# sourceMappingURL=chunk-NCENQB6W.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/modules/student/student.api.ts"],"names":[],"mappings":"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","file":"chunk-NCENQB6W.js","sourcesContent":["import type {\r\n BulkImportStudentRequest,\r\n BulkImportStudentResponse,\r\n CreateStudentInput,\r\n Student,\r\n StudentListQuery,\r\n StudentOfflineCache,\r\n StudentQrPayload,\r\n UpdateStudentInput,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { deleteData, getData, getPaginated, postData, putData } from \"../../client/http\";\r\nimport type { MutationOptionsCustom } from \"../../client/types\";\r\nimport { studentKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.students;\r\n\r\nexport async function listStudents(params?: Partial<StudentListQuery>): Promise<Student[]> {\r\n const result = await getPaginated<Student>(ENDPOINT, { params });\r\n return result.items;\r\n}\r\n\r\nexport async function getStudent(id: string): Promise<Student> {\r\n return getData<Student>(`${ENDPOINT}/${id}`);\r\n}\r\n\r\nexport async function createStudent(payload: CreateStudentInput): Promise<Student> {\r\n return postData<Student, CreateStudentInput>(ENDPOINT, payload);\r\n}\r\n\r\nexport async function updateStudent(id: string, payload: UpdateStudentInput): Promise<Student> {\r\n return putData<Student, UpdateStudentInput>(`${ENDPOINT}/${id}`, payload);\r\n}\r\n\r\nexport async function deleteStudent(id: string): Promise<void> {\r\n await deleteData<void>(`${ENDPOINT}/${id}`);\r\n}\r\n\r\n/** Cache siswa ringkas untuk mode offline kiosk absensi. */\r\nexport async function getStudentKioskCache(): Promise<StudentOfflineCache[]> {\r\n return getData<StudentOfflineCache[]>(`${ENDPOINT}/kiosk-cache`);\r\n}\r\n\r\nexport async function getStudentQrPayload(id: string): Promise<StudentQrPayload> {\r\n return getData<StudentQrPayload>(`${ENDPOINT}/${id}/qr-code`);\r\n}\r\n\r\nexport async function bulkImportStudents(\r\n payload: BulkImportStudentRequest\r\n): Promise<BulkImportStudentResponse> {\r\n return postData<BulkImportStudentResponse, BulkImportStudentRequest>(\r\n `${ENDPOINT}/bulk-import`,\r\n payload\r\n );\r\n}\r\n\r\nexport function useStudents(params?: Partial<StudentListQuery>) {\r\n return useQuery({\r\n queryKey: studentKeys.list(params as Record<string, unknown> | undefined),\r\n queryFn: () => listStudents(params),\r\n });\r\n}\r\n\r\nexport function useStudent(id: string, options?: { enabled?: boolean }) {\r\n return useQuery({\r\n queryKey: studentKeys.detail(id),\r\n queryFn: () => getStudent(id),\r\n enabled: options?.enabled ?? Boolean(id),\r\n });\r\n}\r\n\r\nexport function useStudentKioskCache(options?: { enabled?: boolean }) {\r\n return useQuery({\r\n queryKey: studentKeys.kioskCache(),\r\n queryFn: getStudentKioskCache,\r\n enabled: options?.enabled ?? true,\r\n staleTime: 5 * 60_000,\r\n });\r\n}\r\n\r\nexport function useStudentQrCode(id: string, options?: { enabled?: boolean }) {\r\n return useQuery({\r\n queryKey: studentKeys.qrCode(id),\r\n queryFn: () => getStudentQrPayload(id),\r\n enabled: options?.enabled ?? Boolean(id),\r\n });\r\n}\r\n\r\nexport function useCreateStudent() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: createStudent,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: studentKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdateStudent() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({ id, payload }: { id: string; payload: UpdateStudentInput }) =>\r\n updateStudent(id, payload),\r\n onSuccess: async (_data, variables) => {\r\n await queryClient.invalidateQueries({ queryKey: studentKeys.detail(variables.id) });\r\n await queryClient.invalidateQueries({ queryKey: studentKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useDeleteStudent() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: deleteStudent,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: studentKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useBulkImportStudents(\r\n options?: MutationOptionsCustom<BulkImportStudentResponse, BulkImportStudentRequest>\r\n) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: bulkImportStudents,\r\n onSuccess: (data, vars, ctx) => {\r\n queryClient.invalidateQueries({ queryKey: studentKeys.all });\r\n options?.onSuccess?.(data, vars, ctx);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport type {\r\n BulkImportStudentRequest,\r\n BulkImportStudentResponse,\r\n CreateStudentInput,\r\n Student,\r\n StudentListQuery,\r\n StudentOfflineCache,\r\n StudentQrPayload,\r\n UpdateStudentInput,\r\n};\r\n"]}
@@ -1,6 +1,6 @@
1
- import { API_ENDPOINTS } from './chunk-MRFGUSN2.js';
1
+ import { API_ENDPOINTS } from './chunk-Q5ZX6TKB.js';
2
2
  import { getData, putData, postData } from './chunk-6JGO2CUT.js';
3
- import { tenantKeys } from './chunk-ALMSFTRM.js';
3
+ import { tenantKeys } from './chunk-XNH67ORL.js';
4
4
  import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
5
5
 
6
6
  var ENDPOINT = API_ENDPOINTS.tenants;
@@ -73,5 +73,5 @@ function useCreateTenant() {
73
73
  }
74
74
 
75
75
  export { createTenant, getAttendanceShift, getCurrentTenant, getTenantModules, listAttendanceShifts, updateCurrentTenant, upsertAttendanceShifts, useAttendanceShift, useAttendanceShifts, useCreateTenant, useCurrentTenant, useTenantModules, useUpdateCurrentTenant, useUpsertAttendanceShifts };
76
- //# sourceMappingURL=chunk-LA7MRXWR.js.map
77
- //# sourceMappingURL=chunk-LA7MRXWR.js.map
76
+ //# sourceMappingURL=chunk-NPR4GLFZ.js.map
77
+ //# sourceMappingURL=chunk-NPR4GLFZ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/modules/tenant/tenant.api.ts"],"names":[],"mappings":"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","file":"chunk-LA7MRXWR.js","sourcesContent":["import type {\r\n AttendanceShift,\r\n CreateTenantInput,\r\n PortalModuleItem,\r\n ShiftTargetType,\r\n Tenant,\r\n UpdateTenantProfileInput,\r\n UpsertAttendanceShiftInput,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData, postData, putData } from \"../../client/http\";\r\nimport { tenantKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.tenants;\r\n\r\nexport async function getCurrentTenant(): Promise<Tenant> {\r\n return getData<Tenant>(`${ENDPOINT}/current`);\r\n}\r\n\r\nexport async function getTenantModules(): Promise<PortalModuleItem[]> {\r\n return getData<PortalModuleItem[]>(`${ENDPOINT}/current/modules`);\r\n}\r\n\r\nexport async function updateCurrentTenant(payload: UpdateTenantProfileInput): Promise<Tenant> {\r\n return putData<Tenant, UpdateTenantProfileInput>(`${ENDPOINT}/current`, payload);\r\n}\r\n\r\nexport async function listAttendanceShifts(params?: {\r\n targetType?: ShiftTargetType;\r\n}): Promise<AttendanceShift[]> {\r\n return getData<AttendanceShift[]>(`${ENDPOINT}/shifts`, { params });\r\n}\r\n\r\nexport async function getAttendanceShift(targetType: ShiftTargetType): Promise<AttendanceShift> {\r\n return getData<AttendanceShift>(`${ENDPOINT}/shifts/${targetType}`);\r\n}\r\n\r\nexport interface UpsertAttendanceShiftsPayload {\r\n SISWA?: UpsertAttendanceShiftInput;\r\n GURU?: UpsertAttendanceShiftInput;\r\n}\r\n\r\nexport async function upsertAttendanceShifts(\r\n payload: UpsertAttendanceShiftsPayload\r\n): Promise<AttendanceShift[]> {\r\n return putData<AttendanceShift[], UpsertAttendanceShiftsPayload>(`${ENDPOINT}/shifts`, payload);\r\n}\r\n\r\nexport async function createTenant(payload: CreateTenantInput): Promise<Tenant> {\r\n return postData<Tenant, CreateTenantInput>(ENDPOINT, payload);\r\n}\r\n\r\nexport function useCurrentTenant() {\r\n return useQuery({ queryKey: tenantKeys.current(), queryFn: getCurrentTenant });\r\n}\r\n\r\nexport function useTenantModules() {\r\n return useQuery({ queryKey: tenantKeys.modules(), queryFn: getTenantModules });\r\n}\r\n\r\nexport function useAttendanceShifts(params?: { targetType?: ShiftTargetType }) {\r\n return useQuery({\r\n queryKey: tenantKeys.shifts(params),\r\n queryFn: () => listAttendanceShifts(params),\r\n });\r\n}\r\n\r\nexport function useAttendanceShift(targetType: ShiftTargetType) {\r\n return useQuery({\r\n queryKey: tenantKeys.shiftDetail(targetType),\r\n queryFn: () => getAttendanceShift(targetType),\r\n });\r\n}\r\n\r\nexport function useUpdateCurrentTenant() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: updateCurrentTenant,\r\n onSuccess: async (tenant) => {\r\n queryClient.setQueryData(tenantKeys.current(), tenant);\r\n await queryClient.invalidateQueries({ queryKey: tenantKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpsertAttendanceShifts() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: upsertAttendanceShifts,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: tenantKeys.shifts() });\r\n },\r\n });\r\n}\r\n\r\nexport function useCreateTenant() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: createTenant,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: tenantKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport type {\r\n AttendanceShift,\r\n CreateTenantInput,\r\n PortalModuleItem,\r\n ShiftTargetType,\r\n Tenant,\r\n UpdateTenantProfileInput,\r\n UpsertAttendanceShiftInput,\r\n};\r\n"]}
1
+ {"version":3,"sources":["../src/modules/tenant/tenant.api.ts"],"names":[],"mappings":"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","file":"chunk-NPR4GLFZ.js","sourcesContent":["import type {\r\n AttendanceShift,\r\n CreateTenantInput,\r\n PortalModuleItem,\r\n ShiftTargetType,\r\n Tenant,\r\n UpdateTenantProfileInput,\r\n UpsertAttendanceShiftInput,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData, postData, putData } from \"../../client/http\";\r\nimport { tenantKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.tenants;\r\n\r\nexport async function getCurrentTenant(): Promise<Tenant> {\r\n return getData<Tenant>(`${ENDPOINT}/current`);\r\n}\r\n\r\nexport async function getTenantModules(): Promise<PortalModuleItem[]> {\r\n return getData<PortalModuleItem[]>(`${ENDPOINT}/current/modules`);\r\n}\r\n\r\nexport async function updateCurrentTenant(payload: UpdateTenantProfileInput): Promise<Tenant> {\r\n return putData<Tenant, UpdateTenantProfileInput>(`${ENDPOINT}/current`, payload);\r\n}\r\n\r\nexport async function listAttendanceShifts(params?: {\r\n targetType?: ShiftTargetType;\r\n}): Promise<AttendanceShift[]> {\r\n return getData<AttendanceShift[]>(`${ENDPOINT}/shifts`, { params });\r\n}\r\n\r\nexport async function getAttendanceShift(targetType: ShiftTargetType): Promise<AttendanceShift> {\r\n return getData<AttendanceShift>(`${ENDPOINT}/shifts/${targetType}`);\r\n}\r\n\r\nexport interface UpsertAttendanceShiftsPayload {\r\n SISWA?: UpsertAttendanceShiftInput;\r\n GURU?: UpsertAttendanceShiftInput;\r\n}\r\n\r\nexport async function upsertAttendanceShifts(\r\n payload: UpsertAttendanceShiftsPayload\r\n): Promise<AttendanceShift[]> {\r\n return putData<AttendanceShift[], UpsertAttendanceShiftsPayload>(`${ENDPOINT}/shifts`, payload);\r\n}\r\n\r\nexport async function createTenant(payload: CreateTenantInput): Promise<Tenant> {\r\n return postData<Tenant, CreateTenantInput>(ENDPOINT, payload);\r\n}\r\n\r\nexport function useCurrentTenant() {\r\n return useQuery({ queryKey: tenantKeys.current(), queryFn: getCurrentTenant });\r\n}\r\n\r\nexport function useTenantModules() {\r\n return useQuery({ queryKey: tenantKeys.modules(), queryFn: getTenantModules });\r\n}\r\n\r\nexport function useAttendanceShifts(params?: { targetType?: ShiftTargetType }) {\r\n return useQuery({\r\n queryKey: tenantKeys.shifts(params),\r\n queryFn: () => listAttendanceShifts(params),\r\n });\r\n}\r\n\r\nexport function useAttendanceShift(targetType: ShiftTargetType) {\r\n return useQuery({\r\n queryKey: tenantKeys.shiftDetail(targetType),\r\n queryFn: () => getAttendanceShift(targetType),\r\n });\r\n}\r\n\r\nexport function useUpdateCurrentTenant() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: updateCurrentTenant,\r\n onSuccess: async (tenant) => {\r\n queryClient.setQueryData(tenantKeys.current(), tenant);\r\n await queryClient.invalidateQueries({ queryKey: tenantKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpsertAttendanceShifts() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: upsertAttendanceShifts,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: tenantKeys.shifts() });\r\n },\r\n });\r\n}\r\n\r\nexport function useCreateTenant() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: createTenant,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: tenantKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport type {\r\n AttendanceShift,\r\n CreateTenantInput,\r\n PortalModuleItem,\r\n ShiftTargetType,\r\n Tenant,\r\n UpdateTenantProfileInput,\r\n UpsertAttendanceShiftInput,\r\n};\r\n"]}
@@ -0,0 +1,102 @@
1
+ 'use strict';
2
+
3
+ var chunk3TOBH3YY_cjs = require('./chunk-3TOBH3YY.cjs');
4
+ var chunkNGFFI4XQ_cjs = require('./chunk-NGFFI4XQ.cjs');
5
+ var chunkHISL2IF2_cjs = require('./chunk-HISL2IF2.cjs');
6
+ var reactQuery = require('@tanstack/react-query');
7
+
8
+ var ENDPOINT = chunk3TOBH3YY_cjs.API_ENDPOINTS.auth;
9
+ async function login(payload) {
10
+ return chunkNGFFI4XQ_cjs.postData(`${ENDPOINT}/login`, payload);
11
+ }
12
+ async function selectTenant(payload) {
13
+ return chunkNGFFI4XQ_cjs.postData(`${ENDPOINT}/select-tenant`, payload);
14
+ }
15
+ async function switchRole(payload) {
16
+ return chunkNGFFI4XQ_cjs.postData(`${ENDPOINT}/switch-role`, payload);
17
+ }
18
+ async function logout() {
19
+ await chunkNGFFI4XQ_cjs.postData(`${ENDPOINT}/logout`);
20
+ }
21
+ async function getMe() {
22
+ return chunkNGFFI4XQ_cjs.getData(`${ENDPOINT}/me`);
23
+ }
24
+ async function changePassword(payload) {
25
+ return chunkNGFFI4XQ_cjs.putData(`${ENDPOINT}/change-password`, payload);
26
+ }
27
+ function useMe(options) {
28
+ return reactQuery.useQuery({
29
+ queryKey: chunkHISL2IF2_cjs.authKeys.me(),
30
+ queryFn: getMe,
31
+ enabled: options?.enabled ?? true,
32
+ staleTime: 6e4,
33
+ ...options
34
+ });
35
+ }
36
+ function useLogin(options) {
37
+ const queryClient = reactQuery.useQueryClient();
38
+ return reactQuery.useMutation({
39
+ mutationFn: login,
40
+ onSuccess: (data, variables, context) => {
41
+ if (data.status === "SUCCESS") {
42
+ queryClient.invalidateQueries({ queryKey: chunkHISL2IF2_cjs.authKeys.all });
43
+ }
44
+ options?.onSuccess?.(data, variables, context);
45
+ },
46
+ ...options
47
+ });
48
+ }
49
+ function useSelectTenant(options) {
50
+ const queryClient = reactQuery.useQueryClient();
51
+ return reactQuery.useMutation({
52
+ mutationFn: selectTenant,
53
+ onSuccess: (data, variables, context) => {
54
+ queryClient.invalidateQueries({ queryKey: chunkHISL2IF2_cjs.authKeys.all });
55
+ options?.onSuccess?.(data, variables, context);
56
+ },
57
+ ...options
58
+ });
59
+ }
60
+ function useSwitchRole(options) {
61
+ const queryClient = reactQuery.useQueryClient();
62
+ return reactQuery.useMutation({
63
+ mutationFn: switchRole,
64
+ onSuccess: (data, variables, context) => {
65
+ queryClient.invalidateQueries({ queryKey: chunkHISL2IF2_cjs.authKeys.all });
66
+ options?.onSuccess?.(data, variables, context);
67
+ },
68
+ ...options
69
+ });
70
+ }
71
+ function useLogout(options) {
72
+ const queryClient = reactQuery.useQueryClient();
73
+ return reactQuery.useMutation({
74
+ mutationFn: logout,
75
+ onSuccess: () => {
76
+ queryClient.clear();
77
+ options?.onSuccess?.(void 0, void 0, void 0);
78
+ },
79
+ ...options
80
+ });
81
+ }
82
+ function useChangePassword(options) {
83
+ return reactQuery.useMutation({
84
+ mutationFn: changePassword,
85
+ ...options
86
+ });
87
+ }
88
+
89
+ exports.changePassword = changePassword;
90
+ exports.getMe = getMe;
91
+ exports.login = login;
92
+ exports.logout = logout;
93
+ exports.selectTenant = selectTenant;
94
+ exports.switchRole = switchRole;
95
+ exports.useChangePassword = useChangePassword;
96
+ exports.useLogin = useLogin;
97
+ exports.useLogout = useLogout;
98
+ exports.useMe = useMe;
99
+ exports.useSelectTenant = useSelectTenant;
100
+ exports.useSwitchRole = useSwitchRole;
101
+ //# sourceMappingURL=chunk-OVHSXH7Z.cjs.map
102
+ //# sourceMappingURL=chunk-OVHSXH7Z.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/modules/auth/auth.api.ts"],"names":["API_ENDPOINTS","postData","getData","putData","useQuery","authKeys","useQueryClient","useMutation"],"mappings":"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","file":"chunk-OVHSXH7Z.cjs","sourcesContent":["import type {\r\n AuthSession,\r\n ChangePasswordRequest,\r\n LoginRequest,\r\n LoginResponse,\r\n Role,\r\n SelectTenantRequest,\r\n SwitchRoleRequest,\r\n Tenant,\r\n TenantOption,\r\n UserProfile,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData, postData, putData } from \"../../client/http\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { authKeys } from \"../../keys\";\r\nimport type { MutationOptionsCustom, QueryOptionsWithoutKey } from \"../../client/types\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.auth;\r\n\r\nexport interface AuthUserSummary {\r\n id: string;\r\n username: string;\r\n email: string | null;\r\n fullName: string;\r\n}\r\n\r\n/** Payload `GET /auth/me`: sesi + profil ringkas user + tenant aktif. */\r\nexport interface AuthSessionPayload {\r\n session: AuthSession;\r\n user: AuthUserSummary;\r\n tenant: Tenant;\r\n}\r\n\r\nexport async function login(payload: LoginRequest): Promise<LoginResponse> {\r\n return postData<LoginResponse, LoginRequest>(`${ENDPOINT}/login`, payload);\r\n}\r\n\r\nexport async function selectTenant(payload: SelectTenantRequest): Promise<LoginResponse> {\r\n return postData<LoginResponse, SelectTenantRequest>(`${ENDPOINT}/select-tenant`, payload);\r\n}\r\n\r\nexport async function switchRole(payload: SwitchRoleRequest): Promise<AuthSession> {\r\n return postData<AuthSession, SwitchRoleRequest>(`${ENDPOINT}/switch-role`, payload);\r\n}\r\n\r\nexport async function logout(): Promise<void> {\r\n await postData<void>(`${ENDPOINT}/logout`);\r\n}\r\n\r\nexport async function getMe(): Promise<AuthSession> {\r\n return getData<AuthSession>(`${ENDPOINT}/me`);\r\n}\r\n\r\nexport async function changePassword(payload: ChangePasswordRequest): Promise<{ message: string }> {\r\n return putData<{ message: string }, ChangePasswordRequest>(`${ENDPOINT}/change-password`, payload);\r\n}\r\n\r\nexport function useMe(options?: QueryOptionsWithoutKey<AuthSession> & { enabled?: boolean }) {\r\n return useQuery({\r\n queryKey: authKeys.me(),\r\n queryFn: getMe,\r\n enabled: options?.enabled ?? true,\r\n staleTime: 60_000,\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useLogin(options?: MutationOptionsCustom<LoginResponse, LoginRequest>) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: login,\r\n onSuccess: (data, variables, context) => {\r\n if (data.status === \"SUCCESS\") {\r\n queryClient.invalidateQueries({ queryKey: authKeys.all });\r\n }\r\n options?.onSuccess?.(data, variables, context);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useSelectTenant(options?: MutationOptionsCustom<LoginResponse, SelectTenantRequest>) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: selectTenant,\r\n onSuccess: (data, variables, context) => {\r\n queryClient.invalidateQueries({ queryKey: authKeys.all });\r\n options?.onSuccess?.(data, variables, context);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useSwitchRole(options?: MutationOptionsCustom<AuthSession, SwitchRoleRequest>) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: switchRole,\r\n onSuccess: (data, variables, context) => {\r\n queryClient.invalidateQueries({ queryKey: authKeys.all });\r\n options?.onSuccess?.(data, variables, context);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useLogout(options?: MutationOptionsCustom<void, void>) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: logout,\r\n onSuccess: () => {\r\n queryClient.clear();\r\n options?.onSuccess?.(undefined, undefined, undefined);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useChangePassword(options?: MutationOptionsCustom<{ message: string }, ChangePasswordRequest>) {\r\n return useMutation({\r\n mutationFn: changePassword,\r\n ...options,\r\n });\r\n}\r\n\r\nexport type {\r\n AuthSession,\r\n ChangePasswordRequest,\r\n LoginRequest,\r\n LoginResponse,\r\n Role,\r\n SelectTenantRequest,\r\n SwitchRoleRequest,\r\n TenantOption,\r\n UserProfile,\r\n};\r\n"]}
@@ -0,0 +1,89 @@
1
+ import { API_ENDPOINTS } from './chunk-Q5ZX6TKB.js';
2
+ import { postData, getData, putData } from './chunk-6JGO2CUT.js';
3
+ import { authKeys } from './chunk-XNH67ORL.js';
4
+ import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
5
+
6
+ var ENDPOINT = API_ENDPOINTS.auth;
7
+ async function login(payload) {
8
+ return postData(`${ENDPOINT}/login`, payload);
9
+ }
10
+ async function selectTenant(payload) {
11
+ return postData(`${ENDPOINT}/select-tenant`, payload);
12
+ }
13
+ async function switchRole(payload) {
14
+ return postData(`${ENDPOINT}/switch-role`, payload);
15
+ }
16
+ async function logout() {
17
+ await postData(`${ENDPOINT}/logout`);
18
+ }
19
+ async function getMe() {
20
+ return getData(`${ENDPOINT}/me`);
21
+ }
22
+ async function changePassword(payload) {
23
+ return putData(`${ENDPOINT}/change-password`, payload);
24
+ }
25
+ function useMe(options) {
26
+ return useQuery({
27
+ queryKey: authKeys.me(),
28
+ queryFn: getMe,
29
+ enabled: options?.enabled ?? true,
30
+ staleTime: 6e4,
31
+ ...options
32
+ });
33
+ }
34
+ function useLogin(options) {
35
+ const queryClient = useQueryClient();
36
+ return useMutation({
37
+ mutationFn: login,
38
+ onSuccess: (data, variables, context) => {
39
+ if (data.status === "SUCCESS") {
40
+ queryClient.invalidateQueries({ queryKey: authKeys.all });
41
+ }
42
+ options?.onSuccess?.(data, variables, context);
43
+ },
44
+ ...options
45
+ });
46
+ }
47
+ function useSelectTenant(options) {
48
+ const queryClient = useQueryClient();
49
+ return useMutation({
50
+ mutationFn: selectTenant,
51
+ onSuccess: (data, variables, context) => {
52
+ queryClient.invalidateQueries({ queryKey: authKeys.all });
53
+ options?.onSuccess?.(data, variables, context);
54
+ },
55
+ ...options
56
+ });
57
+ }
58
+ function useSwitchRole(options) {
59
+ const queryClient = useQueryClient();
60
+ return useMutation({
61
+ mutationFn: switchRole,
62
+ onSuccess: (data, variables, context) => {
63
+ queryClient.invalidateQueries({ queryKey: authKeys.all });
64
+ options?.onSuccess?.(data, variables, context);
65
+ },
66
+ ...options
67
+ });
68
+ }
69
+ function useLogout(options) {
70
+ const queryClient = useQueryClient();
71
+ return useMutation({
72
+ mutationFn: logout,
73
+ onSuccess: () => {
74
+ queryClient.clear();
75
+ options?.onSuccess?.(void 0, void 0, void 0);
76
+ },
77
+ ...options
78
+ });
79
+ }
80
+ function useChangePassword(options) {
81
+ return useMutation({
82
+ mutationFn: changePassword,
83
+ ...options
84
+ });
85
+ }
86
+
87
+ export { changePassword, getMe, login, logout, selectTenant, switchRole, useChangePassword, useLogin, useLogout, useMe, useSelectTenant, useSwitchRole };
88
+ //# sourceMappingURL=chunk-PMN2DTYF.js.map
89
+ //# sourceMappingURL=chunk-PMN2DTYF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/modules/auth/auth.api.ts"],"names":[],"mappings":"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","file":"chunk-PMN2DTYF.js","sourcesContent":["import type {\r\n AuthSession,\r\n ChangePasswordRequest,\r\n LoginRequest,\r\n LoginResponse,\r\n Role,\r\n SelectTenantRequest,\r\n SwitchRoleRequest,\r\n Tenant,\r\n TenantOption,\r\n UserProfile,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData, postData, putData } from \"../../client/http\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { authKeys } from \"../../keys\";\r\nimport type { MutationOptionsCustom, QueryOptionsWithoutKey } from \"../../client/types\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.auth;\r\n\r\nexport interface AuthUserSummary {\r\n id: string;\r\n username: string;\r\n email: string | null;\r\n fullName: string;\r\n}\r\n\r\n/** Payload `GET /auth/me`: sesi + profil ringkas user + tenant aktif. */\r\nexport interface AuthSessionPayload {\r\n session: AuthSession;\r\n user: AuthUserSummary;\r\n tenant: Tenant;\r\n}\r\n\r\nexport async function login(payload: LoginRequest): Promise<LoginResponse> {\r\n return postData<LoginResponse, LoginRequest>(`${ENDPOINT}/login`, payload);\r\n}\r\n\r\nexport async function selectTenant(payload: SelectTenantRequest): Promise<LoginResponse> {\r\n return postData<LoginResponse, SelectTenantRequest>(`${ENDPOINT}/select-tenant`, payload);\r\n}\r\n\r\nexport async function switchRole(payload: SwitchRoleRequest): Promise<AuthSession> {\r\n return postData<AuthSession, SwitchRoleRequest>(`${ENDPOINT}/switch-role`, payload);\r\n}\r\n\r\nexport async function logout(): Promise<void> {\r\n await postData<void>(`${ENDPOINT}/logout`);\r\n}\r\n\r\nexport async function getMe(): Promise<AuthSession> {\r\n return getData<AuthSession>(`${ENDPOINT}/me`);\r\n}\r\n\r\nexport async function changePassword(payload: ChangePasswordRequest): Promise<{ message: string }> {\r\n return putData<{ message: string }, ChangePasswordRequest>(`${ENDPOINT}/change-password`, payload);\r\n}\r\n\r\nexport function useMe(options?: QueryOptionsWithoutKey<AuthSession> & { enabled?: boolean }) {\r\n return useQuery({\r\n queryKey: authKeys.me(),\r\n queryFn: getMe,\r\n enabled: options?.enabled ?? true,\r\n staleTime: 60_000,\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useLogin(options?: MutationOptionsCustom<LoginResponse, LoginRequest>) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: login,\r\n onSuccess: (data, variables, context) => {\r\n if (data.status === \"SUCCESS\") {\r\n queryClient.invalidateQueries({ queryKey: authKeys.all });\r\n }\r\n options?.onSuccess?.(data, variables, context);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useSelectTenant(options?: MutationOptionsCustom<LoginResponse, SelectTenantRequest>) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: selectTenant,\r\n onSuccess: (data, variables, context) => {\r\n queryClient.invalidateQueries({ queryKey: authKeys.all });\r\n options?.onSuccess?.(data, variables, context);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useSwitchRole(options?: MutationOptionsCustom<AuthSession, SwitchRoleRequest>) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: switchRole,\r\n onSuccess: (data, variables, context) => {\r\n queryClient.invalidateQueries({ queryKey: authKeys.all });\r\n options?.onSuccess?.(data, variables, context);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useLogout(options?: MutationOptionsCustom<void, void>) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: logout,\r\n onSuccess: () => {\r\n queryClient.clear();\r\n options?.onSuccess?.(undefined, undefined, undefined);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useChangePassword(options?: MutationOptionsCustom<{ message: string }, ChangePasswordRequest>) {\r\n return useMutation({\r\n mutationFn: changePassword,\r\n ...options,\r\n });\r\n}\r\n\r\nexport type {\r\n AuthSession,\r\n ChangePasswordRequest,\r\n LoginRequest,\r\n LoginResponse,\r\n Role,\r\n SelectTenantRequest,\r\n SwitchRoleRequest,\r\n TenantOption,\r\n UserProfile,\r\n};\r\n"]}
@@ -1,6 +1,6 @@
1
- import { API_ENDPOINTS } from './chunk-MRFGUSN2.js';
1
+ import { API_ENDPOINTS } from './chunk-Q5ZX6TKB.js';
2
2
  import { getData, postData, putData } from './chunk-6JGO2CUT.js';
3
- import { subjectKeys } from './chunk-ALMSFTRM.js';
3
+ import { subjectKeys } from './chunk-XNH67ORL.js';
4
4
  import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
5
5
 
6
6
  var ENDPOINT = API_ENDPOINTS.subjects;
@@ -39,5 +39,5 @@ function useUpdateSubject() {
39
39
  }
40
40
 
41
41
  export { createSubject, listSubjects, updateSubject, useCreateSubject, useSubjects, useUpdateSubject };
42
- //# sourceMappingURL=chunk-XU5UEIBL.js.map
43
- //# sourceMappingURL=chunk-XU5UEIBL.js.map
42
+ //# sourceMappingURL=chunk-PQFTPOP4.js.map
43
+ //# sourceMappingURL=chunk-PQFTPOP4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/modules/subject/subject.api.ts"],"names":[],"mappings":";;;;;AAWA,IAAM,WAAW,aAAA,CAAc,QAAA;AAE/B,eAAsB,aAAa,MAAA,EAAwD;AACzF,EAAA,OAAO,OAAA,CAAmB,QAAA,EAAU,EAAE,MAAA,EAAQ,CAAA;AAChD;AAEA,eAAsB,cAAc,OAAA,EAA+C;AACjF,EAAA,OAAO,QAAA,CAAsC,UAAU,OAAO,CAAA;AAChE;AAEA,eAAsB,aAAA,CAAc,IAAY,OAAA,EAA+C;AAC7F,EAAA,OAAO,QAAqC,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,IAAI,OAAO,CAAA;AAC1E;AAEO,SAAS,YAAY,MAAA,EAAoC;AAC9D,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,WAAA,CAAY,IAAA,CAAK,MAA6C,CAAA;AAAA,IACxE,OAAA,EAAS,MAAM,YAAA,CAAa,MAAM;AAAA,GACnC,CAAA;AACH;AAEO,SAAS,gBAAA,GAAmB;AACjC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,aAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAU,WAAA,CAAY,KAAK,CAAA;AAAA,IACnE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,gBAAA,GAAmB;AACjC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,CAAC,EAAE,EAAA,EAAI,SAAQ,KACzB,aAAA,CAAc,IAAI,OAAO,CAAA;AAAA,IAC3B,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAU,WAAA,CAAY,KAAK,CAAA;AAAA,IACnE;AAAA,GACD,CAAA;AACH","file":"chunk-XU5UEIBL.js","sourcesContent":["import type {\r\n CreateSubjectInput,\r\n Subject,\r\n SubjectListQuery,\r\n UpdateSubjectInput,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData, postData, putData } from \"../../client/http\";\r\nimport { subjectKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.subjects;\r\n\r\nexport async function listSubjects(params?: Partial<SubjectListQuery>): Promise<Subject[]> {\r\n return getData<Subject[]>(ENDPOINT, { params });\r\n}\r\n\r\nexport async function createSubject(payload: CreateSubjectInput): Promise<Subject> {\r\n return postData<Subject, CreateSubjectInput>(ENDPOINT, payload);\r\n}\r\n\r\nexport async function updateSubject(id: string, payload: UpdateSubjectInput): Promise<Subject> {\r\n return putData<Subject, UpdateSubjectInput>(`${ENDPOINT}/${id}`, payload);\r\n}\r\n\r\nexport function useSubjects(params?: Partial<SubjectListQuery>) {\r\n return useQuery({\r\n queryKey: subjectKeys.list(params as Record<string, unknown> | undefined),\r\n queryFn: () => listSubjects(params),\r\n });\r\n}\r\n\r\nexport function useCreateSubject() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: createSubject,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: subjectKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdateSubject() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({ id, payload }: { id: string; payload: UpdateSubjectInput }) =>\r\n updateSubject(id, payload),\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: subjectKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport type { CreateSubjectInput, Subject, SubjectListQuery, UpdateSubjectInput };\r\n"]}
1
+ {"version":3,"sources":["../src/modules/subject/subject.api.ts"],"names":[],"mappings":";;;;;AAWA,IAAM,WAAW,aAAA,CAAc,QAAA;AAE/B,eAAsB,aAAa,MAAA,EAAwD;AACzF,EAAA,OAAO,OAAA,CAAmB,QAAA,EAAU,EAAE,MAAA,EAAQ,CAAA;AAChD;AAEA,eAAsB,cAAc,OAAA,EAA+C;AACjF,EAAA,OAAO,QAAA,CAAsC,UAAU,OAAO,CAAA;AAChE;AAEA,eAAsB,aAAA,CAAc,IAAY,OAAA,EAA+C;AAC7F,EAAA,OAAO,QAAqC,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,IAAI,OAAO,CAAA;AAC1E;AAEO,SAAS,YAAY,MAAA,EAAoC;AAC9D,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,WAAA,CAAY,IAAA,CAAK,MAA6C,CAAA;AAAA,IACxE,OAAA,EAAS,MAAM,YAAA,CAAa,MAAM;AAAA,GACnC,CAAA;AACH;AAEO,SAAS,gBAAA,GAAmB;AACjC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,aAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAU,WAAA,CAAY,KAAK,CAAA;AAAA,IACnE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,gBAAA,GAAmB;AACjC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,CAAC,EAAE,EAAA,EAAI,SAAQ,KACzB,aAAA,CAAc,IAAI,OAAO,CAAA;AAAA,IAC3B,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAU,WAAA,CAAY,KAAK,CAAA;AAAA,IACnE;AAAA,GACD,CAAA;AACH","file":"chunk-PQFTPOP4.js","sourcesContent":["import type {\r\n CreateSubjectInput,\r\n Subject,\r\n SubjectListQuery,\r\n UpdateSubjectInput,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData, postData, putData } from \"../../client/http\";\r\nimport { subjectKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.subjects;\r\n\r\nexport async function listSubjects(params?: Partial<SubjectListQuery>): Promise<Subject[]> {\r\n return getData<Subject[]>(ENDPOINT, { params });\r\n}\r\n\r\nexport async function createSubject(payload: CreateSubjectInput): Promise<Subject> {\r\n return postData<Subject, CreateSubjectInput>(ENDPOINT, payload);\r\n}\r\n\r\nexport async function updateSubject(id: string, payload: UpdateSubjectInput): Promise<Subject> {\r\n return putData<Subject, UpdateSubjectInput>(`${ENDPOINT}/${id}`, payload);\r\n}\r\n\r\nexport function useSubjects(params?: Partial<SubjectListQuery>) {\r\n return useQuery({\r\n queryKey: subjectKeys.list(params as Record<string, unknown> | undefined),\r\n queryFn: () => listSubjects(params),\r\n });\r\n}\r\n\r\nexport function useCreateSubject() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: createSubject,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: subjectKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdateSubject() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({ id, payload }: { id: string; payload: UpdateSubjectInput }) =>\r\n updateSubject(id, payload),\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: subjectKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport type { CreateSubjectInput, Subject, SubjectListQuery, UpdateSubjectInput };\r\n"]}
@@ -12,9 +12,14 @@ var API_ENDPOINTS = {
12
12
  leads: `${API_V1_PREFIX}/leads`,
13
13
  uploads: `${API_V1_PREFIX}/uploads`,
14
14
  attendance: `${API_V1_PREFIX}/attendance`,
15
- health: `${API_V1_PREFIX}/health`
15
+ health: `${API_V1_PREFIX}/health`,
16
+ platformAdminAuth: `${API_V1_PREFIX}/platform-admin/auth`,
17
+ platformAdminDashboard: `${API_V1_PREFIX}/platform-admin/dashboard`,
18
+ platformAdminTenants: `${API_V1_PREFIX}/platform-admin/tenants`,
19
+ platformAdminLeads: `${API_V1_PREFIX}/platform-admin/leads`,
20
+ platformAdminAuditLogs: `${API_V1_PREFIX}/platform-admin/audit-logs`
16
21
  };
17
22
 
18
23
  export { API_ENDPOINTS, API_V1_PREFIX };
19
- //# sourceMappingURL=chunk-MRFGUSN2.js.map
20
- //# sourceMappingURL=chunk-MRFGUSN2.js.map
24
+ //# sourceMappingURL=chunk-Q5ZX6TKB.js.map
25
+ //# sourceMappingURL=chunk-Q5ZX6TKB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/endpoints.ts"],"names":[],"mappings":";AAAO,IAAM,aAAA,GAAgB;AAEtB,IAAM,aAAA,GAAgB;AAAA,EAC3B,IAAA,EAAM,GAAG,aAAa,CAAA,KAAA,CAAA;AAAA,EACtB,OAAA,EAAS,GAAG,aAAa,CAAA,QAAA,CAAA;AAAA,EACzB,KAAA,EAAO,GAAG,aAAa,CAAA,MAAA,CAAA;AAAA,EACvB,aAAA,EAAe,GAAG,aAAa,CAAA,eAAA,CAAA;AAAA,EAC/B,QAAA,EAAU,GAAG,aAAa,CAAA,SAAA,CAAA;AAAA,EAC1B,iBAAA,EAAmB,GAAG,aAAa,CAAA,mBAAA,CAAA;AAAA,EACnC,UAAA,EAAY,GAAG,aAAa,CAAA,WAAA,CAAA;AAAA,EAC5B,QAAA,EAAU,GAAG,aAAa,CAAA,SAAA,CAAA;AAAA,EAC1B,KAAA,EAAO,GAAG,aAAa,CAAA,MAAA,CAAA;AAAA,EACvB,OAAA,EAAS,GAAG,aAAa,CAAA,QAAA,CAAA;AAAA,EACzB,UAAA,EAAY,GAAG,aAAa,CAAA,WAAA,CAAA;AAAA,EAC5B,MAAA,EAAQ,GAAG,aAAa,CAAA,OAAA,CAAA;AAAA,EACxB,iBAAA,EAAmB,GAAG,aAAa,CAAA,oBAAA,CAAA;AAAA,EACnC,sBAAA,EAAwB,GAAG,aAAa,CAAA,yBAAA,CAAA;AAAA,EACxC,oBAAA,EAAsB,GAAG,aAAa,CAAA,uBAAA,CAAA;AAAA,EACtC,kBAAA,EAAoB,GAAG,aAAa,CAAA,qBAAA,CAAA;AAAA,EACpC,sBAAA,EAAwB,GAAG,aAAa,CAAA,0BAAA;AAC1C","file":"chunk-Q5ZX6TKB.js","sourcesContent":["export const API_V1_PREFIX = \"/api/v1\";\r\n\r\nexport const API_ENDPOINTS = {\r\n auth: `${API_V1_PREFIX}/auth`,\r\n tenants: `${API_V1_PREFIX}/tenants`,\r\n users: `${API_V1_PREFIX}/users`,\r\n academicYears: `${API_V1_PREFIX}/academic-years`,\r\n subjects: `${API_V1_PREFIX}/subjects`,\r\n teachingSchedules: `${API_V1_PREFIX}/teaching-schedules`,\r\n classrooms: `${API_V1_PREFIX}/classrooms`,\r\n students: `${API_V1_PREFIX}/students`,\r\n leads: `${API_V1_PREFIX}/leads`,\r\n uploads: `${API_V1_PREFIX}/uploads`,\r\n attendance: `${API_V1_PREFIX}/attendance`,\r\n health: `${API_V1_PREFIX}/health`,\r\n platformAdminAuth: `${API_V1_PREFIX}/platform-admin/auth`,\r\n platformAdminDashboard: `${API_V1_PREFIX}/platform-admin/dashboard`,\r\n platformAdminTenants: `${API_V1_PREFIX}/platform-admin/tenants`,\r\n platformAdminLeads: `${API_V1_PREFIX}/platform-admin/leads`,\r\n platformAdminAuditLogs: `${API_V1_PREFIX}/platform-admin/audit-logs`,\r\n} as const;\r\n"]}
@@ -1,6 +1,6 @@
1
- import { API_ENDPOINTS } from './chunk-MRFGUSN2.js';
1
+ import { API_ENDPOINTS } from './chunk-Q5ZX6TKB.js';
2
2
  import { getData, postData, putData } from './chunk-6JGO2CUT.js';
3
- import { scheduleKeys } from './chunk-ALMSFTRM.js';
3
+ import { scheduleKeys } from './chunk-XNH67ORL.js';
4
4
  import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
5
5
 
6
6
  var ENDPOINT = API_ENDPOINTS.teachingSchedules;
@@ -28,50 +28,58 @@ function useTeachingSchedules(params) {
28
28
  queryFn: () => listTeachingSchedules(params)
29
29
  });
30
30
  }
31
- function useScheduleConflict(params, enabled = true) {
31
+ function useScheduleConflict(params, options) {
32
32
  return useQuery({
33
33
  queryKey: scheduleKeys.conflicts(params),
34
34
  queryFn: () => checkScheduleConflict(params),
35
- enabled
35
+ ...options
36
36
  });
37
37
  }
38
- function useCreateTeachingSchedule() {
38
+ function useCreateTeachingSchedule(options) {
39
39
  const queryClient = useQueryClient();
40
40
  return useMutation({
41
41
  mutationFn: createTeachingSchedule,
42
- onSuccess: async () => {
43
- await queryClient.invalidateQueries({ queryKey: scheduleKeys.all });
44
- }
42
+ onSuccess: (data, vars, ctx) => {
43
+ queryClient.invalidateQueries({ queryKey: scheduleKeys.all });
44
+ options?.onSuccess?.(data, vars, ctx);
45
+ },
46
+ ...options
45
47
  });
46
48
  }
47
- function useUpdateTeachingSchedule() {
49
+ function useUpdateTeachingSchedule(options) {
48
50
  const queryClient = useQueryClient();
49
51
  return useMutation({
50
52
  mutationFn: ({ id, payload }) => updateTeachingSchedule(id, payload),
51
- onSuccess: async () => {
52
- await queryClient.invalidateQueries({ queryKey: scheduleKeys.all });
53
- }
53
+ onSuccess: (data, vars, ctx) => {
54
+ queryClient.invalidateQueries({ queryKey: scheduleKeys.all });
55
+ options?.onSuccess?.(data, vars, ctx);
56
+ },
57
+ ...options
54
58
  });
55
59
  }
56
- function useBatchCreateTeachingSchedules() {
60
+ function useBatchCreateTeachingSchedules(options) {
57
61
  const queryClient = useQueryClient();
58
62
  return useMutation({
59
63
  mutationFn: batchCreateTeachingSchedules,
60
- onSuccess: async () => {
61
- await queryClient.invalidateQueries({ queryKey: scheduleKeys.all });
62
- }
64
+ onSuccess: (data, vars, ctx) => {
65
+ queryClient.invalidateQueries({ queryKey: scheduleKeys.all });
66
+ options?.onSuccess?.(data, vars, ctx);
67
+ },
68
+ ...options
63
69
  });
64
70
  }
65
- function useCopyRoster() {
71
+ function useCopyRoster(options) {
66
72
  const queryClient = useQueryClient();
67
73
  return useMutation({
68
74
  mutationFn: copyRoster,
69
- onSuccess: async () => {
70
- await queryClient.invalidateQueries({ queryKey: scheduleKeys.all });
71
- }
75
+ onSuccess: (data, vars, ctx) => {
76
+ queryClient.invalidateQueries({ queryKey: scheduleKeys.all });
77
+ options?.onSuccess?.(data, vars, ctx);
78
+ },
79
+ ...options
72
80
  });
73
81
  }
74
82
 
75
83
  export { batchCreateTeachingSchedules, checkScheduleConflict, copyRoster, createTeachingSchedule, listTeachingSchedules, updateTeachingSchedule, useBatchCreateTeachingSchedules, useCopyRoster, useCreateTeachingSchedule, useScheduleConflict, useTeachingSchedules, useUpdateTeachingSchedule };
76
- //# sourceMappingURL=chunk-GRBBLS5Y.js.map
77
- //# sourceMappingURL=chunk-GRBBLS5Y.js.map
84
+ //# sourceMappingURL=chunk-RDW4IZWK.js.map
85
+ //# sourceMappingURL=chunk-RDW4IZWK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/modules/teaching-schedule/teaching-schedule.api.ts"],"names":[],"mappings":"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","file":"chunk-RDW4IZWK.js","sourcesContent":["import type {\r\n BatchCreateTeachingScheduleInput,\r\n CheckScheduleConflictQuery,\r\n CopyRosterRequestInput,\r\n CreateTeachingScheduleInput,\r\n TeachingSchedule,\r\n TeachingScheduleListQuery,\r\n UpdateTeachingScheduleInput,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData, postData, putData } from \"../../client/http\";\r\nimport type { MutationOptionsCustom, QueryOptionsWithoutKey } from \"../../client/types\";\r\nimport { scheduleKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.teachingSchedules;\r\n\r\nexport type ScheduleConflictType = \"TEACHER\" | \"CLASSROOM\";\r\n\r\nexport interface ScheduleConflictResult {\r\n hasConflict: boolean;\r\n conflictType: ScheduleConflictType | null;\r\n conflictingSchedule: TeachingSchedule | null;\r\n}\r\n\r\nexport interface AffectedRowsResult {\r\n totalCreated: number;\r\n}\r\n\r\nexport async function listTeachingSchedules(\r\n params?: TeachingScheduleListQuery\r\n): Promise<TeachingSchedule[]> {\r\n return getData<TeachingSchedule[]>(ENDPOINT, { params });\r\n}\r\n\r\nexport async function createTeachingSchedule(\r\n payload: CreateTeachingScheduleInput\r\n): Promise<TeachingSchedule> {\r\n return postData<TeachingSchedule, CreateTeachingScheduleInput>(ENDPOINT, payload);\r\n}\r\n\r\nexport async function updateTeachingSchedule(\r\n id: string,\r\n payload: UpdateTeachingScheduleInput\r\n): Promise<TeachingSchedule> {\r\n return putData<TeachingSchedule, UpdateTeachingScheduleInput>(`${ENDPOINT}/${id}`, payload);\r\n}\r\n\r\nexport async function checkScheduleConflict(\r\n params: CheckScheduleConflictQuery\r\n): Promise<ScheduleConflictResult> {\r\n return getData<ScheduleConflictResult>(`${ENDPOINT}/conflicts`, { params });\r\n}\r\n\r\nexport async function batchCreateTeachingSchedules(\r\n payload: BatchCreateTeachingScheduleInput\r\n): Promise<AffectedRowsResult> {\r\n return postData<AffectedRowsResult, BatchCreateTeachingScheduleInput>(`${ENDPOINT}/batch`, payload);\r\n}\r\n\r\nexport async function copyRoster(payload: CopyRosterRequestInput): Promise<AffectedRowsResult> {\r\n return postData<AffectedRowsResult, CopyRosterRequestInput>(`${ENDPOINT}/copy`, payload);\r\n}\r\n\r\nexport function useTeachingSchedules(params?: TeachingScheduleListQuery) {\r\n return useQuery({\r\n queryKey: scheduleKeys.list(params as Record<string, unknown> | undefined),\r\n queryFn: () => listTeachingSchedules(params),\r\n });\r\n}\r\n\r\nexport function useScheduleConflict(\r\n params: CheckScheduleConflictQuery,\r\n options?: QueryOptionsWithoutKey<ScheduleConflictResult>\r\n) {\r\n return useQuery({\r\n queryKey: scheduleKeys.conflicts(params as unknown as Record<string, unknown>),\r\n queryFn: () => checkScheduleConflict(params),\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useCreateTeachingSchedule(\r\n options?: MutationOptionsCustom<TeachingSchedule, CreateTeachingScheduleInput>\r\n) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: createTeachingSchedule,\r\n onSuccess: (data, vars, ctx) => {\r\n queryClient.invalidateQueries({ queryKey: scheduleKeys.all });\r\n options?.onSuccess?.(data, vars, ctx);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useUpdateTeachingSchedule(\r\n options?: MutationOptionsCustom<TeachingSchedule, { id: string; payload: UpdateTeachingScheduleInput }>\r\n) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({ id, payload }: { id: string; payload: UpdateTeachingScheduleInput }) =>\r\n updateTeachingSchedule(id, payload),\r\n onSuccess: (data, vars, ctx) => {\r\n queryClient.invalidateQueries({ queryKey: scheduleKeys.all });\r\n options?.onSuccess?.(data, vars, ctx);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useBatchCreateTeachingSchedules(\r\n options?: MutationOptionsCustom<AffectedRowsResult, BatchCreateTeachingScheduleInput>\r\n) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: batchCreateTeachingSchedules,\r\n onSuccess: (data, vars, ctx) => {\r\n queryClient.invalidateQueries({ queryKey: scheduleKeys.all });\r\n options?.onSuccess?.(data, vars, ctx);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport function useCopyRoster(\r\n options?: MutationOptionsCustom<AffectedRowsResult, CopyRosterRequestInput>\r\n) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: copyRoster,\r\n onSuccess: (data, vars, ctx) => {\r\n queryClient.invalidateQueries({ queryKey: scheduleKeys.all });\r\n options?.onSuccess?.(data, vars, ctx);\r\n },\r\n ...options,\r\n });\r\n}\r\n\r\nexport type {\r\n BatchCreateTeachingScheduleInput,\r\n CheckScheduleConflictQuery,\r\n CopyRosterRequestInput,\r\n CreateTeachingScheduleInput,\r\n TeachingSchedule,\r\n TeachingScheduleListQuery,\r\n UpdateTeachingScheduleInput,\r\n};\r\n"]}
@@ -1,6 +1,6 @@
1
- import { API_ENDPOINTS } from './chunk-MRFGUSN2.js';
1
+ import { API_ENDPOINTS } from './chunk-Q5ZX6TKB.js';
2
2
  import { getData, postData, putData } from './chunk-6JGO2CUT.js';
3
- import { academicYearKeys } from './chunk-ALMSFTRM.js';
3
+ import { academicYearKeys } from './chunk-XNH67ORL.js';
4
4
  import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
5
5
 
6
6
  var ENDPOINT = API_ENDPOINTS.academicYears;
@@ -51,5 +51,5 @@ function useActivateAcademicYear() {
51
51
  }
52
52
 
53
53
  export { activateAcademicYear, createAcademicYear, listAcademicYears, updateAcademicYear, useAcademicYears, useActivateAcademicYear, useCreateAcademicYear, useUpdateAcademicYear };
54
- //# sourceMappingURL=chunk-YK7QFPBF.js.map
55
- //# sourceMappingURL=chunk-YK7QFPBF.js.map
54
+ //# sourceMappingURL=chunk-ROK2DEVT.js.map
55
+ //# sourceMappingURL=chunk-ROK2DEVT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/modules/academic/academic-year.api.ts"],"names":[],"mappings":";;;;;AAWA,IAAM,WAAW,aAAA,CAAc,aAAA;AAE/B,eAAsB,kBACpB,MAAA,EACyB;AACzB,EAAA,OAAO,OAAA,CAAwB,QAAA,EAAU,EAAE,MAAA,EAAQ,CAAA;AACrD;AAEA,eAAsB,mBAAmB,OAAA,EAAyD;AAChG,EAAA,OAAO,QAAA,CAAgD,UAAU,OAAO,CAAA;AAC1E;AAEA,eAAsB,kBAAA,CACpB,IACA,OAAA,EACuB;AACvB,EAAA,OAAO,QAA+C,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,IAAI,OAAO,CAAA;AACpF;AAEA,eAAsB,qBAAqB,EAAA,EAAmC;AAC5E,EAAA,OAAO,QAAA,CAAuB,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,CAAA,SAAA,CAAW,CAAA;AAC5D;AAEO,SAAS,iBAAiB,MAAA,EAAyC;AACxE,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,gBAAA,CAAiB,IAAA,CAAK,MAA6C,CAAA;AAAA,IAC7E,OAAA,EAAS,MAAM,iBAAA,CAAkB,MAAM;AAAA,GACxC,CAAA;AACH;AAEO,SAAS,qBAAA,GAAwB;AACtC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,kBAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAU,gBAAA,CAAiB,KAAK,CAAA;AAAA,IACxE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,qBAAA,GAAwB;AACtC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,CAAC,EAAE,EAAA,EAAI,SAAQ,KACzB,kBAAA,CAAmB,IAAI,OAAO,CAAA;AAAA,IAChC,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAU,gBAAA,CAAiB,KAAK,CAAA;AAAA,IACxE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,uBAAA,GAA0B;AACxC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,oBAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,EAAkB;AAAA,IACtC;AAAA,GACD,CAAA;AACH","file":"chunk-YK7QFPBF.js","sourcesContent":["import type {\r\n AcademicYear,\r\n AcademicYearListQuery,\r\n CreateAcademicYearInput,\r\n UpdateAcademicYearInput,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData, postData, putData } from \"../../client/http\";\r\nimport { academicYearKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.academicYears;\r\n\r\nexport async function listAcademicYears(\r\n params?: Partial<AcademicYearListQuery>\r\n): Promise<AcademicYear[]> {\r\n return getData<AcademicYear[]>(ENDPOINT, { params });\r\n}\r\n\r\nexport async function createAcademicYear(payload: CreateAcademicYearInput): Promise<AcademicYear> {\r\n return postData<AcademicYear, CreateAcademicYearInput>(ENDPOINT, payload);\r\n}\r\n\r\nexport async function updateAcademicYear(\r\n id: string,\r\n payload: UpdateAcademicYearInput\r\n): Promise<AcademicYear> {\r\n return putData<AcademicYear, UpdateAcademicYearInput>(`${ENDPOINT}/${id}`, payload);\r\n}\r\n\r\nexport async function activateAcademicYear(id: string): Promise<AcademicYear> {\r\n return postData<AcademicYear>(`${ENDPOINT}/${id}/activate`);\r\n}\r\n\r\nexport function useAcademicYears(params?: Partial<AcademicYearListQuery>) {\r\n return useQuery({\r\n queryKey: academicYearKeys.list(params as Record<string, unknown> | undefined),\r\n queryFn: () => listAcademicYears(params),\r\n });\r\n}\r\n\r\nexport function useCreateAcademicYear() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: createAcademicYear,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: academicYearKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdateAcademicYear() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({ id, payload }: { id: string; payload: UpdateAcademicYearInput }) =>\r\n updateAcademicYear(id, payload),\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: academicYearKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useActivateAcademicYear() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: activateAcademicYear,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries();\r\n },\r\n });\r\n}\r\n\r\nexport type {\r\n AcademicYear,\r\n AcademicYearListQuery,\r\n CreateAcademicYearInput,\r\n UpdateAcademicYearInput,\r\n};\r\n"]}
1
+ {"version":3,"sources":["../src/modules/academic/academic-year.api.ts"],"names":[],"mappings":";;;;;AAWA,IAAM,WAAW,aAAA,CAAc,aAAA;AAE/B,eAAsB,kBACpB,MAAA,EACyB;AACzB,EAAA,OAAO,OAAA,CAAwB,QAAA,EAAU,EAAE,MAAA,EAAQ,CAAA;AACrD;AAEA,eAAsB,mBAAmB,OAAA,EAAyD;AAChG,EAAA,OAAO,QAAA,CAAgD,UAAU,OAAO,CAAA;AAC1E;AAEA,eAAsB,kBAAA,CACpB,IACA,OAAA,EACuB;AACvB,EAAA,OAAO,QAA+C,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,IAAI,OAAO,CAAA;AACpF;AAEA,eAAsB,qBAAqB,EAAA,EAAmC;AAC5E,EAAA,OAAO,QAAA,CAAuB,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,CAAA,SAAA,CAAW,CAAA;AAC5D;AAEO,SAAS,iBAAiB,MAAA,EAAyC;AACxE,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,gBAAA,CAAiB,IAAA,CAAK,MAA6C,CAAA;AAAA,IAC7E,OAAA,EAAS,MAAM,iBAAA,CAAkB,MAAM;AAAA,GACxC,CAAA;AACH;AAEO,SAAS,qBAAA,GAAwB;AACtC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,kBAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAU,gBAAA,CAAiB,KAAK,CAAA;AAAA,IACxE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,qBAAA,GAAwB;AACtC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,CAAC,EAAE,EAAA,EAAI,SAAQ,KACzB,kBAAA,CAAmB,IAAI,OAAO,CAAA;AAAA,IAChC,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAU,gBAAA,CAAiB,KAAK,CAAA;AAAA,IACxE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,uBAAA,GAA0B;AACxC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,oBAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,EAAkB;AAAA,IACtC;AAAA,GACD,CAAA;AACH","file":"chunk-ROK2DEVT.js","sourcesContent":["import type {\r\n AcademicYear,\r\n AcademicYearListQuery,\r\n CreateAcademicYearInput,\r\n UpdateAcademicYearInput,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData, postData, putData } from \"../../client/http\";\r\nimport { academicYearKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.academicYears;\r\n\r\nexport async function listAcademicYears(\r\n params?: Partial<AcademicYearListQuery>\r\n): Promise<AcademicYear[]> {\r\n return getData<AcademicYear[]>(ENDPOINT, { params });\r\n}\r\n\r\nexport async function createAcademicYear(payload: CreateAcademicYearInput): Promise<AcademicYear> {\r\n return postData<AcademicYear, CreateAcademicYearInput>(ENDPOINT, payload);\r\n}\r\n\r\nexport async function updateAcademicYear(\r\n id: string,\r\n payload: UpdateAcademicYearInput\r\n): Promise<AcademicYear> {\r\n return putData<AcademicYear, UpdateAcademicYearInput>(`${ENDPOINT}/${id}`, payload);\r\n}\r\n\r\nexport async function activateAcademicYear(id: string): Promise<AcademicYear> {\r\n return postData<AcademicYear>(`${ENDPOINT}/${id}/activate`);\r\n}\r\n\r\nexport function useAcademicYears(params?: Partial<AcademicYearListQuery>) {\r\n return useQuery({\r\n queryKey: academicYearKeys.list(params as Record<string, unknown> | undefined),\r\n queryFn: () => listAcademicYears(params),\r\n });\r\n}\r\n\r\nexport function useCreateAcademicYear() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: createAcademicYear,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: academicYearKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdateAcademicYear() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({ id, payload }: { id: string; payload: UpdateAcademicYearInput }) =>\r\n updateAcademicYear(id, payload),\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: academicYearKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useActivateAcademicYear() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: activateAcademicYear,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries();\r\n },\r\n });\r\n}\r\n\r\nexport type {\r\n AcademicYear,\r\n AcademicYearListQuery,\r\n CreateAcademicYearInput,\r\n UpdateAcademicYearInput,\r\n};\r\n"]}
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkQJSOSQ7M_cjs = require('./chunk-QJSOSQ7M.cjs');
3
+ var chunk3TOBH3YY_cjs = require('./chunk-3TOBH3YY.cjs');
4
4
  var chunkNGFFI4XQ_cjs = require('./chunk-NGFFI4XQ.cjs');
5
- var chunkXVG5Z6B5_cjs = require('./chunk-XVG5Z6B5.cjs');
5
+ var chunkHISL2IF2_cjs = require('./chunk-HISL2IF2.cjs');
6
6
  var reactQuery = require('@tanstack/react-query');
7
7
 
8
- var ENDPOINT = chunkQJSOSQ7M_cjs.API_ENDPOINTS.leads;
8
+ var ENDPOINT = chunk3TOBH3YY_cjs.API_ENDPOINTS.leads;
9
9
  async function createLeadInquiry(payload) {
10
10
  return chunkNGFFI4XQ_cjs.postData(`${ENDPOINT}/inquiry`, payload);
11
11
  }
@@ -20,7 +20,7 @@ async function updateLeadStatus(id, status) {
20
20
  }
21
21
  function useLeads(params) {
22
22
  return reactQuery.useQuery({
23
- queryKey: chunkXVG5Z6B5_cjs.leadKeys.list(params),
23
+ queryKey: chunkHISL2IF2_cjs.leadKeys.list(params),
24
24
  queryFn: () => listLeads(params)
25
25
  });
26
26
  }
@@ -35,7 +35,7 @@ function useUpdateLeadStatus() {
35
35
  return reactQuery.useMutation({
36
36
  mutationFn: ({ id, status }) => updateLeadStatus(id, status),
37
37
  onSuccess: async () => {
38
- await queryClient.invalidateQueries({ queryKey: chunkXVG5Z6B5_cjs.leadKeys.all });
38
+ await queryClient.invalidateQueries({ queryKey: chunkHISL2IF2_cjs.leadKeys.all });
39
39
  }
40
40
  });
41
41
  }
@@ -48,5 +48,5 @@ exports.useCreateLeadInquiry = useCreateLeadInquiry;
48
48
  exports.useLeads = useLeads;
49
49
  exports.useRequestDemoSchedule = useRequestDemoSchedule;
50
50
  exports.useUpdateLeadStatus = useUpdateLeadStatus;
51
- //# sourceMappingURL=chunk-AGNLUQKT.cjs.map
52
- //# sourceMappingURL=chunk-AGNLUQKT.cjs.map
51
+ //# sourceMappingURL=chunk-SBBVQ3Z2.cjs.map
52
+ //# sourceMappingURL=chunk-SBBVQ3Z2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/modules/lead/lead.api.ts"],"names":["API_ENDPOINTS","postData","getData","putData","useQuery","leadKeys","useMutation","useQueryClient"],"mappings":";;;;;;;AAWA,IAAM,WAAWA,+BAAA,CAAc,KAAA;AAE/B,eAAsB,kBAAkB,OAAA,EAAuD;AAC7F,EAAA,OAAOC,0BAAA,CAA8C,CAAA,EAAG,QAAQ,CAAA,QAAA,CAAA,EAAY,OAAO,CAAA;AACrF;AAEA,eAAsB,oBACpB,OAAA,EACsB;AACtB,EAAA,OAAOA,0BAAA,CAAgD,CAAA,EAAG,QAAQ,CAAA,aAAA,CAAA,EAAiB,OAAO,CAAA;AAC5F;AAEA,eAAsB,UAAU,MAAA,EAKL;AACzB,EAAA,OAAOC,yBAAA,CAAuB,QAAA,EAAU,EAAE,MAAA,EAAQ,CAAA;AACpD;AAEA,eAAsB,gBAAA,CACpB,IACA,MAAA,EACsB;AACtB,EAAA,OAAOC,yBAAA,CAA6C,GAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,CAAA,OAAA,CAAA,EAAW,EAAE,QAAQ,CAAA;AAC5F;AACO,SAAS,SAAS,MAAA,EAKtB;AACD,EAAA,OAAOC,mBAAA,CAAS;AAAA,IACd,QAAA,EAAUC,0BAAA,CAAS,IAAA,CAAK,MAA6C,CAAA;AAAA,IACrE,OAAA,EAAS,MAAM,SAAA,CAAU,MAAM;AAAA,GAChC,CAAA;AACH;AAEO,SAAS,oBAAA,GAAuB;AACrC,EAAA,OAAOC,sBAAA,CAAY,EAAE,UAAA,EAAY,iBAAA,EAAmB,CAAA;AACtD;AAEO,SAAS,sBAAA,GAAyB;AACvC,EAAA,OAAOA,sBAAA,CAAY,EAAE,UAAA,EAAY,mBAAA,EAAqB,CAAA;AACxD;AAEO,SAAS,mBAAA,GAAsB;AACpC,EAAA,MAAM,cAAcC,yBAAA,EAAe;AACnC,EAAA,OAAOD,sBAAA,CAAY;AAAA,IACjB,UAAA,EAAY,CAAC,EAAE,EAAA,EAAI,QAAO,KACxB,gBAAA,CAAiB,IAAI,MAAM,CAAA;AAAA,IAC7B,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAUD,0BAAA,CAAS,KAAK,CAAA;AAAA,IAChE;AAAA,GACD,CAAA;AACH","file":"chunk-AGNLUQKT.cjs","sourcesContent":["import type {\r\n CreateLeadInquiryInput,\r\n DemoScheduleRequestInput,\r\n LeadInquiry,\r\n LeadStatus,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData, postData, putData } from \"../../client/http\";\r\nimport { leadKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.leads;\r\n\r\nexport async function createLeadInquiry(payload: CreateLeadInquiryInput): Promise<LeadInquiry> {\r\n return postData<LeadInquiry, CreateLeadInquiryInput>(`${ENDPOINT}/inquiry`, payload);\r\n}\r\n\r\nexport async function requestDemoSchedule(\r\n payload: DemoScheduleRequestInput\r\n): Promise<LeadInquiry> {\r\n return postData<LeadInquiry, DemoScheduleRequestInput>(`${ENDPOINT}/demo-request`, payload);\r\n}\r\n\r\nexport async function listLeads(params?: {\r\n status?: LeadStatus;\r\n page?: number;\r\n limit?: number;\r\n search?: string;\r\n}): Promise<LeadInquiry[]> {\r\n return getData<LeadInquiry[]>(ENDPOINT, { params });\r\n}\r\n\r\nexport async function updateLeadStatus(\r\n id: string,\r\n status: LeadStatus\r\n): Promise<LeadInquiry> {\r\n return putData<LeadInquiry, { status: LeadStatus }>(`${ENDPOINT}/${id}/status`, { status });\r\n}\r\nexport function useLeads(params?: {\r\n status?: LeadStatus;\r\n page?: number;\r\n limit?: number;\r\n search?: string;\r\n}) {\r\n return useQuery({\r\n queryKey: leadKeys.list(params as Record<string, unknown> | undefined),\r\n queryFn: () => listLeads(params),\r\n });\r\n}\r\n\r\nexport function useCreateLeadInquiry() {\r\n return useMutation({ mutationFn: createLeadInquiry });\r\n}\r\n\r\nexport function useRequestDemoSchedule() {\r\n return useMutation({ mutationFn: requestDemoSchedule });\r\n}\r\n\r\nexport function useUpdateLeadStatus() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({ id, status }: { id: string; status: LeadStatus }) =>\r\n updateLeadStatus(id, status),\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: leadKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport type { CreateLeadInquiryInput, DemoScheduleRequestInput, LeadInquiry, LeadStatus };\r\n"]}
1
+ {"version":3,"sources":["../src/modules/lead/lead.api.ts"],"names":["API_ENDPOINTS","postData","getData","putData","useQuery","leadKeys","useMutation","useQueryClient"],"mappings":";;;;;;;AAWA,IAAM,WAAWA,+BAAA,CAAc,KAAA;AAE/B,eAAsB,kBAAkB,OAAA,EAAuD;AAC7F,EAAA,OAAOC,0BAAA,CAA8C,CAAA,EAAG,QAAQ,CAAA,QAAA,CAAA,EAAY,OAAO,CAAA;AACrF;AAEA,eAAsB,oBACpB,OAAA,EACsB;AACtB,EAAA,OAAOA,0BAAA,CAAgD,CAAA,EAAG,QAAQ,CAAA,aAAA,CAAA,EAAiB,OAAO,CAAA;AAC5F;AAEA,eAAsB,UAAU,MAAA,EAKL;AACzB,EAAA,OAAOC,yBAAA,CAAuB,QAAA,EAAU,EAAE,MAAA,EAAQ,CAAA;AACpD;AAEA,eAAsB,gBAAA,CACpB,IACA,MAAA,EACsB;AACtB,EAAA,OAAOC,yBAAA,CAA6C,GAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,CAAA,OAAA,CAAA,EAAW,EAAE,QAAQ,CAAA;AAC5F;AACO,SAAS,SAAS,MAAA,EAKtB;AACD,EAAA,OAAOC,mBAAA,CAAS;AAAA,IACd,QAAA,EAAUC,0BAAA,CAAS,IAAA,CAAK,MAA6C,CAAA;AAAA,IACrE,OAAA,EAAS,MAAM,SAAA,CAAU,MAAM;AAAA,GAChC,CAAA;AACH;AAEO,SAAS,oBAAA,GAAuB;AACrC,EAAA,OAAOC,sBAAA,CAAY,EAAE,UAAA,EAAY,iBAAA,EAAmB,CAAA;AACtD;AAEO,SAAS,sBAAA,GAAyB;AACvC,EAAA,OAAOA,sBAAA,CAAY,EAAE,UAAA,EAAY,mBAAA,EAAqB,CAAA;AACxD;AAEO,SAAS,mBAAA,GAAsB;AACpC,EAAA,MAAM,cAAcC,yBAAA,EAAe;AACnC,EAAA,OAAOD,sBAAA,CAAY;AAAA,IACjB,UAAA,EAAY,CAAC,EAAE,EAAA,EAAI,QAAO,KACxB,gBAAA,CAAiB,IAAI,MAAM,CAAA;AAAA,IAC7B,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAUD,0BAAA,CAAS,KAAK,CAAA;AAAA,IAChE;AAAA,GACD,CAAA;AACH","file":"chunk-SBBVQ3Z2.cjs","sourcesContent":["import type {\r\n CreateLeadInquiryInput,\r\n DemoScheduleRequestInput,\r\n LeadInquiry,\r\n LeadStatus,\r\n} from \"@sekolaos/shared-schema\";\r\nimport { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData, postData, putData } from \"../../client/http\";\r\nimport { leadKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.leads;\r\n\r\nexport async function createLeadInquiry(payload: CreateLeadInquiryInput): Promise<LeadInquiry> {\r\n return postData<LeadInquiry, CreateLeadInquiryInput>(`${ENDPOINT}/inquiry`, payload);\r\n}\r\n\r\nexport async function requestDemoSchedule(\r\n payload: DemoScheduleRequestInput\r\n): Promise<LeadInquiry> {\r\n return postData<LeadInquiry, DemoScheduleRequestInput>(`${ENDPOINT}/demo-request`, payload);\r\n}\r\n\r\nexport async function listLeads(params?: {\r\n status?: LeadStatus;\r\n page?: number;\r\n limit?: number;\r\n search?: string;\r\n}): Promise<LeadInquiry[]> {\r\n return getData<LeadInquiry[]>(ENDPOINT, { params });\r\n}\r\n\r\nexport async function updateLeadStatus(\r\n id: string,\r\n status: LeadStatus\r\n): Promise<LeadInquiry> {\r\n return putData<LeadInquiry, { status: LeadStatus }>(`${ENDPOINT}/${id}/status`, { status });\r\n}\r\nexport function useLeads(params?: {\r\n status?: LeadStatus;\r\n page?: number;\r\n limit?: number;\r\n search?: string;\r\n}) {\r\n return useQuery({\r\n queryKey: leadKeys.list(params as Record<string, unknown> | undefined),\r\n queryFn: () => listLeads(params),\r\n });\r\n}\r\n\r\nexport function useCreateLeadInquiry() {\r\n return useMutation({ mutationFn: createLeadInquiry });\r\n}\r\n\r\nexport function useRequestDemoSchedule() {\r\n return useMutation({ mutationFn: requestDemoSchedule });\r\n}\r\n\r\nexport function useUpdateLeadStatus() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({ id, status }: { id: string; status: LeadStatus }) =>\r\n updateLeadStatus(id, status),\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: leadKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport type { CreateLeadInquiryInput, DemoScheduleRequestInput, LeadInquiry, LeadStatus };\r\n"]}
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkQJSOSQ7M_cjs = require('./chunk-QJSOSQ7M.cjs');
3
+ var chunk3TOBH3YY_cjs = require('./chunk-3TOBH3YY.cjs');
4
4
  var chunkNGFFI4XQ_cjs = require('./chunk-NGFFI4XQ.cjs');
5
5
  var reactQuery = require('@tanstack/react-query');
6
6
 
7
- var ENDPOINT = chunkQJSOSQ7M_cjs.API_ENDPOINTS.uploads;
7
+ var ENDPOINT = chunk3TOBH3YY_cjs.API_ENDPOINTS.uploads;
8
8
  async function uploadTenantLogo(file) {
9
9
  return uploadSingle(`${ENDPOINT}/tenant-logo`, file);
10
10
  }
@@ -27,5 +27,5 @@ exports.uploadStudentPhoto = uploadStudentPhoto;
27
27
  exports.uploadTenantLogo = uploadTenantLogo;
28
28
  exports.useUploadStudentPhoto = useUploadStudentPhoto;
29
29
  exports.useUploadTenantLogo = useUploadTenantLogo;
30
- //# sourceMappingURL=chunk-BOASJ3VG.cjs.map
31
- //# sourceMappingURL=chunk-BOASJ3VG.cjs.map
30
+ //# sourceMappingURL=chunk-TO5MBW6Z.cjs.map
31
+ //# sourceMappingURL=chunk-TO5MBW6Z.cjs.map