-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ISSUE-1255 Implement JMAP CalendarEventCounter/accept method #1624
base: master
Are you sure you want to change the base?
Conversation
import org.apache.james.core.Username; | ||
import org.reactivestreams.Publisher; | ||
|
||
public interface CalendarEventRepository extends EventAttendanceRepository { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hesitated about whether to rename EventAttendanceRepository
to CalendarEventRepository
, or instead, keep EventAttendanceRepository
(dedicated to attendance status logic) and create a new CalendarEventRepository
that extends it.
And I a bit tend slightly towards the second approach.
- To generate update calendar event based on proposed start and end dates.
…itory - Rename StandaloneEventAttendanceRepository to StandaloneEventRepository - Rename CalDavEventAttendanceRepository to CalDavEventRepository
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall I am very pleased with this quality work and only have some minor comments on error handling
val newCalendar = originalCalendar.copy() | ||
val vEvent = newCalendar.getComponent[VEvent](Component.VEVENT).get() | ||
validator.accept(vEvent) | ||
updateEvent(vEvent, newStartDate, newEndDate) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please confirm me, double checking RFC if needed, that counter only can update start and end and no other property of the event.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have check RFC 5546 #section-3.2.7 and related examples,
but the RFC does not exactly list fields should be updated from COUNTER.
I have gathered scattered pieces of information mentioned in the RFC:
- DTSTART, DTEND (implemented)
- LOCATION, ATTENDEE (not yet implemented in this PR)
I checked the linagora openpaas, we right now only support propose (DTSTART, DTEND)
Which choice should it be?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can likely start with start+end but we may create an enhancement, (timeboxed) to support updates on other fields as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I created a ticket for it: #1630
resolve #1255