@neutron.co.id/pendidikan-operation 1.19.3 → 1.20.1

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/index.cjs CHANGED
@@ -3,13 +3,13 @@
3
3
  const core = require('@neon.id/core');
4
4
  const operation = require('@neon.id/operation');
5
5
  const query = require('@neon.id/query');
6
+ const z$N = require('@neon.id/z');
7
+ const value = require('@neon.id/utils/value');
6
8
  const code = require('@neon.id/utils/code');
7
9
  const date = require('@neon.id/utils/date');
8
10
  const period = require('@neon.id/utils/period');
9
11
  const jadwalModels = require('@neutron.co.id/jadwal-models');
10
- const z$N = require('@neon.id/z');
11
12
  const string = require('@neon.id/utils/string');
12
- const value = require('@neon.id/utils/value');
13
13
  const tty = require('node:tty');
14
14
 
15
15
  function _interopNamespaceCompat(e) {
@@ -2965,6 +2965,52 @@ async function _getTravelWage(stream, classSession) {
2965
2965
  return data;
2966
2966
  }
2967
2967
 
2968
+ const customSaveOneClassSession = operation.Action.define({
2969
+ key: "customSaveOneClassSession",
2970
+ name: "Custom Save One Class Session",
2971
+ type: "command",
2972
+ category: "domain",
2973
+ execute: async (input, stream) => {
2974
+ guard(stream, "streamRequired");
2975
+ guard(input, "inputRequired");
2976
+ const dbs = stream.core.dbs;
2977
+ const dbSession = dbs["neu-jadwal"].models["neu:jadwal:classSession"];
2978
+ const newSession = await dbSession.create({
2979
+ branchIds: input.branchIds,
2980
+ isTeacherShown: input.isTeacherShown,
2981
+ isTitleSession: input.isTitleSession,
2982
+ status: input.status,
2983
+ statusPresenceStudent: input.statusPresenceStudent,
2984
+ startedAt: input.startedAt,
2985
+ endedAt: input.endedAt,
2986
+ type: input.type,
2987
+ classSessionPurposeId: input.classSessionPurposeId,
2988
+ subjectIds: input.subjectIds,
2989
+ stageId: input.stageId,
2990
+ title: input.title,
2991
+ subtitle: input.subtitle,
2992
+ isPracticeSession: input.isPracticeSession,
2993
+ buildingId: input.buildingId,
2994
+ roomId: input.roomId,
2995
+ locationText: input.locationText,
2996
+ locationType: input.locationType,
2997
+ schoolId: input.schoolId,
2998
+ map: input.map,
2999
+ link: input.link,
3000
+ password: input.password
3001
+ });
3002
+ console.log({ newSession });
3003
+ return core.Result.ok({
3004
+ state: "saveSessionCreate",
3005
+ message: "Save Session has been create.",
3006
+ data: {
3007
+ code: 1,
3008
+ classSessionId: newSession?.id
3009
+ }
3010
+ });
3011
+ }
3012
+ });
3013
+
2968
3014
  const getGradingCount = operation.Action.define({
2969
3015
  key: "getGradingCount",
2970
3016
  name: "Get GradingCount",
@@ -2995,6 +3041,363 @@ const getGradingCount = operation.Action.define({
2995
3041
  }
2996
3042
  });
2997
3043
 
3044
+ const ReplaceModuleAccessSchema = z$N.z.object({
3045
+ staffId: z$N.z.objectId().optional().explain({
3046
+ label: "Staff ID"
3047
+ }),
3048
+ studentId: z$N.z.objectId().optional().explain({
3049
+ label: "Student ID"
3050
+ }),
3051
+ moduleIds: z$N.z.array(z$N.z.objectId()).optional().explain({
3052
+ label: "Module IDs"
3053
+ })
3054
+ });
3055
+
3056
+ function useAkademik(stream) {
3057
+ if (!stream)
3058
+ throw core.Result.fail("Stream is not defined.");
3059
+ const actions = stream.actions.data;
3060
+ const dbGerbang = stream.core.dbs["neo-gerbang"].models["neo:gerbang:access"];
3061
+ return {
3062
+ setGerbangAccess,
3063
+ updateGerbangAccess,
3064
+ syncGerbangAccess,
3065
+ deleteGerbangAccess,
3066
+ getOneStudent,
3067
+ updateOneStudent,
3068
+ getManyModules,
3069
+ getOneModule,
3070
+ getManySubjects,
3071
+ getManyTopics
3072
+ };
3073
+ async function setGerbangAccess(operations) {
3074
+ console.log(operations);
3075
+ await dbGerbang.bulkWrite(operations);
3076
+ }
3077
+ async function updateGerbangAccess(key, updates) {
3078
+ await dbGerbang.updateMany({ key }, { $set: updates });
3079
+ }
3080
+ async function deleteGerbangAccess(filter) {
3081
+ await dbGerbang.deleteMany(filter);
3082
+ }
3083
+ async function syncGerbangAccess(key) {
3084
+ await actions.syncMany.execute(
3085
+ {
3086
+ model: "neo:gerbang:access",
3087
+ useDry: false,
3088
+ query: query.Query.define({
3089
+ filter: {
3090
+ key
3091
+ }
3092
+ })
3093
+ },
3094
+ stream
3095
+ );
3096
+ }
3097
+ async function getOneStudent(stream2, userId) {
3098
+ const result = await actions.getMany.execute(
3099
+ {
3100
+ model: "neu:akademik:student",
3101
+ query: query.Query.define({
3102
+ filter: {
3103
+ userId
3104
+ },
3105
+ fields: {
3106
+ id: 1,
3107
+ flag: 1,
3108
+ display: 1,
3109
+ name: 1,
3110
+ birthDate: 1,
3111
+ point: 1
3112
+ }
3113
+ })
3114
+ },
3115
+ stream2
3116
+ );
3117
+ if (result.isFailure)
3118
+ throw result;
3119
+ return result.value[0];
3120
+ }
3121
+ async function updateOneStudent(input) {
3122
+ const result = await actions.updateOne.execute(
3123
+ {
3124
+ model: "neu:akademik:student",
3125
+ id: input.studentId,
3126
+ data: {
3127
+ point: input.data
3128
+ },
3129
+ query: query.Query.define({
3130
+ fields: input.fragment
3131
+ })
3132
+ },
3133
+ stream
3134
+ );
3135
+ if (result.isFailure)
3136
+ throw result;
3137
+ return result.value;
3138
+ }
3139
+ async function getManyModules(input) {
3140
+ console.log("fragment", input.fragment);
3141
+ const result = await actions.getMany.execute(
3142
+ {
3143
+ model: "neu:akademik:module",
3144
+ query: input.query
3145
+ },
3146
+ stream
3147
+ );
3148
+ if (result.isFailure)
3149
+ throw result;
3150
+ const items = result.value;
3151
+ const meta = value.ValueUtil.omitValues(result.payload.meta || {}, [
3152
+ "model",
3153
+ "query"
3154
+ ]);
3155
+ return { items, meta };
3156
+ }
3157
+ async function getOneModule(stream2, id) {
3158
+ const result = await actions.getMany.execute(
3159
+ {
3160
+ model: "neu:akademik:module",
3161
+ query: query.Query.define({
3162
+ filter: {
3163
+ _id: id
3164
+ },
3165
+ fields: {
3166
+ id: 1,
3167
+ name: 1,
3168
+ code: 1,
3169
+ status: 1,
3170
+ startedAt: 1,
3171
+ endedAt: 1,
3172
+ courseCollectionIds: 1
3173
+ }
3174
+ })
3175
+ },
3176
+ stream2
3177
+ );
3178
+ if (result.isFailure)
3179
+ throw result;
3180
+ return result.value[0];
3181
+ }
3182
+ async function getManySubjects(input) {
3183
+ const result = await actions.getMany.execute(
3184
+ {
3185
+ model: "neu:akademik:academicSubject",
3186
+ query: query.Query.define({
3187
+ fields: input.fragment
3188
+ })
3189
+ },
3190
+ stream
3191
+ );
3192
+ if (result.isFailure)
3193
+ throw result;
3194
+ const items = result.value;
3195
+ const meta = value.ValueUtil.omitValues(result.payload.meta || {}, [
3196
+ "model",
3197
+ "query"
3198
+ ]);
3199
+ return { items, meta };
3200
+ }
3201
+ async function getManyTopics(input) {
3202
+ const result = await actions.getMany.execute(
3203
+ {
3204
+ model: "neu:akademik:academicTopic",
3205
+ query: query.Query.define({
3206
+ filter: input?.filter,
3207
+ fields: input.fragment
3208
+ })
3209
+ },
3210
+ stream
3211
+ );
3212
+ if (result.isFailure)
3213
+ throw result;
3214
+ const items = result.value;
3215
+ const meta = value.ValueUtil.omitValues(result.payload.meta || {}, [
3216
+ "model",
3217
+ "query"
3218
+ ]);
3219
+ return { items, meta };
3220
+ }
3221
+ }
3222
+
3223
+ const replaceModuleAccess = operation.Action.define({
3224
+ key: "replaceModuleAccess",
3225
+ name: "Replace Module Access",
3226
+ type: "command",
3227
+ category: "domain",
3228
+ execute: async (input, stream) => {
3229
+ if (!stream)
3230
+ throw core.Result.fail("streamRequired");
3231
+ const { validate } = operation.useValidation(stream, ReplaceModuleAccessSchema);
3232
+ const {
3233
+ getManyModules,
3234
+ setGerbangAccess,
3235
+ deleteGerbangAccess,
3236
+ syncGerbangAccess
3237
+ } = useAkademik(stream);
3238
+ try {
3239
+ const data = validate(input);
3240
+ const query = await _prepareQueryModule(data);
3241
+ const modules = await getManyModules({ query });
3242
+ guard(modules, "moduleNotFound");
3243
+ console.log("isi module", modules.items);
3244
+ const deleteManyQuery = {
3245
+ givenTo: input?.studentId,
3246
+ $and: [
3247
+ { "meta.moduleId": { $exists: true } },
3248
+ { "meta.moduleId": { $nin: input?.moduleIds } }
3249
+ ]
3250
+ };
3251
+ await deleteGerbangAccess(deleteManyQuery);
3252
+ let key = "";
3253
+ const operations = modules.items.map((module) => {
3254
+ key = `neu:app:module:${module.id}`;
3255
+ const statements = prepareStatements$1(module?.courseCollectionIds || []);
3256
+ console.log("statement e", module.courseCollectionIds);
3257
+ return {
3258
+ updateOne: {
3259
+ filter: { key, givenTo: input?.studentId },
3260
+ update: {
3261
+ $set: {
3262
+ key,
3263
+ status: "active",
3264
+ givenBy: input?.staffId,
3265
+ givenTo: input?.studentId,
3266
+ applicationId: "61b41fc1db516fc9dcdc0eec",
3267
+ statements,
3268
+ startedAt: module.startedAt,
3269
+ endedAt: module.endedAt,
3270
+ meta: {
3271
+ moduleId: new core.ObjectId(module.id)
3272
+ },
3273
+ version: "2022-07-21",
3274
+ updatedAt: /* @__PURE__ */ new Date(),
3275
+ updatedBy: input?.staffId
3276
+ },
3277
+ $setOnInsert: {
3278
+ createdAt: /* @__PURE__ */ new Date(),
3279
+ createdBy: input?.staffId
3280
+ }
3281
+ },
3282
+ upsert: true
3283
+ }
3284
+ };
3285
+ });
3286
+ await setGerbangAccess(operations);
3287
+ await syncGerbangAccess(key);
3288
+ return core.Result.ok({
3289
+ state: "moduleReplaced",
3290
+ message: "Module replaced.",
3291
+ data: {}
3292
+ });
3293
+ } catch (error) {
3294
+ if (error?.isFailure)
3295
+ throw error;
3296
+ console.error(error);
3297
+ return core.Result.fail({
3298
+ state: `replaceModuleAccessFailed`,
3299
+ message: `Failed to set module.`,
3300
+ error: error?.toString()
3301
+ });
3302
+ }
3303
+ }
3304
+ });
3305
+ async function _prepareQueryModule(input) {
3306
+ console.log("input", input);
3307
+ const query$1 = query.Query.define({
3308
+ filter: {
3309
+ _id: { $in: input.moduleIds }
3310
+ },
3311
+ fields: {
3312
+ id: 1,
3313
+ name: 1,
3314
+ code: 1,
3315
+ status: 1,
3316
+ startedAt: 1,
3317
+ endedAt: 1,
3318
+ courseCollectionIds: 1
3319
+ }
3320
+ });
3321
+ return query$1;
3322
+ }
3323
+ function prepareStatements$1(ids) {
3324
+ return ids.map((id) => {
3325
+ return {
3326
+ effect: "allow",
3327
+ action: "neo:belajar:learnCourse",
3328
+ object: `neo:belajar:courseCollection:${id}`
3329
+ };
3330
+ });
3331
+ }
3332
+
3333
+ const RefreshModuleAccessSchema = z$N.z.object({
3334
+ staffId: z$N.z.objectId().optional().explain({
3335
+ label: "Staff ID"
3336
+ }),
3337
+ moduleId: z$N.z.string().optional().explain({
3338
+ label: "Module ID"
3339
+ })
3340
+ });
3341
+
3342
+ const refreshModuleAccess = operation.Action.define({
3343
+ key: "refreshModuleAccess",
3344
+ name: "Refresh Module Access",
3345
+ type: "command",
3346
+ category: "domain",
3347
+ execute: async (input, stream) => {
3348
+ if (!stream)
3349
+ throw core.Result.fail("streamRequired");
3350
+ const { validate } = operation.useValidation(stream, RefreshModuleAccessSchema);
3351
+ const { getOneModule, updateGerbangAccess, syncGerbangAccess } = useAkademik(stream);
3352
+ try {
3353
+ const data = validate(input);
3354
+ const module = await getOneModule(stream, data?.moduleId || "");
3355
+ guard(module, "moduleNotFound");
3356
+ console.log("isi module", module);
3357
+ let key = "";
3358
+ key = `neu:app:module:${data?.moduleId}`;
3359
+ const updates = {
3360
+ statements: [],
3361
+ startedAt: module.startedAt || /* @__PURE__ */ new Date(),
3362
+ endedAt: module.endedAt,
3363
+ status: module.status === "ready" ? "active" : "inactive",
3364
+ meta: { moduleId: data.moduleId },
3365
+ updatedAt: /* @__PURE__ */ new Date(),
3366
+ updatedBy: data?.staffId
3367
+ };
3368
+ if (module.courseCollectionIds?.length) {
3369
+ updates.statements = prepareStatements(module.courseCollectionIds);
3370
+ }
3371
+ console.log("updates", updates);
3372
+ await updateGerbangAccess(key, updates);
3373
+ await syncGerbangAccess(key);
3374
+ return core.Result.ok({
3375
+ state: "moduleRefreshed",
3376
+ message: "Module refreshed.",
3377
+ data: {}
3378
+ });
3379
+ } catch (error) {
3380
+ if (error?.isFailure)
3381
+ throw error;
3382
+ console.error(error);
3383
+ return core.Result.fail({
3384
+ state: `refreshModuleAccessFailed`,
3385
+ message: `Failed to set module.`,
3386
+ error: error?.toString()
3387
+ });
3388
+ }
3389
+ }
3390
+ });
3391
+ function prepareStatements(ids) {
3392
+ return ids.map((id) => {
3393
+ return {
3394
+ effect: "allow",
3395
+ action: "neo:belajar:learnCourse",
3396
+ object: `neo:belajar:courseCollection:${id}`
3397
+ };
3398
+ });
3399
+ }
3400
+
2998
3401
  const prepareExperience = operation.Action.define({
2999
3402
  key: "prepareExperience",
3000
3403
  name: "Set Something",
@@ -3225,11 +3628,13 @@ const generateGrading = operation.Action.define({
3225
3628
  guard(stream, "streamRequired");
3226
3629
  guard(input, "inputRequired");
3227
3630
  const comparator = await _getGradingInsert$1(stream, input.gradingInsertId);
3631
+ console.log("isi comparator di generateGrading", comparator);
3228
3632
  await _generateGradingRasio(stream, comparator);
3229
3633
  const gradingComparisons = await _getGradingRasio(
3230
3634
  stream,
3231
3635
  input.gradingInsertId
3232
3636
  );
3637
+ console.log("isi gradingComparisons di generateGrading", gradingComparisons);
3233
3638
  await _generateGradingComparisonItem(stream, comparator, gradingComparisons);
3234
3639
  return core.Result.ok({
3235
3640
  state: "allGenerated",
@@ -3247,6 +3652,11 @@ async function _getGradingInsert$1(stream, gradingInsertId) {
3247
3652
  fields: {
3248
3653
  id: 1,
3249
3654
  gradingId: 1,
3655
+ gradingContextIds: 1,
3656
+ student: {
3657
+ name: 1,
3658
+ id: 1
3659
+ },
3250
3660
  gradingContexts: {
3251
3661
  id: 1,
3252
3662
  gradingComparators: { id: 1 }
@@ -3256,6 +3666,7 @@ async function _getGradingInsert$1(stream, gradingInsertId) {
3256
3666
  },
3257
3667
  stream
3258
3668
  );
3669
+ console.log("isi result", resultInsert.value);
3259
3670
  return resultInsert.value;
3260
3671
  }
3261
3672
  async function _getGradingRasio(stream, gradingInsertId) {
@@ -3281,6 +3692,7 @@ async function _getGradingRasio(stream, gradingInsertId) {
3281
3692
  }
3282
3693
  async function _generateGradingRasio(stream, gradingInserts) {
3283
3694
  const operations = [];
3695
+ console.log("isi gradingInserts", gradingInserts.gradingContexts);
3284
3696
  for (const gradingContext of gradingInserts.gradingContexts) {
3285
3697
  for (const comparator of gradingContext.gradingComparators) {
3286
3698
  operations.push({
@@ -3401,6 +3813,7 @@ const updateGradingAndScores = operation.Action.define({
3401
3813
  console.timeEnd("\u23F1\uFE0F updateGrading");
3402
3814
  console.time("\u23F1\uFE0F getGradingComponents");
3403
3815
  const gradingComponents = await _getGradingComponents$1(stream, gradingTypeId);
3816
+ console.log("isi edit gradingComponents", gradingComponents);
3404
3817
  console.timeEnd("\u23F1\uFE0F getGradingComponents");
3405
3818
  console.time("\u23F1\uFE0F updateScores");
3406
3819
  await _updateScores(stream, gradingId, gradingComponents, data);
@@ -3474,7 +3887,7 @@ async function _updateScores(stream, gradingId, gradingComponents, data) {
3474
3887
  await stream.core.dbs["neu-penilaian"].models["neu:penilaian:score"].bulkWrite(operations);
3475
3888
  await stream.actions.data.syncMany.execute(
3476
3889
  {
3477
- model: "neo:penilaian:score",
3890
+ model: "neu:penilaian:score",
3478
3891
  useDry: false,
3479
3892
  query: query.Query.define({
3480
3893
  filter: { gradingId },
@@ -3924,9 +4337,11 @@ const createGradingAndScores = operation.Action.define({
3924
4337
  }
3925
4338
  console.time("\u23F1\uFE0F createGrading");
3926
4339
  const grading = await _createGrading(stream, { gradingTypeId, studentId });
4340
+ console.log("isi grading", grading);
3927
4341
  console.timeEnd("\u23F1\uFE0F createGrading");
3928
4342
  console.time("\u23F1\uFE0F getGradingComponents");
3929
4343
  const gradingComponents = await _getGradingComponents(stream, gradingTypeId);
4344
+ console.log("isi gradingComponents", gradingComponents);
3930
4345
  console.timeEnd("\u23F1\uFE0F getGradingComponents");
3931
4346
  console.time("\u23F1\uFE0F generateScores");
3932
4347
  await _generateScores(stream, grading, gradingComponents);
@@ -3994,7 +4409,7 @@ async function _generateScores(stream, grading, gradingComponents) {
3994
4409
  await stream.core.dbs["neu-penilaian"].models["neu:penilaian:score"].bulkWrite(operations);
3995
4410
  await stream.actions.data.syncMany.execute(
3996
4411
  {
3997
- model: "neo:penilaian:score",
4412
+ model: "neu:penilaian:score",
3998
4413
  useDry: false,
3999
4414
  query: query.Query.define({
4000
4415
  filter: { gradingId: grading.id },
@@ -4658,6 +5073,8 @@ const actions = {
4658
5073
  getStudentPoint,
4659
5074
  getTeacherPoint,
4660
5075
  getStaffPoint,
5076
+ replaceModuleAccess,
5077
+ refreshModuleAccess,
4661
5078
  // Jadwal
4662
5079
  allConflict,
4663
5080
  classSessionInventoryOccurs,
@@ -4671,6 +5088,7 @@ const actions = {
4671
5088
  syncClassSessions,
4672
5089
  getClassSessionConflicts,
4673
5090
  setTravelWageSessions,
5091
+ customSaveOneClassSession,
4674
5092
  // Penilaian
4675
5093
  getGradingCount,
4676
5094
  // Rasionalisasi
@@ -4697,6 +5115,8 @@ const actions = {
4697
5115
 
4698
5116
  exports.GetClassSessionConflictsSchema = GetClassSessionConflictsSchema;
4699
5117
  exports.PrepareExperienceSchema = PrepareExperienceSchema;
5118
+ exports.RefreshModuleAccessSchema = RefreshModuleAccessSchema;
5119
+ exports.ReplaceModuleAccessSchema = ReplaceModuleAccessSchema;
4700
5120
  exports.SetTravelWageSessionsSchema = SetTravelWageSessionsSchema;
4701
5121
  exports.SyncClassSessionsSchema = SyncClassSessionsSchema;
4702
5122
  exports._calculateComparison = _calculateComparison;
@@ -4715,6 +5135,7 @@ exports.clearGrading = clearGrading;
4715
5135
  exports.clearOneOverrides = clearOneOverrides;
4716
5136
  exports.createGradingAndScores = createGradingAndScores;
4717
5137
  exports.createManySession = createManySession;
5138
+ exports.customSaveOneClassSession = customSaveOneClassSession;
4718
5139
  exports.deleteManySession = deleteManySession;
4719
5140
  exports.editAnswer = editAnswer;
4720
5141
  exports.generateGrading = generateGrading;
@@ -4733,7 +5154,9 @@ exports.prepareExperience = prepareExperience;
4733
5154
  exports.presenceSessionStudent = presenceSessionStudent;
4734
5155
  exports.presenceSessionTeacher = presenceSessionTeacher;
4735
5156
  exports.rasionalizeGrading = rasionalizeGrading;
5157
+ exports.refreshModuleAccess = refreshModuleAccess;
4736
5158
  exports.registerOfficePendidikanHooks = registerOfficePendidikanHooks;
5159
+ exports.replaceModuleAccess = replaceModuleAccess;
4737
5160
  exports.sendAnswer = sendAnswer;
4738
5161
  exports.sendQuestion = sendQuestion;
4739
5162
  exports.setTravelWageSessions = setTravelWageSessions;
package/build/index.d.cts CHANGED
@@ -332,6 +332,38 @@ declare const setTravelWageSessions: Action<"setTravelWageSessions", {
332
332
  }, SetTravelWageSessionsOutput, SetTravelWageSessionsMeta>;
333
333
  type SetTravelWageSessionsAction = typeof setTravelWageSessions;
334
334
 
335
+ interface CustomSaveOneClassSessionInput {
336
+ branchIds: string[];
337
+ isTeacherShown: boolean;
338
+ isTitleSession: boolean;
339
+ status: string;
340
+ statusPresenceStudent: string;
341
+ startedAt: string;
342
+ endedAt: string;
343
+ type: string;
344
+ classSessionPurposeId: string;
345
+ subjectIds: string[];
346
+ stageId: string;
347
+ title: string;
348
+ subtitle: string;
349
+ isPracticeSession: boolean;
350
+ buildingId: string;
351
+ roomId: string;
352
+ locationText: string;
353
+ locationType: string;
354
+ schoolId: string;
355
+ map: string;
356
+ link: string;
357
+ password: string;
358
+ }
359
+ interface CustomSaveOneClassSessionOutput {
360
+ code: number;
361
+ }
362
+ interface CustomSaveOneClassSessionMeta {
363
+ }
364
+ declare const customSaveOneClassSession: Action<"customSaveOneClassSession", CustomSaveOneClassSessionInput, CustomSaveOneClassSessionOutput, CustomSaveOneClassSessionMeta>;
365
+ type CustomSaveOneClassSessionAction = typeof customSaveOneClassSession;
366
+
335
367
  interface GetGradingCountInput {
336
368
  userId: any;
337
369
  }
@@ -343,6 +375,54 @@ interface GetGradingCountMeta {
343
375
  declare const getGradingCount: Action<"getGradingCount", GetGradingCountInput, GetGradingCountOutput, GetGradingCountMeta>;
344
376
  type GetGradingCountAction = typeof getGradingCount;
345
377
 
378
+ declare const ReplaceModuleAccessSchema: z.ZodObject<{
379
+ staffId: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
380
+ studentId: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
381
+ moduleIds: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
382
+ }, "strip", z.ZodTypeAny, {
383
+ staffId?: string | undefined;
384
+ studentId?: string | undefined;
385
+ moduleIds?: string[] | undefined;
386
+ }, {
387
+ staffId?: string | undefined;
388
+ studentId?: string | undefined;
389
+ moduleIds?: string[] | undefined;
390
+ }>;
391
+
392
+ type ReplaceModuleAccessInput = z.parse<typeof ReplaceModuleAccessSchema>;
393
+ interface ReplaceModuleAccessOutput {
394
+ }
395
+ interface ReplaceModuleAccessMeta {
396
+ }
397
+ declare const replaceModuleAccess: Action<"replaceModuleAccess", {
398
+ staffId?: string | undefined;
399
+ studentId?: string | undefined;
400
+ moduleIds?: string[] | undefined;
401
+ }, ReplaceModuleAccessOutput, ReplaceModuleAccessMeta>;
402
+ type ReplaceModuleAccessAction = typeof replaceModuleAccess;
403
+
404
+ declare const RefreshModuleAccessSchema: z.ZodObject<{
405
+ staffId: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
406
+ moduleId: z.ZodOptional<z.ZodString>;
407
+ }, "strip", z.ZodTypeAny, {
408
+ staffId?: string | undefined;
409
+ moduleId?: string | undefined;
410
+ }, {
411
+ staffId?: string | undefined;
412
+ moduleId?: string | undefined;
413
+ }>;
414
+
415
+ type RefreshModuleAccessInput = z.parse<typeof RefreshModuleAccessSchema>;
416
+ interface RefreshModuleAccessOutput {
417
+ }
418
+ interface RefreshModuleAccessMeta {
419
+ }
420
+ declare const refreshModuleAccess: Action<"refreshModuleAccess", {
421
+ staffId?: string | undefined;
422
+ moduleId?: string | undefined;
423
+ }, RefreshModuleAccessOutput, RefreshModuleAccessMeta>;
424
+ type RefreshModuleAccessAction = typeof refreshModuleAccess;
425
+
346
426
  declare const PrepareExperienceSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
347
427
 
348
428
  type PrepareExperienceInput = z.parse<typeof PrepareExperienceSchema>;
@@ -592,6 +672,15 @@ declare const actions: {
592
672
  getStudentPoint: _neon_id_operation.Action<"getStudentPoint", GetStudentPointInput, GetStudentPointOutput, GetStudentPointMeta>;
593
673
  getTeacherPoint: _neon_id_operation.Action<"getTeacherPoint", GetTeacherPointInput, GetTeacherPointOutput, GetTeacherPointMeta>;
594
674
  getStaffPoint: _neon_id_operation.Action<"getStaffPoint", GetStaffPointInput, GetStaffPointOutput, GetStaffPointMeta>;
675
+ replaceModuleAccess: _neon_id_operation.Action<"replaceModuleAccess", {
676
+ staffId?: string | undefined;
677
+ studentId?: string | undefined;
678
+ moduleIds?: string[] | undefined;
679
+ }, ReplaceModuleAccessOutput, ReplaceModuleAccessMeta>;
680
+ refreshModuleAccess: _neon_id_operation.Action<"refreshModuleAccess", {
681
+ staffId?: string | undefined;
682
+ moduleId?: string | undefined;
683
+ }, RefreshModuleAccessOutput, RefreshModuleAccessMeta>;
595
684
  allConflict: _neon_id_operation.Action<"allConflict", AllConflictInput, AllConflictOutput, AllConflictMeta>;
596
685
  classSessionInventoryOccurs: _neon_id_operation.Action<"classSessionInventoryOccurs", ClassSessionInventoryOccursInput, ClassSessionInventoryOccursOutput, ClassSessionInventoryOccursMeta>;
597
686
  classSessionInventoryPreparation: _neon_id_operation.Action<"classSessionInventoryPreparation", ClassSessionInventoryPreparationInput, ClassSessionInventoryPreparationOutput, ClassSessionInventoryPreparationMeta>;
@@ -614,6 +703,7 @@ declare const actions: {
614
703
  setTravelWageSessions: _neon_id_operation.Action<"setTravelWageSessions", {
615
704
  classSessionIds?: string[] | undefined;
616
705
  }, SetTravelWageSessionsOutput, SetTravelWageSessionsMeta>;
706
+ customSaveOneClassSession: _neon_id_operation.Action<"customSaveOneClassSession", CustomSaveOneClassSessionInput, CustomSaveOneClassSessionOutput, CustomSaveOneClassSessionMeta>;
617
707
  getGradingCount: _neon_id_operation.Action<"getGradingCount", GetGradingCountInput, GetGradingCountOutput, GetGradingCountMeta>;
618
708
  addManyGradingComponent: _neon_id_operation.Action<"addManyGradingComponent", AddManyGradingComponentInput, AddManyGradingComponentOutput, AddManyGradingComponentMeta>;
619
709
  calculateGrading: _neon_id_operation.Action<"calculateGrading", CalculateGradingInput, CalculateGradingOutput, CalculateGradingMeta>;
@@ -635,4 +725,4 @@ declare const actions: {
635
725
  sendQuestion: _neon_id_operation.Action<"sendQuestion", SendQuestionInput, SendQuestionOutput, SendQuestionMeta>;
636
726
  };
637
727
 
638
- export { type AcceptQuestionAction, type AcceptQuestionInput, type AcceptQuestionMeta, type AcceptQuestionOutput, type AddManyGradingComponentAction, type AddManyGradingComponentInput, type AddManyGradingComponentMeta, type AddManyGradingComponentOutput, type AllConflictAction, type AllConflictInput, type AllConflictMeta, type AllConflictOutput, type CalculateGradingAction, type CalculateGradingInput, type CalculateGradingMeta, type CalculateGradingOutput, type CalculateManyComparatorAction, type CalculateManyComparatorInput, type CalculateManyComparatorMeta, type CalculateManyComparatorOutput, type CalculateOneComparatorAction, type CalculateOneComparatorInput, type CalculateOneComparatorMeta, type CalculateOneComparatorOutput, type CheckClassAttendanceAction, type CheckClassAttendanceInput, type CheckClassAttendanceMeta, type CheckClassAttendanceOutput, type ClassSessionInventoryOccursAction, type ClassSessionInventoryOccursInput, type ClassSessionInventoryOccursMeta, type ClassSessionInventoryOccursOutput, type ClassSessionInventoryPreparationAction, type ClassSessionInventoryPreparationInput, type ClassSessionInventoryPreparationMeta, type ClassSessionInventoryPreparationOutput, type ClearAllOverridesAction, type ClearAllOverridesInput, type ClearAllOverridesMeta, type ClearAllOverridesOutput, type ClearGradingAction, type ClearGradingInput, type ClearGradingMeta, type ClearGradingOutput, type ClearOneOverridesAction, type ClearOneOverridesInput, type ClearOneOverridesMeta, type ClearOneOverridesOutput, type CreateGradingAndScoresAction, type CreateGradingAndScoresInput, type CreateGradingAndScoresMeta, type CreateGradingAndScoresOutput, type CreateManySessionAction, type CreateManySessionInput, type CreateManySessionMeta, type CreateManySessionOutput, type DeleteManySessionAction, type DeleteManySessionInput, type DeleteManySessionMeta, type DeleteManySessionOutput, type EditAnswerAction, type EditAnswerInput, type EditAnswerMeta, type EditAnswerOutput, type GenerateGradingAction, type GenerateGradingInput, type GenerateGradingMeta, type GenerateGradingOutput, type GetClassSessionConflictsAction, type GetClassSessionConflictsInput, type GetClassSessionConflictsMeta, type GetClassSessionConflictsOutput, GetClassSessionConflictsSchema, type GetGradingCountAction, type GetGradingCountInput, type GetGradingCountMeta, type GetGradingCountOutput, type GetQuestionCountAction, type GetQuestionCountInput, type GetQuestionCountMeta, type GetQuestionCountOutput, type GetStaffIdAction, type GetStaffIdInput, type GetStaffIdMeta, type GetStaffIdOutput, type GetStaffPointAction, type GetStaffPointInput, type GetStaffPointMeta, type GetStaffPointOutput, type GetStudentIdAction, type GetStudentIdInput, type GetStudentIdMeta, type GetStudentIdOutput, type GetStudentPointAction, type GetStudentPointInput, type GetStudentPointMeta, type GetStudentPointOutput, type GetTeacherPointAction, type GetTeacherPointInput, type GetTeacherPointMeta, type GetTeacherPointOutput, type GradingComparator, type GradingComparatorComparison, type HasUnderstandAction, type HasUnderstandInput, type HasUnderstandMeta, type HasUnderstandOutput, type NotUnderstandAction, type NotUnderstandInput, type NotUnderstandMeta, type NotUnderstandOutput, type PrepareConflictAction, type PrepareConflictInput, type PrepareConflictMeta, type PrepareConflictOutput, type PrepareExperienceAction, type PrepareExperienceInput, type PrepareExperienceMeta, type PrepareExperienceOutput, PrepareExperienceSchema, type PresenceSessionStudentAction, type PresenceSessionStudentInput, type PresenceSessionStudentMeta, type PresenceSessionStudentOutput, type PresenceSessionTeacherAction, type PresenceSessionTeacherInput, type PresenceSessionTeacherMeta, type PresenceSessionTeacherOutput, type RasionalizeGradingAction, type RasionalizeGradingInput, type RasionalizeGradingMeta, type RasionalizeGradingOutput, type SendAnswerAction, type SendAnswerInput, type SendAnswerMeta, type SendAnswerOutput, type SendQuestionAction, type SendQuestionInput, type SendQuestionMeta, type SendQuestionOutput, type SetTravelWageSessionsAction, type SetTravelWageSessionsInput, type SetTravelWageSessionsMeta, type SetTravelWageSessionsOutput, SetTravelWageSessionsSchema, type SyncClassSessionsAction, type SyncClassSessionsInput, type SyncClassSessionsMeta, type SyncClassSessionsOutput, SyncClassSessionsSchema, type SyncCommitmentAction, type SyncCommitmentInput, type SyncCommitmentMeta, type SyncCommitmentOutput, type SyncStudentAdmisiAction, type SyncStudentAdmisiInput, type SyncStudentAdmisiMeta, type SyncStudentAdmisiOutput, type SyncStudentBranchAction, type SyncStudentBranchInput, type SyncStudentBranchMeta, type SyncStudentBranchOutput, type SyncStudentInformationAction, type SyncStudentInformationInput, type SyncStudentInformationMeta, type SyncStudentInformationOutput, type UpdateGradingAndScoresAction, type UpdateGradingAndScoresInput, type UpdateGradingAndScoresMeta, type UpdateGradingAndScoresOutput, type UserCountStatsAction, type UserCountStatsInput, type UserCountStatsMeta, type UserCountStatsOutput, _calculateComparison, acceptQuestion, actions, addManyGradingComponent, allConflict, calculateGrading, calculateManyComparator, calculateOneComparator, checkClassAttendance, classSessionInventoryOccurs, classSessionInventoryPreparation, clearAllOverrides, clearGrading, clearOneOverrides, createGradingAndScores, createManySession, deleteManySession, editAnswer, generateGrading, getClassSessionConflicts, getGradingCount, getQuestionCount, getStaffId, getStaffPoint, getStudentId, getStudentPoint, getTeacherPoint, hasUnderstand, notUnderstand, prepareConflict, prepareExperience, presenceSessionStudent, presenceSessionTeacher, rasionalizeGrading, registerOfficePendidikanHooks, sendAnswer, sendQuestion, setTravelWageSessions, syncClassSessions, syncCommitment, syncModel, syncStudentAdmisi, syncStudentBranch, syncStudentInformation, updateGradingAndScores, userCountStats };
728
+ export { type AcceptQuestionAction, type AcceptQuestionInput, type AcceptQuestionMeta, type AcceptQuestionOutput, type AddManyGradingComponentAction, type AddManyGradingComponentInput, type AddManyGradingComponentMeta, type AddManyGradingComponentOutput, type AllConflictAction, type AllConflictInput, type AllConflictMeta, type AllConflictOutput, type CalculateGradingAction, type CalculateGradingInput, type CalculateGradingMeta, type CalculateGradingOutput, type CalculateManyComparatorAction, type CalculateManyComparatorInput, type CalculateManyComparatorMeta, type CalculateManyComparatorOutput, type CalculateOneComparatorAction, type CalculateOneComparatorInput, type CalculateOneComparatorMeta, type CalculateOneComparatorOutput, type CheckClassAttendanceAction, type CheckClassAttendanceInput, type CheckClassAttendanceMeta, type CheckClassAttendanceOutput, type ClassSessionInventoryOccursAction, type ClassSessionInventoryOccursInput, type ClassSessionInventoryOccursMeta, type ClassSessionInventoryOccursOutput, type ClassSessionInventoryPreparationAction, type ClassSessionInventoryPreparationInput, type ClassSessionInventoryPreparationMeta, type ClassSessionInventoryPreparationOutput, type ClearAllOverridesAction, type ClearAllOverridesInput, type ClearAllOverridesMeta, type ClearAllOverridesOutput, type ClearGradingAction, type ClearGradingInput, type ClearGradingMeta, type ClearGradingOutput, type ClearOneOverridesAction, type ClearOneOverridesInput, type ClearOneOverridesMeta, type ClearOneOverridesOutput, type CreateGradingAndScoresAction, type CreateGradingAndScoresInput, type CreateGradingAndScoresMeta, type CreateGradingAndScoresOutput, type CreateManySessionAction, type CreateManySessionInput, type CreateManySessionMeta, type CreateManySessionOutput, type CustomSaveOneClassSessionAction, type CustomSaveOneClassSessionInput, type CustomSaveOneClassSessionMeta, type CustomSaveOneClassSessionOutput, type DeleteManySessionAction, type DeleteManySessionInput, type DeleteManySessionMeta, type DeleteManySessionOutput, type EditAnswerAction, type EditAnswerInput, type EditAnswerMeta, type EditAnswerOutput, type GenerateGradingAction, type GenerateGradingInput, type GenerateGradingMeta, type GenerateGradingOutput, type GetClassSessionConflictsAction, type GetClassSessionConflictsInput, type GetClassSessionConflictsMeta, type GetClassSessionConflictsOutput, GetClassSessionConflictsSchema, type GetGradingCountAction, type GetGradingCountInput, type GetGradingCountMeta, type GetGradingCountOutput, type GetQuestionCountAction, type GetQuestionCountInput, type GetQuestionCountMeta, type GetQuestionCountOutput, type GetStaffIdAction, type GetStaffIdInput, type GetStaffIdMeta, type GetStaffIdOutput, type GetStaffPointAction, type GetStaffPointInput, type GetStaffPointMeta, type GetStaffPointOutput, type GetStudentIdAction, type GetStudentIdInput, type GetStudentIdMeta, type GetStudentIdOutput, type GetStudentPointAction, type GetStudentPointInput, type GetStudentPointMeta, type GetStudentPointOutput, type GetTeacherPointAction, type GetTeacherPointInput, type GetTeacherPointMeta, type GetTeacherPointOutput, type GradingComparator, type GradingComparatorComparison, type HasUnderstandAction, type HasUnderstandInput, type HasUnderstandMeta, type HasUnderstandOutput, type NotUnderstandAction, type NotUnderstandInput, type NotUnderstandMeta, type NotUnderstandOutput, type PrepareConflictAction, type PrepareConflictInput, type PrepareConflictMeta, type PrepareConflictOutput, type PrepareExperienceAction, type PrepareExperienceInput, type PrepareExperienceMeta, type PrepareExperienceOutput, PrepareExperienceSchema, type PresenceSessionStudentAction, type PresenceSessionStudentInput, type PresenceSessionStudentMeta, type PresenceSessionStudentOutput, type PresenceSessionTeacherAction, type PresenceSessionTeacherInput, type PresenceSessionTeacherMeta, type PresenceSessionTeacherOutput, type RasionalizeGradingAction, type RasionalizeGradingInput, type RasionalizeGradingMeta, type RasionalizeGradingOutput, type RefreshModuleAccessAction, type RefreshModuleAccessInput, type RefreshModuleAccessMeta, type RefreshModuleAccessOutput, RefreshModuleAccessSchema, type ReplaceModuleAccessAction, type ReplaceModuleAccessInput, type ReplaceModuleAccessMeta, type ReplaceModuleAccessOutput, ReplaceModuleAccessSchema, type SendAnswerAction, type SendAnswerInput, type SendAnswerMeta, type SendAnswerOutput, type SendQuestionAction, type SendQuestionInput, type SendQuestionMeta, type SendQuestionOutput, type SetTravelWageSessionsAction, type SetTravelWageSessionsInput, type SetTravelWageSessionsMeta, type SetTravelWageSessionsOutput, SetTravelWageSessionsSchema, type SyncClassSessionsAction, type SyncClassSessionsInput, type SyncClassSessionsMeta, type SyncClassSessionsOutput, SyncClassSessionsSchema, type SyncCommitmentAction, type SyncCommitmentInput, type SyncCommitmentMeta, type SyncCommitmentOutput, type SyncStudentAdmisiAction, type SyncStudentAdmisiInput, type SyncStudentAdmisiMeta, type SyncStudentAdmisiOutput, type SyncStudentBranchAction, type SyncStudentBranchInput, type SyncStudentBranchMeta, type SyncStudentBranchOutput, type SyncStudentInformationAction, type SyncStudentInformationInput, type SyncStudentInformationMeta, type SyncStudentInformationOutput, type UpdateGradingAndScoresAction, type UpdateGradingAndScoresInput, type UpdateGradingAndScoresMeta, type UpdateGradingAndScoresOutput, type UserCountStatsAction, type UserCountStatsInput, type UserCountStatsMeta, type UserCountStatsOutput, _calculateComparison, acceptQuestion, actions, addManyGradingComponent, allConflict, calculateGrading, calculateManyComparator, calculateOneComparator, checkClassAttendance, classSessionInventoryOccurs, classSessionInventoryPreparation, clearAllOverrides, clearGrading, clearOneOverrides, createGradingAndScores, createManySession, customSaveOneClassSession, deleteManySession, editAnswer, generateGrading, getClassSessionConflicts, getGradingCount, getQuestionCount, getStaffId, getStaffPoint, getStudentId, getStudentPoint, getTeacherPoint, hasUnderstand, notUnderstand, prepareConflict, prepareExperience, presenceSessionStudent, presenceSessionTeacher, rasionalizeGrading, refreshModuleAccess, registerOfficePendidikanHooks, replaceModuleAccess, sendAnswer, sendQuestion, setTravelWageSessions, syncClassSessions, syncCommitment, syncModel, syncStudentAdmisi, syncStudentBranch, syncStudentInformation, updateGradingAndScores, userCountStats };