using FastEndpoints; using ECPDAL.Meeting.DTOs; using GB5Shared.DTO.Framework.Criteria; namespace ECPSL.Meeting.Parameters; public record GetMeetingParameters( [property: FromHeader] string Login, [property: QueryParam] int MeetingId ); /// CriteriaDTO accepted for convention-consistency with every other GetSelectList* /// endpoint; unused today since MGCM's meeting-type list has nothing yet to filter by. public record GetSelectListMeetingParameters( [property: FromHeader] string Login, [property: FromBody] CriteriaDTO? CriteriaDTO ); /// Generic filter list — see IMeetingDAL.GetMeetingListAsync for the supported /// FieldName/OperationType combinations (OrganizerUserId, ParticipantUserId, StartOn/EndOn range, /// MeetingTypeId, Status, ObjectTypeId/ObjectId). CriteriaDTO may be null/empty for no filter. public record GetMeetingListParameters( [property: FromHeader] string Login, [property: FromBody] CriteriaDTO? CriteriaDTO ); public record SaveMeetingParameters( [property: FromHeader] string Login, [property: FromBody] SaveMeetingDTO Meeting ); public record UpdateMeetingStatusParameters( [property: FromHeader] string Login, [property: FromBody] UpdateMeetingStatusDTO MeetingStatus ); public record DeleteMeetingParameters( [property: FromHeader] string Login, [property: QueryParam] int MeetingId ); public record AddMeetingParticipantParameters( [property: FromHeader] string Login, [property: FromBody] AddMeetingParticipantDTO Participant ); public record UpdateParticipantAttendanceParameters( [property: FromHeader] string Login, [property: FromBody] UpdateParticipantAttendanceDTO Attendance ); public record RemoveMeetingParticipantParameters( [property: FromHeader] string Login, [property: QueryParam] int MeetingId, [property: QueryParam] int UserId ); public record GetMeetingDetailsParameters( [property: FromHeader] string Login, [property: QueryParam] int MeetingId, [property: QueryParam] int UserId ); public record GetMeetingDetailsListParameters( [property: FromHeader] string Login, [property: QueryParam] int MeetingId ); /// CriteriaDTO accepted for convention-consistency with every other GetSelectList* /// endpoint; unused today — this picker's scope is fixed to "not already a participant". public record GetSelectListMeetingDetailsParameters( [property: FromHeader] string Login, [property: QueryParam] int MeetingId, [property: FromBody] CriteriaDTO? CriteriaDTO );