added viewing all availabilities in events view
This commit is contained in:
@@ -48,7 +48,7 @@ type EventWithAvailabilities struct {
|
||||
}
|
||||
|
||||
type EventWithAssignmentsUserAvailability struct {
|
||||
EventWithAssignments
|
||||
EventWithAvailabilities
|
||||
Availability *int `json:"availability" db:"availabilityID"`
|
||||
}
|
||||
|
||||
@@ -71,10 +71,10 @@ func (e EventData) WithAssignments() (EventWithAssignments, error) {
|
||||
}
|
||||
}
|
||||
|
||||
func (e EventWithAssignments) WithUserAvailability(userName string) (EventWithAssignmentsUserAvailability, error) {
|
||||
func (e EventWithAvailabilities) WithUserAvailability(userName string) (EventWithAssignmentsUserAvailability, error) {
|
||||
// get the availability of the user
|
||||
event := EventWithAssignmentsUserAvailability{
|
||||
EventWithAssignments: e,
|
||||
EventWithAvailabilities: e,
|
||||
}
|
||||
|
||||
if err := db.DB.Select(&event, "SELECT availabilityID FROM USER_AVAILABILITIES WHERE eventID = $1 AND userName = $2", e.EventID, userName); err != nil {
|
||||
|
||||
@@ -130,11 +130,11 @@ func (userName UserName) WithUserAvailability() ([]events.EventWithAssignmentsUs
|
||||
} else {
|
||||
// get the assignments for every event
|
||||
for ii, event := range events {
|
||||
if eventWithAssignments, err := event.EventWithAssignments.EventData.WithAssignments(); err != nil {
|
||||
if eventWithAssignments, err := event.EventWithAssignments.EventData.WithAvailabilities(); err != nil {
|
||||
// remove the current event from the events
|
||||
events = append(events[:ii], events[ii+1:]...)
|
||||
} else {
|
||||
events[ii].EventWithAssignments = eventWithAssignments
|
||||
events[ii].EventWithAvailabilities = eventWithAssignments
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,17 +80,12 @@ func (a *Handler) getEventsAssignments() {
|
||||
}
|
||||
|
||||
func (a *Handler) getEventsAvailabilities() {
|
||||
// check for admin
|
||||
if !a.Admin {
|
||||
a.Status = fiber.StatusForbidden
|
||||
} else {
|
||||
if events, err := events.WithAvailabilities(); err != nil {
|
||||
a.Status = fiber.StatusInternalServerError
|
||||
if events, err := events.WithAvailabilities(); err != nil {
|
||||
a.Status = fiber.StatusInternalServerError
|
||||
|
||||
logger.Error().Msgf("can't retrieve events with availabilities: %v", err)
|
||||
} else {
|
||||
a.Data = events
|
||||
}
|
||||
logger.Error().Msgf("can't retrieve events with availabilities: %v", err)
|
||||
} else {
|
||||
a.Data = events
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user