/* This file is a part of the SteamWar software. Copyright (C) 2020 SteamWar.de-Serverteam This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package de.steamwar.sql; import de.steamwar.sql.internal.Field; import de.steamwar.sql.internal.SelectStatement; import de.steamwar.sql.internal.Table; import lombok.AllArgsConstructor; import lombok.Getter; import java.sql.Timestamp; @AllArgsConstructor public class Event { private static final Table table = new Table<>(Event.class); private static final SelectStatement byId = table.select(Table.PRIMARY); public static Event get(int eventID){ return byId.select(eventID); } @Getter @Field(keys = {Table.PRIMARY}, autoincrement = true) private final int eventID; @Getter @Field(keys = {"eventName"}) private final String eventName; @Getter @Field private final Timestamp deadline; @Getter @Field private final Timestamp start; @Getter @Field private final Timestamp end; @Getter @Field private final int maximumTeamMembers; @Field(nullable = true) private final SchematicType schemType; @Field private final boolean publicSchemsOnly; @Field private final boolean spectateSystem; public boolean publicSchemsOnly() { return publicSchemsOnly; } public boolean spectateSystem(){ return spectateSystem; } public SchematicType getSchematicType() { return schemType; } }