@neutron.co.id/pendidikan-operation 1.29.3 → 1.29.5
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/build/actions/jadwal/action.bulkUpdateSession.cjs +44 -3
- package/build/actions/jadwal/action.bulkUpdateSession.mjs +45 -4
- package/build/actions/jadwal/index.d.ts +1 -0
- package/build/actions/jadwal/setClassSessionDependencies/index.d.ts +2 -0
- package/build/actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.cjs +116 -0
- package/build/actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.d.ts +13 -0
- package/build/actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.mjs +114 -0
- package/build/actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.schema.cjs +9 -0
- package/build/actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.schema.d.ts +8 -0
- package/build/actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.schema.mjs +7 -0
- package/build/index.cjs +5 -0
- package/build/index.d.ts +3 -0
- package/build/index.mjs +4 -1
- package/build/providers/data/useImportData.cjs +1 -0
- package/build/providers/data/useImportData.mjs +1 -0
- package/package.json +2 -2
|
@@ -19,6 +19,7 @@ const bulkUpdateSession = operation.Action.define({
|
|
|
19
19
|
}, async () => {
|
|
20
20
|
const dbs = stream.core.dbs;
|
|
21
21
|
const dbSession = dbs["neu-jadwal"].models["neu:jadwal:classSession"];
|
|
22
|
+
const dbAttendance = dbs["neu-jadwal"].models["neu:jadwal:classAttendance"];
|
|
22
23
|
const updateData = {};
|
|
23
24
|
if (input.data.teacherRepeaterIds)
|
|
24
25
|
updateData.teacherIds = input.data.teacherRepeaterIds;
|
|
@@ -37,14 +38,54 @@ const bulkUpdateSession = operation.Action.define({
|
|
|
37
38
|
updateData.status = input.data.status;
|
|
38
39
|
if (input.data.classSessionPurposeId)
|
|
39
40
|
updateData.classSessionPurposeId = input.data.classSessionPurposeId;
|
|
40
|
-
await
|
|
41
|
+
const attendances = await dbAttendance.find(
|
|
41
42
|
{
|
|
42
|
-
|
|
43
|
+
classSessionId: { $in: input.ids },
|
|
44
|
+
deletedAt: null
|
|
43
45
|
},
|
|
44
46
|
{
|
|
45
|
-
|
|
47
|
+
_id: 1,
|
|
48
|
+
classSessionId: 1,
|
|
49
|
+
teacherId: 1,
|
|
50
|
+
studentId: 1,
|
|
51
|
+
presenceType: 1
|
|
46
52
|
}
|
|
47
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
|
+
}
|
|
63
|
+
await Promise.all(
|
|
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
|
+
})
|
|
88
|
+
);
|
|
48
89
|
return core.Result.ok({
|
|
49
90
|
state: "bulkSessionUpdate",
|
|
50
91
|
message: "Sessions have been updated.",
|
|
@@ -1,4 +1,4 @@
|
|
|
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
4
|
import { useTelemetry } from '../../providers/useTelemetry.mjs';
|
|
@@ -17,6 +17,7 @@ const bulkUpdateSession = Action.define({
|
|
|
17
17
|
}, async () => {
|
|
18
18
|
const dbs = stream.core.dbs;
|
|
19
19
|
const dbSession = dbs["neu-jadwal"].models["neu:jadwal:classSession"];
|
|
20
|
+
const dbAttendance = dbs["neu-jadwal"].models["neu:jadwal:classAttendance"];
|
|
20
21
|
const updateData = {};
|
|
21
22
|
if (input.data.teacherRepeaterIds)
|
|
22
23
|
updateData.teacherIds = input.data.teacherRepeaterIds;
|
|
@@ -35,14 +36,54 @@ const bulkUpdateSession = Action.define({
|
|
|
35
36
|
updateData.status = input.data.status;
|
|
36
37
|
if (input.data.classSessionPurposeId)
|
|
37
38
|
updateData.classSessionPurposeId = input.data.classSessionPurposeId;
|
|
38
|
-
await
|
|
39
|
+
const attendances = await dbAttendance.find(
|
|
39
40
|
{
|
|
40
|
-
|
|
41
|
+
classSessionId: { $in: input.ids },
|
|
42
|
+
deletedAt: null
|
|
41
43
|
},
|
|
42
44
|
{
|
|
43
|
-
|
|
45
|
+
_id: 1,
|
|
46
|
+
classSessionId: 1,
|
|
47
|
+
teacherId: 1,
|
|
48
|
+
studentId: 1,
|
|
49
|
+
presenceType: 1
|
|
44
50
|
}
|
|
45
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
|
+
}
|
|
61
|
+
await Promise.all(
|
|
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
|
+
})
|
|
86
|
+
);
|
|
46
87
|
return Result.ok({
|
|
47
88
|
state: "bulkSessionUpdate",
|
|
48
89
|
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';
|
package/build/actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.cjs
ADDED
|
@@ -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;
|
package/build/actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.d.ts
ADDED
|
@@ -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;
|
package/build/actions/jadwal/setClassSessionDependencies/setClassSessionDependencies.action.mjs
ADDED
|
@@ -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 };
|
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');
|
|
@@ -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,
|
|
@@ -188,6 +191,7 @@ exports.deleteManySession = action_deleteManySession.deleteManySession;
|
|
|
188
191
|
exports.syncStudentAdmisi = action_syncStudentAdmisi.syncStudentAdmisi;
|
|
189
192
|
exports.checkClassAttendance = action_checkClassAttendance.checkClassAttendance;
|
|
190
193
|
exports.syncClassSessions = syncClassSessions_action.syncClassSessions;
|
|
194
|
+
exports.setClassSessionDependencies = setClassSessionDependencies_action.setClassSessionDependencies;
|
|
191
195
|
exports.setAksesModulSiswaDiClassGroup = setAksesModulSiswaDiClassGroup_action.setAksesModulSiswaDiClassGroup;
|
|
192
196
|
exports.getClassSessionConflicts = getClassSessionConflicts_action.getClassSessionConflicts;
|
|
193
197
|
exports.setTravelWageSessions = setTravelWageSessions_action.setTravelWageSessions;
|
|
@@ -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
|
@@ -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';
|
|
@@ -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
|
+
"version": "1.29.5",
|
|
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":
|
|
89
|
+
"build": 161
|
|
90
90
|
}
|