Skip to content

Commit

Permalink
Fixed event hidden and shareable overridden with defaults on every up…
Browse files Browse the repository at this point in the history
…date

Removed done todo
  • Loading branch information
Alf-Melmac committed Oct 21, 2021
1 parent 1b42b6c commit 8430dc3
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 11 deletions.
5 changes: 3 additions & 2 deletions src/main/java/de/webalf/slotbot/assembler/EventAssembler.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import java.time.LocalDateTime;

import static de.webalf.slotbot.util.BooleanUtils.parseBoolean;
import static de.webalf.slotbot.util.GuildUtils.GUILD_PLACEHOLDER;

/**
Expand All @@ -24,8 +25,8 @@ public static Event fromDto(EventDto dto) {

return Event.builder()
.id(dto.getId())
.hidden(dto.isHidden())
.shareable(dto.isShareable())
.hidden(parseBoolean(dto.getHidden(), false))
.shareable(parseBoolean(dto.getShareable(), false))
.name(dto.getName().trim())
.dateTime(LocalDateTime.of(dto.getDate(), dto.getStartTime()))
.creator(dto.getCreator().trim())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ public EventDetailsDto toDto(@NonNull Event event) {
public EventEditDto toEditDto(@NonNull Event event) {
final LocalDateTime dateTime = event.getDateTime();

//TODO check if shareable can be changed (prevent if other guild already added event)
return EventEditDto.builder()
.id(event.getId())
.hidden(event.isHidden())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,9 @@
@Data
@SuperBuilder
public abstract class AbstractEventDto extends AbstractIdEntityDto {
@Builder.Default
private boolean hidden = false;
private Boolean hidden;

@Builder.Default
private boolean shareable = false;
private Boolean shareable;

@NotBlank
@Size(max = TEXT)
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/de/webalf/slotbot/service/EventService.java
Original file line number Diff line number Diff line change
Expand Up @@ -205,8 +205,8 @@ public long getGuildIdByEventId(long eventId) {
public Event updateEvent(@NonNull AbstractEventDto dto) {
Event event = findById(dto.getId());

DtoUtils.ifPresent(dto.isHidden(), event::setHidden);
DtoUtils.ifPresent(dto.isShareable(), event::setShareable);
DtoUtils.ifPresent(dto.getHidden(), event::setHidden);
DtoUtils.ifPresent(dto.getShareable(), event::setShareable);
DtoUtils.ifPresent(dto.getName(), event::setName);
DtoUtils.ifPresent(dto.getDate(), event::setDate);
DtoUtils.ifPresent(dto.getStartTime(), event::setTime);
Expand Down
21 changes: 21 additions & 0 deletions src/main/java/de/webalf/slotbot/util/BooleanUtils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package de.webalf.slotbot.util;

import lombok.experimental.UtilityClass;

/**
* @author Alf
* @since 21.10.2021
*/
@UtilityClass
public final class BooleanUtils {
/**
* Parse Boolean that can handle null bools. Returns {@code fallback} if null
*
* @param b Boolean to parse
* @param fallback to use if b is null
* @return Boolean converted to boolean or fallback if Boolean was null
*/
public static boolean parseBoolean(Boolean b, boolean fallback) {
return b != null ? b : fallback;
}
}
4 changes: 2 additions & 2 deletions src/main/java/de/webalf/slotbot/util/EventUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ static boolean apiReadAccessAllowed(boolean shareable, boolean hidden, long owne
* @see #apiReadAccessAllowed(boolean, boolean, long)
*/
public static void assertApiReadAccess(@NonNull AbstractEventDto eventDto) throws ForbiddenException {
if (!apiReadAccessAllowed(eventDto.isShareable(), eventDto.isHidden(), Long.parseLong(eventDto.getOwnerGuild()))) {
if (!apiReadAccessAllowed(eventDto.getShareable(), eventDto.getHidden(), Long.parseLong(eventDto.getOwnerGuild()))) {
throw new ForbiddenException("Not allowed to read here.");
}
}
Expand Down Expand Up @@ -128,7 +128,7 @@ public static MessageEmbed buildDetailsEmbed(@NonNull EventApiDto event) {
.setFooter(event.getEventType().getName() + " Mission von " + event.getCreator())
.setTimestamp(Instant.now());

if (event.isHidden()) {
if (event.getHidden()) {
embedBuilder.setImage("https://cdn.discordapp.com/attachments/759147249325572097/789151354920632330/hidden_event.jpg");
}

Expand Down

0 comments on commit 8430dc3

Please sign in to comment.