@royalschedule/maps 4.0.30 → 4.0.32
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/Additio/from/courses.js.map +1 -1
- package/dist/Additio/from/events.js.map +1 -1
- package/dist/Additio/from/groups.js.map +1 -1
- package/dist/Additio/from/index.js.map +1 -1
- package/dist/Additio/from/locations.js.map +1 -1
- package/dist/Additio/from/persons.js.map +1 -1
- package/dist/Additio/from/schedules.d.ts +0 -1
- package/dist/Additio/from/schedules.js +4 -2
- package/dist/Additio/from/schedules.js.map +1 -1
- package/dist/Additio/from/teachers.js.map +1 -1
- package/dist/Additio/to/index.d.ts +0 -2
- package/dist/Additio/to/schedules.js +4 -2
- package/dist/Additio/to/schedules.js.map +1 -1
- package/dist/Admentum/from/courses.js.map +1 -1
- package/dist/Admentum/from/events.js.map +1 -1
- package/dist/Admentum/from/groups.js.map +1 -1
- package/dist/Admentum/from/index.js.map +1 -1
- package/dist/Admentum/from/locations.js.map +1 -1
- package/dist/Admentum/from/persons.js.map +1 -1
- package/dist/Admentum/from/schedules.d.ts +0 -1
- package/dist/Admentum/from/schedules.js +6 -3
- package/dist/Admentum/from/schedules.js.map +1 -1
- package/dist/Admentum/from/teachers.js.map +1 -1
- package/dist/Admentum/to/index.d.ts +0 -1
- package/dist/Admentum/to/schedules.js +7 -4
- package/dist/Admentum/to/schedules.js.map +1 -1
- package/dist/Excel/index.d.ts +4 -4
- package/dist/Excel/v1/from/index.js +1 -1
- package/dist/Excel/v1/from/index.js.map +1 -1
- package/dist/Excel/v1/index.d.ts +4 -4
- package/dist/Excel/v2/from/index.js +54 -45
- package/dist/Excel/v2/from/index.js.map +1 -1
- package/dist/Excel/v2/index.d.ts +4 -4
- package/dist/IdunSoft/from/courses.js.map +1 -1
- package/dist/IdunSoft/from/events.js +2 -1
- package/dist/IdunSoft/from/events.js.map +1 -1
- package/dist/IdunSoft/from/groups.js.map +1 -1
- package/dist/IdunSoft/from/index.js.map +1 -1
- package/dist/IdunSoft/from/locations.js.map +1 -1
- package/dist/IdunSoft/from/schedules.d.ts +0 -1
- package/dist/IdunSoft/from/schedules.js.map +1 -1
- package/dist/IdunSoft/from/teachers.js.map +1 -1
- package/dist/IdunSoft/to/index.d.ts +0 -1
- package/dist/IdunSoft/to/schedules.js +6 -3
- package/dist/IdunSoft/to/schedules.js.map +1 -1
- package/dist/InfoMentor/to/index.d.ts +0 -1
- package/dist/InfoMentor/to/schedules.js +2 -1
- package/dist/InfoMentor/to/schedules.js.map +1 -1
- package/dist/PlanDigital/from/index.js.map +1 -1
- package/dist/PlanDigital/from/schedules.js +11 -9
- package/dist/PlanDigital/from/schedules.js.map +1 -1
- package/dist/PlanDigital/index.d.ts +0 -1
- package/dist/Quiculum/file/to/index.d.ts +0 -1
- package/dist/Quiculum/file/to/schedules.js +9 -5
- package/dist/Quiculum/file/to/schedules.js.map +1 -1
- package/dist/RS/from/division.d.ts +0 -1
- package/dist/RS/from/division.js +2 -1
- package/dist/RS/from/division.js.map +1 -1
- package/dist/RS/from/index.js.map +1 -1
- package/dist/RS/from/schedules.d.ts +0 -1
- package/dist/RS/from/schedules.js.map +1 -1
- package/dist/RS/make-connected.d.ts +1 -3
- package/dist/RS/make-connected.js +42 -33
- package/dist/RS/make-connected.js.map +1 -1
- package/dist/RS/to/index.js.map +1 -1
- package/dist/RS/to/initial-configuration.js +6 -4
- package/dist/RS/to/initial-configuration.js.map +1 -1
- package/dist/RS/to/input/collections.js.map +1 -1
- package/dist/RS/to/input/default.js +2 -1
- package/dist/RS/to/input/default.js.map +1 -1
- package/dist/RS/to/input/dependencies.js +2 -1
- package/dist/RS/to/input/dependencies.js.map +1 -1
- package/dist/RS/to/input/dynamic-locked-times.js +2 -1
- package/dist/RS/to/input/dynamic-locked-times.js.map +1 -1
- package/dist/RS/to/input/events.js.map +1 -1
- package/dist/RS/to/input/groups.js.map +1 -1
- package/dist/RS/to/input/individuals.js +2 -1
- package/dist/RS/to/input/individuals.js.map +1 -1
- package/dist/RS/to/input/input.js +2 -1
- package/dist/RS/to/input/input.js.map +1 -1
- package/dist/RS/to/input/intervals.js +4 -2
- package/dist/RS/to/input/intervals.js.map +1 -1
- package/dist/RS/to/input/periods.js +4 -2
- package/dist/RS/to/input/periods.js.map +1 -1
- package/dist/RS/to/input/settings.js.map +1 -1
- package/dist/RS/to/input/teachers.js.map +1 -1
- package/dist/RS/to/input/util/attach-locked-times.js.map +1 -1
- package/dist/RS/to/input/util/parse-days.js.map +1 -1
- package/dist/RS/to/input/util/parse-group-references.js.map +1 -1
- package/dist/RS/to/input/util/parse-intervals.js +4 -2
- package/dist/RS/to/input/util/parse-intervals.js.map +1 -1
- package/dist/RS/to/input/util/parse-location-references.js +2 -1
- package/dist/RS/to/input/util/parse-location-references.js.map +1 -1
- package/dist/RS/to/input/util/parse-max-working-hours.js.map +1 -1
- package/dist/RS/to/input/util/parse-minimum-break-length.js.map +1 -1
- package/dist/RS/to/input/util/util.js +2 -1
- package/dist/RS/to/input/util/util.js.map +1 -1
- package/dist/RS/to/schedules.js.map +1 -1
- package/dist/RS/types/to.d.ts +0 -1
- package/dist/SS12000/from/activities.js +2 -1
- package/dist/SS12000/from/activities.js.map +1 -1
- package/dist/SS12000/from/calendar-events.js.map +1 -1
- package/dist/SS12000/from/duties.js.map +1 -1
- package/dist/SS12000/from/groups.js.map +1 -1
- package/dist/SS12000/from/index.js.map +1 -1
- package/dist/SS12000/from/persons.js.map +1 -1
- package/dist/SS12000/from/resources.js.map +1 -1
- package/dist/SS12000/from/rooms.js.map +1 -1
- package/dist/SS12000/from/syllabuses.js.map +1 -1
- package/dist/SS12000/index.d.ts +181 -1
- package/dist/SS12000/to/activities.js.map +1 -1
- package/dist/SS12000/to/calendar-events.js.map +1 -1
- package/dist/SS12000/to/common.js.map +1 -1
- package/dist/SS12000/to/duties.js.map +1 -1
- package/dist/SS12000/to/groups.js.map +1 -1
- package/dist/SS12000/to/index.d.ts +0 -1
- package/dist/SS12000/to/persons.js.map +1 -1
- package/dist/SS12000/to/resources.js.map +1 -1
- package/dist/SS12000/to/rooms.js.map +1 -1
- package/dist/SS12000/to/syllabuses.js.map +1 -1
- package/dist/SchoolSoft/api/from/index.js.map +1 -1
- package/dist/SchoolSoft/api/from/schedules.js +12 -8
- package/dist/SchoolSoft/api/from/schedules.js.map +1 -1
- package/dist/SchoolSoft/api/index.d.ts +7 -6
- package/dist/SchoolSoft/file/from/index.js.map +1 -1
- package/dist/SchoolSoft/file/from/schedules.js +87 -83
- package/dist/SchoolSoft/file/from/schedules.js.map +1 -1
- package/dist/SchoolSoft/file/index.d.ts +0 -1
- package/dist/SchoolSoft/file/to/index.d.ts +0 -1
- package/dist/SchoolSoft/file/to/schedules.js +2 -1
- package/dist/SchoolSoft/file/to/schedules.js.map +1 -1
- package/dist/SchoolSoft/index.d.ts +0 -1
- package/dist/Schoolity/txt/to/index.d.ts +0 -1
- package/dist/Schoolity/txt/to/schedules.js +12 -5
- package/dist/Schoolity/txt/to/schedules.js.map +1 -1
- package/dist/Skola24/mdb/from/course-and-events.js +5 -3
- package/dist/Skola24/mdb/from/course-and-events.js.map +1 -1
- package/dist/Skola24/mdb/from/groups.js.map +1 -1
- package/dist/Skola24/mdb/from/index.js.map +1 -1
- package/dist/Skola24/mdb/from/locations.js.map +1 -1
- package/dist/Skola24/mdb/from/schedule.d.ts +0 -1
- package/dist/Skola24/mdb/from/schedule.js.map +1 -1
- package/dist/Skola24/mdb/from/teachers.js.map +1 -1
- package/dist/Skola24/txt/from/calendar-exceptions.js +2 -1
- package/dist/Skola24/txt/from/calendar-exceptions.js.map +1 -1
- package/dist/Skola24/txt/from/division.js.map +1 -1
- package/dist/Skola24/txt/from/index.js.map +1 -1
- package/dist/Skola24/txt/from/period.js +34 -31
- package/dist/Skola24/txt/from/period.js.map +1 -1
- package/dist/Skola24/txt/from/schedules.d.ts +0 -1
- package/dist/Skola24/txt/from/schedules.js +10 -6
- package/dist/Skola24/txt/from/schedules.js.map +1 -1
- package/dist/Skola24/txt/from/util.js.map +1 -1
- package/dist/Skola24/txt/index.d.ts +0 -1
- package/dist/Skola24/txt/to/index.d.ts +0 -1
- package/dist/Skola24/txt/to/schedules.js +12 -5
- package/dist/Skola24/txt/to/schedules.js.map +1 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/functions.js.map +1 -1
- package/dist/common/get-date.js.map +1 -1
- package/dist/common/make-chainable/index.js.map +1 -1
- package/dist/common/types.d.ts +3 -1
- package/dist/core/from/configurations.js.map +1 -1
- package/dist/core/from/courses.js.map +1 -1
- package/dist/core/from/events.js.map +1 -1
- package/dist/core/from/exceptions.js.map +1 -1
- package/dist/core/from/groups.js.map +1 -1
- package/dist/core/from/index.js.map +1 -1
- package/dist/core/from/locations.js.map +1 -1
- package/dist/core/from/locked-times.js.map +1 -1
- package/dist/core/from/overlap-groups.js.map +1 -1
- package/dist/core/from/periods.js.map +1 -1
- package/dist/core/from/persons.js.map +1 -1
- package/dist/core/from/root-intervals.js.map +1 -1
- package/dist/core/from/schedules.js.map +1 -1
- package/dist/core/from/settings.js.map +1 -1
- package/dist/core/from/syllabuses.js.map +1 -1
- package/dist/core/from/teachers.js.map +1 -1
- package/dist/core/index.d.ts +0 -1
- package/dist/core/interfaces/other/companies.js.map +1 -1
- package/dist/core/interfaces/other/operations.d.ts +0 -1
- package/dist/core/interfaces/vertices/companies.d.ts +0 -1
- package/dist/core/interfaces/vertices/configurations.d.ts +1 -2
- package/dist/core/interfaces/vertices/courses.d.ts +0 -1
- package/dist/core/interfaces/vertices/division-settings.d.ts +0 -1
- package/dist/core/interfaces/vertices/divisions.d.ts +0 -1
- package/dist/core/interfaces/vertices/events.d.ts +2 -1
- package/dist/core/interfaces/vertices/exceptions.d.ts +0 -1
- package/dist/core/interfaces/vertices/generations.d.ts +0 -2
- package/dist/core/interfaces/vertices/groups.d.ts +0 -1
- package/dist/core/interfaces/vertices/index.d.ts +14 -1
- package/dist/core/interfaces/vertices/locations.d.ts +0 -1
- package/dist/core/interfaces/vertices/locked-times.d.ts +0 -2
- package/dist/core/interfaces/vertices/overlap-groups.d.ts +0 -1
- package/dist/core/interfaces/vertices/periods.d.ts +0 -2
- package/dist/core/interfaces/vertices/persons.d.ts +0 -1
- package/dist/core/interfaces/vertices/properties/belongs-to.d.ts +0 -1
- package/dist/core/interfaces/vertices/properties/coalesced.d.ts +0 -1
- package/dist/core/interfaces/vertices/root-intervals.d.ts +0 -2
- package/dist/core/interfaces/vertices/syllabuses.d.ts +0 -1
- package/dist/core/interfaces/vertices/teachers.d.ts +0 -1
- package/dist/core/interfaces/vertices/threads.d.ts +31 -0
- package/dist/core/interfaces/vertices/users.d.ts +4 -2
- package/dist/core/interfaces/vertices/util/custom-vertex-export/index.d.ts +9 -8
- package/dist/core/interfaces/vertices/util/custom-vertex-export/util.d.ts +4 -4
- package/dist/core/interfaces/vertices/util/deep-vertex-export/index.d.ts +9 -8
- package/dist/core/interfaces/vertices/util/edges.d.ts +26 -8
- package/dist/core/interfaces/vertices/util/util.d.ts +24 -20
- package/dist/core/interfaces/vertices/util/vertex-query/index.d.ts +16 -11
- package/dist/core/interfaces/vertices/util/vertex.d.ts +2 -2
- package/dist/core/interfaces/vertices/vertex-query.d.ts +29 -26
- package/dist/core/interfaces/vertices/vertex-query.js +8 -0
- package/dist/core/interfaces/vertices/vertex-query.js.map +1 -1
- package/dist/core/to/configurations.js +2 -1
- package/dist/core/to/configurations.js.map +1 -1
- package/dist/core/to/courses.js +2 -1
- package/dist/core/to/courses.js.map +1 -1
- package/dist/core/to/division.js.map +1 -1
- package/dist/core/to/events.js +4 -2
- package/dist/core/to/events.js.map +1 -1
- package/dist/core/to/exceptions.js +2 -1
- package/dist/core/to/exceptions.js.map +1 -1
- package/dist/core/to/groups.js +2 -1
- package/dist/core/to/groups.js.map +1 -1
- package/dist/core/to/locations.js +2 -1
- package/dist/core/to/locations.js.map +1 -1
- package/dist/core/to/locked-times.js +2 -1
- package/dist/core/to/locked-times.js.map +1 -1
- package/dist/core/to/overlap-groups.js +2 -1
- package/dist/core/to/overlap-groups.js.map +1 -1
- package/dist/core/to/periods.js +2 -1
- package/dist/core/to/periods.js.map +1 -1
- package/dist/core/to/persons.js +2 -1
- package/dist/core/to/persons.js.map +1 -1
- package/dist/core/to/root-intervals.js +2 -1
- package/dist/core/to/root-intervals.js.map +1 -1
- package/dist/core/to/schedules.d.ts +0 -1
- package/dist/core/to/schedules.js.map +1 -1
- package/dist/core/to/settings.js +2 -1
- package/dist/core/to/settings.js.map +1 -1
- package/dist/core/to/syllabuses.js +2 -1
- package/dist/core/to/syllabuses.js.map +1 -1
- package/dist/core/to/teachers.js +2 -1
- package/dist/core/to/teachers.js.map +1 -1
- package/dist/core/to/util.d.ts +0 -2
- package/dist/core/to/util.js +2 -1
- package/dist/core/to/util.js.map +1 -1
- package/dist/core/types/index.d.ts +10 -1
- package/dist/core/util.js +2 -1
- package/dist/core/util.js.map +1 -1
- package/dist/identify/constants/index.js.map +1 -1
- package/dist/identify/index.js +2 -1
- package/dist/identify/index.js.map +1 -1
- package/dist/sdui/from/classes.js.map +1 -1
- package/dist/sdui/from/courses.js.map +1 -1
- package/dist/sdui/from/holidays.js.map +1 -1
- package/dist/sdui/from/index.js.map +1 -1
- package/dist/sdui/from/lessons.js.map +1 -1
- package/dist/sdui/from/rooms.js.map +1 -1
- package/dist/sdui/from/schedules.d.ts +0 -2
- package/dist/sdui/from/schedules.js.map +1 -1
- package/dist/sdui/from/school-years.js.map +1 -1
- package/dist/sdui/from/substitution-plans.js.map +1 -1
- package/dist/sdui/from/teachers.js.map +1 -1
- package/dist/sdui/to/classes.js.map +1 -1
- package/dist/sdui/to/courses.js.map +1 -1
- package/dist/sdui/to/holidays.js.map +1 -1
- package/dist/sdui/to/hours.js.map +1 -1
- package/dist/sdui/to/index.d.ts +0 -2
- package/dist/sdui/to/lessons.js.map +1 -1
- package/dist/sdui/to/rooms.js.map +1 -1
- package/dist/sdui/to/schedules.js.map +1 -1
- package/dist/sdui/to/school-years.js.map +1 -1
- package/dist/sdui/to/substitution-plans.js +6 -3
- package/dist/sdui/to/substitution-plans.js.map +1 -1
- package/dist/sdui/to/teachers.js.map +1 -1
- package/dist/vKlass/from/index.js.map +1 -1
- package/dist/vKlass/from/schedule.d.ts +0 -1
- package/dist/vKlass/from/schedule.js.map +1 -1
- package/dist/vKlass/to/schedules.js +17 -6
- package/dist/vKlass/to/schedules.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/interfaces/index.d.ts +0 -23
- package/dist/core/interfaces/other/index.d.ts +0 -6
- package/dist/core/interfaces/vertices/util/index.d.ts +0 -6
package/dist/SS12000/index.d.ts
CHANGED
|
@@ -23,7 +23,6 @@ import { Resource } from "./types/resources.js";
|
|
|
23
23
|
import { CalendarEvent } from "./types/calendar-events.js";
|
|
24
24
|
import { export_default } from "./to/index.js";
|
|
25
25
|
import { Types as Types$1 } from "./types/index.js";
|
|
26
|
-
import "../index.js";
|
|
27
26
|
import * as moment0 from "moment";
|
|
28
27
|
import * as mongoose0 from "mongoose";
|
|
29
28
|
import * as bson0 from "bson";
|
|
@@ -375,6 +374,7 @@ declare class SS12000Map {
|
|
|
375
374
|
rank?: number | undefined;
|
|
376
375
|
locations: [any];
|
|
377
376
|
}[] | undefined;
|
|
377
|
+
threads?: any[] | undefined;
|
|
378
378
|
};
|
|
379
379
|
toModel: "events" | "courseevents";
|
|
380
380
|
}[] | undefined;
|
|
@@ -602,6 +602,7 @@ declare class SS12000Map {
|
|
|
602
602
|
rank?: number | undefined;
|
|
603
603
|
locations: [any];
|
|
604
604
|
}[] | undefined;
|
|
605
|
+
threads?: any[] | undefined;
|
|
605
606
|
};
|
|
606
607
|
toModel: "events" | "courseevents";
|
|
607
608
|
} | {
|
|
@@ -825,6 +826,7 @@ declare class SS12000Map {
|
|
|
825
826
|
rank?: number | undefined;
|
|
826
827
|
locations: [any];
|
|
827
828
|
}[] | undefined;
|
|
829
|
+
threads?: any[] | undefined;
|
|
828
830
|
};
|
|
829
831
|
toModel: "events" | "courseevents";
|
|
830
832
|
} | {
|
|
@@ -1823,6 +1825,50 @@ declare class SS12000Map {
|
|
|
1823
1825
|
exceptions?: any[] | undefined;
|
|
1824
1826
|
}];
|
|
1825
1827
|
}[] | undefined;
|
|
1828
|
+
threads?: (string | {
|
|
1829
|
+
readonly _bsontype: "ObjectId";
|
|
1830
|
+
id: Uint8Array;
|
|
1831
|
+
toHexString: () => string;
|
|
1832
|
+
toString: (encoding?: "hex" | "base64") => string;
|
|
1833
|
+
toJSON: () => string;
|
|
1834
|
+
equals: (otherId: string | bson0.ObjectId | bson0.ObjectIdLike | undefined | null) => boolean;
|
|
1835
|
+
getTimestamp: () => Date;
|
|
1836
|
+
inspect: (depth?: number, options?: unknown, inspect?: (x: unknown, options?: unknown) => string) => string;
|
|
1837
|
+
_id: mongoose0.Types.ObjectId;
|
|
1838
|
+
} | {
|
|
1839
|
+
id?: string | undefined;
|
|
1840
|
+
_id?: mongoose0.Types.ObjectId | undefined;
|
|
1841
|
+
ids?: string | undefined;
|
|
1842
|
+
is?: undefined;
|
|
1843
|
+
displayName?: string | undefined;
|
|
1844
|
+
createdAt?: string | undefined;
|
|
1845
|
+
updatedAt?: string | undefined;
|
|
1846
|
+
lastModifiedBy?: string | undefined;
|
|
1847
|
+
color?: string | undefined;
|
|
1848
|
+
state?: {
|
|
1849
|
+
view?: "data-tables" | "editor";
|
|
1850
|
+
filter?: Record<string, string>;
|
|
1851
|
+
selector: string;
|
|
1852
|
+
} | undefined;
|
|
1853
|
+
resolved?: boolean | undefined;
|
|
1854
|
+
positionMeta?: {
|
|
1855
|
+
x: number;
|
|
1856
|
+
y: number;
|
|
1857
|
+
} | undefined;
|
|
1858
|
+
source?: {
|
|
1859
|
+
to: any;
|
|
1860
|
+
toModel: "events" | "courseevents";
|
|
1861
|
+
} | undefined;
|
|
1862
|
+
messages: {
|
|
1863
|
+
_id: string;
|
|
1864
|
+
content: string;
|
|
1865
|
+
edited?: boolean | undefined;
|
|
1866
|
+
createdAt: string | Date;
|
|
1867
|
+
updatedAt: string | Date;
|
|
1868
|
+
user: any;
|
|
1869
|
+
taggedPersons?: any[] | undefined;
|
|
1870
|
+
}[];
|
|
1871
|
+
})[] | undefined;
|
|
1826
1872
|
})[] | undefined;
|
|
1827
1873
|
participants?: {
|
|
1828
1874
|
groupIndex?: number | undefined;
|
|
@@ -3515,6 +3561,7 @@ declare class SS12000Map {
|
|
|
3515
3561
|
rank?: number | undefined;
|
|
3516
3562
|
locations: [any];
|
|
3517
3563
|
}[] | undefined;
|
|
3564
|
+
threads?: any[] | undefined;
|
|
3518
3565
|
})[] | undefined;
|
|
3519
3566
|
participants?: {
|
|
3520
3567
|
groupIndex?: number | undefined;
|
|
@@ -3881,6 +3928,7 @@ declare class SS12000Map {
|
|
|
3881
3928
|
rank?: number | undefined;
|
|
3882
3929
|
locations: [any];
|
|
3883
3930
|
}[] | undefined;
|
|
3931
|
+
threads?: any[] | undefined;
|
|
3884
3932
|
};
|
|
3885
3933
|
toModel: "events" | "courseevents";
|
|
3886
3934
|
}[] | undefined;
|
|
@@ -4049,6 +4097,7 @@ declare class SS12000Map {
|
|
|
4049
4097
|
rank?: number | undefined;
|
|
4050
4098
|
locations: [any];
|
|
4051
4099
|
}[] | undefined;
|
|
4100
|
+
threads?: any[] | undefined;
|
|
4052
4101
|
};
|
|
4053
4102
|
toModel: "events" | "courseevents";
|
|
4054
4103
|
} | {
|
|
@@ -4272,6 +4321,7 @@ declare class SS12000Map {
|
|
|
4272
4321
|
rank?: number | undefined;
|
|
4273
4322
|
locations: [any];
|
|
4274
4323
|
}[] | undefined;
|
|
4324
|
+
threads?: any[] | undefined;
|
|
4275
4325
|
};
|
|
4276
4326
|
toModel: "events" | "courseevents";
|
|
4277
4327
|
} | {
|
|
@@ -6219,6 +6269,126 @@ declare class SS12000Map {
|
|
|
6219
6269
|
})[] | undefined;
|
|
6220
6270
|
}];
|
|
6221
6271
|
}[] | undefined;
|
|
6272
|
+
threads?: (string | {
|
|
6273
|
+
readonly _bsontype: "ObjectId";
|
|
6274
|
+
id: Uint8Array;
|
|
6275
|
+
toHexString: () => string;
|
|
6276
|
+
toString: (encoding?: "hex" | "base64") => string;
|
|
6277
|
+
toJSON: () => string;
|
|
6278
|
+
equals: (otherId: string | bson0.ObjectId | bson0.ObjectIdLike | undefined | null) => boolean;
|
|
6279
|
+
getTimestamp: () => Date;
|
|
6280
|
+
inspect: (depth?: number, options?: unknown, inspect?: (x: unknown, options?: unknown) => string) => string;
|
|
6281
|
+
_id: mongoose0.Types.ObjectId;
|
|
6282
|
+
} | {
|
|
6283
|
+
id?: string | undefined;
|
|
6284
|
+
_id?: mongoose0.Types.ObjectId | undefined;
|
|
6285
|
+
ids?: string | undefined;
|
|
6286
|
+
is?: undefined;
|
|
6287
|
+
displayName?: string | undefined;
|
|
6288
|
+
createdAt?: string | undefined;
|
|
6289
|
+
updatedAt?: string | undefined;
|
|
6290
|
+
lastModifiedBy?: string | undefined;
|
|
6291
|
+
color?: string | undefined;
|
|
6292
|
+
state?: {
|
|
6293
|
+
view?: "data-tables" | "editor";
|
|
6294
|
+
filter?: Record<string, string>;
|
|
6295
|
+
selector: string;
|
|
6296
|
+
} | undefined;
|
|
6297
|
+
resolved?: boolean | undefined;
|
|
6298
|
+
positionMeta?: {
|
|
6299
|
+
x: number;
|
|
6300
|
+
y: number;
|
|
6301
|
+
} | undefined;
|
|
6302
|
+
source?: {
|
|
6303
|
+
to: IDTypes | {
|
|
6304
|
+
id?: string | undefined;
|
|
6305
|
+
_id?: mongoose0.Types.ObjectId | undefined;
|
|
6306
|
+
ids?: string | undefined;
|
|
6307
|
+
is?: "event" | undefined;
|
|
6308
|
+
displayName?: string | undefined;
|
|
6309
|
+
createdAt?: string | undefined;
|
|
6310
|
+
updatedAt?: string | undefined;
|
|
6311
|
+
lastModifiedBy?: string | undefined;
|
|
6312
|
+
start?: (moment0.Moment | string) | undefined;
|
|
6313
|
+
end?: (moment0.Moment | string) | undefined;
|
|
6314
|
+
potentialCenter?: string | undefined;
|
|
6315
|
+
type?: string | undefined;
|
|
6316
|
+
tags?: Tag[] | undefined;
|
|
6317
|
+
minBreakLength?: (MinBreakLength | null) | undefined;
|
|
6318
|
+
weight?: number | undefined;
|
|
6319
|
+
intervals?: Interval[] | null | undefined;
|
|
6320
|
+
days?: Day[] | null | undefined;
|
|
6321
|
+
color?: string | null | undefined;
|
|
6322
|
+
centerOfAttraction?: string | null | undefined;
|
|
6323
|
+
density?: number | undefined;
|
|
6324
|
+
fixedStart?: boolean | undefined;
|
|
6325
|
+
visible?: boolean | undefined;
|
|
6326
|
+
parked?: boolean | undefined;
|
|
6327
|
+
preferredDuration: number;
|
|
6328
|
+
durationVariance?: number | undefined;
|
|
6329
|
+
duration?: number | undefined;
|
|
6330
|
+
weeks?: number[] | undefined;
|
|
6331
|
+
belongsTo?: any;
|
|
6332
|
+
course?: any;
|
|
6333
|
+
period?: any;
|
|
6334
|
+
overlapSpecies?: any;
|
|
6335
|
+
lockedTimes?: any[] | undefined;
|
|
6336
|
+
exceptions?: any[] | undefined;
|
|
6337
|
+
inLocations?: any[] | undefined;
|
|
6338
|
+
participants?: {
|
|
6339
|
+
groupIndex?: number | undefined;
|
|
6340
|
+
to: any;
|
|
6341
|
+
}[] | undefined;
|
|
6342
|
+
teachers?: {
|
|
6343
|
+
groupIndex?: number | undefined;
|
|
6344
|
+
to: any;
|
|
6345
|
+
}[] | undefined;
|
|
6346
|
+
groups?: {
|
|
6347
|
+
groupIndex?: number | undefined;
|
|
6348
|
+
to: any;
|
|
6349
|
+
exclude?: any[] | undefined;
|
|
6350
|
+
}[] | undefined;
|
|
6351
|
+
locations?: {
|
|
6352
|
+
groupIndex?: number | undefined;
|
|
6353
|
+
rank?: number | undefined;
|
|
6354
|
+
locations: [any];
|
|
6355
|
+
}[] | undefined;
|
|
6356
|
+
threads?: any[] | undefined;
|
|
6357
|
+
};
|
|
6358
|
+
toModel: "events" | "courseevents";
|
|
6359
|
+
} | undefined;
|
|
6360
|
+
messages: {
|
|
6361
|
+
_id: string;
|
|
6362
|
+
content: string;
|
|
6363
|
+
edited?: boolean | undefined;
|
|
6364
|
+
createdAt: string | Date;
|
|
6365
|
+
updatedAt: string | Date;
|
|
6366
|
+
user: IDTypes | {
|
|
6367
|
+
id?: string | undefined;
|
|
6368
|
+
_id?: mongoose0.Types.ObjectId | undefined;
|
|
6369
|
+
ids?: string | undefined;
|
|
6370
|
+
is?: undefined;
|
|
6371
|
+
displayName?: string | undefined;
|
|
6372
|
+
createdAt?: string | undefined;
|
|
6373
|
+
updatedAt?: string | undefined;
|
|
6374
|
+
lastModifiedBy?: string | undefined;
|
|
6375
|
+
color?: string | undefined;
|
|
6376
|
+
username: string;
|
|
6377
|
+
};
|
|
6378
|
+
taggedPersons?: (IDTypes | {
|
|
6379
|
+
id?: string | undefined;
|
|
6380
|
+
_id?: mongoose0.Types.ObjectId | undefined;
|
|
6381
|
+
ids?: string | undefined;
|
|
6382
|
+
is?: undefined;
|
|
6383
|
+
displayName?: string | undefined;
|
|
6384
|
+
createdAt?: string | undefined;
|
|
6385
|
+
updatedAt?: string | undefined;
|
|
6386
|
+
lastModifiedBy?: string | undefined;
|
|
6387
|
+
color?: string | undefined;
|
|
6388
|
+
username: string;
|
|
6389
|
+
})[] | undefined;
|
|
6390
|
+
}[];
|
|
6391
|
+
})[] | undefined;
|
|
6222
6392
|
}[];
|
|
6223
6393
|
duties: (duties: Duty[]) => {
|
|
6224
6394
|
id?: string | undefined;
|
|
@@ -6563,6 +6733,7 @@ declare class SS12000Map {
|
|
|
6563
6733
|
rank?: number | undefined;
|
|
6564
6734
|
locations: [any];
|
|
6565
6735
|
}[] | undefined;
|
|
6736
|
+
threads?: any[] | undefined;
|
|
6566
6737
|
};
|
|
6567
6738
|
toModel: "events" | "courseevents";
|
|
6568
6739
|
} | {
|
|
@@ -6818,6 +6989,7 @@ declare class SS12000Map {
|
|
|
6818
6989
|
rank?: number | undefined;
|
|
6819
6990
|
locations: [any];
|
|
6820
6991
|
}[] | undefined;
|
|
6992
|
+
threads?: any[] | undefined;
|
|
6821
6993
|
};
|
|
6822
6994
|
toModel: "events" | "courseevents";
|
|
6823
6995
|
} | {
|
|
@@ -7073,6 +7245,7 @@ declare class SS12000Map {
|
|
|
7073
7245
|
rank?: number | undefined;
|
|
7074
7246
|
locations: [any];
|
|
7075
7247
|
}[] | undefined;
|
|
7248
|
+
threads?: any[] | undefined;
|
|
7076
7249
|
};
|
|
7077
7250
|
toModel: "events" | "courseevents";
|
|
7078
7251
|
} | {
|
|
@@ -7296,6 +7469,7 @@ declare class SS12000Map {
|
|
|
7296
7469
|
rank?: number | undefined;
|
|
7297
7470
|
locations: [any];
|
|
7298
7471
|
}[] | undefined;
|
|
7472
|
+
threads?: any[] | undefined;
|
|
7299
7473
|
};
|
|
7300
7474
|
toModel: "events" | "courseevents";
|
|
7301
7475
|
} | {
|
|
@@ -9063,6 +9237,7 @@ declare class SS12000Map {
|
|
|
9063
9237
|
rank?: number | undefined;
|
|
9064
9238
|
locations: [any];
|
|
9065
9239
|
}[] | undefined;
|
|
9240
|
+
threads?: any[] | undefined;
|
|
9066
9241
|
};
|
|
9067
9242
|
toModel: "events" | "courseevents";
|
|
9068
9243
|
} | {
|
|
@@ -9318,6 +9493,7 @@ declare class SS12000Map {
|
|
|
9318
9493
|
rank?: number | undefined;
|
|
9319
9494
|
locations: [any];
|
|
9320
9495
|
}[] | undefined;
|
|
9496
|
+
threads?: any[] | undefined;
|
|
9321
9497
|
};
|
|
9322
9498
|
toModel: "events" | "courseevents";
|
|
9323
9499
|
} | {
|
|
@@ -9541,6 +9717,7 @@ declare class SS12000Map {
|
|
|
9541
9717
|
rank?: number | undefined;
|
|
9542
9718
|
locations: [any];
|
|
9543
9719
|
}[] | undefined;
|
|
9720
|
+
threads?: any[] | undefined;
|
|
9544
9721
|
};
|
|
9545
9722
|
toModel: "events" | "courseevents";
|
|
9546
9723
|
} | {
|
|
@@ -11484,6 +11661,7 @@ declare class SS12000Map {
|
|
|
11484
11661
|
rank?: number | undefined;
|
|
11485
11662
|
locations: [any];
|
|
11486
11663
|
}[] | undefined;
|
|
11664
|
+
threads?: any[] | undefined;
|
|
11487
11665
|
};
|
|
11488
11666
|
toModel: "events" | "courseevents";
|
|
11489
11667
|
} | {
|
|
@@ -11739,6 +11917,7 @@ declare class SS12000Map {
|
|
|
11739
11917
|
rank?: number | undefined;
|
|
11740
11918
|
locations: [any];
|
|
11741
11919
|
}[] | undefined;
|
|
11920
|
+
threads?: any[] | undefined;
|
|
11742
11921
|
};
|
|
11743
11922
|
toModel: "events" | "courseevents";
|
|
11744
11923
|
} | {
|
|
@@ -11962,6 +12141,7 @@ declare class SS12000Map {
|
|
|
11962
12141
|
rank?: number | undefined;
|
|
11963
12142
|
locations: [any];
|
|
11964
12143
|
}[] | undefined;
|
|
12144
|
+
threads?: any[] | undefined;
|
|
11965
12145
|
};
|
|
11966
12146
|
toModel: "events" | "courseevents";
|
|
11967
12147
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activities.js","names":["toGroup","toTeacher"],"sources":["../../../src/SS12000/to/activities.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil, map } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Activity } from '../types/activities';\nimport type { ActivityType } from '../types/codes';\nimport type { Duty } from '../types/duties';\nimport { getDivisionId, toReference } from './common';\nimport toGroup from './groups';\nimport toTeacher from './duties';\n\ntype Expand = ('referenceNames' | 'teachers' | 'syllabus' | 'groups')[];\n\nfunction mapActivityType (type: CoreTypes.Deep.Course['type']): ActivityType {\n switch (type) {\n case 'LUNCH':\n return 'Övrigt';\n default:\n return 'Undervisning';\n }\n}\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n activities: (Extract<CoreTypes.Mixed.Course, { id: string }> | Extract<CoreTypes.Mixed.Event, { id: string }>)[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>,\n expand?: Expand\n): Activity[] => {\n if (!Array.isArray(activities))\n throw new Error('(SS12000::To::Activities) Activities input is not of array type', { cause: 'invalid_input' });\n\n if (!activities.every((activity) => isString(activity) || isString(get(activity, 'id'))))\n throw new Error('(SS12000::To::Activities) Some Activities are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !activities.every((activity) => (isString(activity) && belongsTo) || has(activity, 'belongsTo')))\n throw new Error('(SS12000::To::Activities) Some top layer Activities are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return activities.map((activity): Activity => {\n const division = belongsTo ?? (!isString(activity) ? activity.belongsTo : undefined);\n if (!division || isString(division) || !('id' in division && division.id))\n throw new Error('(SS12000::To::Activities) Some events members are missing \"belongsTo\" values', { cause: 'invalid_input' });\n if (!('start' in division && division.start) || !('end' in division && division.end))\n throw new Error('(SS12000::To::Activities) Some events members are missing \"belongsTo\" start or end values', { cause: 'invalid_input' });\n\n return {\n id: `${ getDivisionId(activity, belongsTo) }.${ isString(activity) ? activity : activity.id }`,\n calendarEventsRequired: 'course' in activity, // true for events, false for courses\n activityType: mapActivityType(activity.type),\n startDate: moment(division.start).toISOString(),\n ...typeof activity != 'string' && {\n meta: {\n created: moment(activity.createdAt).toISOString(),\n modified: moment(activity.updatedAt).toISOString()\n },\n ...omitBy({\n foreignId: activity.ids,\n displayName: activity.displayName,\n comment: get(activity, 'comment'),\n subject: get(activity, 'subject'),\n }, isNil),\n // @ts-ignore\n ...activity.groups && { groups: toReference(map(activity.groups, 'to'), division, expand?.includes('referenceNames')) },\n // @ts-ignore\n ...activity.teachers && { teachers: activity.teachers.map(({ to }) => ({ duty: toReference([to], belongsTo ?? activity.belongsTo, expand?.includes('referenceNames'))[0] as Duty })) },\n ...'course' in activity && typeof activity.course == 'object' && 'id' in activity.course && activity.course.id && {\n // @ts-ignore\n parentActivity: toReference([activity.course as CoreTypes.Mixed.Course], division, expand?.includes('referenceNames'))[0]\n },\n ...activity.locations && { rooms: activity.locations.map(({ locations, groupIndex }) => ({\n // @ts-ignore\n room: toReference(locations as any, division, expand?.includes('referenceNames'))[0],\n index: groupIndex\n }))\n },\n // syllabus: {\n // id: activity.id!,\n // ...expandReferenceNames && { displayName: activity.displayName }\n // },\n ...expand?.some(x => ['groups', 'teachers', 'syllabus'].includes(x)) && {\n _embedded: {\n ...expand.includes('groups') && {\n // @ts-ignore\n ...activity.groups && { groups: toGroup(map(activity.groups, 'to'), division) }\n },\n ...expand.includes('teachers') && {\n // @ts-ignore\n ...activity.teachers && { teachers: toTeacher(map(activity.teachers, 'to'), division) }\n },\n // ...expand.includes('syllabus') && {\n // syllabus: {\n // id: activity.id!,\n // displayName: activity.displayName,\n // }\n // },\n }\n }\n }\n }\n });\n};"],"mappings":";;;;;;;AAYA,SAAS,gBAAiB,MAAmD;AAC3E,SAAQ,MAAR;EACE,KAAK,QACH,QAAO;EACT,QACE,QAAO;;;;;;AAOb,0BACE,YACA,WACA,WACe;AACf,KAAI,CAAC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"activities.js","names":["toGroup","toTeacher"],"sources":["../../../src/SS12000/to/activities.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil, map } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Activity } from '../types/activities';\nimport type { ActivityType } from '../types/codes';\nimport type { Duty } from '../types/duties';\nimport { getDivisionId, toReference } from './common';\nimport toGroup from './groups';\nimport toTeacher from './duties';\n\ntype Expand = ('referenceNames' | 'teachers' | 'syllabus' | 'groups')[];\n\nfunction mapActivityType (type: CoreTypes.Deep.Course['type']): ActivityType {\n switch (type) {\n case 'LUNCH':\n return 'Övrigt';\n default:\n return 'Undervisning';\n }\n}\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n activities: (Extract<CoreTypes.Mixed.Course, { id: string }> | Extract<CoreTypes.Mixed.Event, { id: string }>)[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>,\n expand?: Expand\n): Activity[] => {\n if (!Array.isArray(activities))\n throw new Error('(SS12000::To::Activities) Activities input is not of array type', { cause: 'invalid_input' });\n\n if (!activities.every((activity) => isString(activity) || isString(get(activity, 'id'))))\n throw new Error('(SS12000::To::Activities) Some Activities are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !activities.every((activity) => (isString(activity) && belongsTo) || has(activity, 'belongsTo')))\n throw new Error('(SS12000::To::Activities) Some top layer Activities are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return activities.map((activity): Activity => {\n const division = belongsTo ?? (!isString(activity) ? activity.belongsTo : undefined);\n if (!division || isString(division) || !('id' in division && division.id))\n throw new Error('(SS12000::To::Activities) Some events members are missing \"belongsTo\" values', { cause: 'invalid_input' });\n if (!('start' in division && division.start) || !('end' in division && division.end))\n throw new Error('(SS12000::To::Activities) Some events members are missing \"belongsTo\" start or end values', { cause: 'invalid_input' });\n\n return {\n id: `${ getDivisionId(activity, belongsTo) }.${ isString(activity) ? activity : activity.id }`,\n calendarEventsRequired: 'course' in activity, // true for events, false for courses\n activityType: mapActivityType(activity.type),\n startDate: moment(division.start).toISOString(),\n ...typeof activity != 'string' && {\n meta: {\n created: moment(activity.createdAt).toISOString(),\n modified: moment(activity.updatedAt).toISOString()\n },\n ...omitBy({\n foreignId: activity.ids,\n displayName: activity.displayName,\n comment: get(activity, 'comment'),\n subject: get(activity, 'subject'),\n }, isNil),\n // @ts-ignore\n ...activity.groups && { groups: toReference(map(activity.groups, 'to'), division, expand?.includes('referenceNames')) },\n // @ts-ignore\n ...activity.teachers && { teachers: activity.teachers.map(({ to }) => ({ duty: toReference([to], belongsTo ?? activity.belongsTo, expand?.includes('referenceNames'))[0] as Duty })) },\n ...'course' in activity && typeof activity.course == 'object' && 'id' in activity.course && activity.course.id && {\n // @ts-ignore\n parentActivity: toReference([activity.course as CoreTypes.Mixed.Course], division, expand?.includes('referenceNames'))[0]\n },\n ...activity.locations && { rooms: activity.locations.map(({ locations, groupIndex }) => ({\n // @ts-ignore\n room: toReference(locations as any, division, expand?.includes('referenceNames'))[0],\n index: groupIndex\n }))\n },\n // syllabus: {\n // id: activity.id!,\n // ...expandReferenceNames && { displayName: activity.displayName }\n // },\n ...expand?.some(x => ['groups', 'teachers', 'syllabus'].includes(x)) && {\n _embedded: {\n ...expand.includes('groups') && {\n // @ts-ignore\n ...activity.groups && { groups: toGroup(map(activity.groups, 'to'), division) }\n },\n ...expand.includes('teachers') && {\n // @ts-ignore\n ...activity.teachers && { teachers: toTeacher(map(activity.teachers, 'to'), division) }\n },\n // ...expand.includes('syllabus') && {\n // syllabus: {\n // id: activity.id!,\n // displayName: activity.displayName,\n // }\n // },\n }\n }\n }\n }\n });\n};"],"mappings":";;;;;;;AAYA,SAAS,gBAAiB,MAAmD;AAC3E,SAAQ,MAAR;EACE,KAAK,QACH,QAAO;EACT,QACE,QAAO;;;;;;AAOb,0BACE,YACA,WACA,WACe;AACf,KAAI,CAAC,MAAM,QAAQ,YACjB,OAAM,IAAI,MAAM,mEAAmE,EAAE,OAAO;AAE9F,KAAI,CAAC,WAAW,OAAO,aAAa,SAAS,aAAa,SAAS,IAAI,UAAU,QAC/E,OAAM,IAAI,MAAM,uEAAqE,EAAE,OAAO;AAEhG,KAAI,CAAC,aAAa,CAAC,WAAW,OAAO,aAAc,SAAS,aAAa,aAAc,IAAI,UAAU,cACnG,OAAM,IAAI,MAAM,wFAAsF,EAAE,OAAO;AAEjH,QAAO,WAAW,KAAK,aAAuB;EAC5C,MAAM,WAAW,cAAc,CAAC,SAAS,YAAY,SAAS,YAAY;AAC1E,MAAI,CAAC,YAAY,SAAS,aAAa,EAAE,QAAQ,YAAY,SAAS,IACpE,OAAM,IAAI,MAAM,kFAAgF,EAAE,OAAO;AAC3G,MAAI,EAAE,WAAW,YAAY,SAAS,UAAU,EAAE,SAAS,YAAY,SAAS,KAC9E,OAAM,IAAI,MAAM,+FAA6F,EAAE,OAAO;AAExH,SAAO;GACL,IAAwB,GAAI,cAAc,UAAU,WAAY,GAAI,SAAS,YAAY,WAAW,SAAS;GAC7G,wBAAwB,YAAY;GACpC,cAAwB,gBAAgB,SAAS;GACjD,WAAwB,OAAO,SAAS,OAAO;GAC/C,GAAG,OAAO,YAAY,YAAY;IAChC,MAAM;KACJ,SAAU,OAAO,SAAS,WAAW;KACrC,UAAU,OAAO,SAAS,WAAW;;IAEvC,GAAG,OAAO;KACR,WAAa,SAAS;KACtB,aAAa,SAAS;KACtB,SAAa,IAAI,UAAU;KAC3B,SAAa,IAAI,UAAU;OAC1B;IAEH,GAAG,SAAS,UAAe,EAAE,QAAe,YAAY,IAAI,SAAS,QAAQ,OAAO,UAAU,QAAQ,SAAS;IAE/G,GAAG,SAAS,YAAe,EAAE,UAAU,SAAS,SAAS,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC,KAAK,aAAa,SAAS,WAAW,QAAQ,SAAS,mBAAmB;IACzK,GAAG,YAAY,YAAY,OAAO,SAAS,UAAU,YAAY,QAAQ,SAAS,UAAU,SAAS,OAAO,MAAM,EAEhH,gBAAgB,YAAY,CAAC,SAAS,SAAmC,UAAU,QAAQ,SAAS,mBAAmB;IAEzH,GAAG,SAAS,aAAc,EAAE,OAAO,SAAS,UAAU,KAAK,EAAE,WAAW,kBAAkB;KAExF,MAAO,YAAY,WAAkB,UAAU,QAAQ,SAAS,mBAAmB;KACnF,OAAO;;IAOT,GAAG,QAAQ,MAAK,MAAK;KAAC;KAAU;KAAY;MAAY,SAAS,OAAO,EACtE,WAAW;KACT,GAAG,OAAO,SAAS,aAAa,EAE9B,GAAG,SAAS,UAAU,EAAE,QAAQA,eAAQ,IAAI,SAAS,QAAQ,OAAO;KAEtE,GAAG,OAAO,SAAS,eAAe,EAEhC,GAAG,SAAS,YAAY,EAAE,UAAUC,eAAU,IAAI,SAAS,UAAU,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-events.js","names":["toGroup","toTeacher","toActivities"],"sources":["../../../src/SS12000/to/calendar-events.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil, isNull, map, reject } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { CalendarEvent } from '../types/calendar-events';\nimport { getDivisionId, toReference } from './common';\nimport toActivities from './activities';\nimport toGroup from './groups';\nimport toTeacher from './duties';\n\ntype Expand = ('referenceNames' | 'teachers' | 'activity' | 'groups')[];\n\nexport default (\n events: Extract<CoreTypes.Mixed.Event, { id: string }>[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>,\n expand?: Expand\n): Partial<CalendarEvent>[] => {\n if (!Array.isArray(events))\n throw new Error('(SS12000::To::CalendarEvents) CalendarEvent input is not of array type', { cause: 'invalid_input' });\n\n if (!events.every((event) => isString(event) || isString(get(event, 'id'))))\n throw new Error('(SS12000::To::CalendarEvents) Some CalendarEvents are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !events.every((event) => (isString(event) && belongsTo) || has(event, 'belongsTo')))\n throw new Error('(SS12000::To::CalendarEvents) Some top layer CalendarEvents are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return events.map((event) => {\n const division = belongsTo ?? (!isString(event) ? event.belongsTo : undefined);\n if (!division || isString(division) || !('id' in division && division.id))\n throw new Error('(SS12000::To::CalendarEvents) Some events members are missing \"belongsTo\" values', { cause: 'invalid_input' });\n if (!('start' in division && division.start) || !('end' in division && division.end))\n throw new Error('(SS12000::To::CalendarEvents) Some events members are missing \"belongsTo\" start or end values', { cause: 'invalid_input' });\n\n const course = (!isString(event) && event.course && !isString(event.course)) ?\n event.course as Extract<CoreTypes.Mixed.Course, { id: string }>\n : undefined;\n\n return {\n id: `${ getDivisionId(event, belongsTo) }.${ isString(event) ? event : event.id }`,\n ...!isString(event) && {\n meta: {\n created: moment(event.createdAt).toISOString(),\n modified: moment(event.updatedAt).toISOString(),\n ...event.type && { type: event.type },\n },\n ...omitBy({\n foreignId: event.ids,\n color: event.color ?? course?.color,\n }, isNil),\n startTime: event.start?.toString(),\n endTime: event.end?.toString(),\n // Locked times have no course, so we need to check for it\n // @ts-ignore\n ...course && { activity: toReference([course], division, expand?.includes('referenceNames'))[0] },\n // @ts-ignore\n rooms: toReference(reject(event.inLocations, isNull) ?? [], division, expand?.includes('referenceNames')),\n // @ts-ignore\n resources: toReference([], division, expand?.includes('referenceNames')),\n // @ts-ignore\n teachers: toReference(map(event.teachers ?? course?.teachers ?? [], 'to'), division, expand?.includes('referenceNames')),\n // @ts-ignore\n groups: toReference(map(event.groups ?? course?.groups ?? [], 'to'), division, expand?.includes('referenceNames')),\n ...expand?.some(x => ['groups', 'teachers', 'activity'].includes(x)) && {\n _embedded: {\n ...expand.includes('groups') && {\n // @ts-ignore\n groups: toGroup(map(event.groups, 'to'), division)\n },\n ...expand.includes('teachers') && {\n // @ts-ignore\n teachers: toTeacher(map(event.teachers, 'to'), division)\n },\n ...(expand.includes('activity') && course)&& {\n activity: toActivities([course], division as Extract<CoreTypes.Deep.Division, { id: string }>)[0]\n }\n }\n }\n }\n }\n });\n};\n"],"mappings":";;;;;;;;AAWA,+BACE,QACA,WACA,WAC6B;AAC7B,KAAI,CAAC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"calendar-events.js","names":["toGroup","toTeacher","toActivities"],"sources":["../../../src/SS12000/to/calendar-events.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil, isNull, map, reject } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { CalendarEvent } from '../types/calendar-events';\nimport { getDivisionId, toReference } from './common';\nimport toActivities from './activities';\nimport toGroup from './groups';\nimport toTeacher from './duties';\n\ntype Expand = ('referenceNames' | 'teachers' | 'activity' | 'groups')[];\n\nexport default (\n events: Extract<CoreTypes.Mixed.Event, { id: string }>[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>,\n expand?: Expand\n): Partial<CalendarEvent>[] => {\n if (!Array.isArray(events))\n throw new Error('(SS12000::To::CalendarEvents) CalendarEvent input is not of array type', { cause: 'invalid_input' });\n\n if (!events.every((event) => isString(event) || isString(get(event, 'id'))))\n throw new Error('(SS12000::To::CalendarEvents) Some CalendarEvents are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !events.every((event) => (isString(event) && belongsTo) || has(event, 'belongsTo')))\n throw new Error('(SS12000::To::CalendarEvents) Some top layer CalendarEvents are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return events.map((event) => {\n const division = belongsTo ?? (!isString(event) ? event.belongsTo : undefined);\n if (!division || isString(division) || !('id' in division && division.id))\n throw new Error('(SS12000::To::CalendarEvents) Some events members are missing \"belongsTo\" values', { cause: 'invalid_input' });\n if (!('start' in division && division.start) || !('end' in division && division.end))\n throw new Error('(SS12000::To::CalendarEvents) Some events members are missing \"belongsTo\" start or end values', { cause: 'invalid_input' });\n\n const course = (!isString(event) && event.course && !isString(event.course)) ?\n event.course as Extract<CoreTypes.Mixed.Course, { id: string }>\n : undefined;\n\n return {\n id: `${ getDivisionId(event, belongsTo) }.${ isString(event) ? event : event.id }`,\n ...!isString(event) && {\n meta: {\n created: moment(event.createdAt).toISOString(),\n modified: moment(event.updatedAt).toISOString(),\n ...event.type && { type: event.type },\n },\n ...omitBy({\n foreignId: event.ids,\n color: event.color ?? course?.color,\n }, isNil),\n startTime: event.start?.toString(),\n endTime: event.end?.toString(),\n // Locked times have no course, so we need to check for it\n // @ts-ignore\n ...course && { activity: toReference([course], division, expand?.includes('referenceNames'))[0] },\n // @ts-ignore\n rooms: toReference(reject(event.inLocations, isNull) ?? [], division, expand?.includes('referenceNames')),\n // @ts-ignore\n resources: toReference([], division, expand?.includes('referenceNames')),\n // @ts-ignore\n teachers: toReference(map(event.teachers ?? course?.teachers ?? [], 'to'), division, expand?.includes('referenceNames')),\n // @ts-ignore\n groups: toReference(map(event.groups ?? course?.groups ?? [], 'to'), division, expand?.includes('referenceNames')),\n ...expand?.some(x => ['groups', 'teachers', 'activity'].includes(x)) && {\n _embedded: {\n ...expand.includes('groups') && {\n // @ts-ignore\n groups: toGroup(map(event.groups, 'to'), division)\n },\n ...expand.includes('teachers') && {\n // @ts-ignore\n teachers: toTeacher(map(event.teachers, 'to'), division)\n },\n ...(expand.includes('activity') && course)&& {\n activity: toActivities([course], division as Extract<CoreTypes.Deep.Division, { id: string }>)[0]\n }\n }\n }\n }\n }\n });\n};\n"],"mappings":";;;;;;;;AAWA,+BACE,QACA,WACA,WAC6B;AAC7B,KAAI,CAAC,MAAM,QAAQ,QACjB,OAAM,IAAI,MAAM,0EAA0E,EAAE,OAAO;AAErG,KAAI,CAAC,OAAO,OAAO,UAAU,SAAS,UAAU,SAAS,IAAI,OAAO,QAClE,OAAM,IAAI,MAAM,+EAA6E,EAAE,OAAO;AAExG,KAAI,CAAC,aAAa,CAAC,OAAO,OAAO,UAAW,SAAS,UAAU,aAAc,IAAI,OAAO,cACtF,OAAM,IAAI,MAAM,gGAA8F,EAAE,OAAO;AAEzH,QAAO,OAAO,KAAK,UAAU;EAC3B,MAAM,WAAW,cAAc,CAAC,SAAS,SAAS,MAAM,YAAY;AACpE,MAAI,CAAC,YAAY,SAAS,aAAa,EAAE,QAAQ,YAAY,SAAS,IACpE,OAAM,IAAI,MAAM,sFAAoF,EAAE,OAAO;AAC/G,MAAI,EAAE,WAAW,YAAY,SAAS,UAAU,EAAE,SAAS,YAAY,SAAS,KAC9E,OAAM,IAAI,MAAM,mGAAiG,EAAE,OAAO;EAE5H,MAAM,SAAU,CAAC,SAAS,UAAU,MAAM,UAAU,CAAC,SAAS,MAAM,UAClE,MAAM,SACJ;AAEJ,SAAO;GACL,IAAI,GAAI,cAAc,OAAO,WAAY,GAAI,SAAS,SAAS,QAAQ,MAAM;GAC7E,GAAG,CAAC,SAAS,UAAU;IACrB,MAAM;KACJ,SAAU,OAAO,MAAM,WAAW;KAClC,UAAU,OAAO,MAAM,WAAW;KAClC,GAAG,MAAM,QAAiB,EAAE,MAAM,MAAM;;IAE1C,GAAG,OAAO;KACR,WAAW,MAAM;KACjB,OAAW,MAAM,SAAS,QAAQ;OACjC;IACH,WAAW,MAAM,OAAO;IACxB,SAAW,MAAM,KAAK;IAGtB,GAAG,UAAU,EAAE,UAAU,YAAY,CAAC,SAAS,UAAU,QAAQ,SAAS,mBAAmB;IAE7F,OAAW,YAAY,OAAO,MAAM,aAAa,WAAW,IAAI,UAAU,QAAQ,SAAS;IAE3F,WAAW,YAAY,IAAI,UAAU,QAAQ,SAAS;IAEtD,UAAW,YAAY,IAAI,MAAM,YAAY,QAAQ,YAAY,IAAI,OAAO,UAAU,QAAQ,SAAS;IAEvG,QAAW,YAAY,IAAI,MAAM,UAAU,QAAQ,UAAU,IAAI,OAAO,UAAU,QAAQ,SAAS;IACnG,GAAG,QAAQ,MAAK,MAAK;KAAC;KAAU;KAAY;MAAY,SAAS,OAAO,EACtE,WAAW;KACT,GAAG,OAAO,SAAS,aAAa,EAE9B,QAAQA,eAAQ,IAAI,MAAM,QAAQ,OAAO;KAE3C,GAAG,OAAO,SAAS,eAAe,EAEhC,UAAUC,eAAU,IAAI,MAAM,UAAU,OAAO;KAEjD,GAAI,OAAO,SAAS,eAAe,UAAU,EAC3C,UAAUC,mBAAa,CAAC,SAAS,UAA8D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","names":[],"sources":["../../../src/SS12000/to/common.ts"],"sourcesContent":["import { isString, omitBy, isNil, isObject } from 'lodash-es';\nimport type { CoreTypes } from '../../core';\n\nexport function toReference<T extends Partial<{\n id: string,\n belongsTo?: CoreTypes.Deep.Division | string,\n ids: string,\n displayName: string\n}>> (\n input: T[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>,\n expandReferenceNames?: boolean\n) {\n return input.map((x) => {\n // Bth belongsTo.id and entity.belongsto.id cant be missing\n if (!(belongsTo && 'id' in belongsTo && belongsTo.id) && !isString(x) && (!x.belongsTo || isString(x.belongsTo) || !('id' in x.belongsTo && x.belongsTo.id)))\n throw new Error('(SS12000::To::Reference) Some top layer entities are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return {\n id: `${ getDivisionId(x, belongsTo) }.${ isString(x) ? x : x.id }`,\n ...!isString(x) && {\n ...omitBy({\n foreignId: x.ids,\n ...expandReferenceNames && { displayName: x.displayName }\n }, isNil),\n }\n };\n });\n}\n\nexport function getDivisionId(\n entity: unknown,\n division?: Extract<CoreTypes.Deep.Division, { id: string }>\n) {\n if (division) return division.id;\n\n if (isString(entity)) {\n throw new Error('(SS12000::To::getDivisionId) belongsTo is missing \"id\" value', { cause: 'invalid_input' });\n };\n if (!isObject(entity) || !('belongsTo' in entity) || !entity.belongsTo || !isObject(entity.belongsTo) || !('id' in entity.belongsTo) || !isString(entity.belongsTo.id))\n throw new Error('(SS12000::To::getDivisionId) entity is missing \"belongsTo.id\" value', { cause: 'invalid_input' });\n return entity.belongsTo.id;\n}"],"mappings":";;;AAGA,SAAgB,YAMd,OACA,WACA,sBACA;AACA,QAAO,MAAM,KAAK,MAAM;AAEtB,MAAI,EAAE,aAAa,QAAQ,aAAa,UAAU,OAAO,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"common.js","names":[],"sources":["../../../src/SS12000/to/common.ts"],"sourcesContent":["import { isString, omitBy, isNil, isObject } from 'lodash-es';\nimport type { CoreTypes } from '../../core';\n\nexport function toReference<T extends Partial<{\n id: string,\n belongsTo?: CoreTypes.Deep.Division | string,\n ids: string,\n displayName: string\n}>> (\n input: T[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>,\n expandReferenceNames?: boolean\n) {\n return input.map((x) => {\n // Bth belongsTo.id and entity.belongsto.id cant be missing\n if (!(belongsTo && 'id' in belongsTo && belongsTo.id) && !isString(x) && (!x.belongsTo || isString(x.belongsTo) || !('id' in x.belongsTo && x.belongsTo.id)))\n throw new Error('(SS12000::To::Reference) Some top layer entities are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return {\n id: `${ getDivisionId(x, belongsTo) }.${ isString(x) ? x : x.id }`,\n ...!isString(x) && {\n ...omitBy({\n foreignId: x.ids,\n ...expandReferenceNames && { displayName: x.displayName }\n }, isNil),\n }\n };\n });\n}\n\nexport function getDivisionId(\n entity: unknown,\n division?: Extract<CoreTypes.Deep.Division, { id: string }>\n) {\n if (division) return division.id;\n\n if (isString(entity)) {\n throw new Error('(SS12000::To::getDivisionId) belongsTo is missing \"id\" value', { cause: 'invalid_input' });\n };\n if (!isObject(entity) || !('belongsTo' in entity) || !entity.belongsTo || !isObject(entity.belongsTo) || !('id' in entity.belongsTo) || !isString(entity.belongsTo.id))\n throw new Error('(SS12000::To::getDivisionId) entity is missing \"belongsTo.id\" value', { cause: 'invalid_input' });\n return entity.belongsTo.id;\n}"],"mappings":";;;AAGA,SAAgB,YAMd,OACA,WACA,sBACA;AACA,QAAO,MAAM,KAAK,MAAM;AAEtB,MAAI,EAAE,aAAa,QAAQ,aAAa,UAAU,OAAO,CAAC,SAAS,OAAO,CAAC,EAAE,aAAa,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,KACtJ,OAAM,IAAI,MAAM,qFAAmF,EAAE,OAAO;AAE9G,SAAO;GACL,IAAI,GAAI,cAAc,GAAG,WAAY,GAAI,SAAS,KAAK,IAAI,EAAE;GAC7D,GAAG,CAAC,SAAS,MAAM,EACjB,GAAG,OAAO;IACR,WAAW,EAAE;IACb,GAAG,wBAAwB,EAAE,aAAa,EAAE;MAC3C;;;;AAMX,SAAgB,cACd,QACA,UACA;AACA,KAAI,SAAU,QAAO,SAAS;AAE9B,KAAI,SAAS,QACX,OAAM,IAAI,MAAM,kEAAgE,EAAE,OAAO;AAE3F,KAAI,CAAC,SAAS,WAAW,EAAE,eAAe,WAAW,CAAC,OAAO,aAAa,CAAC,SAAS,OAAO,cAAc,EAAE,QAAQ,OAAO,cAAc,CAAC,SAAS,OAAO,UAAU,IACjK,OAAM,IAAI,MAAM,yEAAuE,EAAE,OAAO;AAClG,QAAO,OAAO,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duties.js","names":["toPerson"],"sources":["../../../src/SS12000/to/duties.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Duty } from '../types/duties';\nimport { getDivisionId, toReference } from './common';\nimport toPerson from './persons';\n\ntype Expand = ('referenceNames' | 'person')[];\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n teachers: Extract<CoreTypes.Mixed.Teacher, { id: string }>[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>,\n expand?: Expand\n): Duty[] => {\n if (!Array.isArray(teachers))\n throw new Error('(SS12000::To::Duty) Teacher input is not of array type', { cause: 'invalid_input' });\n\n if (!teachers.every((teacher) => isString(teacher) || isString(get(teacher, 'id'))))\n throw new Error('(SS12000::To::Duty) Some teachers are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !teachers.every((teacher) => (isString(teacher) && belongsTo) || has(teacher, 'belongsTo')))\n throw new Error('(SS12000::To::Duty) Some top layer teachers are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return teachers.map((teacher) => {\n const division = belongsTo ?? (!isString(teacher) ? teacher.belongsTo : undefined);\n if (!division || isString(division) || !('id' in division && division.id))\n throw new Error('(SS12000::To::Duty) Some teachers members are missing \"belongsTo\" values', { cause: 'invalid_input' });\n if (!('start' in division && division.start) || !('end' in division && division.end))\n throw new Error('(SS12000::To::Duty) Some teachers members are missing \"belongsTo\" start or end values', { cause: 'invalid_input' });\n\n const person = (!isString(teacher) && teacher.person && !isString(teacher.person)) ?\n teacher.person as Extract<CoreTypes.Mixed.Person, { id: string }>\n : undefined;\n\n return {\n id: `${ getDivisionId(teacher, belongsTo) }.${ isString(teacher) ? teacher : teacher.id }`,\n dutyRole: 'Lärare' as const,\n startDate: moment(division.start).toISOString(),\n endDate: moment(division.end).toISOString(),\n ...typeof teacher != 'string' && {\n meta: {\n created: moment(teacher.createdAt).toISOString(),\n modified: moment(teacher.updatedAt).toISOString()\n },\n ...omitBy({\n foreignId: teacher.ids,\n displayName: teacher.displayName,\n }, isNil),\n ...person && {\n person: {\n // @ts-ignore\n ...toReference([person], belongsTo ?? teacher.belongsTo)[0],\n ...expand?.includes('referenceNames') && {\n displayName: `${ person.firstName ?? '' } ${ person.lastName ?? '' }`\n }\n }\n },\n ...expand?.some(x => ['person'].includes(x)) && {\n _embedded: {\n ...(expand.includes('person') && person) && {\n person: toPerson([person], division as Extract<CoreTypes.Deep.Division, { id: string }>)[0]\n }\n }\n }\n }\n };\n });\n};"],"mappings":";;;;;;;;;AAYA,sBACE,UACA,WACA,WACW;AACX,KAAI,CAAC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"duties.js","names":["toPerson"],"sources":["../../../src/SS12000/to/duties.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Duty } from '../types/duties';\nimport { getDivisionId, toReference } from './common';\nimport toPerson from './persons';\n\ntype Expand = ('referenceNames' | 'person')[];\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n teachers: Extract<CoreTypes.Mixed.Teacher, { id: string }>[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>,\n expand?: Expand\n): Duty[] => {\n if (!Array.isArray(teachers))\n throw new Error('(SS12000::To::Duty) Teacher input is not of array type', { cause: 'invalid_input' });\n\n if (!teachers.every((teacher) => isString(teacher) || isString(get(teacher, 'id'))))\n throw new Error('(SS12000::To::Duty) Some teachers are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !teachers.every((teacher) => (isString(teacher) && belongsTo) || has(teacher, 'belongsTo')))\n throw new Error('(SS12000::To::Duty) Some top layer teachers are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return teachers.map((teacher) => {\n const division = belongsTo ?? (!isString(teacher) ? teacher.belongsTo : undefined);\n if (!division || isString(division) || !('id' in division && division.id))\n throw new Error('(SS12000::To::Duty) Some teachers members are missing \"belongsTo\" values', { cause: 'invalid_input' });\n if (!('start' in division && division.start) || !('end' in division && division.end))\n throw new Error('(SS12000::To::Duty) Some teachers members are missing \"belongsTo\" start or end values', { cause: 'invalid_input' });\n\n const person = (!isString(teacher) && teacher.person && !isString(teacher.person)) ?\n teacher.person as Extract<CoreTypes.Mixed.Person, { id: string }>\n : undefined;\n\n return {\n id: `${ getDivisionId(teacher, belongsTo) }.${ isString(teacher) ? teacher : teacher.id }`,\n dutyRole: 'Lärare' as const,\n startDate: moment(division.start).toISOString(),\n endDate: moment(division.end).toISOString(),\n ...typeof teacher != 'string' && {\n meta: {\n created: moment(teacher.createdAt).toISOString(),\n modified: moment(teacher.updatedAt).toISOString()\n },\n ...omitBy({\n foreignId: teacher.ids,\n displayName: teacher.displayName,\n }, isNil),\n ...person && {\n person: {\n // @ts-ignore\n ...toReference([person], belongsTo ?? teacher.belongsTo)[0],\n ...expand?.includes('referenceNames') && {\n displayName: `${ person.firstName ?? '' } ${ person.lastName ?? '' }`\n }\n }\n },\n ...expand?.some(x => ['person'].includes(x)) && {\n _embedded: {\n ...(expand.includes('person') && person) && {\n person: toPerson([person], division as Extract<CoreTypes.Deep.Division, { id: string }>)[0]\n }\n }\n }\n }\n };\n });\n};"],"mappings":";;;;;;;;;AAYA,sBACE,UACA,WACA,WACW;AACX,KAAI,CAAC,MAAM,QAAQ,UACjB,OAAM,IAAI,MAAM,0DAA0D,EAAE,OAAO;AAErF,KAAI,CAAC,SAAS,OAAO,YAAY,SAAS,YAAY,SAAS,IAAI,SAAS,QAC1E,OAAM,IAAI,MAAM,+DAA6D,EAAE,OAAO;AAExF,KAAI,CAAC,aAAa,CAAC,SAAS,OAAO,YAAa,SAAS,YAAY,aAAc,IAAI,SAAS,cAC9F,OAAM,IAAI,MAAM,gFAA8E,EAAE,OAAO;AAEzG,QAAO,SAAS,KAAK,YAAY;EAC/B,MAAM,WAAW,cAAc,CAAC,SAAS,WAAW,QAAQ,YAAY;AACxE,MAAI,CAAC,YAAY,SAAS,aAAa,EAAE,QAAQ,YAAY,SAAS,IACpE,OAAM,IAAI,MAAM,8EAA4E,EAAE,OAAO;AACvG,MAAI,EAAE,WAAW,YAAY,SAAS,UAAU,EAAE,SAAS,YAAY,SAAS,KAC9E,OAAM,IAAI,MAAM,2FAAyF,EAAE,OAAO;EAEpH,MAAM,SAAU,CAAC,SAAS,YAAY,QAAQ,UAAU,CAAC,SAAS,QAAQ,UACxE,QAAQ,SACN;AAEJ,SAAO;GACL,IAAW,GAAI,cAAc,SAAS,WAAY,GAAI,SAAS,WAAW,UAAU,QAAQ;GAC5F,UAAW;GACX,WAAW,OAAO,SAAS,OAAO;GAClC,SAAW,OAAO,SAAS,KAAK;GAChC,GAAG,OAAO,WAAW,YAAY;IAC/B,MAAM;KACJ,SAAU,OAAO,QAAQ,WAAW;KACpC,UAAU,OAAO,QAAQ,WAAW;;IAEtC,GAAG,OAAO;KACR,WAAa,QAAQ;KACrB,aAAa,QAAQ;OACpB;IACH,GAAG,UAAU,EACX,QAAQ;KAEN,GAAG,YAAY,CAAC,SAAS,aAAa,QAAQ,WAAW;KACzD,GAAG,QAAQ,SAAS,qBAAqB,EACvC,aAAa,GAAI,OAAO,aAAa,GAAI,GAAI,OAAO,YAAY;;IAItE,GAAG,QAAQ,MAAK,MAAK,CAAC,UAAU,SAAS,OAAO,EAC9C,WAAW,EACT,GAAI,OAAO,SAAS,aAAa,UAAW,EAC1C,QAAQA,gBAAS,CAAC,SAAS,UAA8D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groups.js","names":["toPerson"],"sources":["../../../src/SS12000/to/groups.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Group } from '../types/groups';\nimport { getDivisionId, toReference } from './common';\nimport toPerson from './persons';\n\ntype Expand = ('referenceNames' | 'persons')[];\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n groups: Extract<CoreTypes.Mixed.Group, { id: string }>[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>,\n expand?: Expand\n): Group[] => {\n if (!Array.isArray(groups))\n throw new Error('(SS12000::To::Groups) Group input is not of array type', { cause: 'invalid_input' });\n\n if (!groups.every((group) => isString(group) || isString(get(group, 'id'))))\n throw new Error('(SS12000::To::Groups) Some groups are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !groups.every((group) => (isString(group) && belongsTo) || has(group, 'belongsTo')))\n throw new Error('(SS12000::To::Groups) Some top layer groups are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return groups.map((group) => {\n const members = !isString(group) && Array.isArray(group.members)\n ? (group.members).map((member) => {\n if (isString(member)) return { id: member } as Extract<CoreTypes.Mixed.Person, { id: string }>;\n return member as Extract<CoreTypes.Mixed.Person, { id: string }>;\n })\n : [];\n\n const division = belongsTo ?? (!isString(group) ? group.belongsTo : undefined);\n if (!division || isString(division) || !('id' in division && division.id))\n throw new Error('(SS12000::To::Groups) Some group members are missing \"belongsTo\" values', { cause: 'invalid_input' });\n if (!('start' in division && division.start) || !('end' in division && division.end))\n throw new Error('(SS12000::To::Groups) Some group members are missing \"belongsTo\" start or end values', { cause: 'invalid_input' });\n\n return {\n id: `${ getDivisionId(group, belongsTo) }.${ isString(group) ? group : group.id }`,\n groupType: group.species === 'class' ? 'Klass' : 'Undervisning',\n startDate: moment(division.start).toISOString(),\n endDate: moment(division.end).toISOString(),\n ...!isString(group) && {\n meta: {\n created: moment(group.createdAt).toISOString(),\n modified: moment(group.updatedAt).toISOString()\n },\n /*\n Optionally add the following properties\n */\n ...omitBy({\n foreignId: group.ids,\n displayName: group.displayName,\n }, isNil),\n ...group.members && {\n // @ts-ignore\n groupMemberships: toReference(members, division).map(person => ({\n startDate: moment(division.start).toISOString(),\n endDate: moment(division.end).toISOString(),\n person: person\n }))\n },\n ...expand?.some(x => ['persons'].includes(x)) && {\n _embedded: {\n ...expand.includes('persons') && {\n groups: toPerson(members, division as Extract<CoreTypes.Deep.Division, { id: string }>)\n }\n }\n }\n }\n };\n });\n};"],"mappings":";;;;;;;;;AAYA,sBACE,QACA,WACA,WACY;AACZ,KAAI,CAAC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"groups.js","names":["toPerson"],"sources":["../../../src/SS12000/to/groups.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Group } from '../types/groups';\nimport { getDivisionId, toReference } from './common';\nimport toPerson from './persons';\n\ntype Expand = ('referenceNames' | 'persons')[];\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n groups: Extract<CoreTypes.Mixed.Group, { id: string }>[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>,\n expand?: Expand\n): Group[] => {\n if (!Array.isArray(groups))\n throw new Error('(SS12000::To::Groups) Group input is not of array type', { cause: 'invalid_input' });\n\n if (!groups.every((group) => isString(group) || isString(get(group, 'id'))))\n throw new Error('(SS12000::To::Groups) Some groups are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !groups.every((group) => (isString(group) && belongsTo) || has(group, 'belongsTo')))\n throw new Error('(SS12000::To::Groups) Some top layer groups are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return groups.map((group) => {\n const members = !isString(group) && Array.isArray(group.members)\n ? (group.members).map((member) => {\n if (isString(member)) return { id: member } as Extract<CoreTypes.Mixed.Person, { id: string }>;\n return member as Extract<CoreTypes.Mixed.Person, { id: string }>;\n })\n : [];\n\n const division = belongsTo ?? (!isString(group) ? group.belongsTo : undefined);\n if (!division || isString(division) || !('id' in division && division.id))\n throw new Error('(SS12000::To::Groups) Some group members are missing \"belongsTo\" values', { cause: 'invalid_input' });\n if (!('start' in division && division.start) || !('end' in division && division.end))\n throw new Error('(SS12000::To::Groups) Some group members are missing \"belongsTo\" start or end values', { cause: 'invalid_input' });\n\n return {\n id: `${ getDivisionId(group, belongsTo) }.${ isString(group) ? group : group.id }`,\n groupType: group.species === 'class' ? 'Klass' : 'Undervisning',\n startDate: moment(division.start).toISOString(),\n endDate: moment(division.end).toISOString(),\n ...!isString(group) && {\n meta: {\n created: moment(group.createdAt).toISOString(),\n modified: moment(group.updatedAt).toISOString()\n },\n /*\n Optionally add the following properties\n */\n ...omitBy({\n foreignId: group.ids,\n displayName: group.displayName,\n }, isNil),\n ...group.members && {\n // @ts-ignore\n groupMemberships: toReference(members, division).map(person => ({\n startDate: moment(division.start).toISOString(),\n endDate: moment(division.end).toISOString(),\n person: person\n }))\n },\n ...expand?.some(x => ['persons'].includes(x)) && {\n _embedded: {\n ...expand.includes('persons') && {\n groups: toPerson(members, division as Extract<CoreTypes.Deep.Division, { id: string }>)\n }\n }\n }\n }\n };\n });\n};"],"mappings":";;;;;;;;;AAYA,sBACE,QACA,WACA,WACY;AACZ,KAAI,CAAC,MAAM,QAAQ,QACjB,OAAM,IAAI,MAAM,0DAA0D,EAAE,OAAO;AAErF,KAAI,CAAC,OAAO,OAAO,UAAU,SAAS,UAAU,SAAS,IAAI,OAAO,QAClE,OAAM,IAAI,MAAM,+DAA6D,EAAE,OAAO;AAExF,KAAI,CAAC,aAAa,CAAC,OAAO,OAAO,UAAW,SAAS,UAAU,aAAc,IAAI,OAAO,cACtF,OAAM,IAAI,MAAM,gFAA8E,EAAE,OAAO;AAEzG,QAAO,OAAO,KAAK,UAAU;EAC3B,MAAM,UAAU,CAAC,SAAS,UAAU,MAAM,QAAQ,MAAM,WACnD,MAAM,QAAS,KAAK,WAAW;AAChC,OAAI,SAAS,QAAS,QAAO,EAAE,IAAI;AACnC,UAAO;OAEP;EAEJ,MAAM,WAAW,cAAc,CAAC,SAAS,SAAS,MAAM,YAAY;AACpE,MAAI,CAAC,YAAY,SAAS,aAAa,EAAE,QAAQ,YAAY,SAAS,IACpE,OAAM,IAAI,MAAM,6EAA2E,EAAE,OAAO;AACtG,MAAI,EAAE,WAAW,YAAY,SAAS,UAAU,EAAE,SAAS,YAAY,SAAS,KAC9E,OAAM,IAAI,MAAM,0FAAwF,EAAE,OAAO;AAEnH,SAAO;GACL,IAAW,GAAI,cAAc,OAAO,WAAY,GAAI,SAAS,SAAS,QAAQ,MAAM;GACpF,WAAW,MAAM,YAAY,UAAU,UAAU;GACjD,WAAW,OAAO,SAAS,OAAO;GAClC,SAAW,OAAO,SAAS,KAAK;GAChC,GAAG,CAAC,SAAS,UAAU;IACrB,MAAM;KACJ,SAAU,OAAO,MAAM,WAAW;KAClC,UAAU,OAAO,MAAM,WAAW;;IAKpC,GAAG,OAAO;KACR,WAAa,MAAM;KACnB,aAAa,MAAM;OAClB;IACH,GAAG,MAAM,WAAW,EAElB,kBAAkB,YAAY,SAAS,UAAU,KAAI,YAAW;KAC9D,WAAW,OAAO,SAAS,OAAO;KAClC,SAAW,OAAO,SAAS,KAAK;KACrB;;IAGf,GAAG,QAAQ,MAAK,MAAK,CAAC,WAAW,SAAS,OAAO,EAC/C,WAAW,EACT,GAAG,OAAO,SAAS,cAAc,EAC/B,QAAQA,gBAAS,SAAS"}
|
|
@@ -7,7 +7,6 @@ import { Syllabus } from "../types/syllabus.js";
|
|
|
7
7
|
import { Activity } from "../types/activities.js";
|
|
8
8
|
import { Resource } from "../types/resources.js";
|
|
9
9
|
import { CalendarEvent } from "../types/calendar-events.js";
|
|
10
|
-
import "../../index.js";
|
|
11
10
|
|
|
12
11
|
//#region src/SS12000/to/index.d.ts
|
|
13
12
|
declare class export_default {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persons.js","names":["SexMap: Record<NonNullable<CoreTypes.Deep.Person['sex']>, Person['sex']>"],"sources":["../../../src/SS12000/to/persons.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Person } from '../types/persons';\nimport { getDivisionId } from './common';\n\nconst SexMap: Record<NonNullable<CoreTypes.Deep.Person['sex']>, Person['sex']> = { Man: 'Man', Woman: 'Kvinna' };\nconst TypeMap: Record<\n NonNullable<\n CoreTypes.Deep.Person['phoneNumbers']\n >[0]['type'],\n NonNullable<\n Person['phoneNumbers']\n >[0]['type']\n> = {\n private: 'Privat',\n organization: 'Arbete övrigt'\n};\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n persons: Extract<CoreTypes.Mixed.Person, { id: string }>[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>\n): Person[] => {\n if (!Array.isArray(persons))\n throw new Error('(SS12000::To::Persons) Person input is not of array type', { cause: 'invalid_input' });\n\n if (!persons.every((person) => isString(person) || isString(get(person, 'id'))))\n throw new Error('(SS12000::To::Persons) Some persons are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !persons.every((person) => (isString(person) && belongsTo) || has(person, 'belongsTo')))\n throw new Error('(SS12000::To::Persons) Some top layer persons are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return persons.map((person) => ({\n id: `${ getDivisionId(person, belongsTo) }.${ isString(person) ? person : person.id }`,\n ...!isString(person) && {\n meta: {\n created: moment(person.createdAt).toISOString(),\n modified: moment(person.updatedAt).toISOString()\n },\n sex: person.sex ? get(SexMap, person.sex, 'Okänt') : 'Okänt',\n ...omitBy({\n foreignId: person.ids,\n displayName: person.displayName,\n givenName: person.firstName,\n familyName: person.lastName,\n ...person.SSN?.value && { civicNo: person.SSN },\n emails: person.emails,\n phoneNumbers: person.phoneNumbers\n }, isNil)\n }\n }));\n};"],"mappings":";;;;;AAMA,MAAMA,SAA2E;CAAE,KAAK;CAAO,OAAO
|
|
1
|
+
{"version":3,"file":"persons.js","names":["SexMap: Record<NonNullable<CoreTypes.Deep.Person['sex']>, Person['sex']>"],"sources":["../../../src/SS12000/to/persons.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Person } from '../types/persons';\nimport { getDivisionId } from './common';\n\nconst SexMap: Record<NonNullable<CoreTypes.Deep.Person['sex']>, Person['sex']> = { Man: 'Man', Woman: 'Kvinna' };\nconst TypeMap: Record<\n NonNullable<\n CoreTypes.Deep.Person['phoneNumbers']\n >[0]['type'],\n NonNullable<\n Person['phoneNumbers']\n >[0]['type']\n> = {\n private: 'Privat',\n organization: 'Arbete övrigt'\n};\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n persons: Extract<CoreTypes.Mixed.Person, { id: string }>[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>\n): Person[] => {\n if (!Array.isArray(persons))\n throw new Error('(SS12000::To::Persons) Person input is not of array type', { cause: 'invalid_input' });\n\n if (!persons.every((person) => isString(person) || isString(get(person, 'id'))))\n throw new Error('(SS12000::To::Persons) Some persons are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !persons.every((person) => (isString(person) && belongsTo) || has(person, 'belongsTo')))\n throw new Error('(SS12000::To::Persons) Some top layer persons are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return persons.map((person) => ({\n id: `${ getDivisionId(person, belongsTo) }.${ isString(person) ? person : person.id }`,\n ...!isString(person) && {\n meta: {\n created: moment(person.createdAt).toISOString(),\n modified: moment(person.updatedAt).toISOString()\n },\n sex: person.sex ? get(SexMap, person.sex, 'Okänt') : 'Okänt',\n ...omitBy({\n foreignId: person.ids,\n displayName: person.displayName,\n givenName: person.firstName,\n familyName: person.lastName,\n ...person.SSN?.value && { civicNo: person.SSN },\n emails: person.emails,\n phoneNumbers: person.phoneNumbers\n }, isNil)\n }\n }));\n};"],"mappings":";;;;;AAMA,MAAMA,SAA2E;CAAE,KAAK;CAAO,OAAO;;;;;AAgBtG,uBACE,SACA,cACa;AACb,KAAI,CAAC,MAAM,QAAQ,SACjB,OAAM,IAAI,MAAM,4DAA4D,EAAE,OAAO;AAEvF,KAAI,CAAC,QAAQ,OAAO,WAAW,SAAS,WAAW,SAAS,IAAI,QAAQ,QACtE,OAAM,IAAI,MAAM,iEAA+D,EAAE,OAAO;AAE1F,KAAI,CAAC,aAAa,CAAC,QAAQ,OAAO,WAAY,SAAS,WAAW,aAAc,IAAI,QAAQ,cAC1F,OAAM,IAAI,MAAM,kFAAgF,EAAE,OAAO;AAE3G,QAAO,QAAQ,KAAK,YAAY;EAC9B,IAAI,GAAI,cAAc,QAAQ,WAAY,GAAI,SAAS,UAAU,SAAS,OAAO;EACjF,GAAG,CAAC,SAAS,WAAW;GACtB,MAAM;IACJ,SAAU,OAAO,OAAO,WAAW;IACnC,UAAU,OAAO,OAAO,WAAW;;GAErC,KAAK,OAAO,MAAM,IAAI,QAAQ,OAAO,KAAK,WAAW;GACrD,GAAG,OAAO;IACR,WAAc,OAAO;IACrB,aAAc,OAAO;IACrB,WAAc,OAAO;IACrB,YAAc,OAAO;IACrB,GAAG,OAAO,KAAK,SAAS,EAAE,SAAS,OAAO;IAC1C,QAAc,OAAO;IACrB,cAAc,OAAO;MACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","names":[],"sources":["../../../src/SS12000/to/resources.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Resource } from '../types/resources';\nimport { getDivisionId } from './common';\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n resources: any[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>\n): Resource[] => {\n if (!Array.isArray(resources))\n throw new Error('(SS12000::To::Resources) Resources input is not of array type', { cause: 'invalid_input' });\n\n if (!resources.every((resource) => isString(resource) || isString(get(resource, 'id'))))\n throw new Error('(SS12000::To::Resources) Some resources are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !resources.every((resource) => (isString(resource) && belongsTo) || has(resource, 'belongsTo')))\n throw new Error('(SS12000::To::Resources) Some top layer resources are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return resources.map((resource) => ({\n id: `${ getDivisionId(resource, belongsTo) }.${ isString(resource) ? resource : resource.id }`,\n ...!isString(resource) && {\n meta: {\n created: moment(resource.createdAt).toISOString(),\n modified: moment(resource.updatedAt).toISOString()\n },\n /*\n Optionally add the following properties\n */\n\n ...omitBy({\n foreignId: resource.ids,\n }, isNil)\n }\n }));\n};\n"],"mappings":";;;;;;;;AASA,yBACE,WACA,cACe;AACf,KAAI,CAAC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"resources.js","names":[],"sources":["../../../src/SS12000/to/resources.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Resource } from '../types/resources';\nimport { getDivisionId } from './common';\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n resources: any[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>\n): Resource[] => {\n if (!Array.isArray(resources))\n throw new Error('(SS12000::To::Resources) Resources input is not of array type', { cause: 'invalid_input' });\n\n if (!resources.every((resource) => isString(resource) || isString(get(resource, 'id'))))\n throw new Error('(SS12000::To::Resources) Some resources are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !resources.every((resource) => (isString(resource) && belongsTo) || has(resource, 'belongsTo')))\n throw new Error('(SS12000::To::Resources) Some top layer resources are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return resources.map((resource) => ({\n id: `${ getDivisionId(resource, belongsTo) }.${ isString(resource) ? resource : resource.id }`,\n ...!isString(resource) && {\n meta: {\n created: moment(resource.createdAt).toISOString(),\n modified: moment(resource.updatedAt).toISOString()\n },\n /*\n Optionally add the following properties\n */\n\n ...omitBy({\n foreignId: resource.ids,\n }, isNil)\n }\n }));\n};\n"],"mappings":";;;;;;;;AASA,yBACE,WACA,cACe;AACf,KAAI,CAAC,MAAM,QAAQ,WACjB,OAAM,IAAI,MAAM,iEAAiE,EAAE,OAAO;AAE5F,KAAI,CAAC,UAAU,OAAO,aAAa,SAAS,aAAa,SAAS,IAAI,UAAU,QAC9E,OAAM,IAAI,MAAM,qEAAmE,EAAE,OAAO;AAE9F,KAAI,CAAC,aAAa,CAAC,UAAU,OAAO,aAAc,SAAS,aAAa,aAAc,IAAI,UAAU,cAClG,OAAM,IAAI,MAAM,sFAAoF,EAAE,OAAO;AAE/G,QAAO,UAAU,KAAK,cAAc;EAClC,IAAI,GAAI,cAAc,UAAU,WAAY,GAAI,SAAS,YAAY,WAAW,SAAS;EACzF,GAAG,CAAC,SAAS,aAAa;GACxB,MAAM;IACJ,SAAU,OAAO,SAAS,WAAW;IACrC,UAAU,OAAO,SAAS,WAAW;;GAMvC,GAAG,OAAO,EACR,WAAW,SAAS,OACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.js","names":[],"sources":["../../../src/SS12000/to/rooms.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Room } from '../types/rooms';\nimport { getDivisionId } from './common';\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n locations: (Extract<CoreTypes.Mixed.Location, { id: string }> | string)[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>\n): Room[] => {\n if (!Array.isArray(locations))\n throw new Error('(SS12000::To::Room) Room input is not of array type', { cause: 'invalid_input' });\n\n if (!locations.every((location) => isString(location) || isString(get(location, 'id'))))\n throw new Error('(SS12000::To::Room) Some locations are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !locations.every((location) => (isString(location) && belongsTo) || has(location, 'belongsTo')))\n throw new Error('(SS12000::To::Room) Some top layer locations are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return locations.map((location) => ({\n id: `${ getDivisionId(location, belongsTo) }.${ isString(location) ? location : location.id }`,\n ...!isString(location) && {\n meta: {\n created: moment(location.createdAt).toISOString(),\n modified: moment(location.updatedAt).toISOString()\n },\n ...omitBy({\n foreignId: location.ids,\n displayName: location.displayName,\n seats: location.maximumCapacity,\n tags: location.tags,\n }, isNil),\n }\n }));\n};"],"mappings":";;;;;;;;AASA,qBACE,WACA,cACW;AACX,KAAI,CAAC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"rooms.js","names":[],"sources":["../../../src/SS12000/to/rooms.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Room } from '../types/rooms';\nimport { getDivisionId } from './common';\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n locations: (Extract<CoreTypes.Mixed.Location, { id: string }> | string)[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>\n): Room[] => {\n if (!Array.isArray(locations))\n throw new Error('(SS12000::To::Room) Room input is not of array type', { cause: 'invalid_input' });\n\n if (!locations.every((location) => isString(location) || isString(get(location, 'id'))))\n throw new Error('(SS12000::To::Room) Some locations are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !locations.every((location) => (isString(location) && belongsTo) || has(location, 'belongsTo')))\n throw new Error('(SS12000::To::Room) Some top layer locations are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return locations.map((location) => ({\n id: `${ getDivisionId(location, belongsTo) }.${ isString(location) ? location : location.id }`,\n ...!isString(location) && {\n meta: {\n created: moment(location.createdAt).toISOString(),\n modified: moment(location.updatedAt).toISOString()\n },\n ...omitBy({\n foreignId: location.ids,\n displayName: location.displayName,\n seats: location.maximumCapacity,\n tags: location.tags,\n }, isNil),\n }\n }));\n};"],"mappings":";;;;;;;;AASA,qBACE,WACA,cACW;AACX,KAAI,CAAC,MAAM,QAAQ,WACjB,OAAM,IAAI,MAAM,uDAAuD,EAAE,OAAO;AAElF,KAAI,CAAC,UAAU,OAAO,aAAa,SAAS,aAAa,SAAS,IAAI,UAAU,QAC9E,OAAM,IAAI,MAAM,gEAA8D,EAAE,OAAO;AAEzF,KAAI,CAAC,aAAa,CAAC,UAAU,OAAO,aAAc,SAAS,aAAa,aAAc,IAAI,UAAU,cAClG,OAAM,IAAI,MAAM,iFAA+E,EAAE,OAAO;AAE1G,QAAO,UAAU,KAAK,cAAc;EAClC,IAAI,GAAI,cAAc,UAAU,WAAY,GAAI,SAAS,YAAY,WAAW,SAAS;EACzF,GAAG,CAAC,SAAS,aAAa;GACxB,MAAM;IACJ,SAAU,OAAO,SAAS,WAAW;IACrC,UAAU,OAAO,SAAS,WAAW;;GAEvC,GAAG,OAAO;IACR,WAAa,SAAS;IACtB,aAAa,SAAS;IACtB,OAAa,SAAS;IACtB,MAAa,SAAS;MACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syllabuses.js","names":[],"sources":["../../../src/SS12000/to/syllabuses.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Syllabus } from '../types/syllabus';\nimport { getDivisionId } from './common';\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n syllabuses: (Extract<CoreTypes.Mixed.Syllabus, { id: string }> | string)[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>\n): Syllabus[] => {\n if (!Array.isArray(syllabuses))\n throw new Error('(SS12000::To::Syllabus) Syllabus input is not of array type', { cause: 'invalid_input' });\n\n if (!syllabuses.every((location) => isString(location) || isString(get(location, 'id'))))\n throw new Error('(SS12000::To::Syllabus) Some syllabuses are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !syllabuses.every((location) => (isString(location) && belongsTo) || has(location, 'belongsTo')))\n throw new Error('(SS12000::To::Syllabus) Some top layer syllabuses are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return syllabuses.map((syllabus) => ({\n id: `${ getDivisionId(syllabus, belongsTo) }.${ isString(syllabus) ? syllabus : syllabus.id }`,\n ...!isString(syllabus) && {\n meta: {\n created: moment(syllabus.createdAt).toISOString(),\n modified: moment(syllabus.updatedAt).toISOString()\n },\n ...omitBy({\n foreignId: syllabus.ids,\n schoolType: syllabus.schoolType,\n subjectDesignation: syllabus.subjectDesignation,\n subjectCode: syllabus.subjectCode,\n subjectName: syllabus.subjectName,\n official: syllabus.official,\n }, isNil),\n }\n }));\n};"],"mappings":";;;;;;;;AASA,0BACE,YACA,cACe;AACf,KAAI,CAAC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"syllabuses.js","names":[],"sources":["../../../src/SS12000/to/syllabuses.ts"],"sourcesContent":["import { isString, has, get, omitBy, isNil } from 'lodash-es';\nimport moment from 'moment';\nimport type { CoreTypes } from '../../core';\nimport type { Syllabus } from '../types/syllabus';\nimport { getDivisionId } from './common';\n\n/**\n * @deprecated This is only used for SCS. can be removed when scs use v2\n */\nexport default (\n syllabuses: (Extract<CoreTypes.Mixed.Syllabus, { id: string }> | string)[],\n belongsTo?: Extract<CoreTypes.Deep.Division, { id: string }>\n): Syllabus[] => {\n if (!Array.isArray(syllabuses))\n throw new Error('(SS12000::To::Syllabus) Syllabus input is not of array type', { cause: 'invalid_input' });\n\n if (!syllabuses.every((location) => isString(location) || isString(get(location, 'id'))))\n throw new Error('(SS12000::To::Syllabus) Some syllabuses are missing \"id\" values', { cause: 'invalid_input' });\n\n if (!belongsTo && !syllabuses.every((location) => (isString(location) && belongsTo) || has(location, 'belongsTo')))\n throw new Error('(SS12000::To::Syllabus) Some top layer syllabuses are missing \"belongsTo\" values', { cause: 'invalid_input' });\n\n return syllabuses.map((syllabus) => ({\n id: `${ getDivisionId(syllabus, belongsTo) }.${ isString(syllabus) ? syllabus : syllabus.id }`,\n ...!isString(syllabus) && {\n meta: {\n created: moment(syllabus.createdAt).toISOString(),\n modified: moment(syllabus.updatedAt).toISOString()\n },\n ...omitBy({\n foreignId: syllabus.ids,\n schoolType: syllabus.schoolType,\n subjectDesignation: syllabus.subjectDesignation,\n subjectCode: syllabus.subjectCode,\n subjectName: syllabus.subjectName,\n official: syllabus.official,\n }, isNil),\n }\n }));\n};"],"mappings":";;;;;;;;AASA,0BACE,YACA,cACe;AACf,KAAI,CAAC,MAAM,QAAQ,YACjB,OAAM,IAAI,MAAM,+DAA+D,EAAE,OAAO;AAE1F,KAAI,CAAC,WAAW,OAAO,aAAa,SAAS,aAAa,SAAS,IAAI,UAAU,QAC/E,OAAM,IAAI,MAAM,qEAAmE,EAAE,OAAO;AAE9F,KAAI,CAAC,aAAa,CAAC,WAAW,OAAO,aAAc,SAAS,aAAa,aAAc,IAAI,UAAU,cACnG,OAAM,IAAI,MAAM,sFAAoF,EAAE,OAAO;AAE/G,QAAO,WAAW,KAAK,cAAc;EACnC,IAAI,GAAI,cAAc,UAAU,WAAY,GAAI,SAAS,YAAY,WAAW,SAAS;EACzF,GAAG,CAAC,SAAS,aAAa;GACxB,MAAM;IACJ,SAAU,OAAO,SAAS,WAAW;IACrC,UAAU,OAAO,SAAS,WAAW;;GAEvC,GAAG,OAAO;IACR,WAAoB,SAAS;IAC7B,YAAoB,SAAS;IAC7B,oBAAoB,SAAS;IAC7B,aAAoB,SAAS;IAC7B,aAAoB,SAAS;IAC7B,UAAoB,SAAS;MAC5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_schedules"],"sources":["../../../../src/SchoolSoft/api/from/index.ts"],"sourcesContent":["import type { FromInterface } from '../../../common/types';\nimport _schedules from './schedules';\n\nexport default {\n schedules: _schedules\n} satisfies FromInterface;"],"mappings":";;;AAGA,mBAAe,EACb,WAAWA
|
|
1
|
+
{"version":3,"file":"index.js","names":["_schedules"],"sources":["../../../../src/SchoolSoft/api/from/index.ts"],"sourcesContent":["import type { FromInterface } from '../../../common/types';\nimport _schedules from './schedules';\n\nexport default {\n schedules: _schedules\n} satisfies FromInterface;"],"mappings":";;;AAGA,mBAAe,EACb,WAAWA"}
|
|
@@ -115,7 +115,7 @@ var schedules_default = (data) => {
|
|
|
115
115
|
const id = initialTeacherMap.get(y)?.ids;
|
|
116
116
|
if (id) teacherSet.add(id);
|
|
117
117
|
});
|
|
118
|
-
const teachers = [...teacherSet].map((to) => ({ to }));
|
|
118
|
+
const teachers$1 = [...teacherSet].map((to) => ({ to }));
|
|
119
119
|
const scheduledGroupIds = [];
|
|
120
120
|
const groupSet = /* @__PURE__ */ new Set();
|
|
121
121
|
split(x.group).forEach((y) => {
|
|
@@ -131,9 +131,9 @@ var schedules_default = (data) => {
|
|
|
131
131
|
course.groups?.forEach((z) => groupSet.add(z.to.toString()));
|
|
132
132
|
}
|
|
133
133
|
});
|
|
134
|
-
const groups = [...groupSet].map((to) => ({ to }));
|
|
135
|
-
const key = courseMapKey(x.subject, groups.map(({ to }) => to), teachers.map(({ to }) => to));
|
|
136
|
-
if (groups.length && teachers.length && !courseMap.has(key)) {
|
|
134
|
+
const groups$1 = [...groupSet].map((to) => ({ to }));
|
|
135
|
+
const key = courseMapKey(x.subject, groups$1.map(({ to }) => to), teachers$1.map(({ to }) => to));
|
|
136
|
+
if (groups$1.length && teachers$1.length && !courseMap.has(key)) {
|
|
137
137
|
const ids = scheduledGroupIds.join(sep);
|
|
138
138
|
courseMap.set(key, {
|
|
139
139
|
ids,
|
|
@@ -144,12 +144,16 @@ var schedules_default = (data) => {
|
|
|
144
144
|
});
|
|
145
145
|
}
|
|
146
146
|
});
|
|
147
|
+
const teachers = [...initialTeacherMap.values()];
|
|
148
|
+
const groups = [...nameGroupMap.values()];
|
|
149
|
+
const courses = [...courseMap.values()];
|
|
150
|
+
const events = [];
|
|
147
151
|
return {
|
|
148
152
|
locations,
|
|
149
|
-
teachers
|
|
150
|
-
groups
|
|
151
|
-
courses
|
|
152
|
-
events
|
|
153
|
+
teachers,
|
|
154
|
+
groups,
|
|
155
|
+
courses,
|
|
156
|
+
events,
|
|
153
157
|
persons,
|
|
154
158
|
meta: {
|
|
155
159
|
...errors.length ? { errors } : {},
|