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

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.
@@ -3,6 +3,7 @@
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');
6
7
  const useTelemetry = require('../../providers/useTelemetry.cjs');
7
8
 
8
9
  const bulkUpdateSession = operation.Action.define({
@@ -42,9 +43,15 @@ const bulkUpdateSession = operation.Action.define({
42
43
  _id: { $in: input.ids }
43
44
  },
44
45
  {
45
- $set: updateData
46
+ $set: {
47
+ ...updateData,
48
+ virtualBranchIds: updateData.branchIds
49
+ }
46
50
  }
47
51
  );
52
+ await Promise.all(
53
+ input.ids.map((id) => setClassSessionDependencies_action.setClassSessionDependencies.execute({ id }, stream))
54
+ );
48
55
  return core.Result.ok({
49
56
  state: "bulkSessionUpdate",
50
57
  message: "Sessions have been updated.",
@@ -1,6 +1,7 @@
1
1
  import { 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';
4
5
  import { useTelemetry } from '../../providers/useTelemetry.mjs';
5
6
 
6
7
  const bulkUpdateSession = Action.define({
@@ -40,9 +41,15 @@ const bulkUpdateSession = Action.define({
40
41
  _id: { $in: input.ids }
41
42
  },
42
43
  {
43
- $set: updateData
44
+ $set: {
45
+ ...updateData,
46
+ virtualBranchIds: updateData.branchIds
47
+ }
44
48
  }
45
49
  );
50
+ await Promise.all(
51
+ input.ids.map((id) => setClassSessionDependencies.execute({ id }, stream))
52
+ );
46
53
  return Result.ok({
47
54
  state: "bulkSessionUpdate",
48
55
  message: "Sessions have been updated.",
@@ -8,6 +8,7 @@ export * from './action.prepareConflict';
8
8
  export * from './action.userCountStats';
9
9
  export * from './getClassSessionConflicts';
10
10
  export * from './syncClassSessions';
11
+ export * from './setClassSessionDependencies';
11
12
  export * from './setAksesModulSiswaDiClassGroup';
12
13
  export * from './setTravelWageSessions';
13
14
  export * from './action.customSaveOneClassSession';
@@ -0,0 +1,2 @@
1
+ export * from './setClassSessionDependencies.action';
2
+ export * from './setClassSessionDependencies.schema';
@@ -0,0 +1,116 @@
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 period = require('@neon.id/utils/period');
8
+ const payload = require('@neon.id/utils/payload');
9
+ const jadwalModels = require('@neutron.co.id/jadwal-models');
10
+ const useTelemetry = require('../../../providers/useTelemetry.cjs');
11
+
12
+ const setClassSessionDependencies = operation.Action.define({
13
+ key: "setClassSessionDependencies",
14
+ name: "Sync Conflicts",
15
+ type: "command",
16
+ category: "domain",
17
+ execute: async (input, stream) => {
18
+ utils.guard(stream, "streamRequired");
19
+ utils.guard(input, "inputRequired");
20
+ return useTelemetry.useTelemetry(stream, "setClassSessionDependencies", {
21
+ userId: stream.context.identitas.userId,
22
+ ...input
23
+ }, async () => {
24
+ const dbs = stream.core.dbs;
25
+ const dbSession = dbs["neu-jadwal"].models["neu:jadwal:classSession"];
26
+ const rawSession = await stream.actions.data?.getOne?.execute(
27
+ {
28
+ id: input.id,
29
+ model: "neu:jadwal:classSession",
30
+ query: query.Query.define({
31
+ filter: { _id: input.id },
32
+ fields: {
33
+ id: 1,
34
+ startedAt: 1,
35
+ endedAt: 1,
36
+ type: 1,
37
+ day: 1,
38
+ shortInformationSession: 1,
39
+ room: { id: 1, name: 1, branches: { id: 1 } },
40
+ teachers: {
41
+ id: 1,
42
+ name: 1,
43
+ hourStart: 1,
44
+ hourEnd: 1,
45
+ weekdays: 1
46
+ }
47
+ }
48
+ })
49
+ },
50
+ stream
51
+ );
52
+ const classSession = payload.PayloadUtil.toItem(rawSession.value);
53
+ if (!classSession.startedAt)
54
+ return core.Result.ok({ state: "setClassSessionDependencies", message: "No startedAt.", data: { code: 0 } });
55
+ if (!classSession.endedAt)
56
+ return core.Result.ok({ state: "setClassSessionDependencies", message: "No endedAt.", data: { code: 0 } });
57
+ const filter = {
58
+ $or: period.PeriodUtil.getPassingPeriodFilter(
59
+ "startedAt",
60
+ "endedAt",
61
+ classSession.startedAt,
62
+ classSession.endedAt
63
+ )
64
+ };
65
+ const classSessions = await jadwalModels.ClassSessionUtil.getManyClassSessions(
66
+ {
67
+ filter,
68
+ fragment: {
69
+ id: 1,
70
+ title: 1,
71
+ subtitle: 1,
72
+ type: 1,
73
+ startedAt: 1,
74
+ endedAt: 1,
75
+ day: 1,
76
+ shortInformationSession: 1,
77
+ teacherIds: 1,
78
+ roomId: 1,
79
+ branches: { id: 1, name: 1 }
80
+ }
81
+ },
82
+ stream
83
+ );
84
+ const conflicts = jadwalModels.ClassSessionUtil.getConflicts({
85
+ classSession,
86
+ classSessions
87
+ });
88
+ const isNotConflict = classSession.isNotConflict ?? false;
89
+ let statusConflict;
90
+ if (isNotConflict) {
91
+ statusConflict = "conflictConditioned";
92
+ } else {
93
+ const hasConflict = conflicts.teacherConflicts.length > 0 || conflicts.roomConflicts.length > 0 || conflicts.commitmentConflicts.length > 0;
94
+ statusConflict = hasConflict ? "conflict" : "noConflict";
95
+ }
96
+ await dbSession.updateOne(
97
+ { _id: input.id },
98
+ {
99
+ $set: {
100
+ _conflicts: conflicts,
101
+ statusConflict
102
+ }
103
+ }
104
+ );
105
+ return core.Result.ok({
106
+ state: "setClassSessionDependencies",
107
+ message: "Conflicts have been synced.",
108
+ data: {
109
+ code: 1
110
+ }
111
+ });
112
+ });
113
+ }
114
+ });
115
+
116
+ exports.setClassSessionDependencies = setClassSessionDependencies;
@@ -0,0 +1,13 @@
1
+ import { Action } from '@neon.id/operation';
2
+ import type { z } from '@neon.id/z';
3
+ import type { SetClassSessionDependenciesSchema } from './setClassSessionDependencies.schema';
4
+ export type SetClassSessionDependenciesInput = z.parse<typeof SetClassSessionDependenciesSchema>;
5
+ export interface SetClassSessionDependenciesOutput {
6
+ code: number;
7
+ }
8
+ export interface SetClassSessionDependenciesMeta {
9
+ }
10
+ export declare const setClassSessionDependencies: Action<"setClassSessionDependencies", {
11
+ id: string;
12
+ }, SetClassSessionDependenciesOutput, SetClassSessionDependenciesMeta>;
13
+ export type SetClassSessionDependenciesAction = typeof setClassSessionDependencies;
@@ -0,0 +1,114 @@
1
+ import { Result } from '@neon.id/core';
2
+ import { Action } from '@neon.id/operation';
3
+ import { guard } from '@neon.id/utils';
4
+ import { Query } from '@neon.id/query';
5
+ import { PeriodUtil } from '@neon.id/utils/period';
6
+ import { PayloadUtil } from '@neon.id/utils/payload';
7
+ import { ClassSessionUtil } from '@neutron.co.id/jadwal-models';
8
+ import { useTelemetry } from '../../../providers/useTelemetry.mjs';
9
+
10
+ const setClassSessionDependencies = Action.define({
11
+ key: "setClassSessionDependencies",
12
+ name: "Sync Conflicts",
13
+ type: "command",
14
+ category: "domain",
15
+ execute: async (input, stream) => {
16
+ guard(stream, "streamRequired");
17
+ guard(input, "inputRequired");
18
+ return useTelemetry(stream, "setClassSessionDependencies", {
19
+ userId: stream.context.identitas.userId,
20
+ ...input
21
+ }, async () => {
22
+ const dbs = stream.core.dbs;
23
+ const dbSession = dbs["neu-jadwal"].models["neu:jadwal:classSession"];
24
+ const rawSession = await stream.actions.data?.getOne?.execute(
25
+ {
26
+ id: input.id,
27
+ model: "neu:jadwal:classSession",
28
+ query: Query.define({
29
+ filter: { _id: input.id },
30
+ fields: {
31
+ id: 1,
32
+ startedAt: 1,
33
+ endedAt: 1,
34
+ type: 1,
35
+ day: 1,
36
+ shortInformationSession: 1,
37
+ room: { id: 1, name: 1, branches: { id: 1 } },
38
+ teachers: {
39
+ id: 1,
40
+ name: 1,
41
+ hourStart: 1,
42
+ hourEnd: 1,
43
+ weekdays: 1
44
+ }
45
+ }
46
+ })
47
+ },
48
+ stream
49
+ );
50
+ const classSession = PayloadUtil.toItem(rawSession.value);
51
+ if (!classSession.startedAt)
52
+ return Result.ok({ state: "setClassSessionDependencies", message: "No startedAt.", data: { code: 0 } });
53
+ if (!classSession.endedAt)
54
+ return Result.ok({ state: "setClassSessionDependencies", message: "No endedAt.", data: { code: 0 } });
55
+ const filter = {
56
+ $or: PeriodUtil.getPassingPeriodFilter(
57
+ "startedAt",
58
+ "endedAt",
59
+ classSession.startedAt,
60
+ classSession.endedAt
61
+ )
62
+ };
63
+ const classSessions = await ClassSessionUtil.getManyClassSessions(
64
+ {
65
+ filter,
66
+ fragment: {
67
+ id: 1,
68
+ title: 1,
69
+ subtitle: 1,
70
+ type: 1,
71
+ startedAt: 1,
72
+ endedAt: 1,
73
+ day: 1,
74
+ shortInformationSession: 1,
75
+ teacherIds: 1,
76
+ roomId: 1,
77
+ branches: { id: 1, name: 1 }
78
+ }
79
+ },
80
+ stream
81
+ );
82
+ const conflicts = ClassSessionUtil.getConflicts({
83
+ classSession,
84
+ classSessions
85
+ });
86
+ const isNotConflict = classSession.isNotConflict ?? false;
87
+ let statusConflict;
88
+ if (isNotConflict) {
89
+ statusConflict = "conflictConditioned";
90
+ } else {
91
+ const hasConflict = conflicts.teacherConflicts.length > 0 || conflicts.roomConflicts.length > 0 || conflicts.commitmentConflicts.length > 0;
92
+ statusConflict = hasConflict ? "conflict" : "noConflict";
93
+ }
94
+ await dbSession.updateOne(
95
+ { _id: input.id },
96
+ {
97
+ $set: {
98
+ _conflicts: conflicts,
99
+ statusConflict
100
+ }
101
+ }
102
+ );
103
+ return Result.ok({
104
+ state: "setClassSessionDependencies",
105
+ message: "Conflicts have been synced.",
106
+ data: {
107
+ code: 1
108
+ }
109
+ });
110
+ });
111
+ }
112
+ });
113
+
114
+ export { setClassSessionDependencies };
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ const z = require('@neon.id/z');
4
+
5
+ const SetClassSessionDependenciesSchema = z.z.object({
6
+ id: z.z.objectId().explain({ label: "Session ID" })
7
+ });
8
+
9
+ exports.SetClassSessionDependenciesSchema = SetClassSessionDependenciesSchema;
@@ -0,0 +1,8 @@
1
+ import { z } from '@neon.id/z';
2
+ export declare const SetClassSessionDependenciesSchema: z.ZodObject<{
3
+ id: z.ZodEffects<z.ZodString, string, string>;
4
+ }, "strip", z.ZodTypeAny, {
5
+ id: string;
6
+ }, {
7
+ id: string;
8
+ }>;
@@ -0,0 +1,7 @@
1
+ import { z } from '@neon.id/z';
2
+
3
+ const SetClassSessionDependenciesSchema = z.object({
4
+ id: z.objectId().explain({ label: "Session ID" })
5
+ });
6
+
7
+ export { SetClassSessionDependenciesSchema };
package/build/index.cjs CHANGED
@@ -60,6 +60,7 @@ const action_syncStudents = require('./actions/akademik/action.syncStudents.cjs'
60
60
  const sendClassConsultationNotification_action = require('./actions/jadwal/sendClassConsultationNotification/sendClassConsultationNotification.action.cjs');
61
61
  const sendScoreNotification_action = require('./actions/penilaian/sendScoreNotification/sendScoreNotification.action.cjs');
62
62
  const replaceModuleAccessManyStudent_action = require('./actions/replaceModuleAccessManyStudent/replaceModuleAccessManyStudent.action.cjs');
63
+ const setClassSessionDependencies_action = require('./actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.cjs');
63
64
  const action_clearGrading = require('./actions/rasionalisasi/action.clearGrading.cjs');
64
65
  const action_createGradingAndScores = require('./actions/rasionalisasi/action.createGradingAndScores.cjs');
65
66
  const action_updateGradingAndScores = require('./actions/rasionalisasi/action.updateGradingAndScores.cjs');
@@ -68,6 +69,7 @@ const updateReportStudent_schema = require('./actions/akademik/updateReportStude
68
69
  const sendPointNotification_schema = require('./actions/akademik/sendPointNotification/sendPointNotification.schema.cjs');
69
70
  const getClassSessionConflicts_schema = require('./actions/jadwal/getClassSessionConflicts/getClassSessionConflicts.schema.cjs');
70
71
  const syncClassSessions_schema = require('./actions/jadwal/syncClassSessions/syncClassSessions.schema.cjs');
72
+ const setClassSessionDependencies_schema = require('./actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.schema.cjs');
71
73
  const setAksesModulSiswaDiClassGroup_schema = require('./actions/jadwal/setAksesModulSiswaDiClassGroup/setAksesModulSiswaDiClassGroup.schema.cjs');
72
74
  const setTravelWageSessions_schema = require('./actions/jadwal/setTravelWageSessions/setTravelWageSessions.schema.cjs');
73
75
  const syncClassGroups_schema = require('./actions/jadwal/syncClassGroups/syncClassGroups.schema.cjs');
@@ -119,6 +121,7 @@ const actions = {
119
121
  syncStudentAdmisi: action_syncStudentAdmisi.syncStudentAdmisi,
120
122
  checkClassAttendance: action_checkClassAttendance.checkClassAttendance,
121
123
  syncClassSessions: syncClassSessions_action.syncClassSessions,
124
+ setClassSessionDependencies: setClassSessionDependencies_action.setClassSessionDependencies,
122
125
  setAksesModulSiswaDiClassGroup: setAksesModulSiswaDiClassGroup_action.setAksesModulSiswaDiClassGroup,
123
126
  getClassSessionConflicts: getClassSessionConflicts_action.getClassSessionConflicts,
124
127
  setTravelWageSessions: setTravelWageSessions_action.setTravelWageSessions,
@@ -223,6 +226,7 @@ exports.syncStudents = action_syncStudents.syncStudents;
223
226
  exports.sendClassConsultationNotification = sendClassConsultationNotification_action.sendClassConsultationNotification;
224
227
  exports.sendScoreNotification = sendScoreNotification_action.sendScoreNotification;
225
228
  exports.replaceModuleAccessManyStudent = replaceModuleAccessManyStudent_action.replaceModuleAccessManyStudent;
229
+ exports.setClassSessionDependencies = setClassSessionDependencies_action.setClassSessionDependencies;
226
230
  exports.clearGrading = action_clearGrading.clearGrading;
227
231
  exports.createGradingAndScores = action_createGradingAndScores.createGradingAndScores;
228
232
  exports.updateGradingAndScores = action_updateGradingAndScores.updateGradingAndScores;
@@ -231,6 +235,7 @@ exports.UpdateReportStudentSchema = updateReportStudent_schema.UpdateReportStude
231
235
  exports.SendPointNotificationSchema = sendPointNotification_schema.SendPointNotificationSchema;
232
236
  exports.GetClassSessionConflictsSchema = getClassSessionConflicts_schema.GetClassSessionConflictsSchema;
233
237
  exports.SyncClassSessionsSchema = syncClassSessions_schema.SyncClassSessionsSchema;
238
+ exports.SetClassSessionDependenciesSchema = setClassSessionDependencies_schema.SetClassSessionDependenciesSchema;
234
239
  exports.SetAksesModulSiswaDiClassGroupSchema = setAksesModulSiswaDiClassGroup_schema.SetAksesModulSiswaDiClassGroupSchema;
235
240
  exports.SetTravelWageSessionsSchema = setTravelWageSessions_schema.SetTravelWageSessionsSchema;
236
241
  exports.SyncClassGroupsSchema = syncClassGroups_schema.SyncClassGroupsSchema;
package/build/index.d.ts CHANGED
@@ -71,6 +71,9 @@ export declare const actions: {
71
71
  all?: boolean | undefined;
72
72
  return?: boolean | undefined;
73
73
  }, import("./actions").SyncClassSessionsOutput, import("./actions").SyncClassSessionsMeta>;
74
+ setClassSessionDependencies: import("@neon.id/operation").Action<"setClassSessionDependencies", {
75
+ id: string;
76
+ }, import("./actions").SetClassSessionDependenciesOutput, import("./actions").SetClassSessionDependenciesMeta>;
74
77
  setAksesModulSiswaDiClassGroup: import("@neon.id/operation").Action<"setAksesModulSiswaDiClassGroup", {
75
78
  moduleIds: string[];
76
79
  studentIds: string[];
package/build/index.mjs CHANGED
@@ -60,6 +60,7 @@ import { syncStudents } from './actions/akademik/action.syncStudents.mjs';
60
60
  import { sendClassConsultationNotification } from './actions/jadwal/sendClassConsultationNotification/sendClassConsultationNotification.action.mjs';
61
61
  import { sendScoreNotification } from './actions/penilaian/sendScoreNotification/sendScoreNotification.action.mjs';
62
62
  import { replaceModuleAccessManyStudent } from './actions/replaceModuleAccessManyStudent/replaceModuleAccessManyStudent.action.mjs';
63
+ import { setClassSessionDependencies } from './actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.mjs';
63
64
  import { clearGrading } from './actions/rasionalisasi/action.clearGrading.mjs';
64
65
  import { createGradingAndScores } from './actions/rasionalisasi/action.createGradingAndScores.mjs';
65
66
  import { updateGradingAndScores } from './actions/rasionalisasi/action.updateGradingAndScores.mjs';
@@ -68,6 +69,7 @@ export { UpdateReportStudentSchema } from './actions/akademik/updateReportStuden
68
69
  export { SendPointNotificationSchema } from './actions/akademik/sendPointNotification/sendPointNotification.schema.mjs';
69
70
  export { GetClassSessionConflictsSchema } from './actions/jadwal/getClassSessionConflicts/getClassSessionConflicts.schema.mjs';
70
71
  export { SyncClassSessionsSchema } from './actions/jadwal/syncClassSessions/syncClassSessions.schema.mjs';
72
+ export { SetClassSessionDependenciesSchema } from './actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.schema.mjs';
71
73
  export { SetAksesModulSiswaDiClassGroupSchema } from './actions/jadwal/setAksesModulSiswaDiClassGroup/setAksesModulSiswaDiClassGroup.schema.mjs';
72
74
  export { SetTravelWageSessionsSchema } from './actions/jadwal/setTravelWageSessions/setTravelWageSessions.schema.mjs';
73
75
  export { SyncClassGroupsSchema } from './actions/jadwal/syncClassGroups/syncClassGroups.schema.mjs';
@@ -119,6 +121,7 @@ const actions = {
119
121
  syncStudentAdmisi,
120
122
  checkClassAttendance,
121
123
  syncClassSessions,
124
+ setClassSessionDependencies,
122
125
  setAksesModulSiswaDiClassGroup,
123
126
  getClassSessionConflicts,
124
127
  setTravelWageSessions,
@@ -161,4 +164,4 @@ const actions = {
161
164
  syncStudents
162
165
  };
163
166
 
164
- 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, setTravelWageSessions, syncClassGroups, syncClassSessions, syncCommitment, syncStudentAdmisi, syncStudentBranch, syncStudentInformation, syncStudentReport, syncStudents, updateGradingAndScores, updateMany, updateReportStudent, userCountStats };
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 };
@@ -461,6 +461,7 @@ function useImportData(stream) {
461
461
  branchIds: input.branchIds.map((id) => new core.ObjectId(id)),
462
462
  teacherIds,
463
463
  subjectIds,
464
+ virtualBranchIds: input.branchIds.map((id) => new core.ObjectId(id)),
464
465
  status,
465
466
  isTeacherShown: true,
466
467
  isTeacherSubtituted: false,
@@ -459,6 +459,7 @@ function useImportData(stream) {
459
459
  branchIds: input.branchIds.map((id) => new ObjectId(id)),
460
460
  teacherIds,
461
461
  subjectIds,
462
+ virtualBranchIds: input.branchIds.map((id) => new ObjectId(id)),
462
463
  status,
463
464
  isTeacherShown: true,
464
465
  isTeacherSubtituted: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neutron.co.id/pendidikan-operation",
3
- "version": "1.29.3",
3
+ "version": "1.29.4",
4
4
  "description": "Operation package of Neutron Pendidikan.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "contributors": [
@@ -86,5 +86,5 @@
86
86
  "publishConfig": {
87
87
  "access": "public"
88
88
  },
89
- "build": 159
89
+ "build": 160
90
90
  }