@neutron.co.id/pendidikan-operation 1.29.4 → 1.29.6

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.
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ const core = require('@neon.id/core');
4
+ const operation = require('@neon.id/operation');
5
+ const utils = require('@neon.id/utils');
6
+ const query = require('@neon.id/query');
7
+ const checkProgramExistance_schema = require('./checkProgramExistance.schema.cjs');
8
+ const useTelemetry = require('../../providers/useTelemetry.cjs');
9
+
10
+ const checkProgramExistance = operation.Action.define({
11
+ key: "checkProgramExistance",
12
+ name: "Import Data",
13
+ type: "command",
14
+ category: "domain",
15
+ execute: async (input, stream) => {
16
+ utils.guard(stream, "streamRequired");
17
+ const { validate } = operation.useValidation(stream, checkProgramExistance_schema.CheckProgramExistanceSchema);
18
+ const actions = stream.actions.data;
19
+ const data = validate(input);
20
+ return useTelemetry.useTelemetry(stream, "importData", {
21
+ userId: stream.context.identitas.userId,
22
+ data
23
+ }, async () => {
24
+ const { getActorId } = operation.useStream(stream);
25
+ try {
26
+ getActorId({ throw: true });
27
+ console.log("data", data);
28
+ const programs = await actions.getMany.execute({
29
+ model: "neu:akademik:program",
30
+ query: query.Query.define({
31
+ filter: {
32
+ $or: [
33
+ { name: data.name },
34
+ { code: data.code }
35
+ ]
36
+ },
37
+ fields: {
38
+ id: 1
39
+ }
40
+ })
41
+ }, stream);
42
+ const isExist = programs?.value?.length > 0;
43
+ return core.Result.ok({
44
+ state: "checkProgramExistance",
45
+ message: "Check Program Existance",
46
+ data: {
47
+ isExist
48
+ }
49
+ });
50
+ } catch (error) {
51
+ if (error?.isFailure)
52
+ throw error;
53
+ console.error(error);
54
+ return core.Result.fail({
55
+ state: `checkProgramExistanceFailed`,
56
+ message: `Failed to check existance program.`,
57
+ error: error?.toString()
58
+ });
59
+ }
60
+ });
61
+ }
62
+ });
63
+
64
+ exports.checkProgramExistance = checkProgramExistance;
@@ -0,0 +1,13 @@
1
+ import { Action } from '@neon.id/operation';
2
+ import type { z } from '@neon.id/z';
3
+ import { CheckProgramExistanceSchema } from './checkProgramExistance.schema';
4
+ export type CheckProgramExistanceInput = z.parse<typeof CheckProgramExistanceSchema>;
5
+ export interface CheckProgramExistanceOutput {
6
+ }
7
+ export interface CheckProgramExistanceMeta {
8
+ }
9
+ export declare const checkProgramExistance: Action<"checkProgramExistance", {
10
+ name: string;
11
+ code: string;
12
+ }, CheckProgramExistanceOutput, CheckProgramExistanceMeta>;
13
+ export type CheckProgramExistanceAction = typeof checkProgramExistance;
@@ -0,0 +1,62 @@
1
+ import { Result } from '@neon.id/core';
2
+ import { Action, useValidation, useStream } from '@neon.id/operation';
3
+ import { guard } from '@neon.id/utils';
4
+ import { Query } from '@neon.id/query';
5
+ import { CheckProgramExistanceSchema } from './checkProgramExistance.schema.mjs';
6
+ import { useTelemetry } from '../../providers/useTelemetry.mjs';
7
+
8
+ const checkProgramExistance = Action.define({
9
+ key: "checkProgramExistance",
10
+ name: "Import Data",
11
+ type: "command",
12
+ category: "domain",
13
+ execute: async (input, stream) => {
14
+ guard(stream, "streamRequired");
15
+ const { validate } = useValidation(stream, CheckProgramExistanceSchema);
16
+ const actions = stream.actions.data;
17
+ const data = validate(input);
18
+ return useTelemetry(stream, "importData", {
19
+ userId: stream.context.identitas.userId,
20
+ data
21
+ }, async () => {
22
+ const { getActorId } = useStream(stream);
23
+ try {
24
+ getActorId({ throw: true });
25
+ console.log("data", data);
26
+ const programs = await actions.getMany.execute({
27
+ model: "neu:akademik:program",
28
+ query: Query.define({
29
+ filter: {
30
+ $or: [
31
+ { name: data.name },
32
+ { code: data.code }
33
+ ]
34
+ },
35
+ fields: {
36
+ id: 1
37
+ }
38
+ })
39
+ }, stream);
40
+ const isExist = programs?.value?.length > 0;
41
+ return Result.ok({
42
+ state: "checkProgramExistance",
43
+ message: "Check Program Existance",
44
+ data: {
45
+ isExist
46
+ }
47
+ });
48
+ } catch (error) {
49
+ if (error?.isFailure)
50
+ throw error;
51
+ console.error(error);
52
+ return Result.fail({
53
+ state: `checkProgramExistanceFailed`,
54
+ message: `Failed to check existance program.`,
55
+ error: error?.toString()
56
+ });
57
+ }
58
+ });
59
+ }
60
+ });
61
+
62
+ export { checkProgramExistance };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ const z = require('@neon.id/z');
4
+
5
+ const CheckProgramExistanceSchema = z.z.object({
6
+ name: z.z.string().explain({ label: "Program Name" }),
7
+ code: z.z.string().explain({ label: "Program Code" })
8
+ });
9
+
10
+ exports.CheckProgramExistanceSchema = CheckProgramExistanceSchema;
@@ -0,0 +1,11 @@
1
+ import { z } from '@neon.id/z';
2
+ export declare const CheckProgramExistanceSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ code: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ name: string;
7
+ code: string;
8
+ }, {
9
+ name: string;
10
+ code: string;
11
+ }>;
@@ -0,0 +1,8 @@
1
+ import { z } from '@neon.id/z';
2
+
3
+ const CheckProgramExistanceSchema = z.object({
4
+ name: z.string().explain({ label: "Program Name" }),
5
+ code: z.string().explain({ label: "Program Code" })
6
+ });
7
+
8
+ export { CheckProgramExistanceSchema };
@@ -0,0 +1,2 @@
1
+ export * from './checkProgramExistance.action';
2
+ export * from './checkProgramExistance.schema';
@@ -10,3 +10,4 @@ export * from './replaceModuleAccessManyStudent';
10
10
  export * from './rasionalisasi';
11
11
  export * from './tanya';
12
12
  export * from './updateMany';
13
+ export * from './checkProgramExistance';
@@ -3,7 +3,6 @@
3
3
  const core = require('@neon.id/core');
4
4
  const operation = require('@neon.id/operation');
5
5
  const utils = require('@neon.id/utils');
6
- const setClassSessionDependencies_action = require('./setClassSessionDependencies/setClassSessionDependencies.action.cjs');
7
6
  const useTelemetry = require('../../providers/useTelemetry.cjs');
8
7
 
9
8
  const bulkUpdateSession = operation.Action.define({
@@ -20,6 +19,7 @@ const bulkUpdateSession = operation.Action.define({
20
19
  }, async () => {
21
20
  const dbs = stream.core.dbs;
22
21
  const dbSession = dbs["neu-jadwal"].models["neu:jadwal:classSession"];
22
+ const dbAttendance = dbs["neu-jadwal"].models["neu:jadwal:classAttendance"];
23
23
  const updateData = {};
24
24
  if (input.data.teacherRepeaterIds)
25
25
  updateData.teacherIds = input.data.teacherRepeaterIds;
@@ -38,19 +38,53 @@ const bulkUpdateSession = operation.Action.define({
38
38
  updateData.status = input.data.status;
39
39
  if (input.data.classSessionPurposeId)
40
40
  updateData.classSessionPurposeId = input.data.classSessionPurposeId;
41
- await dbSession.updateMany(
41
+ const attendances = await dbAttendance.find(
42
42
  {
43
- _id: { $in: input.ids }
43
+ classSessionId: { $in: input.ids },
44
+ deletedAt: null
44
45
  },
45
46
  {
46
- $set: {
47
- ...updateData,
48
- virtualBranchIds: updateData.branchIds
49
- }
47
+ _id: 1,
48
+ classSessionId: 1,
49
+ teacherId: 1,
50
+ studentId: 1,
51
+ presenceType: 1
50
52
  }
51
53
  );
54
+ const attendanceMap = /* @__PURE__ */ new Map();
55
+ for (const att of attendances) {
56
+ const key = att.classSessionId?.toString();
57
+ if (!key)
58
+ continue;
59
+ if (!attendanceMap.has(key))
60
+ attendanceMap.set(key, []);
61
+ attendanceMap.get(key).push(att);
62
+ }
52
63
  await Promise.all(
53
- input.ids.map((id) => setClassSessionDependencies_action.setClassSessionDependencies.execute({ id }, stream))
64
+ input.ids.map((id) => {
65
+ const sessionAttendances = attendanceMap.get(id) || [];
66
+ const alreadyPresence = [
67
+ ...new Set(
68
+ sessionAttendances.filter((c) => !!c.teacherId && c.presenceType === "teacher").map((c) => c.teacherId?.toString())
69
+ )
70
+ ].map((id2) => new core.ObjectId(id2));
71
+ const studentAlreadyPresence = [
72
+ ...new Set(
73
+ sessionAttendances.filter((c) => !!c.studentId && c.presenceType === "student").map((c) => c.studentId?.toString())
74
+ )
75
+ ].map((id2) => new core.ObjectId(id2));
76
+ return dbSession.updateOne(
77
+ { _id: id },
78
+ {
79
+ $set: {
80
+ ...updateData,
81
+ virtualBranchIds: updateData.branchIds,
82
+ alreadyPresence,
83
+ studentAlreadyPresence
84
+ }
85
+ }
86
+ );
87
+ })
54
88
  );
55
89
  return core.Result.ok({
56
90
  state: "bulkSessionUpdate",
@@ -1,7 +1,6 @@
1
- import { Result } from '@neon.id/core';
1
+ import { ObjectId, Result } from '@neon.id/core';
2
2
  import { Action } from '@neon.id/operation';
3
3
  import { guard } from '@neon.id/utils';
4
- import { setClassSessionDependencies } from './setClassSessionDependencies/setClassSessionDependencies.action.mjs';
5
4
  import { useTelemetry } from '../../providers/useTelemetry.mjs';
6
5
 
7
6
  const bulkUpdateSession = Action.define({
@@ -18,6 +17,7 @@ const bulkUpdateSession = Action.define({
18
17
  }, async () => {
19
18
  const dbs = stream.core.dbs;
20
19
  const dbSession = dbs["neu-jadwal"].models["neu:jadwal:classSession"];
20
+ const dbAttendance = dbs["neu-jadwal"].models["neu:jadwal:classAttendance"];
21
21
  const updateData = {};
22
22
  if (input.data.teacherRepeaterIds)
23
23
  updateData.teacherIds = input.data.teacherRepeaterIds;
@@ -36,19 +36,53 @@ const bulkUpdateSession = Action.define({
36
36
  updateData.status = input.data.status;
37
37
  if (input.data.classSessionPurposeId)
38
38
  updateData.classSessionPurposeId = input.data.classSessionPurposeId;
39
- await dbSession.updateMany(
39
+ const attendances = await dbAttendance.find(
40
40
  {
41
- _id: { $in: input.ids }
41
+ classSessionId: { $in: input.ids },
42
+ deletedAt: null
42
43
  },
43
44
  {
44
- $set: {
45
- ...updateData,
46
- virtualBranchIds: updateData.branchIds
47
- }
45
+ _id: 1,
46
+ classSessionId: 1,
47
+ teacherId: 1,
48
+ studentId: 1,
49
+ presenceType: 1
48
50
  }
49
51
  );
52
+ const attendanceMap = /* @__PURE__ */ new Map();
53
+ for (const att of attendances) {
54
+ const key = att.classSessionId?.toString();
55
+ if (!key)
56
+ continue;
57
+ if (!attendanceMap.has(key))
58
+ attendanceMap.set(key, []);
59
+ attendanceMap.get(key).push(att);
60
+ }
50
61
  await Promise.all(
51
- input.ids.map((id) => setClassSessionDependencies.execute({ id }, stream))
62
+ input.ids.map((id) => {
63
+ const sessionAttendances = attendanceMap.get(id) || [];
64
+ const alreadyPresence = [
65
+ ...new Set(
66
+ sessionAttendances.filter((c) => !!c.teacherId && c.presenceType === "teacher").map((c) => c.teacherId?.toString())
67
+ )
68
+ ].map((id2) => new ObjectId(id2));
69
+ const studentAlreadyPresence = [
70
+ ...new Set(
71
+ sessionAttendances.filter((c) => !!c.studentId && c.presenceType === "student").map((c) => c.studentId?.toString())
72
+ )
73
+ ].map((id2) => new ObjectId(id2));
74
+ return dbSession.updateOne(
75
+ { _id: id },
76
+ {
77
+ $set: {
78
+ ...updateData,
79
+ virtualBranchIds: updateData.branchIds,
80
+ alreadyPresence,
81
+ studentAlreadyPresence
82
+ }
83
+ }
84
+ );
85
+ })
52
86
  );
53
87
  return Result.ok({
54
88
  state: "bulkSessionUpdate",
package/build/index.cjs CHANGED
@@ -27,6 +27,7 @@ const action_deleteManySession = require('./actions/jadwal/action.deleteManySess
27
27
  const action_syncStudentAdmisi = require('./actions/akademik/action.syncStudentAdmisi.cjs');
28
28
  const action_checkClassAttendance = require('./actions/jadwal/action.checkClassAttendance.cjs');
29
29
  const syncClassSessions_action = require('./actions/jadwal/syncClassSessions/syncClassSessions.action.cjs');
30
+ const setClassSessionDependencies_action = require('./actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.cjs');
30
31
  const setAksesModulSiswaDiClassGroup_action = require('./actions/jadwal/setAksesModulSiswaDiClassGroup/setAksesModulSiswaDiClassGroup.action.cjs');
31
32
  const getClassSessionConflicts_action = require('./actions/jadwal/getClassSessionConflicts/getClassSessionConflicts.action.cjs');
32
33
  const setTravelWageSessions_action = require('./actions/jadwal/setTravelWageSessions/setTravelWageSessions.action.cjs');
@@ -52,6 +53,7 @@ const action_notUnderstand = require('./actions/tanya/action.notUnderstand.cjs')
52
53
  const action_sendAnswer = require('./actions/tanya/action.sendAnswer.cjs');
53
54
  const action_sendQuestion = require('./actions/tanya/action.sendQuestion.cjs');
54
55
  const action_reminderQuestions = require('./actions/tanya/action.reminderQuestions.cjs');
56
+ const checkProgramExistance_action = require('./actions/checkProgramExistance/checkProgramExistance.action.cjs');
55
57
  const prepareMediaScanterGradingInsert_action = require('./actions/mediaScanter/prepareMediaScanterGradingInsert/prepareMediaScanterGradingInsert.action.cjs');
56
58
  const importData_action = require('./actions/importData/importData.action.cjs');
57
59
  const updateReportStudent_action = require('./actions/akademik/updateReportStudent/updateReportStudent.action.cjs');
@@ -60,7 +62,6 @@ const action_syncStudents = require('./actions/akademik/action.syncStudents.cjs'
60
62
  const sendClassConsultationNotification_action = require('./actions/jadwal/sendClassConsultationNotification/sendClassConsultationNotification.action.cjs');
61
63
  const sendScoreNotification_action = require('./actions/penilaian/sendScoreNotification/sendScoreNotification.action.cjs');
62
64
  const replaceModuleAccessManyStudent_action = require('./actions/replaceModuleAccessManyStudent/replaceModuleAccessManyStudent.action.cjs');
63
- const setClassSessionDependencies_action = require('./actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.cjs');
64
65
  const action_clearGrading = require('./actions/rasionalisasi/action.clearGrading.cjs');
65
66
  const action_createGradingAndScores = require('./actions/rasionalisasi/action.createGradingAndScores.cjs');
66
67
  const action_updateGradingAndScores = require('./actions/rasionalisasi/action.updateGradingAndScores.cjs');
@@ -85,6 +86,7 @@ const replaceModuleAccess_schema = require('./actions/replaceModuleAccess/replac
85
86
  const refreshModuleAccess_schema = require('./actions/refreshModuleAccess/refreshModuleAccess.schema.cjs');
86
87
  const replaceModuleAccessManyStudent_schema = require('./actions/replaceModuleAccessManyStudent/replaceModuleAccessManyStudent.schema.cjs');
87
88
  const updateMany_schema = require('./actions/updateMany/updateMany.schema.cjs');
89
+ const checkProgramExistance_schema = require('./actions/checkProgramExistance/checkProgramExistance.schema.cjs');
88
90
  const hook_officePendidikan = require('./hooks/hook.officePendidikan.cjs');
89
91
 
90
92
  const actions = {
@@ -153,6 +155,7 @@ const actions = {
153
155
  sendAnswer: action_sendAnswer.sendAnswer,
154
156
  sendQuestion: action_sendQuestion.sendQuestion,
155
157
  reminderQuestions: action_reminderQuestions.reminderQuestions,
158
+ checkProgramExistance: checkProgramExistance_action.checkProgramExistance,
156
159
  // Media Scanter
157
160
  prepareMediaScanterGradingInsert: prepareMediaScanterGradingInsert_action.prepareMediaScanterGradingInsert,
158
161
  // Import Data
@@ -191,6 +194,7 @@ exports.deleteManySession = action_deleteManySession.deleteManySession;
191
194
  exports.syncStudentAdmisi = action_syncStudentAdmisi.syncStudentAdmisi;
192
195
  exports.checkClassAttendance = action_checkClassAttendance.checkClassAttendance;
193
196
  exports.syncClassSessions = syncClassSessions_action.syncClassSessions;
197
+ exports.setClassSessionDependencies = setClassSessionDependencies_action.setClassSessionDependencies;
194
198
  exports.setAksesModulSiswaDiClassGroup = setAksesModulSiswaDiClassGroup_action.setAksesModulSiswaDiClassGroup;
195
199
  exports.getClassSessionConflicts = getClassSessionConflicts_action.getClassSessionConflicts;
196
200
  exports.setTravelWageSessions = setTravelWageSessions_action.setTravelWageSessions;
@@ -218,6 +222,7 @@ exports.notUnderstand = action_notUnderstand.notUnderstand;
218
222
  exports.sendAnswer = action_sendAnswer.sendAnswer;
219
223
  exports.sendQuestion = action_sendQuestion.sendQuestion;
220
224
  exports.reminderQuestions = action_reminderQuestions.reminderQuestions;
225
+ exports.checkProgramExistance = checkProgramExistance_action.checkProgramExistance;
221
226
  exports.prepareMediaScanterGradingInsert = prepareMediaScanterGradingInsert_action.prepareMediaScanterGradingInsert;
222
227
  exports.importData = importData_action.importData;
223
228
  exports.updateReportStudent = updateReportStudent_action.updateReportStudent;
@@ -226,7 +231,6 @@ exports.syncStudents = action_syncStudents.syncStudents;
226
231
  exports.sendClassConsultationNotification = sendClassConsultationNotification_action.sendClassConsultationNotification;
227
232
  exports.sendScoreNotification = sendScoreNotification_action.sendScoreNotification;
228
233
  exports.replaceModuleAccessManyStudent = replaceModuleAccessManyStudent_action.replaceModuleAccessManyStudent;
229
- exports.setClassSessionDependencies = setClassSessionDependencies_action.setClassSessionDependencies;
230
234
  exports.clearGrading = action_clearGrading.clearGrading;
231
235
  exports.createGradingAndScores = action_createGradingAndScores.createGradingAndScores;
232
236
  exports.updateGradingAndScores = action_updateGradingAndScores.updateGradingAndScores;
@@ -251,5 +255,6 @@ exports.ReplaceModuleAccessSchema = replaceModuleAccess_schema.ReplaceModuleAcce
251
255
  exports.RefreshModuleAccessSchema = refreshModuleAccess_schema.RefreshModuleAccessSchema;
252
256
  exports.ReplaceModuleAccessManyStudentSchema = replaceModuleAccessManyStudent_schema.ReplaceModuleAccessManyStudentSchema;
253
257
  exports.UpdateManySchema = updateMany_schema.UpdateManySchema;
258
+ exports.CheckProgramExistanceSchema = checkProgramExistance_schema.CheckProgramExistanceSchema;
254
259
  exports.registerOfficePendidikanHooks = hook_officePendidikan.registerOfficePendidikanHooks;
255
260
  exports.actions = actions;
package/build/index.d.ts CHANGED
@@ -115,6 +115,10 @@ export declare const actions: {
115
115
  sendAnswer: import("@neon.id/operation").Action<"sendAnswer", import("./actions").SendAnswerInput, import("./actions").SendAnswerOutput, import("./actions").SendAnswerMeta>;
116
116
  sendQuestion: import("@neon.id/operation").Action<"sendQuestion", import("./actions").SendQuestionInput, import("./actions").SendQuestionOutput, import("./actions").SendQuestionMeta>;
117
117
  reminderQuestions: typeof reminderQuestions;
118
+ checkProgramExistance: import("@neon.id/operation").Action<"checkProgramExistance", {
119
+ name: string;
120
+ code: string;
121
+ }, import("./actions").CheckProgramExistanceOutput, import("./actions").CheckProgramExistanceMeta>;
118
122
  prepareMediaScanterGradingInsert: import("@neon.id/operation").Action<"prepareMediaScanterGradingInsert", {
119
123
  eventId?: string | undefined;
120
124
  }, import("./actions").PrepareMediaScanterGradingInsertOutput, import("./actions").PrepareMediaScanterGradingInsertMeta>;
package/build/index.mjs CHANGED
@@ -25,6 +25,7 @@ import { deleteManySession } from './actions/jadwal/action.deleteManySession.mjs
25
25
  import { syncStudentAdmisi } from './actions/akademik/action.syncStudentAdmisi.mjs';
26
26
  import { checkClassAttendance } from './actions/jadwal/action.checkClassAttendance.mjs';
27
27
  import { syncClassSessions } from './actions/jadwal/syncClassSessions/syncClassSessions.action.mjs';
28
+ import { setClassSessionDependencies } from './actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.mjs';
28
29
  import { setAksesModulSiswaDiClassGroup } from './actions/jadwal/setAksesModulSiswaDiClassGroup/setAksesModulSiswaDiClassGroup.action.mjs';
29
30
  import { getClassSessionConflicts } from './actions/jadwal/getClassSessionConflicts/getClassSessionConflicts.action.mjs';
30
31
  import { setTravelWageSessions } from './actions/jadwal/setTravelWageSessions/setTravelWageSessions.action.mjs';
@@ -52,6 +53,7 @@ import { notUnderstand } from './actions/tanya/action.notUnderstand.mjs';
52
53
  import { sendAnswer } from './actions/tanya/action.sendAnswer.mjs';
53
54
  import { sendQuestion } from './actions/tanya/action.sendQuestion.mjs';
54
55
  import { reminderQuestions } from './actions/tanya/action.reminderQuestions.mjs';
56
+ import { checkProgramExistance } from './actions/checkProgramExistance/checkProgramExistance.action.mjs';
55
57
  import { prepareMediaScanterGradingInsert } from './actions/mediaScanter/prepareMediaScanterGradingInsert/prepareMediaScanterGradingInsert.action.mjs';
56
58
  import { importData } from './actions/importData/importData.action.mjs';
57
59
  import { updateReportStudent } from './actions/akademik/updateReportStudent/updateReportStudent.action.mjs';
@@ -60,7 +62,6 @@ import { syncStudents } from './actions/akademik/action.syncStudents.mjs';
60
62
  import { sendClassConsultationNotification } from './actions/jadwal/sendClassConsultationNotification/sendClassConsultationNotification.action.mjs';
61
63
  import { sendScoreNotification } from './actions/penilaian/sendScoreNotification/sendScoreNotification.action.mjs';
62
64
  import { replaceModuleAccessManyStudent } from './actions/replaceModuleAccessManyStudent/replaceModuleAccessManyStudent.action.mjs';
63
- import { setClassSessionDependencies } from './actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.mjs';
64
65
  import { clearGrading } from './actions/rasionalisasi/action.clearGrading.mjs';
65
66
  import { createGradingAndScores } from './actions/rasionalisasi/action.createGradingAndScores.mjs';
66
67
  import { updateGradingAndScores } from './actions/rasionalisasi/action.updateGradingAndScores.mjs';
@@ -85,6 +86,7 @@ export { ReplaceModuleAccessSchema } from './actions/replaceModuleAccess/replace
85
86
  export { RefreshModuleAccessSchema } from './actions/refreshModuleAccess/refreshModuleAccess.schema.mjs';
86
87
  export { ReplaceModuleAccessManyStudentSchema } from './actions/replaceModuleAccessManyStudent/replaceModuleAccessManyStudent.schema.mjs';
87
88
  export { UpdateManySchema } from './actions/updateMany/updateMany.schema.mjs';
89
+ export { CheckProgramExistanceSchema } from './actions/checkProgramExistance/checkProgramExistance.schema.mjs';
88
90
  export { registerOfficePendidikanHooks } from './hooks/hook.officePendidikan.mjs';
89
91
 
90
92
  const actions = {
@@ -153,6 +155,7 @@ const actions = {
153
155
  sendAnswer,
154
156
  sendQuestion,
155
157
  reminderQuestions,
158
+ checkProgramExistance,
156
159
  // Media Scanter
157
160
  prepareMediaScanterGradingInsert,
158
161
  // Import Data
@@ -164,4 +167,4 @@ const actions = {
164
167
  syncStudents
165
168
  };
166
169
 
167
- export { acceptQuestion, actions, addManyGradingComponent, allConflict, bulkDeleteSession, bulkUpdateSession, calculateGrading, calculateManyComparator, calculateOneComparator, checkClassAttendance, classSessionInventoryOccurs, classSessionInventoryPreparation, clearAllOverrides, clearGrading, clearOneOverrides, createGradingAndScores, createManySession, customSaveOneClassSession, deleteManySession, editAnswer, generateGrading, getClassSessionConflicts, getGradingCount, getQuestionCount, getStaffId, getStaffPoint, getStudentId, getStudentPoint, getTeacherPoint, hasUnderstand, importData, notUnderstand, prepareConflict, prepareExperience, prepareMediaScanterGradingInsert, presenceSessionStudent, presenceSessionTeacher, rasionalizeGrading, refreshGrading, refreshManyGrading, refreshModuleAccess, reminderQuestions, replaceModuleAccess, replaceModuleAccessManyStudent, sendAnswer, sendClassConsultationNotification, sendClassSessionNotification, sendPointNotification, sendQuestion, sendScoreNotification, setAksesModulSiswaDiClassGroup, setClassSessionDependencies, setTravelWageSessions, syncClassGroups, syncClassSessions, syncCommitment, syncStudentAdmisi, syncStudentBranch, syncStudentInformation, syncStudentReport, syncStudents, updateGradingAndScores, updateMany, updateReportStudent, userCountStats };
170
+ export { acceptQuestion, actions, addManyGradingComponent, allConflict, bulkDeleteSession, bulkUpdateSession, calculateGrading, calculateManyComparator, calculateOneComparator, checkClassAttendance, checkProgramExistance, classSessionInventoryOccurs, classSessionInventoryPreparation, clearAllOverrides, clearGrading, clearOneOverrides, createGradingAndScores, createManySession, customSaveOneClassSession, deleteManySession, editAnswer, generateGrading, getClassSessionConflicts, getGradingCount, getQuestionCount, getStaffId, getStaffPoint, getStudentId, getStudentPoint, getTeacherPoint, hasUnderstand, importData, notUnderstand, prepareConflict, prepareExperience, prepareMediaScanterGradingInsert, presenceSessionStudent, presenceSessionTeacher, rasionalizeGrading, refreshGrading, refreshManyGrading, refreshModuleAccess, reminderQuestions, replaceModuleAccess, replaceModuleAccessManyStudent, sendAnswer, sendClassConsultationNotification, sendClassSessionNotification, sendPointNotification, sendQuestion, sendScoreNotification, setAksesModulSiswaDiClassGroup, setClassSessionDependencies, setTravelWageSessions, syncClassGroups, syncClassSessions, syncCommitment, syncStudentAdmisi, syncStudentBranch, syncStudentInformation, syncStudentReport, syncStudents, updateGradingAndScores, updateMany, updateReportStudent, userCountStats };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neutron.co.id/pendidikan-operation",
3
- "version": "1.29.4",
3
+ "version": "1.29.6",
4
4
  "description": "Operation package of Neutron Pendidikan.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "contributors": [
@@ -39,7 +39,7 @@
39
39
  "@neon.id/types": "^1.69.0",
40
40
  "@neon.id/utils": "^1.52.0",
41
41
  "@neon.id/z": "^1.16.0",
42
- "@neutron.co.id/akademik-models": "^1.21.5-beta.1",
42
+ "@neutron.co.id/akademik-models": "^1.21.5",
43
43
  "@neutron.co.id/jadwal-models": "^1.19.13",
44
44
  "@neutron.co.id/pendidikan-types": "^1.24.1",
45
45
  "@neutron.co.id/penilaian-models": "^1.19.0",
@@ -75,7 +75,7 @@
75
75
  "@neon.id/types": "^1.69.0",
76
76
  "@neon.id/utils": "^1.52.0",
77
77
  "@neon.id/z": "^1.16.0",
78
- "@neutron.co.id/akademik-models": "^1.21.5-beta.1",
78
+ "@neutron.co.id/akademik-models": "^1.21.5",
79
79
  "@neutron.co.id/jadwal-models": "^1.19.13",
80
80
  "@neutron.co.id/pendidikan-types": "^1.24.1",
81
81
  "@neutron.co.id/penilaian-models": "^1.19.0",
@@ -86,5 +86,5 @@
86
86
  "publishConfig": {
87
87
  "access": "public"
88
88
  },
89
- "build": 160
89
+ "build": 162
90
90
  }