@sekolaos/shared-api 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-4ECXVAIQ.cjs → chunk-2IFQLECT.cjs} +6 -6
- package/dist/{chunk-4ECXVAIQ.cjs.map → chunk-2IFQLECT.cjs.map} +1 -1
- package/dist/{chunk-TSLEYQKD.cjs → chunk-6TPAWAST.cjs} +11 -11
- package/dist/{chunk-TSLEYQKD.cjs.map → chunk-6TPAWAST.cjs.map} +1 -1
- package/dist/{chunk-5C4JMJ6P.cjs → chunk-7XRQ255H.cjs} +17 -15
- package/dist/chunk-7XRQ255H.cjs.map +1 -0
- package/dist/{chunk-S6QFHKCE.js → chunk-A5QDNC7Y.js} +13 -10
- package/dist/chunk-A5QDNC7Y.js.map +1 -0
- package/dist/{chunk-XU5UEIBL.js → chunk-ANLONSKR.js} +3 -3
- package/dist/{chunk-XU5UEIBL.js.map → chunk-ANLONSKR.js.map} +1 -1
- package/dist/chunk-BQDHQTPK.js +89 -0
- package/dist/chunk-BQDHQTPK.js.map +1 -0
- package/dist/{chunk-CBIDGS35.cjs → chunk-DBKYIIPQ.cjs} +9 -9
- package/dist/{chunk-CBIDGS35.cjs.map → chunk-DBKYIIPQ.cjs.map} +1 -1
- package/dist/{chunk-R7ACSDOA.cjs → chunk-DUULXOBJ.cjs} +17 -14
- package/dist/chunk-DUULXOBJ.cjs.map +1 -0
- package/dist/{chunk-NBVPN4KL.cjs → chunk-DYBHD45V.cjs} +4 -4
- package/dist/{chunk-NBVPN4KL.cjs.map → chunk-DYBHD45V.cjs.map} +1 -1
- package/dist/{chunk-CP46K2UB.cjs → chunk-HTGZJQNS.cjs} +45 -17
- package/dist/chunk-HTGZJQNS.cjs.map +1 -0
- package/dist/{chunk-AGNLUQKT.cjs → chunk-JZP57ZKZ.cjs} +5 -5
- package/dist/{chunk-AGNLUQKT.cjs.map → chunk-JZP57ZKZ.cjs.map} +1 -1
- package/dist/{chunk-6UCHRWSL.js → chunk-LMSX35HO.js} +3 -3
- package/dist/{chunk-6UCHRWSL.js.map → chunk-LMSX35HO.js.map} +1 -1
- package/dist/{chunk-RMU634GQ.js → chunk-LNGJA2UL.js} +3 -3
- package/dist/{chunk-RMU634GQ.js.map → chunk-LNGJA2UL.js.map} +1 -1
- package/dist/{chunk-XVG5Z6B5.cjs → chunk-N7CHJ3EM.cjs} +4 -3
- package/dist/{chunk-XVG5Z6B5.cjs.map → chunk-N7CHJ3EM.cjs.map} +1 -1
- package/dist/{chunk-ALMSFTRM.js → chunk-PDMQWMZM.js} +4 -3
- package/dist/{chunk-ALMSFTRM.js.map → chunk-PDMQWMZM.js.map} +1 -1
- package/dist/{chunk-ZHCA7HVE.js → chunk-S7N3GQOE.js} +9 -7
- package/dist/chunk-S7N3GQOE.js.map +1 -0
- package/dist/{chunk-R37QQTQS.cjs → chunk-SSPEC3OA.cjs} +6 -6
- package/dist/{chunk-R37QQTQS.cjs.map → chunk-SSPEC3OA.cjs.map} +1 -1
- package/dist/{chunk-3RS57C3E.cjs → chunk-T2TWWLVZ.cjs} +31 -23
- package/dist/chunk-T2TWWLVZ.cjs.map +1 -0
- package/dist/{chunk-YK7QFPBF.js → chunk-T6NCBXWC.js} +3 -3
- package/dist/{chunk-YK7QFPBF.js.map → chunk-T6NCBXWC.js.map} +1 -1
- package/dist/{chunk-LA7MRXWR.js → chunk-WMH2DW3N.js} +3 -3
- package/dist/{chunk-LA7MRXWR.js.map → chunk-WMH2DW3N.js.map} +1 -1
- package/dist/{chunk-AOBHBJ2G.cjs → chunk-WPMDE5ZF.cjs} +16 -13
- package/dist/chunk-WPMDE5ZF.cjs.map +1 -0
- package/dist/{chunk-DMEWJ56D.js → chunk-XOFGB2GD.js} +10 -7
- package/dist/chunk-XOFGB2GD.js.map +1 -0
- package/dist/{chunk-YA2KONBB.js → chunk-ZDBSD2VY.js} +3 -3
- package/dist/{chunk-YA2KONBB.js.map → chunk-ZDBSD2VY.js.map} +1 -1
- package/dist/{chunk-GRBBLS5Y.js → chunk-ZPJ5WHAK.js} +29 -21
- package/dist/chunk-ZPJ5WHAK.js.map +1 -0
- package/dist/index.cjs +146 -138
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +12 -12
- package/dist/keys/index.cjs +13 -13
- package/dist/keys/index.d.cts +1 -0
- package/dist/keys/index.d.ts +1 -0
- package/dist/keys/index.js +1 -1
- package/dist/modules/academic/index.cjs +10 -10
- package/dist/modules/academic/index.js +2 -2
- package/dist/modules/attendance/index.cjs +16 -16
- package/dist/modules/attendance/index.d.cts +6 -5
- package/dist/modules/attendance/index.d.ts +6 -5
- package/dist/modules/attendance/index.js +2 -2
- package/dist/modules/auth/index.cjs +20 -12
- package/dist/modules/auth/index.d.cts +112 -15
- package/dist/modules/auth/index.d.ts +112 -15
- package/dist/modules/auth/index.js +2 -2
- package/dist/modules/classroom/index.cjs +14 -14
- package/dist/modules/classroom/index.d.cts +3 -1
- package/dist/modules/classroom/index.d.ts +3 -1
- package/dist/modules/classroom/index.js +2 -2
- package/dist/modules/lead/index.cjs +10 -10
- package/dist/modules/lead/index.js +2 -2
- package/dist/modules/student/index.cjs +18 -18
- package/dist/modules/student/index.d.cts +4 -2
- package/dist/modules/student/index.d.ts +4 -2
- package/dist/modules/student/index.js +2 -2
- package/dist/modules/subject/index.cjs +8 -8
- package/dist/modules/subject/index.js +2 -2
- package/dist/modules/system/index.cjs +4 -4
- package/dist/modules/system/index.js +2 -2
- package/dist/modules/teaching-schedule/index.cjs +14 -14
- package/dist/modules/teaching-schedule/index.d.cts +12 -7
- package/dist/modules/teaching-schedule/index.d.ts +12 -7
- package/dist/modules/teaching-schedule/index.js +2 -2
- package/dist/modules/tenant/index.cjs +16 -16
- package/dist/modules/tenant/index.js +2 -2
- package/dist/modules/user/index.cjs +14 -14
- package/dist/modules/user/index.js +2 -2
- package/package.json +137 -138
- package/dist/chunk-3RS57C3E.cjs.map +0 -1
- package/dist/chunk-4T52ABA5.js +0 -63
- package/dist/chunk-4T52ABA5.js.map +0 -1
- package/dist/chunk-5C4JMJ6P.cjs.map +0 -1
- package/dist/chunk-AOBHBJ2G.cjs.map +0 -1
- package/dist/chunk-CP46K2UB.cjs.map +0 -1
- package/dist/chunk-DMEWJ56D.js.map +0 -1
- package/dist/chunk-GRBBLS5Y.js.map +0 -1
- package/dist/chunk-R7ACSDOA.cjs.map +0 -1
- package/dist/chunk-S6QFHKCE.js.map +0 -1
- package/dist/chunk-ZHCA7HVE.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/academic/academic-year.api.ts"],"names":["API_ENDPOINTS","getData","postData","putData","useQuery","academicYearKeys","useQueryClient","useMutation"],"mappings":";;;;;;;AAWA,IAAM,WAAWA,+BAAA,CAAc,aAAA;AAE/B,eAAsB,kBACpB,MAAA,EACyB;AACzB,EAAA,OAAOC,yBAAA,CAAwB,QAAA,EAAU,EAAE,MAAA,EAAQ,CAAA;AACrD;AAEA,eAAsB,mBAAmB,OAAA,EAAyD;AAChG,EAAA,OAAOC,0BAAA,CAAgD,UAAU,OAAO,CAAA;AAC1E;AAEA,eAAsB,kBAAA,CACpB,IACA,OAAA,EACuB;AACvB,EAAA,OAAOC,0BAA+C,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,IAAI,OAAO,CAAA;AACpF;AAEA,eAAsB,qBAAqB,EAAA,EAAmC;AAC5E,EAAA,OAAOD,0BAAA,CAAuB,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,CAAA,SAAA,CAAW,CAAA;AAC5D;AAEO,SAAS,iBAAiB,MAAA,EAAyC;AACxE,EAAA,OAAOE,mBAAA,CAAS;AAAA,IACd,QAAA,EAAUC,kCAAA,CAAiB,IAAA,CAAK,MAA6C,CAAA;AAAA,IAC7E,OAAA,EAAS,MAAM,iBAAA,CAAkB,MAAM;AAAA,GACxC,CAAA;AACH;AAEO,SAAS,qBAAA,GAAwB;AACtC,EAAA,MAAM,cAAcC,yBAAA,EAAe;AACnC,EAAA,OAAOC,sBAAA,CAAY;AAAA,IACjB,UAAA,EAAY,kBAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAUF,kCAAA,CAAiB,KAAK,CAAA;AAAA,IACxE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,qBAAA,GAAwB;AACtC,EAAA,MAAM,cAAcC,yBAAA,EAAe;AACnC,EAAA,OAAOC,sBAAA,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,EAAUF,kCAAA,CAAiB,KAAK,CAAA;AAAA,IACxE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,uBAAA,GAA0B;AACxC,EAAA,MAAM,cAAcC,yBAAA,EAAe;AACnC,EAAA,OAAOC,sBAAA,CAAY;AAAA,IACjB,UAAA,EAAY,oBAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,EAAkB;AAAA,IACtC;AAAA,GACD,CAAA;AACH","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/modules/academic/academic-year.api.ts"],"names":["API_ENDPOINTS","getData","postData","putData","useQuery","academicYearKeys","useQueryClient","useMutation"],"mappings":";;;;;;;AAWA,IAAM,WAAWA,+BAAA,CAAc,aAAA;AAE/B,eAAsB,kBACpB,MAAA,EACyB;AACzB,EAAA,OAAOC,yBAAA,CAAwB,QAAA,EAAU,EAAE,MAAA,EAAQ,CAAA;AACrD;AAEA,eAAsB,mBAAmB,OAAA,EAAyD;AAChG,EAAA,OAAOC,0BAAA,CAAgD,UAAU,OAAO,CAAA;AAC1E;AAEA,eAAsB,kBAAA,CACpB,IACA,OAAA,EACuB;AACvB,EAAA,OAAOC,0BAA+C,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,IAAI,OAAO,CAAA;AACpF;AAEA,eAAsB,qBAAqB,EAAA,EAAmC;AAC5E,EAAA,OAAOD,0BAAA,CAAuB,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,EAAE,CAAA,SAAA,CAAW,CAAA;AAC5D;AAEO,SAAS,iBAAiB,MAAA,EAAyC;AACxE,EAAA,OAAOE,mBAAA,CAAS;AAAA,IACd,QAAA,EAAUC,kCAAA,CAAiB,IAAA,CAAK,MAA6C,CAAA;AAAA,IAC7E,OAAA,EAAS,MAAM,iBAAA,CAAkB,MAAM;AAAA,GACxC,CAAA;AACH;AAEO,SAAS,qBAAA,GAAwB;AACtC,EAAA,MAAM,cAAcC,yBAAA,EAAe;AACnC,EAAA,OAAOC,sBAAA,CAAY;AAAA,IACjB,UAAA,EAAY,kBAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAUF,kCAAA,CAAiB,KAAK,CAAA;AAAA,IACxE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,qBAAA,GAAwB;AACtC,EAAA,MAAM,cAAcC,yBAAA,EAAe;AACnC,EAAA,OAAOC,sBAAA,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,EAAUF,kCAAA,CAAiB,KAAK,CAAA;AAAA,IACxE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,uBAAA,GAA0B;AACxC,EAAA,MAAM,cAAcC,yBAAA,EAAe;AACnC,EAAA,OAAOC,sBAAA,CAAY;AAAA,IACjB,UAAA,EAAY,oBAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,EAAkB;AAAA,IACtC;AAAA,GACD,CAAA;AACH","file":"chunk-SSPEC3OA.cjs","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"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkQJSOSQ7M_cjs = require('./chunk-QJSOSQ7M.cjs');
|
|
4
4
|
var chunkNGFFI4XQ_cjs = require('./chunk-NGFFI4XQ.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkN7CHJ3EM_cjs = require('./chunk-N7CHJ3EM.cjs');
|
|
6
6
|
var reactQuery = require('@tanstack/react-query');
|
|
7
7
|
|
|
8
8
|
var ENDPOINT = chunkQJSOSQ7M_cjs.API_ENDPOINTS.teachingSchedules;
|
|
@@ -26,51 +26,59 @@ async function copyRoster(payload) {
|
|
|
26
26
|
}
|
|
27
27
|
function useTeachingSchedules(params) {
|
|
28
28
|
return reactQuery.useQuery({
|
|
29
|
-
queryKey:
|
|
29
|
+
queryKey: chunkN7CHJ3EM_cjs.scheduleKeys.list(params),
|
|
30
30
|
queryFn: () => listTeachingSchedules(params)
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
-
function useScheduleConflict(params,
|
|
33
|
+
function useScheduleConflict(params, options) {
|
|
34
34
|
return reactQuery.useQuery({
|
|
35
|
-
queryKey:
|
|
35
|
+
queryKey: chunkN7CHJ3EM_cjs.scheduleKeys.conflicts(params),
|
|
36
36
|
queryFn: () => checkScheduleConflict(params),
|
|
37
|
-
|
|
37
|
+
...options
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
|
-
function useCreateTeachingSchedule() {
|
|
40
|
+
function useCreateTeachingSchedule(options) {
|
|
41
41
|
const queryClient = reactQuery.useQueryClient();
|
|
42
42
|
return reactQuery.useMutation({
|
|
43
43
|
mutationFn: createTeachingSchedule,
|
|
44
|
-
onSuccess:
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
onSuccess: (data, vars, ctx) => {
|
|
45
|
+
queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.scheduleKeys.all });
|
|
46
|
+
options?.onSuccess?.(data, vars, ctx);
|
|
47
|
+
},
|
|
48
|
+
...options
|
|
47
49
|
});
|
|
48
50
|
}
|
|
49
|
-
function useUpdateTeachingSchedule() {
|
|
51
|
+
function useUpdateTeachingSchedule(options) {
|
|
50
52
|
const queryClient = reactQuery.useQueryClient();
|
|
51
53
|
return reactQuery.useMutation({
|
|
52
54
|
mutationFn: ({ id, payload }) => updateTeachingSchedule(id, payload),
|
|
53
|
-
onSuccess:
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
onSuccess: (data, vars, ctx) => {
|
|
56
|
+
queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.scheduleKeys.all });
|
|
57
|
+
options?.onSuccess?.(data, vars, ctx);
|
|
58
|
+
},
|
|
59
|
+
...options
|
|
56
60
|
});
|
|
57
61
|
}
|
|
58
|
-
function useBatchCreateTeachingSchedules() {
|
|
62
|
+
function useBatchCreateTeachingSchedules(options) {
|
|
59
63
|
const queryClient = reactQuery.useQueryClient();
|
|
60
64
|
return reactQuery.useMutation({
|
|
61
65
|
mutationFn: batchCreateTeachingSchedules,
|
|
62
|
-
onSuccess:
|
|
63
|
-
|
|
64
|
-
|
|
66
|
+
onSuccess: (data, vars, ctx) => {
|
|
67
|
+
queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.scheduleKeys.all });
|
|
68
|
+
options?.onSuccess?.(data, vars, ctx);
|
|
69
|
+
},
|
|
70
|
+
...options
|
|
65
71
|
});
|
|
66
72
|
}
|
|
67
|
-
function useCopyRoster() {
|
|
73
|
+
function useCopyRoster(options) {
|
|
68
74
|
const queryClient = reactQuery.useQueryClient();
|
|
69
75
|
return reactQuery.useMutation({
|
|
70
76
|
mutationFn: copyRoster,
|
|
71
|
-
onSuccess:
|
|
72
|
-
|
|
73
|
-
|
|
77
|
+
onSuccess: (data, vars, ctx) => {
|
|
78
|
+
queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.scheduleKeys.all });
|
|
79
|
+
options?.onSuccess?.(data, vars, ctx);
|
|
80
|
+
},
|
|
81
|
+
...options
|
|
74
82
|
});
|
|
75
83
|
}
|
|
76
84
|
|
|
@@ -86,5 +94,5 @@ exports.useCreateTeachingSchedule = useCreateTeachingSchedule;
|
|
|
86
94
|
exports.useScheduleConflict = useScheduleConflict;
|
|
87
95
|
exports.useTeachingSchedules = useTeachingSchedules;
|
|
88
96
|
exports.useUpdateTeachingSchedule = useUpdateTeachingSchedule;
|
|
89
|
-
//# sourceMappingURL=chunk-
|
|
90
|
-
//# sourceMappingURL=chunk-
|
|
97
|
+
//# sourceMappingURL=chunk-T2TWWLVZ.cjs.map
|
|
98
|
+
//# sourceMappingURL=chunk-T2TWWLVZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modules/teaching-schedule/teaching-schedule.api.ts"],"names":["API_ENDPOINTS","getData","postData","putData","useQuery","scheduleKeys","useQueryClient","useMutation"],"mappings":"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","file":"chunk-T2TWWLVZ.cjs","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
1
|
import { API_ENDPOINTS } from './chunk-MRFGUSN2.js';
|
|
2
2
|
import { getData, postData, putData } from './chunk-6JGO2CUT.js';
|
|
3
|
-
import { academicYearKeys } from './chunk-
|
|
3
|
+
import { academicYearKeys } from './chunk-PDMQWMZM.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-
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
54
|
+
//# sourceMappingURL=chunk-T6NCBXWC.js.map
|
|
55
|
+
//# sourceMappingURL=chunk-T6NCBXWC.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-
|
|
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-T6NCBXWC.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,6 +1,6 @@
|
|
|
1
1
|
import { API_ENDPOINTS } from './chunk-MRFGUSN2.js';
|
|
2
2
|
import { getData, putData, postData } from './chunk-6JGO2CUT.js';
|
|
3
|
-
import { tenantKeys } from './chunk-
|
|
3
|
+
import { tenantKeys } from './chunk-PDMQWMZM.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-
|
|
77
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-WMH2DW3N.js.map
|
|
77
|
+
//# sourceMappingURL=chunk-WMH2DW3N.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/tenant/tenant.api.ts"],"names":[],"mappings":";;;;;AAcA,IAAM,WAAW,aAAA,CAAc,OAAA;AAE/B,eAAsB,gBAAA,GAAoC;AACxD,EAAA,OAAO,OAAA,CAAgB,CAAA,EAAG,QAAQ,CAAA,QAAA,CAAU,CAAA;AAC9C;AAEA,eAAsB,gBAAA,GAAgD;AACpE,EAAA,OAAO,OAAA,CAA4B,CAAA,EAAG,QAAQ,CAAA,gBAAA,CAAkB,CAAA;AAClE;AAEA,eAAsB,oBAAoB,OAAA,EAAoD;AAC5F,EAAA,OAAO,OAAA,CAA0C,CAAA,EAAG,QAAQ,CAAA,QAAA,CAAA,EAAY,OAAO,CAAA;AACjF;AAEA,eAAsB,qBAAqB,MAAA,EAEZ;AAC7B,EAAA,OAAO,QAA2B,CAAA,EAAG,QAAQ,CAAA,OAAA,CAAA,EAAW,EAAE,QAAQ,CAAA;AACpE;AAEA,eAAsB,mBAAmB,UAAA,EAAuD;AAC9F,EAAA,OAAO,OAAA,CAAyB,CAAA,EAAG,QAAQ,CAAA,QAAA,EAAW,UAAU,CAAA,CAAE,CAAA;AACpE;AAOA,eAAsB,uBACpB,OAAA,EAC4B;AAC5B,EAAA,OAAO,OAAA,CAA0D,CAAA,EAAG,QAAQ,CAAA,OAAA,CAAA,EAAW,OAAO,CAAA;AAChG;AAEA,eAAsB,aAAa,OAAA,EAA6C;AAC9E,EAAA,OAAO,QAAA,CAAoC,UAAU,OAAO,CAAA;AAC9D;AAEO,SAAS,gBAAA,GAAmB;AACjC,EAAA,OAAO,QAAA,CAAS,EAAE,QAAA,EAAU,UAAA,CAAW,SAAQ,EAAG,OAAA,EAAS,kBAAkB,CAAA;AAC/E;AAEO,SAAS,gBAAA,GAAmB;AACjC,EAAA,OAAO,QAAA,CAAS,EAAE,QAAA,EAAU,UAAA,CAAW,SAAQ,EAAG,OAAA,EAAS,kBAAkB,CAAA;AAC/E;AAEO,SAAS,oBAAoB,MAAA,EAA2C;AAC7E,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,UAAA,CAAW,MAAA,CAAO,MAAM,CAAA;AAAA,IAClC,OAAA,EAAS,MAAM,oBAAA,CAAqB,MAAM;AAAA,GAC3C,CAAA;AACH;AAEO,SAAS,mBAAmB,UAAA,EAA6B;AAC9D,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,UAAA,CAAW,WAAA,CAAY,UAAU,CAAA;AAAA,IAC3C,OAAA,EAAS,MAAM,kBAAA,CAAmB,UAAU;AAAA,GAC7C,CAAA;AACH;AAEO,SAAS,sBAAA,GAAyB;AACvC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,mBAAA;AAAA,IACZ,SAAA,EAAW,OAAO,MAAA,KAAW;AAC3B,MAAA,WAAA,CAAY,YAAA,CAAa,UAAA,CAAW,OAAA,EAAQ,EAAG,MAAM,CAAA;AACrD,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAU,UAAA,CAAW,KAAK,CAAA;AAAA,IAClE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,yBAAA,GAA4B;AAC1C,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,sBAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,UAAU,UAAA,CAAW,MAAA,IAAU,CAAA;AAAA,IACvE;AAAA,GACD,CAAA;AACH;AAEO,SAAS,eAAA,GAAkB;AAChC,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,CAAY;AAAA,IACjB,UAAA,EAAY,YAAA;AAAA,IACZ,WAAW,YAAY;AACrB,MAAA,MAAM,YAAY,iBAAA,CAAkB,EAAE,QAAA,EAAU,UAAA,CAAW,KAAK,CAAA;AAAA,IAClE;AAAA,GACD,CAAA;AACH","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/modules/tenant/tenant.api.ts"],"names":[],"mappings":"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","file":"chunk-WMH2DW3N.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"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var chunkQJSOSQ7M_cjs = require('./chunk-QJSOSQ7M.cjs');
|
|
4
4
|
var chunkNGFFI4XQ_cjs = require('./chunk-NGFFI4XQ.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkN7CHJ3EM_cjs = require('./chunk-N7CHJ3EM.cjs');
|
|
6
6
|
var reactQuery = require('@tanstack/react-query');
|
|
7
7
|
|
|
8
8
|
var ENDPOINT = chunkQJSOSQ7M_cjs.API_ENDPOINTS.classrooms;
|
|
@@ -26,20 +26,20 @@ async function promoteClassStudents(payload) {
|
|
|
26
26
|
}
|
|
27
27
|
function useClassrooms(params) {
|
|
28
28
|
return reactQuery.useQuery({
|
|
29
|
-
queryKey:
|
|
29
|
+
queryKey: chunkN7CHJ3EM_cjs.classroomKeys.list(params),
|
|
30
30
|
queryFn: () => listClassrooms(params)
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
33
|
function useClassroom(id, options) {
|
|
34
34
|
return reactQuery.useQuery({
|
|
35
|
-
queryKey:
|
|
35
|
+
queryKey: chunkN7CHJ3EM_cjs.classroomKeys.detail(id),
|
|
36
36
|
queryFn: () => getClassroom(id),
|
|
37
37
|
enabled: options?.enabled ?? Boolean(id)
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
function useClassroomStudents(id, options) {
|
|
41
41
|
return reactQuery.useQuery({
|
|
42
|
-
queryKey:
|
|
42
|
+
queryKey: chunkN7CHJ3EM_cjs.classroomKeys.students(id),
|
|
43
43
|
queryFn: () => getClassroomStudents(id),
|
|
44
44
|
enabled: options?.enabled ?? Boolean(id)
|
|
45
45
|
});
|
|
@@ -49,7 +49,7 @@ function useCreateClassroom() {
|
|
|
49
49
|
return reactQuery.useMutation({
|
|
50
50
|
mutationFn: createClassroom,
|
|
51
51
|
onSuccess: async () => {
|
|
52
|
-
await queryClient.invalidateQueries({ queryKey:
|
|
52
|
+
await queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.classroomKeys.all });
|
|
53
53
|
}
|
|
54
54
|
});
|
|
55
55
|
}
|
|
@@ -58,18 +58,21 @@ function useUpdateClassroom() {
|
|
|
58
58
|
return reactQuery.useMutation({
|
|
59
59
|
mutationFn: ({ id, payload }) => updateClassroom(id, payload),
|
|
60
60
|
onSuccess: async (_data, variables) => {
|
|
61
|
-
await queryClient.invalidateQueries({ queryKey:
|
|
62
|
-
await queryClient.invalidateQueries({ queryKey:
|
|
61
|
+
await queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.classroomKeys.detail(variables.id) });
|
|
62
|
+
await queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.classroomKeys.all });
|
|
63
63
|
}
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
|
-
function usePromoteClassStudents() {
|
|
66
|
+
function usePromoteClassStudents(options) {
|
|
67
67
|
const queryClient = reactQuery.useQueryClient();
|
|
68
68
|
return reactQuery.useMutation({
|
|
69
69
|
mutationFn: (payload) => promoteClassStudents(payload),
|
|
70
|
-
onSuccess:
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
onSuccess: (data, vars, ctx) => {
|
|
71
|
+
queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.classroomKeys.all });
|
|
72
|
+
queryClient.invalidateQueries({ queryKey: chunkN7CHJ3EM_cjs.studentKeys.all });
|
|
73
|
+
options?.onSuccess?.(data, vars, ctx);
|
|
74
|
+
},
|
|
75
|
+
...options
|
|
73
76
|
});
|
|
74
77
|
}
|
|
75
78
|
|
|
@@ -85,5 +88,5 @@ exports.useClassrooms = useClassrooms;
|
|
|
85
88
|
exports.useCreateClassroom = useCreateClassroom;
|
|
86
89
|
exports.usePromoteClassStudents = usePromoteClassStudents;
|
|
87
90
|
exports.useUpdateClassroom = useUpdateClassroom;
|
|
88
|
-
//# sourceMappingURL=chunk-
|
|
89
|
-
//# sourceMappingURL=chunk-
|
|
91
|
+
//# sourceMappingURL=chunk-WPMDE5ZF.cjs.map
|
|
92
|
+
//# sourceMappingURL=chunk-WPMDE5ZF.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modules/classroom/classroom.api.ts"],"names":["API_ENDPOINTS","getData","postData","putData","useQuery","classroomKeys","useQueryClient","useMutation","studentKeys"],"mappings":"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","file":"chunk-WPMDE5ZF.cjs","sourcesContent":["import type {\r\n ClassRoom,\r\n ClassroomListQuery,\r\n CreateClassroomInput,\r\n PromoteClassStudentsInput,\r\n Student,\r\n UpdateClassroomInput,\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 } from \"../../client/types\";\r\nimport { classroomKeys, studentKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.classrooms;\r\n\r\nexport async function listClassrooms(params?: Partial<ClassroomListQuery>): Promise<ClassRoom[]> {\r\n return getData<ClassRoom[]>(ENDPOINT, { params });\r\n}\r\n\r\nexport async function getClassroom(id: string): Promise<ClassRoom> {\r\n return getData<ClassRoom>(`${ENDPOINT}/${id}`);\r\n}\r\n\r\nexport async function createClassroom(payload: CreateClassroomInput): Promise<ClassRoom> {\r\n return postData<ClassRoom, CreateClassroomInput>(ENDPOINT, payload);\r\n}\r\n\r\nexport async function updateClassroom(\r\n id: string,\r\n payload: UpdateClassroomInput\r\n): Promise<ClassRoom> {\r\n return putData<ClassRoom, UpdateClassroomInput>(`${ENDPOINT}/${id}`, payload);\r\n}\r\n\r\nexport async function getClassroomStudents(id: string): Promise<Student[]> {\r\n return getData<Student[]>(`${ENDPOINT}/${id}/students`);\r\n}\r\n\r\nexport async function promoteClassStudents(\r\n payload: PromoteClassStudentsInput\r\n): Promise<void> {\r\n await postData<void, PromoteClassStudentsInput>(`${ENDPOINT}/promote`, payload);\r\n}\r\n\r\nexport function useClassrooms(params?: Partial<ClassroomListQuery>) {\r\n return useQuery({\r\n queryKey: classroomKeys.list(params as Record<string, unknown> | undefined),\r\n queryFn: () => listClassrooms(params),\r\n });\r\n}\r\n\r\nexport function useClassroom(id: string, options?: { enabled?: boolean }) {\r\n return useQuery({\r\n queryKey: classroomKeys.detail(id),\r\n queryFn: () => getClassroom(id),\r\n enabled: options?.enabled ?? Boolean(id),\r\n });\r\n}\r\n\r\nexport function useClassroomStudents(id: string, options?: { enabled?: boolean }) {\r\n return useQuery({\r\n queryKey: classroomKeys.students(id),\r\n queryFn: () => getClassroomStudents(id),\r\n enabled: options?.enabled ?? Boolean(id),\r\n });\r\n}\r\n\r\nexport function useCreateClassroom() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: createClassroom,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: classroomKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdateClassroom() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({ id, payload }: { id: string; payload: UpdateClassroomInput }) =>\r\n updateClassroom(id, payload),\r\n onSuccess: async (_data, variables) => {\r\n await queryClient.invalidateQueries({ queryKey: classroomKeys.detail(variables.id) });\r\n await queryClient.invalidateQueries({ queryKey: classroomKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function usePromoteClassStudents(\r\n options?: MutationOptionsCustom<void, PromoteClassStudentsInput>\r\n) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: (payload: PromoteClassStudentsInput) => promoteClassStudents(payload),\r\n onSuccess: (data, vars, ctx) => {\r\n queryClient.invalidateQueries({ queryKey: classroomKeys.all });\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 ClassRoom,\r\n ClassroomListQuery,\r\n CreateClassroomInput,\r\n PromoteClassStudentsInput,\r\n Student,\r\n UpdateClassroomInput,\r\n};\r\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { API_ENDPOINTS } from './chunk-MRFGUSN2.js';
|
|
2
2
|
import { getData, postData, putData } from './chunk-6JGO2CUT.js';
|
|
3
|
-
import { classroomKeys } from './chunk-
|
|
3
|
+
import { classroomKeys, studentKeys } from './chunk-PDMQWMZM.js';
|
|
4
4
|
import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
|
|
5
5
|
|
|
6
6
|
var ENDPOINT = API_ENDPOINTS.classrooms;
|
|
@@ -61,16 +61,19 @@ function useUpdateClassroom() {
|
|
|
61
61
|
}
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
-
function usePromoteClassStudents() {
|
|
64
|
+
function usePromoteClassStudents(options) {
|
|
65
65
|
const queryClient = useQueryClient();
|
|
66
66
|
return useMutation({
|
|
67
67
|
mutationFn: (payload) => promoteClassStudents(payload),
|
|
68
|
-
onSuccess:
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
onSuccess: (data, vars, ctx) => {
|
|
69
|
+
queryClient.invalidateQueries({ queryKey: classroomKeys.all });
|
|
70
|
+
queryClient.invalidateQueries({ queryKey: studentKeys.all });
|
|
71
|
+
options?.onSuccess?.(data, vars, ctx);
|
|
72
|
+
},
|
|
73
|
+
...options
|
|
71
74
|
});
|
|
72
75
|
}
|
|
73
76
|
|
|
74
77
|
export { createClassroom, getClassroom, getClassroomStudents, listClassrooms, promoteClassStudents, updateClassroom, useClassroom, useClassroomStudents, useClassrooms, useCreateClassroom, usePromoteClassStudents, useUpdateClassroom };
|
|
75
|
-
//# sourceMappingURL=chunk-
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
78
|
+
//# sourceMappingURL=chunk-XOFGB2GD.js.map
|
|
79
|
+
//# sourceMappingURL=chunk-XOFGB2GD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modules/classroom/classroom.api.ts"],"names":[],"mappings":"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","file":"chunk-XOFGB2GD.js","sourcesContent":["import type {\r\n ClassRoom,\r\n ClassroomListQuery,\r\n CreateClassroomInput,\r\n PromoteClassStudentsInput,\r\n Student,\r\n UpdateClassroomInput,\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 } from \"../../client/types\";\r\nimport { classroomKeys, studentKeys } from \"../../keys\";\r\n\r\nconst ENDPOINT = API_ENDPOINTS.classrooms;\r\n\r\nexport async function listClassrooms(params?: Partial<ClassroomListQuery>): Promise<ClassRoom[]> {\r\n return getData<ClassRoom[]>(ENDPOINT, { params });\r\n}\r\n\r\nexport async function getClassroom(id: string): Promise<ClassRoom> {\r\n return getData<ClassRoom>(`${ENDPOINT}/${id}`);\r\n}\r\n\r\nexport async function createClassroom(payload: CreateClassroomInput): Promise<ClassRoom> {\r\n return postData<ClassRoom, CreateClassroomInput>(ENDPOINT, payload);\r\n}\r\n\r\nexport async function updateClassroom(\r\n id: string,\r\n payload: UpdateClassroomInput\r\n): Promise<ClassRoom> {\r\n return putData<ClassRoom, UpdateClassroomInput>(`${ENDPOINT}/${id}`, payload);\r\n}\r\n\r\nexport async function getClassroomStudents(id: string): Promise<Student[]> {\r\n return getData<Student[]>(`${ENDPOINT}/${id}/students`);\r\n}\r\n\r\nexport async function promoteClassStudents(\r\n payload: PromoteClassStudentsInput\r\n): Promise<void> {\r\n await postData<void, PromoteClassStudentsInput>(`${ENDPOINT}/promote`, payload);\r\n}\r\n\r\nexport function useClassrooms(params?: Partial<ClassroomListQuery>) {\r\n return useQuery({\r\n queryKey: classroomKeys.list(params as Record<string, unknown> | undefined),\r\n queryFn: () => listClassrooms(params),\r\n });\r\n}\r\n\r\nexport function useClassroom(id: string, options?: { enabled?: boolean }) {\r\n return useQuery({\r\n queryKey: classroomKeys.detail(id),\r\n queryFn: () => getClassroom(id),\r\n enabled: options?.enabled ?? Boolean(id),\r\n });\r\n}\r\n\r\nexport function useClassroomStudents(id: string, options?: { enabled?: boolean }) {\r\n return useQuery({\r\n queryKey: classroomKeys.students(id),\r\n queryFn: () => getClassroomStudents(id),\r\n enabled: options?.enabled ?? Boolean(id),\r\n });\r\n}\r\n\r\nexport function useCreateClassroom() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: createClassroom,\r\n onSuccess: async () => {\r\n await queryClient.invalidateQueries({ queryKey: classroomKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function useUpdateClassroom() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: ({ id, payload }: { id: string; payload: UpdateClassroomInput }) =>\r\n updateClassroom(id, payload),\r\n onSuccess: async (_data, variables) => {\r\n await queryClient.invalidateQueries({ queryKey: classroomKeys.detail(variables.id) });\r\n await queryClient.invalidateQueries({ queryKey: classroomKeys.all });\r\n },\r\n });\r\n}\r\n\r\nexport function usePromoteClassStudents(\r\n options?: MutationOptionsCustom<void, PromoteClassStudentsInput>\r\n) {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: (payload: PromoteClassStudentsInput) => promoteClassStudents(payload),\r\n onSuccess: (data, vars, ctx) => {\r\n queryClient.invalidateQueries({ queryKey: classroomKeys.all });\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 ClassRoom,\r\n ClassroomListQuery,\r\n CreateClassroomInput,\r\n PromoteClassStudentsInput,\r\n Student,\r\n UpdateClassroomInput,\r\n};\r\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { API_ENDPOINTS } from './chunk-MRFGUSN2.js';
|
|
2
2
|
import { getData } from './chunk-6JGO2CUT.js';
|
|
3
|
-
import { systemKeys } from './chunk-
|
|
3
|
+
import { systemKeys } from './chunk-PDMQWMZM.js';
|
|
4
4
|
import { useQuery } from '@tanstack/react-query';
|
|
5
5
|
|
|
6
6
|
async function getHealth() {
|
|
@@ -16,5 +16,5 @@ function useHealth(options) {
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
export { getHealth, useHealth };
|
|
19
|
-
//# sourceMappingURL=chunk-
|
|
20
|
-
//# sourceMappingURL=chunk-
|
|
19
|
+
//# sourceMappingURL=chunk-ZDBSD2VY.js.map
|
|
20
|
+
//# sourceMappingURL=chunk-ZDBSD2VY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules/system/system.api.ts"],"names":[],"mappings":";;;;;AAYA,eAAsB,SAAA,GAAwC;AAC5D,EAAA,OAAO,OAAA,CAA2B,cAAc,MAAM,CAAA;AACxD;AAEO,SAAS,UAAU,OAAA,EAAiC;AACzD,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,WAAW,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-
|
|
1
|
+
{"version":3,"sources":["../src/modules/system/system.api.ts"],"names":[],"mappings":";;;;;AAYA,eAAsB,SAAA,GAAwC;AAC5D,EAAA,OAAO,OAAA,CAA2B,cAAc,MAAM,CAAA;AACxD;AAEO,SAAS,UAAU,OAAA,EAAiC;AACzD,EAAA,OAAO,QAAA,CAAS;AAAA,IACd,QAAA,EAAU,WAAW,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-ZDBSD2VY.js","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,6 +1,6 @@
|
|
|
1
1
|
import { API_ENDPOINTS } from './chunk-MRFGUSN2.js';
|
|
2
2
|
import { getData, postData, putData } from './chunk-6JGO2CUT.js';
|
|
3
|
-
import { scheduleKeys } from './chunk-
|
|
3
|
+
import { scheduleKeys } from './chunk-PDMQWMZM.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,
|
|
31
|
+
function useScheduleConflict(params, options) {
|
|
32
32
|
return useQuery({
|
|
33
33
|
queryKey: scheduleKeys.conflicts(params),
|
|
34
34
|
queryFn: () => checkScheduleConflict(params),
|
|
35
|
-
|
|
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:
|
|
43
|
-
|
|
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:
|
|
52
|
-
|
|
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:
|
|
61
|
-
|
|
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:
|
|
70
|
-
|
|
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-
|
|
77
|
-
//# sourceMappingURL=chunk-
|
|
84
|
+
//# sourceMappingURL=chunk-ZPJ5WHAK.js.map
|
|
85
|
+
//# sourceMappingURL=chunk-ZPJ5WHAK.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-ZPJ5WHAK.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"]}
|