@royalschedule/maps 2.2.2 → 2.2.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.
Files changed (117) hide show
  1. package/dist/RS/v2/from/course-events.js +3 -1
  2. package/dist/RS/v2/from/course-events.js.map +1 -1
  3. package/dist/RS/v2/to/course-events/index.js +5 -1
  4. package/dist/RS/v2/to/course-events/index.js.map +1 -1
  5. package/dist/RS/v2/types/course-events.d.ts +1 -0
  6. package/dist/SS12000/to/teachers.d.ts +1 -1
  7. package/dist/SS12000/to/teachers.js +13 -3
  8. package/dist/SS12000/to/teachers.js.map +1 -1
  9. package/dist/Skola24/from/courses.d.ts +4 -10
  10. package/dist/Skola24/from/courses.js +43 -81
  11. package/dist/Skola24/from/courses.js.map +1 -1
  12. package/dist/Skola24/types/group.d.ts +3 -2
  13. package/dist/Skola24/types/lesson-group-link.d.ts +2 -2
  14. package/dist/Skola24/types/lesson-room-link.d.ts +2 -2
  15. package/dist/Skola24/types/lesson-teacher-link.d.ts +2 -2
  16. package/dist/Skola24/types/lesson.d.ts +6 -6
  17. package/dist/Skola24/types/room.d.ts +2 -1
  18. package/dist/Skola24/types/schedule.d.ts +32 -22
  19. package/dist/Skola24/types/teacher.d.ts +4 -3
  20. package/dist/core/types/course-events.d.ts +2 -0
  21. package/package.json +8 -8
  22. package/dist/Skola24/from/events.d.ts +0 -11
  23. package/dist/Skola24/from/events.js +0 -146
  24. package/dist/Skola24/from/events.js.map +0 -1
  25. package/dist/Skola24/from/filter-on-period.d.ts +0 -7
  26. package/dist/Skola24/from/filter-on-period.js +0 -24
  27. package/dist/Skola24/from/filter-on-period.js.map +0 -1
  28. package/dist/Skola24/types/Group-student-link.d.ts +0 -4
  29. package/dist/Skola24/types/Group-student-link.js +0 -6
  30. package/dist/Skola24/types/Group-student-link.js.map +0 -1
  31. package/dist/Skola24/types/Group.d.ts +0 -5
  32. package/dist/Skola24/types/Group.js +0 -6
  33. package/dist/Skola24/types/Group.js.map +0 -1
  34. package/dist/Skola24/types/Lesson-group-link.d.ts +0 -4
  35. package/dist/Skola24/types/Lesson-group-link.js +0 -6
  36. package/dist/Skola24/types/Lesson-group-link.js.map +0 -1
  37. package/dist/Skola24/types/Lesson-room-link.d.ts +0 -4
  38. package/dist/Skola24/types/Lesson-room-link.js +0 -6
  39. package/dist/Skola24/types/Lesson-room-link.js.map +0 -1
  40. package/dist/Skola24/types/Lesson-teacher-link.d.ts +0 -4
  41. package/dist/Skola24/types/Lesson-teacher-link.js +0 -6
  42. package/dist/Skola24/types/Lesson-teacher-link.js.map +0 -1
  43. package/dist/Skola24/types/Lesson.d.ts +0 -9
  44. package/dist/Skola24/types/Lesson.js +0 -6
  45. package/dist/Skola24/types/Lesson.js.map +0 -1
  46. package/dist/Skola24/types/Room.d.ts +0 -5
  47. package/dist/Skola24/types/Room.js +0 -6
  48. package/dist/Skola24/types/Room.js.map +0 -1
  49. package/dist/Skola24/types/Schedule.d.ts +0 -34
  50. package/dist/Skola24/types/Schedule.js +0 -6
  51. package/dist/Skola24/types/Schedule.js.map +0 -1
  52. package/dist/Skola24/types/Teacher.d.ts +0 -6
  53. package/dist/Skola24/types/Teacher.js +0 -6
  54. package/dist/Skola24/types/Teacher.js.map +0 -1
  55. package/dist/Skola24_old/from/assert-week-overlap.d.ts +0 -1
  56. package/dist/Skola24_old/from/assert-week-overlap.js +0 -28
  57. package/dist/Skola24_old/from/assert-week-overlap.js.map +0 -1
  58. package/dist/Skola24_old/from/course-events.d.ts +0 -6
  59. package/dist/Skola24_old/from/course-events.js +0 -127
  60. package/dist/Skola24_old/from/course-events.js.map +0 -1
  61. package/dist/Skola24_old/from/courses.d.ts +0 -5
  62. package/dist/Skola24_old/from/courses.js +0 -55
  63. package/dist/Skola24_old/from/courses.js.map +0 -1
  64. package/dist/Skola24_old/from/groups.d.ts +0 -3
  65. package/dist/Skola24_old/from/groups.js +0 -14
  66. package/dist/Skola24_old/from/groups.js.map +0 -1
  67. package/dist/Skola24_old/from/index.d.ts +0 -4
  68. package/dist/Skola24_old/from/index.js +0 -20
  69. package/dist/Skola24_old/from/index.js.map +0 -1
  70. package/dist/Skola24_old/from/locations.d.ts +0 -3
  71. package/dist/Skola24_old/from/locations.js +0 -14
  72. package/dist/Skola24_old/from/locations.js.map +0 -1
  73. package/dist/Skola24_old/from/schedule.d.ts +0 -3
  74. package/dist/Skola24_old/from/schedule.js +0 -68
  75. package/dist/Skola24_old/from/schedule.js.map +0 -1
  76. package/dist/Skola24_old/from/teachers.d.ts +0 -3
  77. package/dist/Skola24_old/from/teachers.js +0 -14
  78. package/dist/Skola24_old/from/teachers.js.map +0 -1
  79. package/dist/Skola24_old/index.d.ts +0 -4
  80. package/dist/Skola24_old/index.js +0 -20
  81. package/dist/Skola24_old/index.js.map +0 -1
  82. package/dist/Skola24_old/types/TA-group-link.d.ts +0 -4
  83. package/dist/Skola24_old/types/TA-group-link.js +0 -6
  84. package/dist/Skola24_old/types/TA-group-link.js.map +0 -1
  85. package/dist/Skola24_old/types/TA-teacher-link.d.ts +0 -4
  86. package/dist/Skola24_old/types/TA-teacher-link.js +0 -6
  87. package/dist/Skola24_old/types/TA-teacher-link.js.map +0 -1
  88. package/dist/Skola24_old/types/TA.d.ts +0 -8
  89. package/dist/Skola24_old/types/TA.js +0 -6
  90. package/dist/Skola24_old/types/TA.js.map +0 -1
  91. package/dist/Skola24_old/types/group-student-link.d.ts +0 -4
  92. package/dist/Skola24_old/types/group-student-link.js +0 -6
  93. package/dist/Skola24_old/types/group-student-link.js.map +0 -1
  94. package/dist/Skola24_old/types/group.d.ts +0 -4
  95. package/dist/Skola24_old/types/group.js +0 -6
  96. package/dist/Skola24_old/types/group.js.map +0 -1
  97. package/dist/Skola24_old/types/lesson-group-link.d.ts +0 -4
  98. package/dist/Skola24_old/types/lesson-group-link.js +0 -6
  99. package/dist/Skola24_old/types/lesson-group-link.js.map +0 -1
  100. package/dist/Skola24_old/types/lesson-room-link.d.ts +0 -4
  101. package/dist/Skola24_old/types/lesson-room-link.js +0 -6
  102. package/dist/Skola24_old/types/lesson-room-link.js.map +0 -1
  103. package/dist/Skola24_old/types/lesson-teacher-link.d.ts +0 -4
  104. package/dist/Skola24_old/types/lesson-teacher-link.js +0 -6
  105. package/dist/Skola24_old/types/lesson-teacher-link.js.map +0 -1
  106. package/dist/Skola24_old/types/lesson.d.ts +0 -9
  107. package/dist/Skola24_old/types/lesson.js +0 -6
  108. package/dist/Skola24_old/types/lesson.js.map +0 -1
  109. package/dist/Skola24_old/types/room.d.ts +0 -4
  110. package/dist/Skola24_old/types/room.js +0 -6
  111. package/dist/Skola24_old/types/room.js.map +0 -1
  112. package/dist/Skola24_old/types/schedule.d.ts +0 -24
  113. package/dist/Skola24_old/types/schedule.js +0 -6
  114. package/dist/Skola24_old/types/schedule.js.map +0 -1
  115. package/dist/Skola24_old/types/teacher.d.ts +0 -5
  116. package/dist/Skola24_old/types/teacher.js +0 -6
  117. package/dist/Skola24_old/types/teacher.js.map +0 -1
@@ -68,7 +68,7 @@ var _default = (courseEvents, course, teachersList, groupsList, settings) => {
68
68
  if (start.day() != end.day()) throw new Error('course event have fixed time such that the event span multiple days');
69
69
  }
70
70
 
71
- return acc.concat(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
71
+ return acc.concat(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
72
72
  duration: event.length,
73
73
  parked: !start
74
74
  }, event[eventIdKey] && {
@@ -89,6 +89,8 @@ var _default = (courseEvents, course, teachersList, groupsList, settings) => {
89
89
  potentialCenter: event.potentialCenter
90
90
  }), 'minBreakLength' in event && {
91
91
  minBreakLength: (0, _breakLengths.default)(event.minBreakLength)
92
+ }), 'maxLengthVariance' in event && {
93
+ durationVariance: event.maxLengthVariance
92
94
  }), event.intervals && {
93
95
  intervals: (0, _intervals.default)(event.intervals)
94
96
  }), event.lockedTimes && {
@@ -1 +1 @@
1
- {"version":3,"file":"course-events.js","mappings":"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","names":["courseEvents","course","teachersList","groupsList","settings","collectionIdKey","eventIdKey","Error","reduce","acc","event","concat","duration","ids","length","Object","assign","teachers","groups","flat","gId","includes","fixedStart","start","end","day","toFixed","replace","clone","add","parked","name","displayName","density","weight","potentialCenter","minBreakLength","intervals","lockedTimes","dependencies","locations","days"],"sourceRoot":"","sources":["../../../../src/RS/v2/from/course-events.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"course-events.js","mappings":"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","names":["courseEvents","course","teachersList","groupsList","settings","collectionIdKey","eventIdKey","Error","reduce","acc","event","concat","duration","ids","length","Object","assign","teachers","groups","flat","gId","includes","fixedStart","start","end","day","toFixed","replace","clone","add","parked","name","displayName","density","weight","potentialCenter","minBreakLength","durationVariance","maxLengthVariance","intervals","lockedTimes","dependencies","locations","days"],"sourceRoot":"","sources":["../../../../src/RS/v2/from/course-events.ts"],"sourcesContent":[null]}
@@ -40,10 +40,14 @@ var _default = (courseEvents, options) => {
40
40
 
41
41
  var id = (event[idKey] || event._id).toString();
42
42
 
43
- var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
43
+ var doc = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
44
44
  id: id
45
45
  }, 'duration' in event && {
46
46
  length: event.duration
47
+ }), event.preferredDuration != null && {
48
+ length: event.preferredDuration
49
+ }), event.durationVariance != null && {
50
+ maxLengthVariance: event.durationVariance
47
51
  }), 'weight' in event && {
48
52
  weight: event.weight
49
53
  }), 'density' in event && {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":";;;;;;;AAAA;;AAEA;;AAEA;;AAcA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;eAEe,CAACA,YAAD,EACCC,OADD,KAC4C;AAEzD,MAAIC,KAAK,GAA6BD,OAAO,CAACC,KAAR,GAAgBD,OAAO,CAACC,KAAxB,GAAgC,IAAtE;AACA,MAAIC,IAAI,GAA8BC,KAAK,CAACC,OAAN,CAAcL,YAAd,IAA8BA,YAA9B,GAA6C,CAACA,YAAD,CAAnF;AAEA,SAAOG,IAAI,CAACG,MAAL,CAAY,CAACC,GAAD,EAAaC,KAAb,KAAyC;AAAA;;AAC1D,QAAI,CAAEA,KAAN,EACE,OAAOD,GAAP;AACF,QAAIE,MAAM,GAAiBD,KAAK,CAACC,MAAjC;;AAEA,QAAMC,EAAE,GAAW,CAACF,KAAK,CAACN,KAAD,CAAL,IAAgBM,KAAK,CAACG,GAAvB,EAA6BC,QAA7B,EAAnB;;AAEA,QAAIC,GAAG;AACLH,QAAE,EAAkDA;AAD/C,OAEF,cAAcF,KAAd,IAAmC;AAAEM,YAAM,EAAWN,KAAK,CAACO;AAAzB,KAFjC,GAGF,YAAcP,KAAd,IAAmC;AAAEQ,YAAM,EAAWR,KAAK,CAACQ;AAAzB,KAHjC,GAIF,aAAcR,KAAd,IAAmC;AAAES,aAAO,EAAUT,KAAK,CAACS;AAAzB,KAJjC,GAKFT,KAAK,CAACU,eAAN,IAAmC;AAAEA,qBAAe,EAAEC,UAAU,CAACX,KAAK,CAACU,eAAP;AAA7B,KALjC,GAMF,4BAAK,CAACE,WAAN,0EAAmBN,MAAnB,KAAmC;AAAEM,iBAAW,EAAM,0BAAaZ,KAAK,CAACY,WAAnB,EAAwCnB,OAAxC;AAAnB,KANjC,GAODO,KAAK,CAACa,cAAN,IAAwB,IAAzB,IAAmC;AAAEA,oBAAc,EAAG,2BAAYb,KAAK,CAACa,cAAlB;AAAnB,KAPjC,CAAP;;AAUA,QAAMC,MAAM,GAAG,sBAAQd,KAAR,EAAeP,OAAf,CAAf;AACA,QAAIqB,MAAJ,EACEC,MAAM,CAACC,MAAP,CAAcX,GAAd,EAAmBS,MAAnB;AAEF,QAAMG,YAAY,GAAG,4BAAcjB,KAAd,EAAqBP,OAArB,CAArB;AACA,QAAIwB,YAAJ,EACEF,MAAM,CAACC,MAAP,CAAcX,GAAd,EAAmBY,YAAnB;;AAEF,QAAIxB,OAAO,CAACyB,IAAZ,EAAkB;AAChBH,YAAM,CAACC,MAAP,CAAcX,GAAd,EAAmB,oBAAML,KAAN,EAAaP,OAAb,CAAnB;AACD;;AAED,QAAM0B,IAAI,GAAG,oBAAMnB,KAAN,EAAaP,OAAb,CAAb;AACA,QAAI0B,IAAJ,EACEJ,MAAM,CAACC,MAAP,CAAcX,GAAd,EAAmBc,IAAnB;AAEF,QAAMC,SAAS,GAAG,yBAAWpB,KAAX,EAAkBP,OAAlB,CAAlB;AACA,QAAI2B,SAAJ,EACEL,MAAM,CAACC,MAAP,CAAcX,GAAd,EAAmBe,SAAnB;;AAEF,QAAIpB,KAAK,CAACqB,UAAN,IAAoBrB,KAAK,CAACsB,KAA9B,EAAqC;AACnCP,YAAM,CAACC,MAAP,CAAcX,GAAd,EAAmB;AACjBiB,aAAK,EAAEX,UAAU,CAACY,gBAAOC,GAAP,CAAWxB,KAAK,CAACsB,KAAjB,EAAwBG,MAAxB,CAA+B,OAA/B,CAAD,CADA;AAEjBC,WAAG,EAAIH,gBAAOC,GAAP,CAAWxB,KAAK,CAACsB,KAAjB,EAAwBI,GAAxB,KAAgC;AAFtB,OAAnB;AAID;;AAED,WAAO3B,GAAG,CAAC4B,MAAJ,CAAWtB,GAAX,CAAP;AACD,GA7CM,EA6CJ,EA7CI,CAAP;AA8CD,C","names":["courseEvents","options","idKey","docs","Array","isArray","reduce","acc","event","course","id","_id","toString","doc","length","duration","weight","density","potentialCenter","parseFloat","lockedTimes","minBreakLength","groups","Object","assign","dependencies","meta","days","intervals","fixedStart","start","moment","utc","format","day","concat"],"sourceRoot":"","sources":["../../../../../src/RS/v2/to/course-events/index.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"index.js","mappings":"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","names":["courseEvents","options","idKey","docs","Array","isArray","reduce","acc","event","course","id","_id","toString","doc","length","duration","preferredDuration","durationVariance","maxLengthVariance","weight","density","potentialCenter","parseFloat","lockedTimes","minBreakLength","groups","Object","assign","dependencies","meta","days","intervals","fixedStart","start","moment","utc","format","day","concat"],"sourceRoot":"","sources":["../../../../../src/RS/v2/to/course-events/index.ts"],"sourcesContent":[null]}
@@ -11,6 +11,7 @@ export interface CourseEvent {
11
11
  density?: number;
12
12
  weight?: number;
13
13
  minBreakLength?: BreakLength;
14
+ maxLengthVariance?: number;
14
15
  start?: number;
15
16
  lockedTimes?: LockedTime[];
16
17
  intervals?: Interval[];
@@ -1,4 +1,4 @@
1
1
  import { Types as CoreTypes } from '../../core/types';
2
2
  import { Teacher } from '../types/teachers';
3
- declare const _default: (teachers: CoreTypes.teacher[]) => Teacher[];
3
+ declare const _default: (teachers: CoreTypes.teacher[], belongsTo?: string | undefined) => Teacher[];
4
4
  export default _default;
@@ -5,19 +5,29 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _default = teachers => {
8
+ var _lodash = _interopRequireDefault(require("lodash"));
9
+
10
+ function _interopRequireDefault(obj) {
11
+ return obj && obj.__esModule ? obj : {
12
+ default: obj
13
+ };
14
+ }
15
+
16
+ var _default = (teachers, belongsTo) => {
9
17
  if (!Array.isArray(teachers)) throw new Error('(SS12000::To::Teacher) Teacher input is not of array type');
18
+ if (!teachers.every(teacher => _lodash.default.has(teacher, 'id'))) throw new Error('(SS12000::To::Teacher) Some teachers are missing "id" values');
19
+ if (!belongsTo && !teachers.every(teacher => _lodash.default.has(teacher, 'belongsTo'))) throw new Error('(SS12000::To::Teacher) Some top layer teachers are missing "belongsTo" values');
10
20
  return teachers.map(teacher => {
11
21
  var _teacher$displayName;
12
22
 
13
23
  return {
14
- id: teacher.id,
24
+ id: "".concat(belongsTo !== null && belongsTo !== void 0 ? belongsTo : teacher.belongsTo.id, ".").concat(teacher.id),
15
25
  meta: {
16
26
  created: teacher.createdAt,
17
27
  modified: teacher.updatedAt
18
28
  },
19
29
  person: {
20
- id: teacher.id,
30
+ id: "".concat(belongsTo !== null && belongsTo !== void 0 ? belongsTo : teacher.belongsTo.id, ".").concat(teacher.id),
21
31
  displayName: (_teacher$displayName = teacher.displayName) !== null && _teacher$displayName !== void 0 ? _teacher$displayName : teacher.ids
22
32
  },
23
33
  dutyRole: "Lärare"
@@ -1 +1 @@
1
- {"version":3,"file":"teachers.js","mappings":";;;;;;;eAIgBA,QAAD,IAA6C;AAC1D,MAAI,CAAEC,KAAK,CAACC,OAAND,CAAcD,QAAdC,CAAN,EACE,MAAM,IAAIE,KAAJ,CAAU,2DAAV,CAAN;AAEF,SAAOH,QAAQ,CAACI,GAATJ,CAAcK,OAAD;AAAA;;AAAA,WAAc;AAChCC,QAAE,EAAED,OAAO,CAACC,EADoB;AAEhCC,UAAI,EAAE;AACJC,eAAO,EAAGH,OAAO,CAACI,SADd;AAEJC,gBAAQ,EAAEL,OAAO,CAACM;AAFd,OAF0B;AAMhCC,YAAM,EAAE;AACNN,UAAE,EAAED,OAAO,CAACC,EADN;AAENO,mBAAW,0BAAER,OAAO,CAACQ,WAAV,uEAAyBR,OAAO,CAACS;AAFtC,OANwB;AAWhCC,cAAQ,EAAE;AAXsB,KAAd;AAAb,IAAP","names":["teachers","Array","isArray","Error","map","teacher","id","meta","created","createdAt","modified","updatedAt","person","displayName","ids","dutyRole"],"sourceRoot":"","sources":["../../../src/SS12000/to/teachers.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"teachers.js","mappings":";;;;;;;AAAA;;;;;;;;eAMe,CAACA,QAAD,EAAgCC,SAAhC,KAAiE;AAC9E,MAAI,CAAEC,KAAK,CAACC,OAAND,CAAcF,QAAdE,CAAN,EACE,MAAM,IAAIE,KAAJ,CAAU,2DAAV,CAAN;AAEF,MAAI,CAAEJ,QAAQ,CAACK,KAATL,CAAgBM,OAAD,IAAaC,gBAAEC,GAAFD,CAAMD,OAANC,EAAe,IAAfA,CAA5BP,CAAN,EACE,MAAM,IAAII,KAAJ,CAAU,8DAAV,CAAN;AAEF,MAAI,CAAEH,SAAF,IAAe,CAAED,QAAQ,CAACK,KAATL,CAAgBM,OAAD,IAAaC,gBAAEC,GAAFD,CAAMD,OAANC,EAAe,WAAfA,CAA5BP,CAArB,EACE,MAAM,IAAII,KAAJ,CAAU,+EAAV,CAAN;AAEF,SAAOJ,QAAQ,CAACS,GAATT,CAAcM,OAAD;AAAA;;AAAA,WAAc;AAChCI,QAAE,YAAcT,SAAd,SAAcA,aAAd,WAAcA,eAAaK,OAAO,CAACL,SAARK,CAAmBI,EAA9C,cAAsDJ,OAAO,CAACI,EAA9D,CAD8B;AAEhCC,UAAI,EAAE;AACJC,eAAO,EAAGN,OAAO,CAACO,SADd;AAEJC,gBAAQ,EAAER,OAAO,CAACS;AAFd,OAF0B;AAMhCC,YAAM,EAAE;AACNN,UAAE,YAAeT,SAAf,SAAeA,aAAf,WAAeA,eAAaK,OAAO,CAACL,SAARK,CAAmBI,EAA/C,cAAuDJ,OAAO,CAACI,EAA/D,CADI;AAENO,mBAAW,0BAAEX,OAAO,CAACW,WAAV,uEAAyBX,OAAO,CAACY;AAFtC,OANwB;AAWhCC,cAAQ,EAAE;AAXsB,KAAd;AAAb,IAAP","names":["teachers","belongsTo","Array","isArray","Error","every","teacher","_","has","map","id","meta","created","createdAt","modified","updatedAt","person","displayName","ids","dutyRole"],"sourceRoot":"","sources":["../../../src/SS12000/to/teachers.ts"],"sourcesContent":[null]}
@@ -1,11 +1,5 @@
1
- import moment from 'moment';
1
+ import { TA } from '../types/TA';
2
+ import { TATeacherLink } from '../types/TA-teacher-link';
3
+ import { TAGroupLink } from '../types/TA-group-link';
2
4
  import { Types } from '../../core/types';
3
- import { Plan } from '../types/Plan';
4
- import { Group } from '../types/Group';
5
- export default function (groups: Group[], groupPlansMap: Map<number, Set<string>>, planMap: Map<number, Plan>, scheduleDates: {
6
- start?: moment.Moment;
7
- end?: moment.Moment;
8
- }, subjectMap: Map<number, string>, planDateMap: Map<number, {
9
- start: moment.Moment;
10
- end: moment.Moment;
11
- }>, planTeachersMap: Map<number, Set<string>>, groupClassesMap: Map<string, Set<string>>, warnings: string[], errors: string[]): Map<number, Types.course>;
5
+ export default function (TAs: TA[], TATeacherLinks: TATeacherLink[], TAGroupLinks: TAGroupLink[], groupClassesMap: Map<string, Set<string>>, classes: Types.group[], weeks: number[]): [Types.course[], Map<string, Types.course>];
@@ -5,89 +5,51 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = _default;
7
7
 
8
- var _filterOnPeriod = require("./filter-on-period");
9
-
10
- function ownKeys(object, enumerableOnly) {
11
- var keys = Object.keys(object);
12
-
13
- if (Object.getOwnPropertySymbols) {
14
- var symbols = Object.getOwnPropertySymbols(object);
15
- enumerableOnly && (symbols = symbols.filter(function (sym) {
16
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
17
- })), keys.push.apply(keys, symbols);
18
- }
19
-
20
- return keys;
21
- }
22
-
23
- function _objectSpread(target) {
24
- for (var i = 1; i < arguments.length; i++) {
25
- var source = null != arguments[i] ? arguments[i] : {};
26
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
27
- _defineProperty(target, key, source[key]);
28
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
29
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
30
- });
31
- }
32
-
33
- return target;
34
- }
35
-
36
- function _defineProperty(obj, key, value) {
37
- if (key in obj) {
38
- Object.defineProperty(obj, key, {
39
- value: value,
40
- enumerable: true,
41
- configurable: true,
42
- writable: true
43
- });
44
- } else {
45
- obj[key] = value;
46
- }
47
-
48
- return obj;
49
- }
50
-
51
- function _default(groups, groupPlansMap, planMap, scheduleDates, subjectMap, planDateMap, planTeachersMap, groupClassesMap, warnings, errors) {
52
- var courseMap = new Map();
53
- groups.forEach(x => {
54
- var _groupPlansMap$get;
55
-
56
- if (x.bClass) return;
57
- var plans = groupPlansMap.get(x.PK);
58
-
59
- if (plans) {
60
- var numPans = [...plans].filter(p => (0, _filterOnPeriod.filterOnPeriod)(scheduleDates, planDateMap.get(parseInt(p)))).length;
61
- if (!numPans) return;
62
- }
63
-
64
- var subject;
65
-
66
- if (plans) {
67
- var _planMap$get;
68
-
69
- var subjPK = (_planMap$get = planMap.get(parseInt([...plans][0]))) === null || _planMap$get === void 0 ? void 0 : _planMap$get.FKSubject;
70
- if (subjPK) subject = subjectMap.get(subjPK);
8
+ var _assertWeekOverlap = require("./assert-week-overlap");
9
+
10
+ function _default(TAs, TATeacherLinks, TAGroupLinks, groupClassesMap, classes, weeks) {
11
+ var courses = TAs.filter(x => (0, _assertWeekOverlap.assertWeekOverlap)(x.ActualWeeks, weeks)).map(x => ({
12
+ ids: x.TA.toString(),
13
+ displayName: x.Course || x.Subject
14
+ }));
15
+ courses.forEach(x => {
16
+ var teachers = TATeacherLinks.filter(y => y.TA == parseInt(x.ids)).map(y => y.Teacher);
17
+ if (teachers.length) x.teachers = teachers;
18
+ });
19
+ var groupCourseMap = new Map();
20
+
21
+ var _loop = function _loop(i) {
22
+ var x = courses[i];
23
+ var groups = TAGroupLinks.filter(y => y.TA == parseInt(x.ids)).map(y => y.Group);
24
+ if (groups.length > 1) throw "More than one group per course: [" + groups.join(",") + "]";
25
+
26
+ if (groups.length) {
27
+ var group = groups[0];
28
+
29
+ if (classes.map(x => x.ids).includes(group)) {
30
+ x.groups = groups;
31
+ } else {
32
+ if (groupClassesMap.has(group)) {
33
+ x.groups = [...groupClassesMap.get(group)];
34
+ x.displayName = group;
35
+ }
36
+ }
37
+
38
+ if (groupCourseMap.has(group)) {
39
+ var y = groupCourseMap.get(group);
40
+ y.teachers = [...new Set((x.teachers || []).concat(y.teachers || []))];
41
+ y.groups = [...new Set((x.groups || []).concat(y.groups || []))];
42
+ courses.splice(i, 1);
43
+ } else {
44
+ groupCourseMap.set(group, x);
45
+ }
71
46
  }
47
+ };
72
48
 
73
- var groupSet = groupClassesMap.get(x.PK.toString());
74
- var teacherSet = new Set();
75
- (_groupPlansMap$get = groupPlansMap.get(x.PK)) === null || _groupPlansMap$get === void 0 ? void 0 : _groupPlansMap$get.forEach(p => {
76
- var _planTeachersMap$get;
49
+ for (var i = courses.length - 1; i >= 0; i--) {
50
+ _loop(i);
51
+ }
77
52
 
78
- (_planTeachersMap$get = planTeachersMap.get(parseInt(p))) === null || _planTeachersMap$get === void 0 ? void 0 : _planTeachersMap$get.forEach(t => teacherSet.add(t));
79
- });
80
- courseMap.set(x.PK, _objectSpread(_objectSpread(_objectSpread({
81
- ids: x.PK.toString(),
82
- displayName: x.ID
83
- }, subject && {
84
- subject
85
- }), groupSet && {
86
- groups: [...groupSet]
87
- }), teacherSet && {
88
- teachers: [...teacherSet]
89
- }));
90
- });
91
- return courseMap;
53
+ return [courses, groupCourseMap];
92
54
  }
93
55
  //# sourceMappingURL=courses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"courses.js","mappings":";;;;;;;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwGc,kBACZA,MADY,EAEZC,aAFY,EAGZC,OAHY,EAMZC,aANY,EASZC,UATY,EAUZC,WAVY,EAWZC,eAXY,EAaZC,eAbY,EAcZC,QAdY,EAeZC,MAfY,EAeY;AAIxB,MAAIC,SAAS,GAA8B,IAAIC,GAAJ,EAA3C;AACAX,QAAM,CAACY,OAAPZ,CAAea,CAAC,IAAG;AAAA;;AAEjB,QAAIA,CAAC,CAACC,MAAN,EAAc;AAGd,QAAIC,KAAK,GAAGd,aAAa,CAACe,GAAdf,CAAkBY,CAAC,CAACI,EAApBhB,CAAZ;;AACA,QAAIc,KAAJ,EAAW;AACT,UAAMG,OAAO,GAAG,CAAC,GAAGH,KAAJ,EAAWI,MAAX,CAAkBC,CAAC,IAAI,oCAAejB,aAAf,EAA8BE,WAAW,CAACW,GAAZX,CAAgBgB,QAAQ,CAACD,CAAD,CAAxBf,CAA9B,CAAvB,EAAoFiB,MAApG;AACA,UAAK,CAAEJ,OAAP,EAAgB;AACjB;;AAID,QAAIK,OAAJ;;AACA,QAAIR,KAAJ,EAAW;AAAA;;AACT,UAAIS,MAAM,mBAAGtB,OAAO,CAACc,GAARd,CAAYmB,QAAQ,CAAC,CAAC,GAAGN,KAAJ,EAAW,CAAX,CAAD,CAApBb,CAAH,iDAAGuB,aAAsCC,SAAnD;AACA,UAAIF,MAAJ,EAAYD,OAAO,GAAGnB,UAAU,CAACY,GAAXZ,CAAeoB,MAAfpB,CAAVmB;AACb;;AAGD,QAAII,QAAQ,GAAGpB,eAAe,CAACS,GAAhBT,CAAoBM,CAAC,CAACI,EAAFJ,CAAKe,QAALf,EAApBN,CAAf;AAGA,QAAIsB,UAAU,GAAG,IAAIC,GAAJ,EAAjB;AACA,uCAAa,CAACd,GAAd,CAAkBH,CAAC,CAACI,EAApB,2EAAyBL,OAAzB,CAAiCQ,CAAC,IAAG;AAAA;;AACnC,6CAAe,CAACJ,GAAhB,CAAoBK,QAAQ,CAACD,CAAD,CAA5B,+EAAkCR,OAAlC,CAA0CmB,CAAC,IAAIF,UAAU,CAACG,GAAXH,CAAeE,CAAfF,CAA/C;AADF;AAMAnB,aAAS,CAACuB,GAAVvB,CAAcG,CAAC,CAACI,EAAhBP;AACEwB,SAAG,EAAUrB,CAAC,CAACI,EAAFJ,CAAKe,QAALf,EADfH;AAEEyB,iBAAW,EAAEtB,CAAC,CAACuB;AAFjB1B,OAIOa,OAAO,IAAO;AAAEA;AAAF,KAJrBb,GAKOiB,QAAQ,IAAM;AAAE3B,YAAM,EAAE,CAAC,GAAG2B,QAAJ;AAAV,KALrBjB,GAMOmB,UAAU,IAAI;AAAEQ,cAAQ,EAAE,CAAC,GAAGR,UAAJ;AAAZ,KANrBnB;AA9BF;AA0CA,SAAOA,SAAP;AACD","names":["groups","groupPlansMap","planMap","scheduleDates","subjectMap","planDateMap","planTeachersMap","groupClassesMap","warnings","errors","courseMap","Map","forEach","x","bClass","plans","get","PK","numPans","filter","p","parseInt","length","subject","subjPK","_planMap$get","FKSubject","groupSet","toString","teacherSet","Set","t","add","set","ids","displayName","ID","teachers"],"sourceRoot":"","sources":["../../../src/Skola24/from/courses.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"courses.js","mappings":"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","names":["TAs","TATeacherLinks","TAGroupLinks","groupClassesMap","classes","weeks","courses","filter","x","ActualWeeks","map","ids","TA","toString","displayName","Course","Subject","forEach","teachers","y","parseInt","Teacher","length","groupCourseMap","Map","i","groups","Group","join","group","includes","has","get","Set","concat","splice","set","_loop"],"sourceRoot":"","sources":["../../../src/Skola24/from/courses.ts"],"sourcesContent":[null]}
@@ -1,4 +1,5 @@
1
1
  export interface Group {
2
- Group: string;
3
- Class: boolean;
2
+ PK: number;
3
+ ID: string;
4
+ bClass: boolean;
4
5
  }
@@ -1,4 +1,4 @@
1
1
  export interface LessonGroupLink {
2
- Lesson: number;
3
- Group: string;
2
+ FKSchedule: number;
3
+ FKGroup: number;
4
4
  }
@@ -1,4 +1,4 @@
1
1
  export interface LessonRoomLink {
2
- Lesson: number;
3
- Room: string;
2
+ FKSchedule: number;
3
+ FKRoom: number;
4
4
  }
@@ -1,4 +1,4 @@
1
1
  export interface LessonTeacherLink {
2
- Lesson: number;
3
- Teacher: string;
2
+ FKSchedule: number;
3
+ FKTeacher: number;
4
4
  }
@@ -1,9 +1,9 @@
1
1
  export interface Lesson {
2
- Lesson: number;
3
- Length?: number;
4
- Starttime?: string;
2
+ PK: number;
3
+ Length: number;
4
+ StartTime?: string;
5
5
  DayOfWeek?: number;
6
- Course?: string;
7
- Subject?: string;
8
- ActualWeeks: string;
6
+ FKCourse?: number;
7
+ FKSubject?: number;
8
+ CalcActualWeeks?: string;
9
9
  }
@@ -1,4 +1,5 @@
1
1
  export interface Room {
2
- Room: string;
2
+ PK: number;
3
+ ID: string;
3
4
  Area?: string;
4
5
  }
@@ -1,24 +1,34 @@
1
- import { Room } from './room';
2
- import { Teacher } from './teacher';
3
- import { Group } from './group';
4
- import { TA } from './TA';
5
- import { Lesson } from './lesson';
6
- import { GroupStudentLink } from './group-student-link';
7
- import { LessonRoomLink } from './lesson-room-link';
8
- import { LessonTeacherLink } from './lesson-teacher-link';
9
- import { LessonGroupLink } from './lesson-group-link';
10
- import { TATeacherLink } from './TA-teacher-link';
11
- import { TAGroupLink } from './TA-group-link';
1
+ import { Period } from './Period';
2
+ import { Room } from './Room';
3
+ import { Subject } from './Subject';
4
+ import { Teacher } from './Teacher';
5
+ import { Group } from './Group';
6
+ import { Plan } from './Plan';
7
+ import { Course } from './Course';
8
+ import { Lesson } from './Lesson';
9
+ import { GroupGroupLink } from './Group-group-link';
10
+ import { PlanPeriodLink } from './Plan-period-link';
11
+ import { PlanTeacherLink } from './Plan-teacher-link';
12
+ import { PlanGroupLink } from './Plan-group-link';
13
+ import { LessonPeriodLink } from './Lesson-period-link';
14
+ import { LessonRoomLink } from './Lesson-room-link';
15
+ import { LessonTeacherLink } from './Lesson-teacher-link';
16
+ import { LessonGroupLink } from './Lesson-group-link';
12
17
  export interface Schedule {
13
- room: Room[];
14
- teacher: Teacher[];
15
- group: Group[];
16
- ta: TA[];
17
- lesson: Lesson[];
18
- group_student: GroupStudentLink[];
19
- lesson_room: LessonRoomLink[];
20
- lesson_teacher: LessonTeacherLink[];
21
- lesson_group: LessonGroupLink[];
22
- ta_teacher: TATeacherLink[];
23
- ta_group: TAGroupLink[];
18
+ unit_tblperiod_date: Period[];
19
+ unit_tblroom: Room[];
20
+ school_tblsubject: Subject[];
21
+ school_tblteacher: Teacher[];
22
+ school_tblgroup: Group[];
23
+ school_tblplan: Plan[];
24
+ school_tblcourse: Course[];
25
+ school_tblschedule: Lesson[];
26
+ school_tblgroup_group: GroupGroupLink[];
27
+ school_tblplan_period: PlanPeriodLink[];
28
+ school_tblplan_teacher: PlanTeacherLink[];
29
+ school_tblplan_group: PlanGroupLink[];
30
+ school_tblschedule_period: LessonPeriodLink[];
31
+ school_tblschedule_room: LessonRoomLink[];
32
+ school_tblschedule_teacher: LessonTeacherLink[];
33
+ school_tblschedule_group: LessonGroupLink[];
24
34
  }
@@ -1,5 +1,6 @@
1
1
  export interface Teacher {
2
- Teacher: string;
3
- FirstName: string;
4
- LastName: string;
2
+ PK: number;
3
+ ID: string;
4
+ FirstName?: string;
5
+ LastName?: string;
5
6
  }
@@ -32,6 +32,8 @@ export interface CourseEventBare {
32
32
  displayName?: string;
33
33
  visible?: boolean;
34
34
  duration?: number;
35
+ preferredDuration?: number;
36
+ durationVariance?: number;
35
37
  lockedTimes?: LockedTime[];
36
38
  intervals?: Interval[];
37
39
  days?: Day[] | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@royalschedule/maps",
3
- "version": "2.2.2",
3
+ "version": "2.2.5",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -34,16 +34,16 @@
34
34
  "homepage": "https://bitbucket.org/royalschedule/maps#readme",
35
35
  "devDependencies": {
36
36
  "@babel/cli": "^7.17.6",
37
- "@babel/core": "^7.17.7",
37
+ "@babel/core": "^7.17.9",
38
38
  "@babel/preset-env": "^7.16.11",
39
39
  "@types/app-module-path": "^2.2.0",
40
40
  "@types/json2csv": "^5.0.3",
41
- "@types/lodash": "^4.14.179",
41
+ "@types/lodash": "^4.14.181",
42
42
  "@types/papaparse": "^5.3.2",
43
43
  "nodemon": "^2.0.15",
44
44
  "ts-node": "^10.7.0",
45
45
  "tslib": "^2.3.1",
46
- "typescript": "^4.6.2"
46
+ "typescript": "^4.6.3"
47
47
  },
48
48
  "dependencies": {
49
49
  "app-module-path": "^2.2.0",
@@ -52,9 +52,9 @@
52
52
  "json2csv": "^5.0.7",
53
53
  "lodash": "^4.17.21",
54
54
  "module-alias": "^2.2.2",
55
- "moment": "^2.29.1",
56
- "mongoose": "^6.2.6",
57
- "papaparse": "^5.3.1",
58
- "xlsx": "^0.18.3"
55
+ "moment": "^2.29.2",
56
+ "mongoose": "^6.2.10",
57
+ "papaparse": "^5.3.2",
58
+ "xlsx": "^0.18.5"
59
59
  }
60
60
  }
@@ -1,11 +0,0 @@
1
- import moment from 'moment';
2
- import { Types } from '../../core/types';
3
- import { Group } from '../types/Group';
4
- import { Lesson } from '../types/Lesson';
5
- export default function (lessons: Lesson[], scheduleDates: {
6
- start?: moment.Moment;
7
- end?: moment.Moment;
8
- }, RScourseMap: Map<number, Types.course>, groupMap: Map<number, Group>, subjectMap: Map<number, string>, lessonDateMap: Map<number, {
9
- start: moment.Moment;
10
- end: moment.Moment;
11
- }>, lessonRoomsMap: Map<number, Set<string>>, lessonTeachersMap: Map<number, Set<string>>, lessonGroupsMap: Map<number, Set<string>>, groupClassesMap: Map<string, Set<string>>, warnings: string[], errors: string[]): Types.courseEvent[];