added filter to don't show past events by default
This commit is contained in:
@@ -217,10 +217,18 @@ func Update(event EventPatch) error {
|
||||
}
|
||||
}
|
||||
|
||||
func All() ([]EventData, error) {
|
||||
func All(args ...string) ([]EventData, error) {
|
||||
var since string
|
||||
|
||||
if len(args) > 0 && args[0] != "" {
|
||||
since = args[0]
|
||||
} else {
|
||||
since = "0000-00-00"
|
||||
}
|
||||
|
||||
var dbRows []EventData
|
||||
|
||||
if err := db.DB.Select(&dbRows, "SELECT * FROM EVENTS ORDER BY date"); err != nil {
|
||||
if err := db.DB.Select(&dbRows, "SELECT * FROM EVENTS WHERE date >= $1 ORDER BY date", since); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
return dbRows, nil
|
||||
@@ -246,9 +254,9 @@ func WithAssignments() ([]EventWithAssignments, error) {
|
||||
}
|
||||
}
|
||||
|
||||
func WithAvailabilities() ([]EventWithAvailabilities, error) {
|
||||
func WithAvailabilities(since string) ([]EventWithAvailabilities, error) {
|
||||
// get all events
|
||||
if eventsDB, err := All(); err != nil {
|
||||
if eventsDB, err := All(since); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
events := make([]EventWithAvailabilities, len(eventsDB))
|
||||
|
||||
@@ -122,10 +122,18 @@ func (u *UserDB) ToUser() (User, error) {
|
||||
}
|
||||
}
|
||||
|
||||
func (userName UserName) WithUserAvailability() ([]events.EventWithAssignmentsUserAvailability, error) {
|
||||
func (userName UserName) WithUserAvailability(args ...string) ([]events.EventWithAssignmentsUserAvailability, error) {
|
||||
var since string
|
||||
|
||||
if len(args) > 0 && args[0] != "" {
|
||||
since = args[0]
|
||||
} else {
|
||||
since = "0000-00-00"
|
||||
}
|
||||
|
||||
var events []events.EventWithAssignmentsUserAvailability
|
||||
|
||||
if err := db.DB.Select(&events, "SELECT EVENTS.eventID, EVENTS.description, EVENTS.date, USER_AVAILABILITIES.availabilityID FROM EVENTS LEFT JOIN USER_AVAILABILITIES ON EVENTS.eventID = USER_AVAILABILITIES.eventID AND USER_AVAILABILITIES.userName = $1 ORDER BY date", userName); err != nil {
|
||||
if err := db.DB.Select(&events, "SELECT EVENTS.eventID, EVENTS.description, EVENTS.date, USER_AVAILABILITIES.availabilityID FROM EVENTS LEFT JOIN USER_AVAILABILITIES ON EVENTS.eventID = USER_AVAILABILITIES.eventID AND USER_AVAILABILITIES.userName = $1 WHERE EVENTS.date >= $2 ORDER BY date", userName, since); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
// get the assignments for every event
|
||||
|
||||
@@ -80,7 +80,10 @@ func (a *Handler) getEventsAssignments() {
|
||||
}
|
||||
|
||||
func (a *Handler) getEventsAvailabilities() {
|
||||
if events, err := events.WithAvailabilities(); err != nil {
|
||||
// get the "since"-query-parameter
|
||||
since := a.C.Query("since")
|
||||
|
||||
if events, err := events.WithAvailabilities(since); err != nil {
|
||||
a.Status = fiber.StatusInternalServerError
|
||||
|
||||
logger.Error().Msgf("can't retrieve events with availabilities: %v", err)
|
||||
@@ -91,7 +94,7 @@ func (a *Handler) getEventsAvailabilities() {
|
||||
|
||||
func (a *Handler) getEventUserAssignmentAvailability() {
|
||||
// retrieve the assignments
|
||||
if events, err := a.UserName.WithUserAvailability(); err != nil {
|
||||
if events, err := a.UserName.WithUserAvailability(a.C.Query("since")); err != nil {
|
||||
a.Status = fiber.StatusBadRequest
|
||||
|
||||
logger.Info().Msgf("getting events with tasks and user-availability failed: %v", err)
|
||||
|
||||
@@ -6,12 +6,7 @@ import (
|
||||
)
|
||||
|
||||
func (a *Handler) getUsers() {
|
||||
// check admin
|
||||
if !a.Admin {
|
||||
a.Status = fiber.StatusForbidden
|
||||
|
||||
logger.Info().Msgf("user is no admin")
|
||||
} else if users, err := users.Get(); err != nil {
|
||||
if users, err := users.Get(); err != nil {
|
||||
a.Status = fiber.StatusInternalServerError
|
||||
|
||||
logger.Error().Msgf("can't get users: %v", err)
|
||||
|
||||
Reference in New Issue
Block a user