@eeplatform/basic-edu 1.7.0 → 1.8.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/dist/index.d.ts CHANGED
@@ -78,13 +78,17 @@ declare function useCurriculumController(): {
78
78
  removeFromPilotWhitelist: (req: Request, res: Response, next: NextFunction) => Promise<void>;
79
79
  };
80
80
 
81
- type TCurriculumSubject = {
81
+ type TSubject = {
82
82
  _id?: ObjectId;
83
+ school?: ObjectId;
84
+ schoolName?: string;
83
85
  curriculum: ObjectId | string;
84
86
  curriculumName: string;
85
87
  effectiveSchoolYear?: number[];
86
88
  educationLevel: string;
87
89
  gradeLevel: string;
90
+ program?: string | ObjectId;
91
+ programName?: string;
88
92
  subjectCode: string;
89
93
  subjectName: string;
90
94
  subjectType: string;
@@ -99,15 +103,19 @@ type TCurriculumSubject = {
99
103
  updatedBy?: string;
100
104
  deletedBy?: string;
101
105
  };
102
- declare const schemaCurriculumSubject: Joi.ObjectSchema<any>;
103
- declare const schemaCurriculumSubjectAdd: Joi.ObjectSchema<any>;
104
- declare function MCurriculumSubject(value: TCurriculumSubject): {
106
+ declare const schemaSubject: Joi.ObjectSchema<any>;
107
+ declare const schemaSubjectAdd: Joi.ObjectSchema<any>;
108
+ declare function modelSubject(value: TSubject): {
105
109
  _id: ObjectId | undefined;
110
+ school: ObjectId | undefined;
111
+ schoolName: string;
106
112
  curriculum: ObjectId;
107
113
  curriculumName: string;
108
114
  effectiveSchoolYear: number[];
109
115
  educationLevel: string;
110
116
  gradeLevel: string;
117
+ program: string | ObjectId | undefined;
118
+ programName: string;
111
119
  subjectCode: string;
112
120
  subjectName: string;
113
121
  subjectType: string;
@@ -123,9 +131,9 @@ declare function MCurriculumSubject(value: TCurriculumSubject): {
123
131
  deletedBy: string;
124
132
  };
125
133
 
126
- declare function useCurriculumSubjectRepo(): {
134
+ declare function useSubjectRepo(): {
127
135
  createIndexes: () => Promise<void>;
128
- add: (value: TCurriculumSubject, session?: ClientSession) => Promise<ObjectId>;
136
+ add: (value: TSubject, session?: ClientSession) => Promise<ObjectId>;
129
137
  getAll: ({ search, page, limit, sort, status, curriculum, educationLevel, gradeLevel, schoolYear, }?: {
130
138
  search?: string;
131
139
  page?: number;
@@ -141,14 +149,15 @@ declare function useCurriculumSubjectRepo(): {
141
149
  pages: number;
142
150
  pageRange: string;
143
151
  }>;
144
- getById: (_id: string | ObjectId) => Promise<bson.Document | TCurriculumSubject>;
145
- getByCurriculum: (curriculumId: string | ObjectId) => Promise<TCurriculumSubject[] | mongodb.WithId<bson.Document>[]>;
146
- updateById: (_id: ObjectId | string, value: Partial<TCurriculumSubject>, session?: ClientSession) => Promise<mongodb.UpdateResult<bson.Document>>;
152
+ getById: (_id: string | ObjectId) => Promise<bson.Document | TSubject>;
153
+ getByCurriculum: (curriculumId: string | ObjectId) => Promise<TSubject[] | mongodb.WithId<bson.Document>[]>;
154
+ updateById: (_id: ObjectId | string, value: Partial<TSubject>, session?: ClientSession) => Promise<mongodb.UpdateResult<bson.Document>>;
147
155
  deleteById: (_id: string | ObjectId, session?: ClientSession) => Promise<mongodb.UpdateResult<bson.Document>>;
148
156
  deleteByCurriculum: (curriculumId: string | ObjectId, session?: ClientSession) => Promise<mongodb.UpdateResult<bson.Document>>;
157
+ getAsOptions: () => Promise<{}>;
149
158
  };
150
159
 
151
- declare function useCurriculumSubjectController(): {
160
+ declare function useSubjectController(): {
152
161
  add: (req: Request, res: Response, next: NextFunction) => Promise<void>;
153
162
  addMany: (value: {
154
163
  curriculum: string;
@@ -169,9 +178,10 @@ declare function useCurriculumSubjectController(): {
169
178
  updateById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
170
179
  deleteById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
171
180
  deleteByCurriculum: (req: Request, res: Response, next: NextFunction) => Promise<void>;
181
+ getAsOptions: (req: Request, res: Response, next: NextFunction) => Promise<void>;
172
182
  };
173
183
 
174
- declare function useCurriculumSubjectService(): {
184
+ declare function useSubjectService(): {
175
185
  addMany: (value: {
176
186
  curriculum: string;
177
187
  curriculumName: string;
@@ -217,6 +227,16 @@ type TLearner = {
217
227
  updatedBy?: string | ObjectId;
218
228
  deletedBy?: string | ObjectId;
219
229
  };
230
+ type TEnrollment = TLearner & {
231
+ applyToSpecialProgram?: boolean;
232
+ specialProgram?: string | ObjectId;
233
+ specialProgramName?: string;
234
+ gwa?: number;
235
+ subjects?: {
236
+ title: string;
237
+ grade: number;
238
+ }[];
239
+ };
220
240
  type TLearnerInfo = {
221
241
  psaBirthCertificateNo?: string;
222
242
  lrn?: string;
@@ -277,7 +297,7 @@ type TSeniorHighInformation = {
277
297
  type TLearningModality = "Modular (Print)" | "Modular (Digital)" | "Online" | "Radio-Based Instruction" | "Educational Television" | "Blended" | "Homeschooling";
278
298
  declare const schemaUpdateStatus: Joi.ObjectSchema<any>;
279
299
  declare const schemaEnrollment: Joi.ObjectSchema<any>;
280
- declare function MLearner(value: TLearner): {
300
+ declare function MLearner(value: TEnrollment): {
281
301
  _id: ObjectId | undefined;
282
302
  region: string;
283
303
  regionName: string;
@@ -290,6 +310,13 @@ declare function MLearner(value: TLearner): {
290
310
  schoolName: string;
291
311
  schoolYear: string;
292
312
  gradeLevel: string;
313
+ specialProgram: string | ObjectId | undefined;
314
+ specialProgramName: string;
315
+ gwa: number;
316
+ subjects: {
317
+ title: string;
318
+ grade: number;
319
+ }[];
293
320
  returningLearner: boolean;
294
321
  learnerInfo: TLearnerInfo;
295
322
  parentGuardianInfo: TParentGuardianInfo;
@@ -344,7 +371,7 @@ declare function useEnrollmentRepo(): {
344
371
  };
345
372
 
346
373
  declare function useEnrollmentService(): {
347
- add: (value: TLearner) => Promise<{
374
+ add: (value: TEnrollment) => Promise<{
348
375
  message: string;
349
376
  id: bson.ObjectId;
350
377
  }>;
@@ -1038,6 +1065,7 @@ type TSectionSubject = {
1038
1065
  _id?: ObjectId;
1039
1066
  school: ObjectId | string;
1040
1067
  schoolName?: string;
1068
+ curriculum: ObjectId | string;
1041
1069
  section: ObjectId | string;
1042
1070
  sectionName: string;
1043
1071
  gradeLevel: string;
@@ -1047,7 +1075,7 @@ type TSectionSubject = {
1047
1075
  subjectName: string;
1048
1076
  teacher?: ObjectId | string;
1049
1077
  teacherName?: string;
1050
- classroom?: string;
1078
+ classroom?: string | ObjectId;
1051
1079
  classroomName?: string;
1052
1080
  daysOfWeek: string[];
1053
1081
  schedule?: string;
@@ -1091,7 +1119,7 @@ declare function useSectionSubjectRepo(): {
1091
1119
  field: string;
1092
1120
  value: string;
1093
1121
  }, session?: ClientSession) => Promise<string>;
1094
- setupById: (_id: string | ObjectId, value: Pick<TSectionSubject, "teacher" | "teacherName" | "schedule" | "daysOfWeek">, session?: ClientSession) => Promise<string>;
1122
+ setupById: (_id: string | ObjectId, value: Pick<TSectionSubject, "teacher" | "teacherName" | "schedule" | "daysOfWeek" | "classroom" | "classroomName">, session?: ClientSession) => Promise<string>;
1095
1123
  deleteById: (_id: string | ObjectId) => Promise<string>;
1096
1124
  };
1097
1125
 
@@ -1219,13 +1247,14 @@ declare function useBuildingController(): {
1219
1247
  declare function useBuildingUnitRepo(): {
1220
1248
  createIndexes: () => Promise<void>;
1221
1249
  add: (value: TBuildingUnit, session?: ClientSession) => Promise<ObjectId>;
1222
- getAll: ({ search, page, limit, sort, school, building, status, }?: {
1250
+ getAll: ({ search, page, limit, sort, school, building, type, status, }?: {
1223
1251
  search?: string | undefined;
1224
1252
  page?: number | undefined;
1225
1253
  limit?: number | undefined;
1226
1254
  sort?: {} | undefined;
1227
1255
  school?: string | undefined;
1228
1256
  building?: string | undefined;
1257
+ type?: string | undefined;
1229
1258
  status?: string | undefined;
1230
1259
  }) => Promise<Record<string, any> | {
1231
1260
  items: any[];
@@ -1247,6 +1276,7 @@ declare function useBuildingUnitRepo(): {
1247
1276
  getByBuilding: (building: string | ObjectId) => Promise<TBuildingUnit | null>;
1248
1277
  deleteById: (_id: string | ObjectId, session?: ClientSession) => Promise<string>;
1249
1278
  updateByBuildingId: (building: string | ObjectId, value: Partial<Pick<TBuildingUnit, "buildingName">>, session?: ClientSession) => Promise<mongodb.UpdateResult<bson.Document>>;
1279
+ countByBuilding: (building: string | ObjectId, level?: number) => Promise<number>;
1250
1280
  };
1251
1281
 
1252
1282
  declare function useBuildingUnitService(): {
@@ -1254,6 +1284,7 @@ declare function useBuildingUnitService(): {
1254
1284
  building: TBuildingUnit;
1255
1285
  qty: number;
1256
1286
  }) => Promise<string>;
1287
+ deleteById: (id: string) => Promise<string>;
1257
1288
  };
1258
1289
 
1259
1290
  declare function useBuildingUnitController(): {
@@ -1274,6 +1305,8 @@ type TPersonnel = {
1274
1305
  suffix?: string;
1275
1306
  title?: string;
1276
1307
  classification: string;
1308
+ specializations?: string[];
1309
+ gradeLevels?: string[];
1277
1310
  status?: string;
1278
1311
  createdAt?: string | Date;
1279
1312
  updatedAt?: string | Date;
@@ -1290,6 +1323,8 @@ declare function MPersonnel(value: TPersonnel): {
1290
1323
  suffix: string;
1291
1324
  title: string;
1292
1325
  classification: string;
1326
+ specializations: string[];
1327
+ gradeLevels: string[];
1293
1328
  status: string;
1294
1329
  createdAt: string | Date;
1295
1330
  updatedAt: string | Date;
@@ -1303,6 +1338,8 @@ declare function usePersonnelRepo(): {
1303
1338
  firstName?: string;
1304
1339
  lastName?: string;
1305
1340
  middleName?: string;
1341
+ gradeLevels?: string[];
1342
+ specializations?: string[];
1306
1343
  classification?: string;
1307
1344
  status?: string;
1308
1345
  }, session?: ClientSession) => Promise<mongodb.UpdateResult<bson.Document>>;
@@ -1334,4 +1371,278 @@ declare function usePersonnelController(): {
1334
1371
  getByClassification: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1335
1372
  };
1336
1373
 
1337
- export { MAsset, MBuilding, MBuildingUnit, MCurriculum, MCurriculumSubject, MGradeLevel, MLearner, MPersonnel, MPlantilla, MStockCard, TAddress, TAddressInformation, TAsset, TBasicEduCount, TBuilding, TBuildingUnit, TCurriculum, TCurriculumSubject, TDivision, TGradeLevel, TLearner, TLearnerInfo, TLearningModality, TParentGuardianInfo, TPersonContact, TPersonnel, TPlantilla, TRegion, TReturningLearnerInfo, TSchool, TSection, TSectionPreset, TSectionStudent, TSectionSubject, TSeniorHighInformation, TStockCard, allowedSectionStudentStatuses, modelBasicEduCount, modelDivision, modelRegion, modelSchool, modelSection, modelSectionPreset, modelSectionStudent, modelSectionSubject, schemaAsset, schemaAssetUpdateOption, schemaBasicEduCount, schemaBuilding, schemaBuildingUnit, schemaCurriculum, schemaCurriculumSubject, schemaCurriculumSubjectAdd, schemaDivision, schemaDivisionUpdate, schemaEnrollment, schemaGenerateSections, schemaGradeLevel, schemaPersonnel, schemaPlantilla, schemaRegion, schemaSchool, schemaSchoolUpdate, schemaSection, schemaSectionPreset, schemaSectionStudent, schemaSectionSubject, schemaSectionSubjectSetup, schemaStockCard, schemaUpdateOptions, schemaUpdateStatus, useAssetController, useAssetRepo, useBasicEduCountRepo, useBuildingController, useBuildingRepo, useBuildingService, useBuildingUnitController, useBuildingUnitRepo, useBuildingUnitService, useCurriculumController, useCurriculumRepo, useCurriculumSubjectController, useCurriculumSubjectRepo, useCurriculumSubjectService, useDivisionController, useDivisionRepo, useDivisionService, useEnrollmentController, useEnrollmentRepo, useEnrollmentService, useGradeLevelController, useGradeLevelRepo, useLearnerController, useLearnerRepo, usePersonnelController, usePersonnelRepo, usePlantillaController, usePlantillaRepo, usePlantillaService, useRegionController, useRegionRepo, useSchoolController, useSchoolRepo, useSchoolService, useSectionController, useSectionPresetController, useSectionPresetRepo, useSectionRepo, useSectionStudentController, useSectionStudentRepo, useSectionSubjectController, useSectionSubjectRepo, useSectionSubjectService, useStockCardController, useStockCardRepository, useStockCardService };
1374
+ type TTeachingLoad = {
1375
+ _id?: ObjectId;
1376
+ school: string | ObjectId;
1377
+ schoolName?: string;
1378
+ schoolYear: string;
1379
+ teacher: string | ObjectId;
1380
+ teacherName?: string;
1381
+ status: string;
1382
+ createdAt?: string | Date;
1383
+ updatedAt?: string | Date;
1384
+ deletedAt?: string | Date;
1385
+ };
1386
+ declare const schemaTeachingLoad: Joi.ObjectSchema<any>;
1387
+ declare function modelTeachingLoad(value: TTeachingLoad): {
1388
+ _id: ObjectId | undefined;
1389
+ school: string | ObjectId;
1390
+ schoolName: string;
1391
+ schoolYear: string;
1392
+ teacher: string | ObjectId;
1393
+ teacherName: string;
1394
+ status: string;
1395
+ createdAt: string | Date;
1396
+ updatedAt: string | Date;
1397
+ deletedAt: string | Date;
1398
+ };
1399
+
1400
+ declare function useTeachingLoadRepo(): {
1401
+ createIndexes: () => Promise<void>;
1402
+ add: (value: TTeachingLoad, session?: ClientSession) => Promise<string>;
1403
+ updateById: (_id: ObjectId | string, value: {
1404
+ schoolYear?: string;
1405
+ teacher?: string | ObjectId;
1406
+ teacherName?: string;
1407
+ status?: string;
1408
+ }, session?: ClientSession) => Promise<mongodb.UpdateResult<bson.Document>>;
1409
+ getAll: ({ school, teacher, schoolYear, page, limit, sort, status, }?: {
1410
+ school?: string | undefined;
1411
+ teacher?: string | undefined;
1412
+ schoolYear?: string | undefined;
1413
+ page?: number | undefined;
1414
+ limit?: number | undefined;
1415
+ sort?: {} | undefined;
1416
+ status?: string | undefined;
1417
+ }) => Promise<Record<string, any> | {
1418
+ items: any[];
1419
+ pages: number;
1420
+ pageRange: string;
1421
+ }>;
1422
+ getById: (_id: string | ObjectId) => Promise<TTeachingLoad | null>;
1423
+ deleteById: (_id: string | ObjectId, session?: ClientSession) => Promise<mongodb.UpdateResult<bson.Document>>;
1424
+ getByTeacher: (teacher: string | ObjectId, schoolYear?: string) => Promise<TTeachingLoad[]>;
1425
+ delCachedData: () => void;
1426
+ };
1427
+
1428
+ declare function useTeachingLoadController(): {
1429
+ add: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1430
+ updateById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1431
+ getAll: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1432
+ getBySchool: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1433
+ getById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1434
+ deleteById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1435
+ getByTeacher: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1436
+ };
1437
+
1438
+ type TTeachingLoadSlot = {
1439
+ _id?: ObjectId;
1440
+ teachingLoad: string | ObjectId;
1441
+ day: string;
1442
+ startTime: string;
1443
+ endTime: string;
1444
+ gradeLevel: string;
1445
+ subject: string | ObjectId;
1446
+ subjectName?: string;
1447
+ subjectCode?: string;
1448
+ section: string | ObjectId;
1449
+ sectionName?: string;
1450
+ duration: number;
1451
+ status?: string;
1452
+ createdAt?: string | Date;
1453
+ updatedAt?: string | Date;
1454
+ deletedAt?: string | Date;
1455
+ };
1456
+ declare const schemaTeachingLoadSlot: Joi.ObjectSchema<any>;
1457
+ declare function modelTeachingLoadSlot(value: TTeachingLoadSlot): {
1458
+ _id: ObjectId | undefined;
1459
+ teachingLoad: string | ObjectId;
1460
+ day: string;
1461
+ gradeLevel: string;
1462
+ startTime: string;
1463
+ endTime: string;
1464
+ subject: string | ObjectId;
1465
+ subjectName: string;
1466
+ subjectCode: string;
1467
+ section: string | ObjectId;
1468
+ sectionName: string;
1469
+ duration: number;
1470
+ status: string;
1471
+ createdAt: string | Date;
1472
+ updatedAt: string | Date;
1473
+ deletedAt: string | Date;
1474
+ };
1475
+
1476
+ declare function useTeachingLoadSlotRepo(): {
1477
+ createIndexes: () => Promise<void>;
1478
+ add: (value: TTeachingLoadSlot, session?: ClientSession) => Promise<string>;
1479
+ updateById: (_id: ObjectId | string, value: {
1480
+ day?: string;
1481
+ startTime?: string;
1482
+ endTime?: string;
1483
+ subject?: string | ObjectId;
1484
+ subjectName?: string;
1485
+ section?: string | ObjectId;
1486
+ sectionName?: string;
1487
+ duration?: number;
1488
+ status?: string;
1489
+ }, session?: ClientSession) => Promise<mongodb.UpdateResult<bson.Document>>;
1490
+ getAll: ({ teachingLoad, subject, section, day, page, limit, sort, status, teacher, school, }?: {
1491
+ teachingLoad?: string | undefined;
1492
+ subject?: string | undefined;
1493
+ section?: string | undefined;
1494
+ day?: string | undefined;
1495
+ page?: number | undefined;
1496
+ limit?: number | undefined;
1497
+ sort?: {} | undefined;
1498
+ status?: string | undefined;
1499
+ teacher?: string | undefined;
1500
+ school?: string | undefined;
1501
+ }) => Promise<{
1502
+ items: any[];
1503
+ pages: number;
1504
+ pageRange: string;
1505
+ } | {
1506
+ item: any;
1507
+ pages: string;
1508
+ pageRange: string;
1509
+ }>;
1510
+ getById: (_id: string | ObjectId) => Promise<TTeachingLoadSlot | null>;
1511
+ deleteById: (_id: string | ObjectId, session?: ClientSession) => Promise<mongodb.UpdateResult<bson.Document>>;
1512
+ delCachedData: () => void;
1513
+ };
1514
+
1515
+ declare function useTeachingLoadSlotController(): {
1516
+ add: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1517
+ updateById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1518
+ getAllByTeachingLoad: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1519
+ getById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1520
+ deleteById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1521
+ getByTeachingLoad: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1522
+ getByTeacher: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1523
+ };
1524
+
1525
+ type TProgram = {
1526
+ _id?: ObjectId;
1527
+ school: ObjectId;
1528
+ schoolName?: string;
1529
+ name: string;
1530
+ code: string;
1531
+ gradeLevels?: string[];
1532
+ gwa?: number;
1533
+ subjects?: {
1534
+ title: string;
1535
+ grade: number;
1536
+ }[];
1537
+ description?: string;
1538
+ status: string;
1539
+ createdAt?: string | Date;
1540
+ updatedAt?: string | Date;
1541
+ deletedAt?: string | Date;
1542
+ };
1543
+ declare const schemaProgram: Joi.ObjectSchema<any>;
1544
+ declare const schemaProgramUpdate: Joi.ObjectSchema<any>;
1545
+ declare function modelProgram(value: TProgram): TProgram;
1546
+
1547
+ declare function useProgramRepo(): {
1548
+ createIndexes: () => Promise<void>;
1549
+ add: (value: TProgram, session?: ClientSession) => Promise<ObjectId>;
1550
+ getAll: ({ search, page, limit, sort, status, school, isDefault, }?: {
1551
+ search?: string;
1552
+ page?: number;
1553
+ limit?: number;
1554
+ sort?: Record<string, any>;
1555
+ status?: string;
1556
+ school?: string;
1557
+ isDefault?: boolean;
1558
+ }) => Promise<Record<string, any> | {
1559
+ items: any[];
1560
+ pages: number;
1561
+ pageRange: string;
1562
+ }>;
1563
+ getById: (_id: string | ObjectId) => Promise<TProgram>;
1564
+ getByCode: (code: string, school: string | ObjectId) => Promise<TProgram>;
1565
+ updateFieldById: ({ _id, field, value }?: {
1566
+ _id: string | ObjectId;
1567
+ field: string;
1568
+ value: string | Array<string> | boolean;
1569
+ }, session?: ClientSession) => Promise<string>;
1570
+ deleteById: (_id: string | ObjectId) => Promise<string>;
1571
+ updateById: (_id: string | ObjectId, value: Pick<TProgram, "name" | "code" | "description">) => Promise<string>;
1572
+ };
1573
+
1574
+ declare function useProgramController(): {
1575
+ add: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1576
+ getAll: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1577
+ getById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1578
+ getByCode: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1579
+ updateField: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1580
+ deleteById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1581
+ updateById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1582
+ };
1583
+
1584
+ type TProgramScreening = {
1585
+ _id?: ObjectId;
1586
+ school: string | ObjectId;
1587
+ schoolName?: string;
1588
+ schoolYear: string;
1589
+ gradeLevel: string;
1590
+ specialProgram: string | ObjectId;
1591
+ specialProgramName?: string;
1592
+ specialProgramCode?: string;
1593
+ applicant: string | ObjectId;
1594
+ applicantName?: string;
1595
+ gwa?: number;
1596
+ subjects?: {
1597
+ title: string;
1598
+ grade: number;
1599
+ }[];
1600
+ status?: string;
1601
+ createdAt?: string | Date;
1602
+ updatedAt?: string | Date;
1603
+ deletedAt?: string | Date;
1604
+ };
1605
+ declare const schemaProgramScreening: Joi.ObjectSchema<any>;
1606
+ declare const schemaProgramScreeningUpdate: Joi.ObjectSchema<any>;
1607
+ declare function modelProgramScreening(value: TProgramScreening): TProgramScreening;
1608
+
1609
+ declare function useProgramScreeningRepo(): {
1610
+ createIndexes: () => Promise<void>;
1611
+ add: (value: TProgramScreening, session?: ClientSession) => Promise<ObjectId>;
1612
+ getAll: ({ search, page, limit, sort, status, school, specialProgramCode, schoolYear, gradeLevel, }?: {
1613
+ search?: string;
1614
+ page?: number;
1615
+ limit?: number;
1616
+ sort?: Record<string, any>;
1617
+ status?: string;
1618
+ school?: string;
1619
+ specialProgramCode?: string;
1620
+ schoolYear?: string;
1621
+ gradeLevel?: string;
1622
+ }) => Promise<Record<string, any> | {
1623
+ items: any[];
1624
+ pages: number;
1625
+ pageRange: string;
1626
+ }>;
1627
+ getById: (_id: string | ObjectId) => Promise<TProgramScreening>;
1628
+ getByCode: (code: string, school: string | ObjectId) => Promise<TProgramScreening>;
1629
+ updateFieldById: ({ _id, field, value }?: {
1630
+ _id: string | ObjectId;
1631
+ field: string;
1632
+ value: string | Array<string> | boolean;
1633
+ }, session?: ClientSession) => Promise<string>;
1634
+ deleteById: (_id: string | ObjectId) => Promise<string>;
1635
+ updateById: (_id: string | ObjectId, value: Pick<TProgramScreening, "specialProgram" | "specialProgramName" | "status">) => Promise<string>;
1636
+ };
1637
+
1638
+ declare function useProgramScreeningController(): {
1639
+ add: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1640
+ getAll: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1641
+ getById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1642
+ getByCode: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1643
+ updateField: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1644
+ deleteById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1645
+ updateById: (req: Request, res: Response, next: NextFunction) => Promise<void>;
1646
+ };
1647
+
1648
+ export { MAsset, MBuilding, MBuildingUnit, MCurriculum, MGradeLevel, MLearner, MPersonnel, MPlantilla, MStockCard, TAddress, TAddressInformation, TAsset, TBasicEduCount, TBuilding, TBuildingUnit, TCurriculum, TDivision, TEnrollment, TGradeLevel, TLearner, TLearnerInfo, TLearningModality, TParentGuardianInfo, TPersonContact, TPersonnel, TPlantilla, TProgram, TProgramScreening, TRegion, TReturningLearnerInfo, TSchool, TSection, TSectionPreset, TSectionStudent, TSectionSubject, TSeniorHighInformation, TStockCard, TSubject, TTeachingLoad, TTeachingLoadSlot, allowedSectionStudentStatuses, modelBasicEduCount, modelDivision, modelProgram, modelProgramScreening, modelRegion, modelSchool, modelSection, modelSectionPreset, modelSectionStudent, modelSectionSubject, modelSubject, modelTeachingLoad, modelTeachingLoadSlot, schemaAsset, schemaAssetUpdateOption, schemaBasicEduCount, schemaBuilding, schemaBuildingUnit, schemaCurriculum, schemaDivision, schemaDivisionUpdate, schemaEnrollment, schemaGenerateSections, schemaGradeLevel, schemaPersonnel, schemaPlantilla, schemaProgram, schemaProgramScreening, schemaProgramScreeningUpdate, schemaProgramUpdate, schemaRegion, schemaSchool, schemaSchoolUpdate, schemaSection, schemaSectionPreset, schemaSectionStudent, schemaSectionSubject, schemaSectionSubjectSetup, schemaStockCard, schemaSubject, schemaSubjectAdd, schemaTeachingLoad, schemaTeachingLoadSlot, schemaUpdateOptions, schemaUpdateStatus, useAssetController, useAssetRepo, useBasicEduCountRepo, useBuildingController, useBuildingRepo, useBuildingService, useBuildingUnitController, useBuildingUnitRepo, useBuildingUnitService, useCurriculumController, useCurriculumRepo, useDivisionController, useDivisionRepo, useDivisionService, useEnrollmentController, useEnrollmentRepo, useEnrollmentService, useGradeLevelController, useGradeLevelRepo, useLearnerController, useLearnerRepo, usePersonnelController, usePersonnelRepo, usePlantillaController, usePlantillaRepo, usePlantillaService, useProgramController, useProgramRepo, useProgramScreeningController, useProgramScreeningRepo, useRegionController, useRegionRepo, useSchoolController, useSchoolRepo, useSchoolService, useSectionController, useSectionPresetController, useSectionPresetRepo, useSectionRepo, useSectionStudentController, useSectionStudentRepo, useSectionSubjectController, useSectionSubjectRepo, useSectionSubjectService, useStockCardController, useStockCardRepository, useStockCardService, useSubjectController, useSubjectRepo, useSubjectService, useTeachingLoadController, useTeachingLoadRepo, useTeachingLoadSlotController, useTeachingLoadSlotRepo };