@silexpert/core 0.4.254 → 0.4.255

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/es/api/resources/CalendarEvent.d.ts +2 -1
  2. package/es/api/resources/CalendarEvent.d.ts.map +1 -1
  3. package/es/api/resources/CalendarEvent.js +3 -0
  4. package/es/api/resources/CalendarEvent.js.map +1 -1
  5. package/es/types/Enum/BrandPourcentage.js +1 -1
  6. package/es/types/Enum/BrandPourcentage.js.map +1 -1
  7. package/es/types/Interface/api/calendarEvent/verifyCalendarEvent.d.ts +6 -0
  8. package/es/types/Interface/api/calendarEvent/verifyCalendarEvent.d.ts.map +1 -0
  9. package/es/types/Interface/api/calendarEvent/verifyCalendarEvent.js +2 -0
  10. package/es/types/Interface/api/calendarEvent/verifyCalendarEvent.js.map +1 -0
  11. package/es/types/index.d.ts +1 -0
  12. package/es/types/index.d.ts.map +1 -1
  13. package/es/types/index.js +1 -0
  14. package/es/types/index.js.map +1 -1
  15. package/es/utils/date.d.ts.map +1 -1
  16. package/es/utils/date.js +36 -0
  17. package/es/utils/date.js.map +1 -1
  18. package/js/api/resources/CalendarEvent.js +4 -0
  19. package/js/api/resources/CalendarEvent.js.map +1 -1
  20. package/js/types/Enum/BrandPourcentage.js +1 -1
  21. package/js/types/Enum/BrandPourcentage.js.map +1 -1
  22. package/js/types/Interface/api/calendarEvent/verifyCalendarEvent.js +6 -0
  23. package/js/types/Interface/api/calendarEvent/verifyCalendarEvent.js.map +1 -0
  24. package/js/types/index.js +12 -0
  25. package/js/types/index.js.map +1 -1
  26. package/js/utils/date.js +34 -0
  27. package/js/utils/date.js.map +1 -1
  28. package/package.json +1 -1
  29. package/ts/api/resources/CalendarEvent.ts +5 -1
  30. package/ts/types/Enum/BrandPourcentage.ts +1 -1
  31. package/ts/types/Interface/api/calendarEvent/verifyCalendarEvent.ts +6 -0
  32. package/ts/types/index.ts +1 -0
  33. package/ts/utils/date.ts +34 -0
package/ts/utils/date.ts CHANGED
@@ -26,6 +26,40 @@ export function putIntervalBetweenOtherInterval(customPayload: DateInterval, lis
26
26
  // on check si les horaires de l'event sont dans les horaires du collab sinon on les fait commencer à l'heure à laquelle il s'est connecté
27
27
  res.dateStart = !((dateToCompareStart - dateStart) >= 0 && (dateToCompareStart - dateEnd) <= 0) ? new Date(dateStart) : new Date(dateToCompareStart);
28
28
  res.dateEnd = !((dateToCompareEnd - dateStart) >= 0 && (dateToCompareEnd - dateEnd) <= 0) ? new Date(dateEnd) : new Date(dateToCompareEnd);
29
+ } else if (!hoursOfPeriod?.length) {
30
+ const hoursDiff = [];
31
+ // parcours de la liste des heures de connexions
32
+ for (let i = 0; i < listHours.length; i += 1) {
33
+ // ajout de la différence entre la date de début de notre événement et la date de début de notre période
34
+ hoursDiff.push({
35
+ id: i,
36
+ start: true,
37
+ end: false,
38
+ diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].startTime}`).getTime()),
39
+ });
40
+ // ajout de la différence entre la date de début de notre événement et la date de fin de notre période
41
+ hoursDiff.push({
42
+ id: i,
43
+ start: false,
44
+ end: true,
45
+ diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].endTime}`).getTime()),
46
+ });
47
+ }
48
+ // tri de la liste par différence
49
+ hoursDiff.sort((a, b) => a.diff - b.diff);
50
+ // si proche de la date de début :
51
+ // date de début event = date de début période
52
+ // date de fin event = date de début période + 1 heure
53
+ if (hoursDiff[0].start) {
54
+ res.dateStart = new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`);
55
+ res.dateEnd = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`).getTime() + 3600000);
56
+ // si proche de la date de fin :
57
+ // date de début event = date de fin période - 1 heure
58
+ // date de fin event = date de fin période
59
+ } else if (hoursDiff[0].end) {
60
+ res.dateStart = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`).getTime() - 3600000);
61
+ res.dateEnd = new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`);
62
+ }
29
63
  }
30
64
  }
31
65
  return res;