@tumaet/prompt-shared-state 1.0.13 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/env.js +71 -0
- package/dist/env.js.map +1 -0
- package/dist/hooks/index.js +9 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useFileUpload.js +33 -0
- package/dist/hooks/useFileUpload.js.map +1 -0
- package/dist/hooks/useGetCoursePhase.js +11 -0
- package/dist/hooks/useGetCoursePhase.js.map +1 -0
- package/dist/hooks/useGetCoursePhaseParticipants.js +12 -0
- package/dist/hooks/useGetCoursePhaseParticipants.js.map +1 -0
- package/dist/hooks/useGetMailingIsConfigured.js +19 -0
- package/dist/hooks/useGetMailingIsConfigured.js.map +1 -0
- package/dist/hooks/useModifyCoursePhase.js +20 -0
- package/dist/hooks/useModifyCoursePhase.js.map +1 -0
- package/dist/hooks/useUpdateCoursePhaseMetaData.js +47 -0
- package/dist/hooks/useUpdateCoursePhaseMetaData.js.map +1 -0
- package/dist/hooks/useUpdateCoursePhaseParticipation.js +61 -0
- package/dist/hooks/useUpdateCoursePhaseParticipation.js.map +1 -0
- package/dist/hooks/useUpdateCoursePhaseParticipationBatch.js +17 -0
- package/dist/hooks/useUpdateCoursePhaseParticipationBatch.js.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/index.js +1 -0
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/routing/extendedRouteObject.js +2 -0
- package/dist/interfaces/routing/extendedRouteObject.js.map +1 -0
- package/dist/interfaces/routing/index.js +4 -0
- package/dist/interfaces/routing/index.js.map +1 -0
- package/dist/interfaces/routing/sidebar.js +2 -0
- package/dist/interfaces/routing/sidebar.js.map +1 -0
- package/dist/interfaces/routing/studentDetail.js +2 -0
- package/dist/interfaces/routing/studentDetail.js.map +1 -0
- package/dist/lib/formatFileSize.js +9 -0
- package/dist/lib/formatFileSize.js.map +1 -0
- package/dist/lib/getCountries.js +15 -0
- package/dist/lib/getCountries.js.map +1 -0
- package/dist/lib/getGravatarUrl.js +7 -0
- package/dist/lib/getGravatarUrl.js.map +1 -0
- package/dist/lib/getStatusColor.js +13 -0
- package/dist/lib/getStatusColor.js.map +1 -0
- package/dist/lib/index.js +7 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/openFileDownload.js +17 -0
- package/dist/lib/openFileDownload.js.map +1 -0
- package/dist/lib/translations.json +18 -0
- package/dist/network/configService.js +23 -0
- package/dist/network/configService.js.map +1 -0
- package/dist/network/index.js +12 -0
- package/dist/network/index.js.map +1 -0
- package/dist/network/logNetworkError.js +21 -0
- package/dist/network/logNetworkError.js.map +1 -0
- package/dist/network/mutations/deleteApplicationFile.js +11 -0
- package/dist/network/mutations/deleteApplicationFile.js.map +1 -0
- package/dist/network/mutations/sendStatusMail.js +16 -0
- package/dist/network/mutations/sendStatusMail.js.map +1 -0
- package/dist/network/mutations/updateCoursePhase.js +16 -0
- package/dist/network/mutations/updateCoursePhase.js.map +1 -0
- package/dist/network/mutations/updateCoursePhaseParticipationBatch.js +16 -0
- package/dist/network/mutations/updateCoursePhaseParticipationBatch.js.map +1 -0
- package/dist/network/mutations/updateCoursePhaseParticipationMetaData.js +16 -0
- package/dist/network/mutations/updateCoursePhaseParticipationMetaData.js.map +1 -0
- package/dist/network/mutations/uploadFile.js +40 -0
- package/dist/network/mutations/uploadFile.js.map +1 -0
- package/dist/network/queries/getCoursePhase.js +12 -0
- package/dist/network/queries/getCoursePhase.js.map +1 -0
- package/dist/network/queries/getCoursePhaseParticipationStatusCounts.js +13 -0
- package/dist/network/queries/getCoursePhaseParticipationStatusCounts.js.map +1 -0
- package/dist/network/queries/getCoursePhaseParticipations.js +12 -0
- package/dist/network/queries/getCoursePhaseParticipations.js.map +1 -0
- package/dist/network/queries/getOwnCoursePhaseParticipation.js +12 -0
- package/dist/network/queries/getOwnCoursePhaseParticipation.js.map +1 -0
- package/dist/types/env.d.ts +28 -0
- package/dist/types/hooks/index.d.ts +8 -0
- package/dist/types/hooks/useFileUpload.d.ts +13 -0
- package/dist/types/hooks/useGetCoursePhase.d.ts +2 -0
- package/dist/types/hooks/useGetCoursePhaseParticipants.d.ts +2 -0
- package/dist/types/hooks/useGetMailingIsConfigured.d.ts +1 -0
- package/dist/types/hooks/useModifyCoursePhase.d.ts +2 -0
- package/dist/types/hooks/useUpdateCoursePhaseMetaData.d.ts +7 -0
- package/dist/types/hooks/useUpdateCoursePhaseParticipation.d.ts +7 -0
- package/dist/types/hooks/useUpdateCoursePhaseParticipationBatch.d.ts +3 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/interfaces/index.d.ts +1 -0
- package/dist/types/interfaces/routing/extendedRouteObject.d.ts +5 -0
- package/dist/types/interfaces/routing/index.d.ts +3 -0
- package/dist/types/interfaces/routing/sidebar.d.ts +13 -0
- package/dist/types/interfaces/routing/studentDetail.d.ts +6 -0
- package/dist/types/lib/formatFileSize.d.ts +1 -0
- package/dist/types/lib/getCountries.d.ts +5 -0
- package/dist/types/lib/getGravatarUrl.d.ts +1 -0
- package/dist/types/lib/getStatusColor.d.ts +2 -0
- package/dist/types/lib/index.d.ts +6 -0
- package/dist/types/lib/openFileDownload.d.ts +6 -0
- package/dist/types/network/configService.d.ts +8 -0
- package/dist/types/network/index.d.ts +11 -0
- package/dist/types/network/logNetworkError.d.ts +1 -0
- package/dist/types/network/mutations/deleteApplicationFile.d.ts +1 -0
- package/dist/types/network/mutations/sendStatusMail.d.ts +2 -0
- package/dist/types/network/mutations/updateCoursePhase.d.ts +2 -0
- package/dist/types/network/mutations/updateCoursePhaseParticipationBatch.d.ts +2 -0
- package/dist/types/network/mutations/updateCoursePhaseParticipationMetaData.d.ts +2 -0
- package/dist/types/network/mutations/uploadFile.d.ts +25 -0
- package/dist/types/network/queries/getCoursePhase.d.ts +2 -0
- package/dist/types/network/queries/getCoursePhaseParticipationStatusCounts.d.ts +4 -0
- package/dist/types/network/queries/getCoursePhaseParticipations.d.ts +2 -0
- package/dist/types/network/queries/getOwnCoursePhaseParticipation.d.ts +2 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/parseURL.d.ts +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/parseURL.js +15 -0
- package/dist/utils/parseURL.js.map +1 -0
- package/package.json +19 -4
package/dist/env.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
const validEnvironments = ['development', 'staging', 'production'];
|
|
2
|
+
const requiredKeys = [
|
|
3
|
+
'CORE_HOST',
|
|
4
|
+
'INTRO_COURSE_HOST',
|
|
5
|
+
'TEAM_ALLOCATION_HOST',
|
|
6
|
+
'ASSESSMENT_HOST',
|
|
7
|
+
'DEVOPS_CHALLENGE_HOST',
|
|
8
|
+
'INTERVIEW_HOST',
|
|
9
|
+
'KEYCLOAK_HOST',
|
|
10
|
+
'KEYCLOAK_REALM_NAME',
|
|
11
|
+
'CHAIR_NAME_LONG',
|
|
12
|
+
'CHAIR_NAME_SHORT',
|
|
13
|
+
'GITHUB_SHA',
|
|
14
|
+
'GITHUB_REF',
|
|
15
|
+
'SERVER_IMAGE_TAG',
|
|
16
|
+
'SELF_TEAM_ALLOCATION_HOST',
|
|
17
|
+
'TEMPLATE_HOST',
|
|
18
|
+
'CERTIFICATE_HOST',
|
|
19
|
+
'SENTRY_DSN_CLIENT',
|
|
20
|
+
];
|
|
21
|
+
function isEnvironment(value) {
|
|
22
|
+
return typeof value === 'string' && validEnvironments.includes(value);
|
|
23
|
+
}
|
|
24
|
+
function normalizeString(value) {
|
|
25
|
+
return typeof value === 'string' ? value : '';
|
|
26
|
+
}
|
|
27
|
+
function normalizeEnv(rawEnv) {
|
|
28
|
+
const environment = isEnvironment(rawEnv.ENVIRONMENT)
|
|
29
|
+
? rawEnv.ENVIRONMENT
|
|
30
|
+
: 'development';
|
|
31
|
+
const invalidKeys = [];
|
|
32
|
+
if (!isEnvironment(rawEnv.ENVIRONMENT)) {
|
|
33
|
+
invalidKeys.push('ENVIRONMENT');
|
|
34
|
+
}
|
|
35
|
+
const normalized = {
|
|
36
|
+
ENVIRONMENT: environment,
|
|
37
|
+
CORE_HOST: normalizeString(rawEnv.CORE_HOST),
|
|
38
|
+
INTRO_COURSE_HOST: normalizeString(rawEnv.INTRO_COURSE_HOST),
|
|
39
|
+
TEAM_ALLOCATION_HOST: normalizeString(rawEnv.TEAM_ALLOCATION_HOST),
|
|
40
|
+
ASSESSMENT_HOST: normalizeString(rawEnv.ASSESSMENT_HOST),
|
|
41
|
+
DEVOPS_CHALLENGE_HOST: normalizeString(rawEnv.DEVOPS_CHALLENGE_HOST),
|
|
42
|
+
INTERVIEW_HOST: normalizeString(rawEnv.INTERVIEW_HOST),
|
|
43
|
+
KEYCLOAK_HOST: normalizeString(rawEnv.KEYCLOAK_HOST),
|
|
44
|
+
KEYCLOAK_REALM_NAME: normalizeString(rawEnv.KEYCLOAK_REALM_NAME),
|
|
45
|
+
CHAIR_NAME_LONG: normalizeString(rawEnv.CHAIR_NAME_LONG),
|
|
46
|
+
CHAIR_NAME_SHORT: normalizeString(rawEnv.CHAIR_NAME_SHORT),
|
|
47
|
+
GITHUB_SHA: normalizeString(rawEnv.GITHUB_SHA),
|
|
48
|
+
GITHUB_REF: normalizeString(rawEnv.GITHUB_REF),
|
|
49
|
+
SERVER_IMAGE_TAG: normalizeString(rawEnv.SERVER_IMAGE_TAG),
|
|
50
|
+
SELF_TEAM_ALLOCATION_HOST: normalizeString(rawEnv.SELF_TEAM_ALLOCATION_HOST),
|
|
51
|
+
TEMPLATE_HOST: normalizeString(rawEnv.TEMPLATE_HOST),
|
|
52
|
+
CERTIFICATE_HOST: normalizeString(rawEnv.CERTIFICATE_HOST),
|
|
53
|
+
SENTRY_DSN_CLIENT: normalizeString(rawEnv.SENTRY_DSN_CLIENT),
|
|
54
|
+
};
|
|
55
|
+
for (const key of requiredKeys) {
|
|
56
|
+
if (!normalized[key]) {
|
|
57
|
+
invalidKeys.push(key);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (invalidKeys.length > 0) {
|
|
61
|
+
const message = `[prompt-shared-state] Missing or invalid env keys: ${invalidKeys.join(', ')}`;
|
|
62
|
+
if (environment === 'production') {
|
|
63
|
+
throw new Error(message);
|
|
64
|
+
}
|
|
65
|
+
console.warn(message);
|
|
66
|
+
}
|
|
67
|
+
return normalized;
|
|
68
|
+
}
|
|
69
|
+
const rawEnv = typeof window !== 'undefined' ? (window.env ?? {}) : {};
|
|
70
|
+
export const env = normalizeEnv(rawEnv);
|
|
71
|
+
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './useFileUpload';
|
|
2
|
+
export * from './useGetCoursePhase';
|
|
3
|
+
export * from './useGetCoursePhaseParticipants';
|
|
4
|
+
export * from './useGetMailingIsConfigured';
|
|
5
|
+
export * from './useModifyCoursePhase';
|
|
6
|
+
export * from './useUpdateCoursePhaseMetaData';
|
|
7
|
+
export * from './useUpdateCoursePhaseParticipation';
|
|
8
|
+
export * from './useUpdateCoursePhaseParticipationBatch';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qCAAqC,CAAA;AACnD,cAAc,0CAA0C,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useMutation } from '@tanstack/react-query';
|
|
2
|
+
import { uploadFile } from '../network/mutations/uploadFile';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
export const useFileUpload = (options) => {
|
|
5
|
+
const [uploadProgress, setUploadProgress] = useState(0);
|
|
6
|
+
const upload = useMutation({
|
|
7
|
+
mutationFn: async (params) => {
|
|
8
|
+
setUploadProgress(0);
|
|
9
|
+
return uploadFile({
|
|
10
|
+
...params,
|
|
11
|
+
onUploadProgress: (progressEvent) => {
|
|
12
|
+
const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
|
|
13
|
+
setUploadProgress(percentCompleted);
|
|
14
|
+
params.onUploadProgress?.(progressEvent);
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
onSuccess: (data) => {
|
|
19
|
+
setUploadProgress(100);
|
|
20
|
+
options?.onSuccess?.(data);
|
|
21
|
+
},
|
|
22
|
+
onError: (error) => {
|
|
23
|
+
setUploadProgress(0);
|
|
24
|
+
options?.onError?.(error);
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
return {
|
|
28
|
+
upload,
|
|
29
|
+
uploadProgress,
|
|
30
|
+
isUploading: upload.isPending,
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=useFileUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileUpload.js","sourceRoot":"","sources":["../../src/hooks/useFileUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,UAAU,EAAkC,MAAM,iCAAiC,CAAA;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAahC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAA8B,EAAuB,EAAE;IACnF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEvD,MAAM,MAAM,GAAG,WAAW,CAAwC;QAChE,UAAU,EAAE,KAAK,EAAE,MAAwB,EAAE,EAAE;YAC7C,iBAAiB,CAAC,CAAC,CAAC,CAAA;YACpB,OAAO,UAAU,CAAC;gBAChB,GAAG,MAAM;gBACT,gBAAgB,EAAE,CAAC,aAAa,EAAE,EAAE;oBAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;oBACvF,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;oBACnC,MAAM,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,CAAA;gBAC1C,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAClB,iBAAiB,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,iBAAiB,CAAC,CAAC,CAAC,CAAA;YACpB,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;KACF,CAAC,CAAA;IAEF,OAAO;QACL,MAAM;QACN,cAAc;QACd,WAAW,EAAE,MAAM,CAAC,SAAS;KAC9B,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query';
|
|
2
|
+
import { useParams } from 'react-router-dom';
|
|
3
|
+
import { getCoursePhase } from '../network/queries/getCoursePhase';
|
|
4
|
+
export const useGetCoursePhase = () => {
|
|
5
|
+
const { phaseId } = useParams();
|
|
6
|
+
return useQuery({
|
|
7
|
+
queryKey: ['course_phase', phaseId],
|
|
8
|
+
queryFn: () => getCoursePhase(phaseId ?? ''),
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=useGetCoursePhase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGetCoursePhase.js","sourceRoot":"","sources":["../../src/hooks/useGetCoursePhase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAElE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAuB,CAAA;IAEpD,OAAO,QAAQ,CAA0B;QACvC,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC;QACnC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC;KAC7C,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query';
|
|
2
|
+
import { useParams } from 'react-router-dom';
|
|
3
|
+
import { getCoursePhaseParticipations } from '../network/queries/getCoursePhaseParticipations';
|
|
4
|
+
export const useGetCoursePhaseParticipants = () => {
|
|
5
|
+
const { phaseId } = useParams();
|
|
6
|
+
return useQuery({
|
|
7
|
+
queryKey: ['participants', phaseId],
|
|
8
|
+
queryFn: () => getCoursePhaseParticipations(phaseId ?? ''),
|
|
9
|
+
enabled: !!phaseId,
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=useGetCoursePhaseParticipants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGetCoursePhaseParticipants.js","sourceRoot":"","sources":["../../src/hooks/useGetCoursePhaseParticipants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAA;AAE9F,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,EAAE;IAChD,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAuB,CAAA;IAEpD,OAAO,QAAQ,CAA0C;QACvD,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC;QACnC,OAAO,EAAE,GAAG,EAAE,CAAC,4BAA4B,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1D,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useCourseStore } from '../zustand';
|
|
2
|
+
import { useParams } from 'react-router-dom';
|
|
3
|
+
export const useGetMailingIsConfigured = () => {
|
|
4
|
+
const { courseId } = useParams();
|
|
5
|
+
const { courses } = useCourseStore();
|
|
6
|
+
const activeCourse = courses.find((course) => course.id === courseId);
|
|
7
|
+
const mailingSettings = activeCourse?.restrictedData?.mailingSettings;
|
|
8
|
+
if (mailingSettings !== undefined &&
|
|
9
|
+
typeof mailingSettings.replyToEmail === 'string' &&
|
|
10
|
+
mailingSettings.replyToEmail.trim() !== '' &&
|
|
11
|
+
typeof mailingSettings.replyToName === 'string' &&
|
|
12
|
+
mailingSettings.replyToName.trim() !== '') {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=useGetMailingIsConfigured.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGetMailingIsConfigured.js","sourceRoot":"","sources":["../../src/hooks/useGetMailingIsConfigured.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAY,EAAE;IACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAwB,CAAA;IACtD,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAA;IAErE,MAAM,eAAe,GAAG,YAAY,EAAE,cAAc,EAAE,eAAe,CAAA;IAErE,IACE,eAAe,KAAK,SAAS;QAC7B,OAAO,eAAe,CAAC,YAAY,KAAK,QAAQ;QAChD,eAAe,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE;QAC1C,OAAO,eAAe,CAAC,WAAW,KAAK,QAAQ;QAC/C,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EACzC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
2
|
+
import { useParams } from 'react-router-dom';
|
|
3
|
+
import { updateCoursePhase } from '../network/mutations/updateCoursePhase';
|
|
4
|
+
export const useModifyCoursePhase = (onSuccess, onError) => {
|
|
5
|
+
const { phaseId } = useParams();
|
|
6
|
+
const queryClient = useQueryClient();
|
|
7
|
+
return useMutation({
|
|
8
|
+
mutationFn: (coursePhase) => {
|
|
9
|
+
return updateCoursePhase(coursePhase);
|
|
10
|
+
},
|
|
11
|
+
onSuccess: () => {
|
|
12
|
+
queryClient.invalidateQueries({ queryKey: ['course_phase', phaseId] });
|
|
13
|
+
onSuccess();
|
|
14
|
+
},
|
|
15
|
+
onError: () => {
|
|
16
|
+
onError();
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=useModifyCoursePhase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useModifyCoursePhase.js","sourceRoot":"","sources":["../../src/hooks/useModifyCoursePhase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAqB,EAAE,OAAmB,EAAE,EAAE;IACjF,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAuB,CAAA;IACpD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,CAAC,WAA8B,EAAE,EAAE;YAC7C,OAAO,iBAAiB,CAAC,WAAW,CAAC,CAAA;QACvC,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YACtE,SAAS,EAAE,CAAA;QACb,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,EAAE,CAAA;QACX,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
2
|
+
import { useParams } from 'react-router-dom';
|
|
3
|
+
import { updateCoursePhase } from '../network/mutations/updateCoursePhase';
|
|
4
|
+
export const useUpdateCoursePhaseMetaData = () => {
|
|
5
|
+
const { phaseId } = useParams();
|
|
6
|
+
const queryClient = useQueryClient();
|
|
7
|
+
const mutation = useMutation({
|
|
8
|
+
mutationFn: (coursePhase) => {
|
|
9
|
+
return updateCoursePhase(coursePhase);
|
|
10
|
+
},
|
|
11
|
+
// Optimistically update cache before server responds
|
|
12
|
+
onMutate: async (newCoursePhaseData) => {
|
|
13
|
+
// Cancel any outgoing refetches to prevent overwriting optimistic update
|
|
14
|
+
await queryClient.cancelQueries({ queryKey: ['course_phase', phaseId] });
|
|
15
|
+
// Snapshot the previous value for rollback
|
|
16
|
+
const previousCoursePhase = queryClient.getQueryData([
|
|
17
|
+
'course_phase',
|
|
18
|
+
phaseId,
|
|
19
|
+
]);
|
|
20
|
+
// Optimistically update cache with new data
|
|
21
|
+
if (previousCoursePhase) {
|
|
22
|
+
queryClient.setQueryData(['course_phase', phaseId], {
|
|
23
|
+
...previousCoursePhase,
|
|
24
|
+
restrictedData: {
|
|
25
|
+
...previousCoursePhase.restrictedData,
|
|
26
|
+
...newCoursePhaseData.restrictedData,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return { previousCoursePhase };
|
|
31
|
+
},
|
|
32
|
+
onSuccess: () => {
|
|
33
|
+
// Refetch to ensure data is in sync with server
|
|
34
|
+
queryClient.invalidateQueries({ queryKey: ['course_phase', phaseId] });
|
|
35
|
+
// Cross-invalidate participants cache as they need updated questions
|
|
36
|
+
queryClient.invalidateQueries({ queryKey: ['participants', phaseId] });
|
|
37
|
+
},
|
|
38
|
+
onError: (error, _newCoursePhase, context) => {
|
|
39
|
+
// Rollback on error
|
|
40
|
+
if (context?.previousCoursePhase) {
|
|
41
|
+
queryClient.setQueryData(['course_phase', phaseId], context.previousCoursePhase);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
return mutation;
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=useUpdateCoursePhaseMetaData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUpdateCoursePhaseMetaData.js","sourceRoot":"","sources":["../../src/hooks/useUpdateCoursePhaseMetaData.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAO1E,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAK1C,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAuB,CAAA;IACpD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,MAAM,QAAQ,GAAG,WAAW,CAAgE;QAC1F,UAAU,EAAE,CAAC,WAA8B,EAAE,EAAE;YAC7C,OAAO,iBAAiB,CAAC,WAAW,CAAC,CAAA;QACvC,CAAC;QACD,qDAAqD;QACrD,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE;YACrC,yEAAyE;YACzE,MAAM,WAAW,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YAExE,2CAA2C;YAC3C,MAAM,mBAAmB,GAAG,WAAW,CAAC,YAAY,CAA0B;gBAC5E,cAAc;gBACd,OAAO;aACR,CAAC,CAAA;YAEF,4CAA4C;YAC5C,IAAI,mBAAmB,EAAE,CAAC;gBACxB,WAAW,CAAC,YAAY,CAA0B,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE;oBAC3E,GAAG,mBAAmB;oBACtB,cAAc,EAAE;wBACd,GAAG,mBAAmB,CAAC,cAAc;wBACrC,GAAG,kBAAkB,CAAC,cAAc;qBACrC;iBACF,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,EAAE,mBAAmB,EAAE,CAAA;QAChC,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,gDAAgD;YAChD,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YACtE,qEAAqE;YACrE,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QACxE,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE;YAC3C,oBAAoB;YACpB,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAC;gBACjC,WAAW,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;YAClF,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
2
|
+
import { useParams } from 'react-router-dom';
|
|
3
|
+
import { updateCoursePhaseParticipation } from '../network/mutations/updateCoursePhaseParticipationMetaData';
|
|
4
|
+
export const useUpdateCoursePhaseParticipation = () => {
|
|
5
|
+
const { phaseId } = useParams();
|
|
6
|
+
const queryClient = useQueryClient();
|
|
7
|
+
const mutation = useMutation({
|
|
8
|
+
mutationFn: (coursePhaseParticipation) => {
|
|
9
|
+
return updateCoursePhaseParticipation(coursePhaseParticipation);
|
|
10
|
+
},
|
|
11
|
+
// Optimistically update cache before server responds
|
|
12
|
+
onMutate: async (newParticipationData) => {
|
|
13
|
+
// Cancel any outgoing refetches
|
|
14
|
+
await queryClient.cancelQueries({ queryKey: ['participants', phaseId] });
|
|
15
|
+
// Snapshot the previous value
|
|
16
|
+
const previousParticipants = queryClient.getQueryData(['participants', phaseId]);
|
|
17
|
+
const applyParticipationUpdate = (participants) => participants.map((participant) => {
|
|
18
|
+
if (participant.courseParticipationID === newParticipationData.courseParticipationID) {
|
|
19
|
+
return {
|
|
20
|
+
...participant,
|
|
21
|
+
passStatus: newParticipationData.passStatus ?? participant.passStatus,
|
|
22
|
+
restrictedData: {
|
|
23
|
+
...participant.restrictedData,
|
|
24
|
+
...newParticipationData.restrictedData,
|
|
25
|
+
},
|
|
26
|
+
studentReadableData: {
|
|
27
|
+
...participant.studentReadableData,
|
|
28
|
+
...newParticipationData.studentReadableData,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return participant;
|
|
33
|
+
});
|
|
34
|
+
// Optimistically update the specific participation
|
|
35
|
+
if (previousParticipants) {
|
|
36
|
+
if (Array.isArray(previousParticipants)) {
|
|
37
|
+
queryClient.setQueryData(['participants', phaseId], applyParticipationUpdate(previousParticipants));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
queryClient.setQueryData(['participants', phaseId], {
|
|
41
|
+
...previousParticipants,
|
|
42
|
+
participations: applyParticipationUpdate(previousParticipants.participations ?? []),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return { previousParticipants };
|
|
47
|
+
},
|
|
48
|
+
onError: (error, _newParticipation, context) => {
|
|
49
|
+
// Rollback on error
|
|
50
|
+
if (context?.previousParticipants) {
|
|
51
|
+
queryClient.setQueryData(['participants', phaseId], context.previousParticipants);
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
onSettled: () => {
|
|
55
|
+
// Re-sync with server to ensure cache reflects the true state after success or error
|
|
56
|
+
queryClient.invalidateQueries({ queryKey: ['participants', phaseId] });
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
return mutation;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=useUpdateCoursePhaseParticipation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUpdateCoursePhaseParticipation.js","sourceRoot":"","sources":["../../src/hooks/useUpdateCoursePhaseParticipation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAM5C,OAAO,EAAE,8BAA8B,EAAE,MAAM,6DAA6D,CAAA;AAQ5G,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAK/C,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAuB,CAAA;IACpD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,MAAM,QAAQ,GAAG,WAAW,CAK1B;QACA,UAAU,EAAE,CAAC,wBAAwD,EAAE,EAAE;YACvE,OAAO,8BAA8B,CAAC,wBAAwB,CAAC,CAAA;QACjE,CAAC;QACD,qDAAqD;QACrD,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE;YACvC,gCAAgC;YAChC,MAAM,WAAW,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YAExE,8BAA8B;YAC9B,MAAM,oBAAoB,GAAG,WAAW,CAAC,YAAY,CAEnD,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;YAE5B,MAAM,wBAAwB,GAAG,CAC/B,YAAmD,EACZ,EAAE,CACzC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC/B,IAAI,WAAW,CAAC,qBAAqB,KAAK,oBAAoB,CAAC,qBAAqB,EAAE,CAAC;oBACrF,OAAO;wBACL,GAAG,WAAW;wBACd,UAAU,EAAE,oBAAoB,CAAC,UAAU,IAAI,WAAW,CAAC,UAAU;wBACrE,cAAc,EAAE;4BACd,GAAG,WAAW,CAAC,cAAc;4BAC7B,GAAG,oBAAoB,CAAC,cAAc;yBACvC;wBACD,mBAAmB,EAAE;4BACnB,GAAG,WAAW,CAAC,mBAAmB;4BAClC,GAAG,oBAAoB,CAAC,mBAAmB;yBAC5C;qBACF,CAAA;gBACH,CAAC;gBAED,OAAO,WAAW,CAAA;YACpB,CAAC,CAAC,CAAA;YAEJ,mDAAmD;YACnD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,IAAI,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBACxC,WAAW,CAAC,YAAY,CACtB,CAAC,cAAc,EAAE,OAAO,CAAC,EACzB,wBAAwB,CAAC,oBAAoB,CAAC,CAC/C,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE;wBAClD,GAAG,oBAAoB;wBACvB,cAAc,EAAE,wBAAwB,CAAC,oBAAoB,CAAC,cAAc,IAAI,EAAE,CAAC;qBACpF,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,EAAE,oBAAoB,EAAE,CAAA;QACjC,CAAC;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE;YAC7C,oBAAoB;YACpB,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;gBAClC,WAAW,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;YACnF,CAAC;QACH,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,qFAAqF;YACrF,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QACxE,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
2
|
+
import { useParams } from 'react-router-dom';
|
|
3
|
+
import { updateCoursePhaseParticipationBatch } from '../network/mutations/updateCoursePhaseParticipationBatch';
|
|
4
|
+
export const useUpdateCoursePhaseParticipationBatch = () => {
|
|
5
|
+
const { phaseId } = useParams();
|
|
6
|
+
const queryClient = useQueryClient();
|
|
7
|
+
const mutation = useMutation({
|
|
8
|
+
mutationFn: (coursePhaseParticipations) => {
|
|
9
|
+
return updateCoursePhaseParticipationBatch(phaseId ?? '', coursePhaseParticipations);
|
|
10
|
+
},
|
|
11
|
+
onSuccess: () => {
|
|
12
|
+
queryClient.invalidateQueries({ queryKey: ['participants', phaseId] });
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
return mutation;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=useUpdateCoursePhaseParticipationBatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUpdateCoursePhaseParticipationBatch.js","sourceRoot":"","sources":["../../src/hooks/useUpdateCoursePhaseParticipationBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,mCAAmC,EAAE,MAAM,0DAA0D,CAAA;AAE9G,MAAM,CAAC,MAAM,sCAAsC,GAAG,GAKpD,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAuB,CAAA;IACpD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,yBAA2D,EAAE,EAAE;YAC1E,OAAO,mCAAmC,CAAC,OAAO,IAAI,EAAE,EAAE,yBAAyB,CAAC,CAAA;QACtF,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QACxE,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
|
package/dist/interfaces/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extendedRouteObject.js","sourceRoot":"","sources":["../../../src/interfaces/routing/extendedRouteObject.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/routing/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../src/interfaces/routing/sidebar.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studentDetail.js","sourceRoot":"","sources":["../../../src/interfaces/routing/studentDetail.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const formatFileSize = (bytes) => {
|
|
2
|
+
if (!bytes)
|
|
3
|
+
return '0 Bytes';
|
|
4
|
+
const k = 1024;
|
|
5
|
+
const sizes = ['Bytes', 'KB', 'MB', 'GB'];
|
|
6
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
7
|
+
return `${Math.round((bytes / Math.pow(k, i)) * 100) / 100} ${sizes[i]}`;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=formatFileSize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatFileSize.js","sourceRoot":"","sources":["../../src/lib/formatFileSize.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,CAAC,GAAG,IAAI,CAAA;IACd,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACzC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAC1E,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Getting the list of countries
|
|
2
|
+
import countries from 'i18n-iso-countries';
|
|
3
|
+
import enLocale from 'i18n-iso-countries/langs/en.json';
|
|
4
|
+
countries.registerLocale(enLocale);
|
|
5
|
+
export const countriesArr = Object.entries(countries.getNames('en', { select: 'alias' })).map(([key, value]) => {
|
|
6
|
+
return {
|
|
7
|
+
label: value,
|
|
8
|
+
value: key,
|
|
9
|
+
};
|
|
10
|
+
});
|
|
11
|
+
// Getting the name of the country by its code
|
|
12
|
+
export const getCountryName = (code) => {
|
|
13
|
+
return countriesArr.find((country) => country.value === code)?.label;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=getCountries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCountries.js","sourceRoot":"","sources":["../../src/lib/getCountries.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,SAAS,MAAM,oBAAoB,CAAA;AAC1C,OAAO,QAAQ,MAAM,kCAAkC,CAAA;AAEvD,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;AAClC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAC3F,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;IACf,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,GAAG;KACX,CAAA;AACH,CAAC,CACF,CAAA;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAsB,EAAE;IACjE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,KAAK,CAAA;AACtE,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { sha256 } from 'js-sha256';
|
|
2
|
+
export const getGravatarUrl = (email, size) => {
|
|
3
|
+
const requestedSize = size ?? 200;
|
|
4
|
+
const hash = sha256(email.trim().toLowerCase());
|
|
5
|
+
return `https://www.gravatar.com/avatar/${hash}?d=identicon&s=${requestedSize}`;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=getGravatarUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getGravatarUrl.js","sourceRoot":"","sources":["../../src/lib/getGravatarUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,IAAa,EAAE,EAAE;IAC7D,MAAM,aAAa,GAAG,IAAI,IAAI,GAAG,CAAA;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;IAE/C,OAAO,mCAAmC,IAAI,kBAAkB,aAAa,EAAE,CAAA;AACjF,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PassStatus } from '../interfaces';
|
|
2
|
+
export const getStatusColor = (assessmentStatus) => {
|
|
3
|
+
switch (assessmentStatus) {
|
|
4
|
+
case PassStatus.PASSED:
|
|
5
|
+
return 'bg-green-500 dark:bg-green-700';
|
|
6
|
+
case PassStatus.FAILED:
|
|
7
|
+
return 'bg-red-500 dark:bg-red-700';
|
|
8
|
+
case PassStatus.NOT_ASSESSED:
|
|
9
|
+
default:
|
|
10
|
+
return 'bg-gray-500 dark:bg-gray-700';
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=getStatusColor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getStatusColor.js","sourceRoot":"","sources":["../../src/lib/getStatusColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,gBAA4B,EAAE,EAAE;IAC7D,QAAQ,gBAAgB,EAAE,CAAC;QACzB,KAAK,UAAU,CAAC,MAAM;YACpB,OAAO,gCAAgC,CAAA;QACzC,KAAK,UAAU,CAAC,MAAM;YACpB,OAAO,4BAA4B,CAAA;QACrC,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B;YACE,OAAO,8BAA8B,CAAA;IACzC,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './formatFileSize';
|
|
2
|
+
export * from './getCountries';
|
|
3
|
+
export * from './getGravatarUrl';
|
|
4
|
+
export * from './getStatusColor';
|
|
5
|
+
export * from './openFileDownload';
|
|
6
|
+
export { default as translations } from './translations.json';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const openFileDownload = async ({ downloadUrl, fileName, }) => {
|
|
2
|
+
if (!downloadUrl) {
|
|
3
|
+
console.error('No download URL available for this file.');
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
const link = document.createElement('a');
|
|
7
|
+
link.href = downloadUrl;
|
|
8
|
+
link.target = '_blank';
|
|
9
|
+
link.rel = 'noopener noreferrer';
|
|
10
|
+
if (fileName) {
|
|
11
|
+
link.download = fileName;
|
|
12
|
+
}
|
|
13
|
+
document.body.appendChild(link);
|
|
14
|
+
link.click();
|
|
15
|
+
link.remove();
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=openFileDownload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openFileDownload.js","sourceRoot":"","sources":["../../src/lib/openFileDownload.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,WAAW,EACX,QAAQ,GACe,EAAiB,EAAE;IAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACzD,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;IACvB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;IACtB,IAAI,CAAC,GAAG,GAAG,qBAAqB,CAAA;IAChC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAA;IACZ,IAAI,CAAC,MAAM,EAAE,CAAA;AACf,CAAC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"university": {
|
|
3
|
+
"name": "TUM",
|
|
4
|
+
"login-name": "TUM-ID",
|
|
5
|
+
"matriculationNumberRegex": "^0\\d{7}$",
|
|
6
|
+
"matriculationExample": "0xxxxxxx",
|
|
7
|
+
"universityLoginRegex": "^[a-zA-Z]{2}\\d{2}[a-zA-Z]{3}$",
|
|
8
|
+
"universityLoginExample": "ab12cde",
|
|
9
|
+
"studyPrograms": ["Computer Science", "Information Systems", "Games Engineering", "Management and Technology"],
|
|
10
|
+
"studyProgramShortNames": {
|
|
11
|
+
"Computer Science": "CS",
|
|
12
|
+
"Information Systems": "IS",
|
|
13
|
+
"Games Engineering": "GE",
|
|
14
|
+
"Management and Technology": "M&T",
|
|
15
|
+
"Other": "Other"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// TODO rewrite this as context provider and re-integrate it into the shared library
|
|
2
|
+
import axios from 'axios';
|
|
3
|
+
import { env } from '../env';
|
|
4
|
+
import { parseURL } from '../utils/parseURL';
|
|
5
|
+
const getServerBaseUrl = () => parseURL(env.CORE_HOST || '');
|
|
6
|
+
const authenticatedAxiosInstance = axios.create();
|
|
7
|
+
authenticatedAxiosInstance.interceptors.request.use((config) => {
|
|
8
|
+
config.baseURL = getServerBaseUrl();
|
|
9
|
+
if (typeof localStorage !== 'undefined') {
|
|
10
|
+
const token = localStorage.getItem('jwt_token');
|
|
11
|
+
if (token) {
|
|
12
|
+
config.headers['Authorization'] = `Bearer ${token}`;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return config;
|
|
16
|
+
});
|
|
17
|
+
const notAuthenticatedAxiosInstance = axios.create();
|
|
18
|
+
notAuthenticatedAxiosInstance.interceptors.request.use((config) => {
|
|
19
|
+
config.baseURL = getServerBaseUrl();
|
|
20
|
+
return config;
|
|
21
|
+
});
|
|
22
|
+
export { authenticatedAxiosInstance as axiosInstance, notAuthenticatedAxiosInstance };
|
|
23
|
+
//# sourceMappingURL=configService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configService.js","sourceRoot":"","sources":["../../src/network/configService.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,MAAM,gBAAgB,GAAG,GAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;AAQpE,MAAM,0BAA0B,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;AAEjD,0BAA0B,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IAC7D,MAAM,CAAC,OAAO,GAAG,gBAAgB,EAAE,CAAA;IAEnC,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAE/C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;QACrD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAA;AAEF,MAAM,6BAA6B,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;AAEpD,6BAA6B,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IAChE,MAAM,CAAC,OAAO,GAAG,gBAAgB,EAAE,CAAA;IACnC,OAAO,MAAM,CAAA;AACf,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,0BAA0B,IAAI,aAAa,EAAE,6BAA6B,EAAE,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './configService';
|
|
2
|
+
export * from './mutations/deleteApplicationFile';
|
|
3
|
+
export * from './mutations/sendStatusMail';
|
|
4
|
+
export * from './mutations/updateCoursePhase';
|
|
5
|
+
export * from './mutations/updateCoursePhaseParticipationBatch';
|
|
6
|
+
export * from './mutations/updateCoursePhaseParticipationMetaData';
|
|
7
|
+
export * from './mutations/uploadFile';
|
|
8
|
+
export * from './queries/getCoursePhase';
|
|
9
|
+
export * from './queries/getCoursePhaseParticipationStatusCounts';
|
|
10
|
+
export * from './queries/getCoursePhaseParticipations';
|
|
11
|
+
export * from './queries/getOwnCoursePhaseParticipation';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mCAAmC,CAAA;AACjD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iDAAiD,CAAA;AAC/D,cAAc,oDAAoD,CAAA;AAClE,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mDAAmD,CAAA;AACjE,cAAc,wCAAwC,CAAA;AACtD,cAAc,0CAA0C,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
const getSanitizedErrorDetails = (err) => {
|
|
3
|
+
if (axios.isAxiosError(err)) {
|
|
4
|
+
return {
|
|
5
|
+
status: err.response?.status,
|
|
6
|
+
message: err.message,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
if (err instanceof Error) {
|
|
10
|
+
return {
|
|
11
|
+
message: err.message,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
message: 'Unknown error',
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export const logNetworkError = (message, err) => {
|
|
19
|
+
console.error(message, getSanitizedErrorDetails(err));
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=logNetworkError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logNetworkError.js","sourceRoot":"","sources":["../../src/network/logNetworkError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,MAAM,wBAAwB,GAAG,CAAC,GAAY,EAAyB,EAAE;IACvE,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAA;IACH,CAAC;IAED,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,eAAe;KACzB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,GAAY,EAAQ,EAAE;IACrE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAA;AACvD,CAAC,CAAA"}
|