@sekolaos/shared-api 1.2.0 → 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 (105) hide show
  1. package/dist/{chunk-T2TWWLVZ.cjs → chunk-23XAR4OH.cjs} +11 -11
  2. package/dist/{chunk-T2TWWLVZ.cjs.map → chunk-23XAR4OH.cjs.map} +1 -1
  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-WPMDE5ZF.cjs → chunk-AMKVNGY4.cjs} +13 -13
  10. package/dist/{chunk-WPMDE5ZF.cjs.map → chunk-AMKVNGY4.cjs.map} +1 -1
  11. package/dist/{chunk-SSPEC3OA.cjs → chunk-BBJBCD2K.cjs} +8 -8
  12. package/dist/{chunk-SSPEC3OA.cjs.map → chunk-BBJBCD2K.cjs.map} +1 -1
  13. package/dist/{chunk-LNGJA2UL.js → chunk-CSEMYBBZ.js} +4 -4
  14. package/dist/{chunk-LNGJA2UL.js.map → chunk-CSEMYBBZ.js.map} +1 -1
  15. package/dist/{chunk-LMSX35HO.js → chunk-DATSHIPR.js} +4 -4
  16. package/dist/{chunk-LMSX35HO.js.map → chunk-DATSHIPR.js.map} +1 -1
  17. package/dist/{chunk-XOFGB2GD.js → chunk-FVPR2MOB.js} +4 -4
  18. package/dist/{chunk-XOFGB2GD.js.map → chunk-FVPR2MOB.js.map} +1 -1
  19. package/dist/chunk-H3CE34TG.js +14 -0
  20. package/dist/chunk-H3CE34TG.js.map +1 -0
  21. package/dist/{chunk-N7CHJ3EM.cjs → chunk-HISL2IF2.cjs} +2 -2
  22. package/dist/{chunk-N7CHJ3EM.cjs.map → chunk-HISL2IF2.cjs.map} +1 -1
  23. package/dist/{chunk-A5QDNC7Y.js → chunk-ID3UGFZZ.js} +4 -4
  24. package/dist/{chunk-A5QDNC7Y.js.map → chunk-ID3UGFZZ.js.map} +1 -1
  25. package/dist/chunk-JGCFIGB3.js +129 -0
  26. package/dist/chunk-JGCFIGB3.js.map +1 -0
  27. package/dist/{chunk-DUULXOBJ.cjs → chunk-JVX37TC5.cjs} +11 -11
  28. package/dist/{chunk-DUULXOBJ.cjs.map → chunk-JVX37TC5.cjs.map} +1 -1
  29. package/dist/{chunk-DBKYIIPQ.cjs → chunk-KB4TZTAC.cjs} +11 -11
  30. package/dist/{chunk-DBKYIIPQ.cjs.map → chunk-KB4TZTAC.cjs.map} +1 -1
  31. package/dist/{chunk-6TPAWAST.cjs → chunk-LS4ZQRFS.cjs} +13 -13
  32. package/dist/{chunk-6TPAWAST.cjs.map → chunk-LS4ZQRFS.cjs.map} +1 -1
  33. package/dist/{chunk-2IFQLECT.cjs → chunk-N4OBLYCQ.cjs} +8 -8
  34. package/dist/{chunk-2IFQLECT.cjs.map → chunk-N4OBLYCQ.cjs.map} +1 -1
  35. package/dist/{chunk-S7N3GQOE.js → chunk-NCENQB6W.js} +4 -4
  36. package/dist/{chunk-S7N3GQOE.js.map → chunk-NCENQB6W.js.map} +1 -1
  37. package/dist/{chunk-WMH2DW3N.js → chunk-NPR4GLFZ.js} +4 -4
  38. package/dist/{chunk-WMH2DW3N.js.map → chunk-NPR4GLFZ.js.map} +1 -1
  39. package/dist/{chunk-HTGZJQNS.cjs → chunk-OVHSXH7Z.cjs} +9 -9
  40. package/dist/{chunk-HTGZJQNS.cjs.map → chunk-OVHSXH7Z.cjs.map} +1 -1
  41. package/dist/{chunk-BQDHQTPK.js → chunk-PMN2DTYF.js} +4 -4
  42. package/dist/{chunk-BQDHQTPK.js.map → chunk-PMN2DTYF.js.map} +1 -1
  43. package/dist/{chunk-ANLONSKR.js → chunk-PQFTPOP4.js} +4 -4
  44. package/dist/{chunk-ANLONSKR.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-ZPJ5WHAK.js → chunk-RDW4IZWK.js} +4 -4
  48. package/dist/{chunk-ZPJ5WHAK.js.map → chunk-RDW4IZWK.js.map} +1 -1
  49. package/dist/{chunk-T6NCBXWC.js → chunk-ROK2DEVT.js} +4 -4
  50. package/dist/{chunk-T6NCBXWC.js.map → chunk-ROK2DEVT.js.map} +1 -1
  51. package/dist/{chunk-JZP57ZKZ.cjs → chunk-SBBVQ3Z2.cjs} +7 -7
  52. package/dist/{chunk-JZP57ZKZ.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-ZDBSD2VY.js → chunk-U7YG2GA7.js} +4 -4
  56. package/dist/{chunk-ZDBSD2VY.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-PDMQWMZM.js → chunk-XNH67ORL.js} +2 -2
  60. package/dist/{chunk-PDMQWMZM.js.map → chunk-XNH67ORL.js.map} +1 -1
  61. package/dist/{chunk-7XRQ255H.cjs → chunk-Y4YURM53.cjs} +14 -14
  62. package/dist/{chunk-7XRQ255H.cjs.map → chunk-Y4YURM53.cjs.map} +1 -1
  63. package/dist/{chunk-DYBHD45V.cjs → chunk-ZPEEFUEC.cjs} +6 -6
  64. package/dist/{chunk-DYBHD45V.cjs.map → chunk-ZPEEFUEC.cjs.map} +1 -1
  65. package/dist/index.cjs +274 -184
  66. package/dist/index.d.cts +8 -2
  67. package/dist/index.d.ts +8 -2
  68. package/dist/index.js +16 -14
  69. package/dist/keys/index.cjs +18 -13
  70. package/dist/keys/index.d.cts +13 -1
  71. package/dist/keys/index.d.ts +13 -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.js +4 -3
  77. package/dist/modules/auth/index.cjs +16 -15
  78. package/dist/modules/auth/index.js +4 -3
  79. package/dist/modules/classroom/index.cjs +16 -15
  80. package/dist/modules/classroom/index.js +4 -3
  81. package/dist/modules/lead/index.cjs +12 -11
  82. package/dist/modules/lead/index.js +4 -3
  83. package/dist/modules/platform-admin/index.cjs +96 -0
  84. package/dist/modules/platform-admin/index.cjs.map +1 -0
  85. package/dist/modules/platform-admin/index.d.cts +125 -0
  86. package/dist/modules/platform-admin/index.d.ts +125 -0
  87. package/dist/modules/platform-admin/index.js +7 -0
  88. package/dist/modules/platform-admin/index.js.map +1 -0
  89. package/dist/modules/student/index.cjs +20 -19
  90. package/dist/modules/student/index.js +4 -3
  91. package/dist/modules/subject/index.cjs +10 -9
  92. package/dist/modules/subject/index.js +4 -3
  93. package/dist/modules/system/index.cjs +6 -5
  94. package/dist/modules/system/index.js +4 -3
  95. package/dist/modules/teaching-schedule/index.cjs +16 -15
  96. package/dist/modules/teaching-schedule/index.js +4 -3
  97. package/dist/modules/tenant/index.cjs +18 -17
  98. package/dist/modules/tenant/index.js +4 -3
  99. package/dist/modules/upload/index.cjs +6 -6
  100. package/dist/modules/upload/index.js +2 -2
  101. package/dist/modules/user/index.cjs +16 -15
  102. package/dist/modules/user/index.js +4 -3
  103. package/package.json +138 -137
  104. package/dist/chunk-MRFGUSN2.js.map +0 -1
  105. package/dist/chunk-QJSOSQ7M.cjs.map +0 -1
@@ -0,0 +1,151 @@
1
+ 'use strict';
2
+
3
+ var chunk3TOBH3YY_cjs = require('./chunk-3TOBH3YY.cjs');
4
+ var chunkNGFFI4XQ_cjs = require('./chunk-NGFFI4XQ.cjs');
5
+ var chunk5KSKHZWB_cjs = require('./chunk-5KSKHZWB.cjs');
6
+ var reactQuery = require('@tanstack/react-query');
7
+
8
+ var AUTH = chunk3TOBH3YY_cjs.API_ENDPOINTS.platformAdminAuth;
9
+ var DASHBOARD = chunk3TOBH3YY_cjs.API_ENDPOINTS.platformAdminDashboard;
10
+ var TENANTS = chunk3TOBH3YY_cjs.API_ENDPOINTS.platformAdminTenants;
11
+ var LEADS = chunk3TOBH3YY_cjs.API_ENDPOINTS.platformAdminLeads;
12
+ var AUDIT_LOGS = chunk3TOBH3YY_cjs.API_ENDPOINTS.platformAdminAuditLogs;
13
+ async function platformAdminLogin(payload) {
14
+ return chunkNGFFI4XQ_cjs.postData(`${AUTH}/login`, payload);
15
+ }
16
+ async function getPlatformMe() {
17
+ return chunkNGFFI4XQ_cjs.getData(`${AUTH}/me`);
18
+ }
19
+ async function platformAdminLogout() {
20
+ return chunkNGFFI4XQ_cjs.postData(`${AUTH}/logout`);
21
+ }
22
+ async function getPlatformMetrics() {
23
+ return chunkNGFFI4XQ_cjs.getData(`${DASHBOARD}/metrics`);
24
+ }
25
+ async function getPlatformTenants(params) {
26
+ return chunkNGFFI4XQ_cjs.getPaginated(TENANTS, { params });
27
+ }
28
+ async function provisionTenant(payload) {
29
+ return chunkNGFFI4XQ_cjs.postData(`${TENANTS}/provision`, payload);
30
+ }
31
+ async function updatePlatformTenantStatus(tenantId, payload) {
32
+ return chunkNGFFI4XQ_cjs.patchData(
33
+ `${TENANTS}/${tenantId}/status`,
34
+ payload
35
+ );
36
+ }
37
+ async function updatePlatformTenantModules(tenantId, payload) {
38
+ return chunkNGFFI4XQ_cjs.putData(`${TENANTS}/${tenantId}/modules`, payload);
39
+ }
40
+ async function createImpersonationToken(tenantId) {
41
+ return chunkNGFFI4XQ_cjs.postData(`${TENANTS}/${tenantId}/impersonate`);
42
+ }
43
+ async function getPlatformLeads(params) {
44
+ return chunkNGFFI4XQ_cjs.getPaginated(LEADS, { params });
45
+ }
46
+ async function updatePlatformLeadStatus(leadId, status) {
47
+ return chunkNGFFI4XQ_cjs.patchData(
48
+ `${LEADS}/${leadId}/status`,
49
+ { status }
50
+ );
51
+ }
52
+ async function getPlatformAuditLogs(params) {
53
+ return chunkNGFFI4XQ_cjs.getData(AUDIT_LOGS, { params });
54
+ }
55
+ function usePlatformMe() {
56
+ return reactQuery.useQuery({
57
+ queryKey: chunk5KSKHZWB_cjs.platformAdminKeys.me(),
58
+ queryFn: getPlatformMe,
59
+ staleTime: 5 * 60 * 1e3
60
+ });
61
+ }
62
+ function usePlatformMetrics() {
63
+ return reactQuery.useQuery({
64
+ queryKey: chunk5KSKHZWB_cjs.platformAdminKeys.metrics(),
65
+ queryFn: getPlatformMetrics,
66
+ refetchInterval: 30 * 1e3
67
+ });
68
+ }
69
+ function usePlatformTenants(params) {
70
+ return reactQuery.useQuery({
71
+ queryKey: chunk5KSKHZWB_cjs.platformAdminKeys.tenants(params),
72
+ queryFn: () => getPlatformTenants(params)
73
+ });
74
+ }
75
+ function useProvisionTenantMutation() {
76
+ const queryClient = reactQuery.useQueryClient();
77
+ return reactQuery.useMutation({
78
+ mutationFn: provisionTenant,
79
+ onSuccess: async () => {
80
+ await queryClient.invalidateQueries({ queryKey: chunk5KSKHZWB_cjs.platformAdminKeys.all });
81
+ }
82
+ });
83
+ }
84
+ function useUpdatePlatformTenantStatusMutation() {
85
+ const queryClient = reactQuery.useQueryClient();
86
+ return reactQuery.useMutation({
87
+ mutationFn: ({
88
+ tenantId,
89
+ payload
90
+ }) => updatePlatformTenantStatus(tenantId, payload),
91
+ onSuccess: async () => {
92
+ await queryClient.invalidateQueries({ queryKey: chunk5KSKHZWB_cjs.platformAdminKeys.all });
93
+ }
94
+ });
95
+ }
96
+ function useUpdatePlatformTenantModulesMutation() {
97
+ const queryClient = reactQuery.useQueryClient();
98
+ return reactQuery.useMutation({
99
+ mutationFn: ({
100
+ tenantId,
101
+ payload
102
+ }) => updatePlatformTenantModules(tenantId, payload),
103
+ onSuccess: async () => {
104
+ await queryClient.invalidateQueries({ queryKey: chunk5KSKHZWB_cjs.platformAdminKeys.all });
105
+ }
106
+ });
107
+ }
108
+ function usePlatformLeads(params) {
109
+ return reactQuery.useQuery({
110
+ queryKey: chunk5KSKHZWB_cjs.platformAdminKeys.leads(params),
111
+ queryFn: () => getPlatformLeads(params)
112
+ });
113
+ }
114
+ function useUpdatePlatformLeadStatusMutation() {
115
+ const queryClient = reactQuery.useQueryClient();
116
+ return reactQuery.useMutation({
117
+ mutationFn: ({ leadId, status }) => updatePlatformLeadStatus(leadId, status),
118
+ onSuccess: async () => {
119
+ await queryClient.invalidateQueries({ queryKey: chunk5KSKHZWB_cjs.platformAdminKeys.leads() });
120
+ }
121
+ });
122
+ }
123
+ function useImpersonateTenantMutation() {
124
+ return reactQuery.useMutation({
125
+ mutationFn: createImpersonationToken
126
+ });
127
+ }
128
+
129
+ exports.createImpersonationToken = createImpersonationToken;
130
+ exports.getPlatformAuditLogs = getPlatformAuditLogs;
131
+ exports.getPlatformLeads = getPlatformLeads;
132
+ exports.getPlatformMe = getPlatformMe;
133
+ exports.getPlatformMetrics = getPlatformMetrics;
134
+ exports.getPlatformTenants = getPlatformTenants;
135
+ exports.platformAdminLogin = platformAdminLogin;
136
+ exports.platformAdminLogout = platformAdminLogout;
137
+ exports.provisionTenant = provisionTenant;
138
+ exports.updatePlatformLeadStatus = updatePlatformLeadStatus;
139
+ exports.updatePlatformTenantModules = updatePlatformTenantModules;
140
+ exports.updatePlatformTenantStatus = updatePlatformTenantStatus;
141
+ exports.useImpersonateTenantMutation = useImpersonateTenantMutation;
142
+ exports.usePlatformLeads = usePlatformLeads;
143
+ exports.usePlatformMe = usePlatformMe;
144
+ exports.usePlatformMetrics = usePlatformMetrics;
145
+ exports.usePlatformTenants = usePlatformTenants;
146
+ exports.useProvisionTenantMutation = useProvisionTenantMutation;
147
+ exports.useUpdatePlatformLeadStatusMutation = useUpdatePlatformLeadStatusMutation;
148
+ exports.useUpdatePlatformTenantModulesMutation = useUpdatePlatformTenantModulesMutation;
149
+ exports.useUpdatePlatformTenantStatusMutation = useUpdatePlatformTenantStatusMutation;
150
+ //# sourceMappingURL=chunk-XINNTOCO.cjs.map
151
+ //# sourceMappingURL=chunk-XINNTOCO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/modules/platform-admin/platform-admin.api.ts"],"names":["API_ENDPOINTS","postData","getData","getPaginated","patchData","putData","useQuery","platformAdminKeys","useQueryClient","useMutation"],"mappings":"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","file":"chunk-XINNTOCO.cjs","sourcesContent":["import type {\r\n LeadInquiry,\r\n LeadStatus,\r\n PlatformLoginRequest,\r\n PlatformMetricsResponse,\r\n PlatformUser,\r\n ProvisionTenantRequest,\r\n PaginationQuery,\r\n Tenant,\r\n TenantStatus,\r\n UpdateTenantModuleConfig,\r\n UpdateTenantStatusRequest,\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, getPaginated, postData, patchData, putData } from \"../../client/http\";\r\nimport type { PaginatedData } from \"../../client/types\";\r\nimport { platformAdminKeys } from \"../../keys/platform-admin.keys\";\r\n\r\nconst AUTH = API_ENDPOINTS.platformAdminAuth;\r\nconst DASHBOARD = API_ENDPOINTS.platformAdminDashboard;\r\nconst TENANTS = API_ENDPOINTS.platformAdminTenants;\r\nconst LEADS = API_ENDPOINTS.platformAdminLeads;\r\nconst AUDIT_LOGS = API_ENDPOINTS.platformAdminAuditLogs;\r\n\r\n// ── Autentikasi Platform ──────────────────────────────────────────────────\r\n\r\nexport async function platformAdminLogin(\r\n payload: PlatformLoginRequest\r\n): Promise<PlatformUser> {\r\n return postData<PlatformUser, PlatformLoginRequest>(`${AUTH}/login`, payload);\r\n}\r\n\r\nexport async function getPlatformMe(): Promise<PlatformUser> {\r\n return getData<PlatformUser>(`${AUTH}/me`);\r\n}\r\n\r\nexport async function platformAdminLogout(): Promise<void> {\r\n return postData<void>(`${AUTH}/logout`);\r\n}\r\n\r\n// ── Metrik Dashboard ──────────────────────────────────────────────────────\r\n\r\nexport async function getPlatformMetrics(): Promise<PlatformMetricsResponse> {\r\n return getData<PlatformMetricsResponse>(`${DASHBOARD}/metrics`);\r\n}\r\n\r\n// ── Manajemen Tenant ──────────────────────────────────────────────────────\r\n\r\nexport async function getPlatformTenants(\r\n params?: PaginationQuery\r\n): Promise<PaginatedData<Tenant>> {\r\n return getPaginated<Tenant>(TENANTS, { params });\r\n}\r\n\r\nexport async function provisionTenant(\r\n payload: ProvisionTenantRequest\r\n): Promise<Tenant> {\r\n return postData<Tenant, ProvisionTenantRequest>(`${TENANTS}/provision`, payload);\r\n}\r\n\r\nexport async function updatePlatformTenantStatus(\r\n tenantId: string,\r\n payload: UpdateTenantStatusRequest\r\n): Promise<{ tenantId: string; status: TenantStatus }> {\r\n return patchData<{ tenantId: string; status: TenantStatus }, UpdateTenantStatusRequest>(\r\n `${TENANTS}/${tenantId}/status`,\r\n payload\r\n );\r\n}\r\n\r\nexport async function updatePlatformTenantModules(\r\n tenantId: string,\r\n payload: UpdateTenantModuleConfig\r\n): Promise<void> {\r\n return putData<void, UpdateTenantModuleConfig>(`${TENANTS}/${tenantId}/modules`, payload);\r\n}\r\n\r\nexport interface ImpersonationTokenResult {\r\n token: string;\r\n targetUrl: string;\r\n}\r\n\r\nexport async function createImpersonationToken(\r\n tenantId: string\r\n): Promise<ImpersonationTokenResult> {\r\n return postData<ImpersonationTokenResult>(`${TENANTS}/${tenantId}/impersonate`);\r\n}\r\n\r\n// ── Inbound Leads ─────────────────────────────────────────────────────────\r\n\r\nexport async function getPlatformLeads(\r\n params?: PaginationQuery\r\n): Promise<PaginatedData<LeadInquiry>> {\r\n return getPaginated<LeadInquiry>(LEADS, { params });\r\n}\r\n\r\nexport async function updatePlatformLeadStatus(\r\n leadId: string,\r\n status: LeadStatus\r\n): Promise<LeadInquiry> {\r\n return patchData<LeadInquiry, { status: LeadStatus }>(\r\n `${LEADS}/${leadId}/status`,\r\n { status }\r\n );\r\n}\r\n\r\n// ── Audit Logs ────────────────────────────────────────────────────────────\r\n\r\nexport async function getPlatformAuditLogs(\r\n params?: PaginationQuery\r\n): Promise<unknown> {\r\n return getData<unknown>(AUDIT_LOGS, { params });\r\n}\r\n\r\n// ── React Query Hooks ─────────────────────────────────────────────────────\r\n\r\nexport function usePlatformMe() {\r\n return useQuery({\r\n queryKey: platformAdminKeys.me(),\r\n queryFn: getPlatformMe,\r\n staleTime: 5 * 60 * 1000,\r\n });\r\n}\r\n\r\nexport function usePlatformMetrics() {\r\n return useQuery({\r\n queryKey: platformAdminKeys.metrics(),\r\n queryFn: getPlatformMetrics,\r\n refetchInterval: 30 * 1000,\r\n });\r\n}\r\n\r\nexport function usePlatformTenants(params?: PaginationQuery) {\r\n return useQuery({\r\n queryKey: platformAdminKeys.tenants(params),\r\n queryFn: () => getPlatformTenants(params),\r\n });\r\n}\r\n\r\nexport function useProvisionTenantMutation() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: provisionTenant,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: platformAdminKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdatePlatformTenantStatusMutation() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({\r\n tenantId,\r\n payload,\r\n }: {\r\n tenantId: string;\r\n payload: UpdateTenantStatusRequest;\r\n }) => updatePlatformTenantStatus(tenantId, payload),\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: platformAdminKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdatePlatformTenantModulesMutation() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({\r\n tenantId,\r\n payload,\r\n }: {\r\n tenantId: string;\r\n payload: UpdateTenantModuleConfig;\r\n }) => updatePlatformTenantModules(tenantId, payload),\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: platformAdminKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function usePlatformLeads(params?: PaginationQuery) {\r\n return useQuery({\r\n queryKey: platformAdminKeys.leads(params),\r\n queryFn: () => getPlatformLeads(params),\r\n });\r\n}\r\n\r\nexport function useUpdatePlatformLeadStatusMutation() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({ leadId, status }: { leadId: string; status: LeadStatus }) =>\r\n updatePlatformLeadStatus(leadId, status),\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: platformAdminKeys.leads() });\r\n },\r\n });\r\n}\r\n\r\nexport function useImpersonateTenantMutation() {\r\n return useMutation({\r\n mutationFn: createImpersonationToken,\r\n });\r\n}\r\n\r\nexport type {\r\n LeadInquiry,\r\n LeadStatus,\r\n PlatformLoginRequest,\r\n PlatformMetricsResponse,\r\n PlatformUser,\r\n ProvisionTenantRequest,\r\n PaginationQuery,\r\n Tenant,\r\n TenantStatus,\r\n UpdateTenantModuleConfig,\r\n UpdateTenantStatusRequest,\r\n};\r\n"]}
@@ -63,5 +63,5 @@ var systemKeys = {
63
63
  };
64
64
 
65
65
  export { academicYearKeys, attendanceKeys, authKeys, classroomKeys, leadKeys, scheduleKeys, studentKeys, subjectKeys, systemKeys, tenantKeys, uploadKeys, userKeys };
66
- //# sourceMappingURL=chunk-PDMQWMZM.js.map
67
- //# sourceMappingURL=chunk-PDMQWMZM.js.map
66
+ //# sourceMappingURL=chunk-XNH67ORL.js.map
67
+ //# sourceMappingURL=chunk-XNH67ORL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/keys/index.ts"],"names":[],"mappings":"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","file":"chunk-PDMQWMZM.js","sourcesContent":["type Params = Record<string, unknown> | undefined;\r\n\r\nexport const authKeys = {\r\n all: [\"auth\"] as const,\r\n me: () => [...authKeys.all, \"me\"] as const,\r\n selectTenant: () => [...authKeys.all, \"select-tenant\"] as const,\r\n};\r\n\r\nexport const tenantKeys = {\r\n all: [\"tenants\"] as const,\r\n current: () => [...tenantKeys.all, \"current\"] as const,\r\n modules: () => [...tenantKeys.all, \"modules\"] as const,\r\n shifts: (params?: Params) => [...tenantKeys.all, \"shifts\", params ?? {}] as const,\r\n shiftDetail: (targetType: \"SISWA\" | \"GURU\") => [...tenantKeys.all, \"shifts\", targetType] as const,\r\n};\r\n\r\nexport const academicYearKeys = {\r\n all: [\"academic-years\"] as const,\r\n list: (params?: Params) => [...academicYearKeys.all, \"list\", params ?? {}] as const,\r\n detail: (id: string) => [...academicYearKeys.all, \"detail\", id] as const,\r\n};\r\n\r\nexport const subjectKeys = {\r\n all: [\"subjects\"] as const,\r\n list: (params?: Params) => [...subjectKeys.all, \"list\", params ?? {}] as const,\r\n};\r\n\r\nexport const classroomKeys = {\r\n all: [\"classrooms\"] as const,\r\n list: (params?: Params) => [...classroomKeys.all, \"list\", params ?? {}] as const,\r\n detail: (id: string) => [...classroomKeys.all, \"detail\", id] as const,\r\n students: (id: string) => [...classroomKeys.detail(id), \"students\"] as const,\r\n};\r\n\r\nexport const studentKeys = {\r\n all: [\"students\"] as const,\r\n list: (params?: Params) => [...studentKeys.all, \"list\", params ?? {}] as const,\r\n detail: (id: string) => [...studentKeys.all, \"detail\", id] as const,\r\n kioskCache: () => [...studentKeys.all, \"kiosk-cache\"] as const,\r\n qrCode: (id: string) => [...studentKeys.detail(id), \"qr-code\"] as const,\r\n};\r\n\r\nexport const scheduleKeys = {\r\n all: [\"teaching-schedules\"] as const,\r\n list: (params?: Params) => [...scheduleKeys.all, \"list\", params ?? {}] as const,\r\n conflicts: (params: Record<string, unknown>) => [...scheduleKeys.all, \"conflicts\", params] as const,\r\n};\r\n\r\nexport const attendanceKeys = {\r\n all: [\"attendance\"] as const,\r\n history: (params: Record<string, unknown>) => [...attendanceKeys.all, \"history\", params] as const,\r\n dynamicQrStream: (params?: Record<string, unknown>) =>\r\n [...attendanceKeys.all, \"dynamic-qr\", params ?? {}] as const,\r\n picketSchedules: (params?: Params) => [...attendanceKeys.all, \"picket-schedules\", params ?? {}] as const,\r\n};\r\n\r\nexport const userKeys = {\r\n all: [\"users\"] as const,\r\n roles: () => [...userKeys.all, \"roles\"] as const,\r\n teachers: (params?: Params) => [...userKeys.all, \"teachers\", \"list\", params ?? {}] as const,\r\n teacherDetail: (id: string) => [...userKeys.all, \"teachers\", \"detail\", id] as const,\r\n};\r\n\r\nexport const leadKeys = {\r\n all: [\"leads\"] as const,\r\n list: (params?: Params) => [...leadKeys.all, \"list\", params ?? {}] as const,\r\n};\r\n\r\nexport const uploadKeys = {\r\n all: [\"uploads\"] as const,\r\n};\r\n\r\nexport const systemKeys = {\r\n all: [\"system\"] as const,\r\n health: () => [...systemKeys.all, \"health\"] as const,\r\n};\r\n"]}
1
+ {"version":3,"sources":["../src/keys/index.ts"],"names":[],"mappings":"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","file":"chunk-XNH67ORL.js","sourcesContent":["type Params = Record<string, unknown> | undefined;\r\n\r\nexport const authKeys = {\r\n all: [\"auth\"] as const,\r\n me: () => [...authKeys.all, \"me\"] as const,\r\n selectTenant: () => [...authKeys.all, \"select-tenant\"] as const,\r\n};\r\n\r\nexport const tenantKeys = {\r\n all: [\"tenants\"] as const,\r\n current: () => [...tenantKeys.all, \"current\"] as const,\r\n modules: () => [...tenantKeys.all, \"modules\"] as const,\r\n shifts: (params?: Params) => [...tenantKeys.all, \"shifts\", params ?? {}] as const,\r\n shiftDetail: (targetType: \"SISWA\" | \"GURU\") => [...tenantKeys.all, \"shifts\", targetType] as const,\r\n};\r\n\r\nexport const academicYearKeys = {\r\n all: [\"academic-years\"] as const,\r\n list: (params?: Params) => [...academicYearKeys.all, \"list\", params ?? {}] as const,\r\n detail: (id: string) => [...academicYearKeys.all, \"detail\", id] as const,\r\n};\r\n\r\nexport const subjectKeys = {\r\n all: [\"subjects\"] as const,\r\n list: (params?: Params) => [...subjectKeys.all, \"list\", params ?? {}] as const,\r\n};\r\n\r\nexport const classroomKeys = {\r\n all: [\"classrooms\"] as const,\r\n list: (params?: Params) => [...classroomKeys.all, \"list\", params ?? {}] as const,\r\n detail: (id: string) => [...classroomKeys.all, \"detail\", id] as const,\r\n students: (id: string) => [...classroomKeys.detail(id), \"students\"] as const,\r\n};\r\n\r\nexport const studentKeys = {\r\n all: [\"students\"] as const,\r\n list: (params?: Params) => [...studentKeys.all, \"list\", params ?? {}] as const,\r\n detail: (id: string) => [...studentKeys.all, \"detail\", id] as const,\r\n kioskCache: () => [...studentKeys.all, \"kiosk-cache\"] as const,\r\n qrCode: (id: string) => [...studentKeys.detail(id), \"qr-code\"] as const,\r\n};\r\n\r\nexport const scheduleKeys = {\r\n all: [\"teaching-schedules\"] as const,\r\n list: (params?: Params) => [...scheduleKeys.all, \"list\", params ?? {}] as const,\r\n conflicts: (params: Record<string, unknown>) => [...scheduleKeys.all, \"conflicts\", params] as const,\r\n};\r\n\r\nexport const attendanceKeys = {\r\n all: [\"attendance\"] as const,\r\n history: (params: Record<string, unknown>) => [...attendanceKeys.all, \"history\", params] as const,\r\n dynamicQrStream: (params?: Record<string, unknown>) =>\r\n [...attendanceKeys.all, \"dynamic-qr\", params ?? {}] as const,\r\n picketSchedules: (params?: Params) => [...attendanceKeys.all, \"picket-schedules\", params ?? {}] as const,\r\n};\r\n\r\nexport const userKeys = {\r\n all: [\"users\"] as const,\r\n roles: () => [...userKeys.all, \"roles\"] as const,\r\n teachers: (params?: Params) => [...userKeys.all, \"teachers\", \"list\", params ?? {}] as const,\r\n teacherDetail: (id: string) => [...userKeys.all, \"teachers\", \"detail\", id] as const,\r\n};\r\n\r\nexport const leadKeys = {\r\n all: [\"leads\"] as const,\r\n list: (params?: Params) => [...leadKeys.all, \"list\", params ?? {}] as const,\r\n};\r\n\r\nexport const uploadKeys = {\r\n all: [\"uploads\"] as const,\r\n};\r\n\r\nexport const systemKeys = {\r\n all: [\"system\"] as const,\r\n health: () => [...systemKeys.all, \"health\"] as const,\r\n};\r\n\r\nexport * from \"./platform-admin.keys\";\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 chunkN7CHJ3EM_cjs = require('./chunk-N7CHJ3EM.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.students;
8
+ var ENDPOINT = chunk3TOBH3YY_cjs.API_ENDPOINTS.students;
9
9
  async function listStudents(params) {
10
10
  const result = await chunkNGFFI4XQ_cjs.getPaginated(ENDPOINT, { params });
11
11
  return result.items;
@@ -36,20 +36,20 @@ async function bulkImportStudents(payload) {
36
36
  }
37
37
  function useStudents(params) {
38
38
  return reactQuery.useQuery({
39
- queryKey: chunkN7CHJ3EM_cjs.studentKeys.list(params),
39
+ queryKey: chunkHISL2IF2_cjs.studentKeys.list(params),
40
40
  queryFn: () => listStudents(params)
41
41
  });
42
42
  }
43
43
  function useStudent(id, options) {
44
44
  return reactQuery.useQuery({
45
- queryKey: chunkN7CHJ3EM_cjs.studentKeys.detail(id),
45
+ queryKey: chunkHISL2IF2_cjs.studentKeys.detail(id),
46
46
  queryFn: () => getStudent(id),
47
47
  enabled: options?.enabled ?? Boolean(id)
48
48
  });
49
49
  }
50
50
  function useStudentKioskCache(options) {
51
51
  return reactQuery.useQuery({
52
- queryKey: chunkN7CHJ3EM_cjs.studentKeys.kioskCache(),
52
+ queryKey: chunkHISL2IF2_cjs.studentKeys.kioskCache(),
53
53
  queryFn: getStudentKioskCache,
54
54
  enabled: options?.enabled ?? true,
55
55
  staleTime: 5 * 6e4
@@ -57,7 +57,7 @@ function useStudentKioskCache(options) {
57
57
  }
58
58
  function useStudentQrCode(id, options) {
59
59
  return reactQuery.useQuery({
60
- queryKey: chunkN7CHJ3EM_cjs.studentKeys.qrCode(id),
60
+ queryKey: chunkHISL2IF2_cjs.studentKeys.qrCode(id),
61
61
  queryFn: () => getStudentQrPayload(id),
62
62
  enabled: options?.enabled ?? Boolean(id)
63
63
  });
@@ -67,7 +67,7 @@ function useCreateStudent() {
67
67
  return reactQuery.useMutation({
68
68
  mutationFn: createStudent,
69
69
  onSuccess: async () => {
70
- await queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.studentKeys.all });
70
+ await queryClient.invalidateQueries({ queryKey: chunkHISL2IF2_cjs.studentKeys.all });
71
71
  }
72
72
  });
73
73
  }
@@ -76,8 +76,8 @@ function useUpdateStudent() {
76
76
  return reactQuery.useMutation({
77
77
  mutationFn: ({ id, payload }) => updateStudent(id, payload),
78
78
  onSuccess: async (_data, variables) => {
79
- await queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.studentKeys.detail(variables.id) });
80
- await queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.studentKeys.all });
79
+ await queryClient.invalidateQueries({ queryKey: chunkHISL2IF2_cjs.studentKeys.detail(variables.id) });
80
+ await queryClient.invalidateQueries({ queryKey: chunkHISL2IF2_cjs.studentKeys.all });
81
81
  }
82
82
  });
83
83
  }
@@ -86,7 +86,7 @@ function useDeleteStudent() {
86
86
  return reactQuery.useMutation({
87
87
  mutationFn: deleteStudent,
88
88
  onSuccess: async () => {
89
- await queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.studentKeys.all });
89
+ await queryClient.invalidateQueries({ queryKey: chunkHISL2IF2_cjs.studentKeys.all });
90
90
  }
91
91
  });
92
92
  }
@@ -95,7 +95,7 @@ function useBulkImportStudents(options) {
95
95
  return reactQuery.useMutation({
96
96
  mutationFn: bulkImportStudents,
97
97
  onSuccess: (data, vars, ctx) => {
98
- queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.studentKeys.all });
98
+ queryClient.invalidateQueries({ queryKey: chunkHISL2IF2_cjs.studentKeys.all });
99
99
  options?.onSuccess?.(data, vars, ctx);
100
100
  },
101
101
  ...options
@@ -118,5 +118,5 @@ exports.useStudentKioskCache = useStudentKioskCache;
118
118
  exports.useStudentQrCode = useStudentQrCode;
119
119
  exports.useStudents = useStudents;
120
120
  exports.useUpdateStudent = useUpdateStudent;
121
- //# sourceMappingURL=chunk-7XRQ255H.cjs.map
122
- //# sourceMappingURL=chunk-7XRQ255H.cjs.map
121
+ //# sourceMappingURL=chunk-Y4YURM53.cjs.map
122
+ //# sourceMappingURL=chunk-Y4YURM53.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/modules/student/student.api.ts"],"names":["API_ENDPOINTS","getPaginated","getData","postData","putData","deleteData","useQuery","studentKeys","useQueryClient","useMutation"],"mappings":"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","file":"chunk-7XRQ255H.cjs","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
+ {"version":3,"sources":["../src/modules/student/student.api.ts"],"names":["API_ENDPOINTS","getPaginated","getData","postData","putData","deleteData","useQuery","studentKeys","useQueryClient","useMutation"],"mappings":"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","file":"chunk-Y4YURM53.cjs","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,16 +1,16 @@
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 chunkN7CHJ3EM_cjs = require('./chunk-N7CHJ3EM.cjs');
5
+ var chunkHISL2IF2_cjs = require('./chunk-HISL2IF2.cjs');
6
6
  var reactQuery = require('@tanstack/react-query');
7
7
 
8
8
  async function getHealth() {
9
- return chunkNGFFI4XQ_cjs.getData(chunkQJSOSQ7M_cjs.API_ENDPOINTS.health);
9
+ return chunkNGFFI4XQ_cjs.getData(chunk3TOBH3YY_cjs.API_ENDPOINTS.health);
10
10
  }
11
11
  function useHealth(options) {
12
12
  return reactQuery.useQuery({
13
- queryKey: chunkN7CHJ3EM_cjs.systemKeys.health(),
13
+ queryKey: chunkHISL2IF2_cjs.systemKeys.health(),
14
14
  queryFn: getHealth,
15
15
  enabled: options?.enabled ?? true,
16
16
  staleTime: 3e4
@@ -19,5 +19,5 @@ function useHealth(options) {
19
19
 
20
20
  exports.getHealth = getHealth;
21
21
  exports.useHealth = useHealth;
22
- //# sourceMappingURL=chunk-DYBHD45V.cjs.map
23
- //# sourceMappingURL=chunk-DYBHD45V.cjs.map
22
+ //# sourceMappingURL=chunk-ZPEEFUEC.cjs.map
23
+ //# sourceMappingURL=chunk-ZPEEFUEC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/modules/system/system.api.ts"],"names":["getData","API_ENDPOINTS","useQuery","systemKeys"],"mappings":";;;;;;;AAYA,eAAsB,SAAA,GAAwC;AAC5D,EAAA,OAAOA,yBAAA,CAA2BC,gCAAc,MAAM,CAAA;AACxD;AAEO,SAAS,UAAU,OAAA,EAAiC;AACzD,EAAA,OAAOC,mBAAA,CAAS;AAAA,IACd,QAAA,EAAUC,6BAAW,MAAA,EAAO;AAAA,IAC5B,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAS,OAAA,IAAW,IAAA;AAAA,IAC7B,SAAA,EAAW;AAAA,GACZ,CAAA;AACH","file":"chunk-DYBHD45V.cjs","sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData } from \"../../client/http\";\r\nimport { systemKeys } from \"../../keys\";\r\n\r\nexport interface HealthCheckResult {\r\n status: \"ok\" | \"degraded\" | \"down\";\r\n uptime?: number;\r\n timestamp?: string;\r\n services?: Record<string, string>;\r\n}\r\n\r\nexport async function getHealth(): Promise<HealthCheckResult> {\r\n return getData<HealthCheckResult>(API_ENDPOINTS.health);\r\n}\r\n\r\nexport function useHealth(options?: { enabled?: boolean }) {\r\n return useQuery({\r\n queryKey: systemKeys.health(),\r\n queryFn: getHealth,\r\n enabled: options?.enabled ?? true,\r\n staleTime: 30_000,\r\n });\r\n}\r\n"]}
1
+ {"version":3,"sources":["../src/modules/system/system.api.ts"],"names":["getData","API_ENDPOINTS","useQuery","systemKeys"],"mappings":";;;;;;;AAYA,eAAsB,SAAA,GAAwC;AAC5D,EAAA,OAAOA,yBAAA,CAA2BC,gCAAc,MAAM,CAAA;AACxD;AAEO,SAAS,UAAU,OAAA,EAAiC;AACzD,EAAA,OAAOC,mBAAA,CAAS;AAAA,IACd,QAAA,EAAUC,6BAAW,MAAA,EAAO;AAAA,IAC5B,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAS,OAAA,IAAW,IAAA;AAAA,IAC7B,SAAA,EAAW;AAAA,GACZ,CAAA;AACH","file":"chunk-ZPEEFUEC.cjs","sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\r\nimport { API_ENDPOINTS } from \"../../common/endpoints\";\r\nimport { getData } from \"../../client/http\";\r\nimport { systemKeys } from \"../../keys\";\r\n\r\nexport interface HealthCheckResult {\r\n status: \"ok\" | \"degraded\" | \"down\";\r\n uptime?: number;\r\n timestamp?: string;\r\n services?: Record<string, string>;\r\n}\r\n\r\nexport async function getHealth(): Promise<HealthCheckResult> {\r\n return getData<HealthCheckResult>(API_ENDPOINTS.health);\r\n}\r\n\r\nexport function useHealth(options?: { enabled?: boolean }) {\r\n return useQuery({\r\n queryKey: systemKeys.health(),\r\n queryFn: getHealth,\r\n enabled: options?.enabled ?? true,\r\n staleTime: 30_000,\r\n });\r\n}\r\n"]}