diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 7ccad6e..c411677 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/build.gradle b/build.gradle
index c81d311..d2f0e02 100644
--- a/build.gradle
+++ b/build.gradle
@@ -22,7 +22,7 @@ apply plugin: 'java'
apply plugin: 'maven-publish'
group = 'de.jottyfan'
-version = '2024.10.23'
+version = '2024.10.24'
description = """COJooq"""
diff --git a/src/main/java/de/jottyfan/camporganizer/db/jooq/Public.java b/src/main/java/de/jottyfan/camporganizer/db/jooq/Public.java
index 5782bc1..f75a346 100644
--- a/src/main/java/de/jottyfan/camporganizer/db/jooq/Public.java
+++ b/src/main/java/de/jottyfan/camporganizer/db/jooq/Public.java
@@ -20,6 +20,7 @@ import de.jottyfan.camporganizer.db.jooq.tables.TSalescontent;
import de.jottyfan.camporganizer.db.jooq.tables.TSalescontenttype;
import de.jottyfan.camporganizer.db.jooq.tables.VAdult;
import de.jottyfan.camporganizer.db.jooq.tables.VBudget;
+import de.jottyfan.camporganizer.db.jooq.tables.VCamp;
import de.jottyfan.camporganizer.db.jooq.tables.VCampBudget;
import de.jottyfan.camporganizer.db.jooq.tables.VCampBudgetYear;
import de.jottyfan.camporganizer.db.jooq.tables.VCampdocument;
@@ -133,6 +134,11 @@ public class Public extends SchemaImpl {
*/
public final VBudget V_BUDGET = VBudget.V_BUDGET;
+ /**
+ * The table public.v_camp
.
+ */
+ public final VCamp V_CAMP = VCamp.V_CAMP;
+
/**
* The table public.v_camp_budget
.
*/
@@ -220,6 +226,7 @@ public class Public extends SchemaImpl {
TSalescontenttype.T_SALESCONTENTTYPE,
VAdult.V_ADULT,
VBudget.V_BUDGET,
+ VCamp.V_CAMP,
VCampBudget.V_CAMP_BUDGET,
VCampBudgetYear.V_CAMP_BUDGET_YEAR,
VCampdocument.V_CAMPDOCUMENT,
diff --git a/src/main/java/de/jottyfan/camporganizer/db/jooq/Tables.java b/src/main/java/de/jottyfan/camporganizer/db/jooq/Tables.java
index cfcab25..6bbf4e2 100644
--- a/src/main/java/de/jottyfan/camporganizer/db/jooq/Tables.java
+++ b/src/main/java/de/jottyfan/camporganizer/db/jooq/Tables.java
@@ -20,6 +20,7 @@ import de.jottyfan.camporganizer.db.jooq.tables.TSalescontent;
import de.jottyfan.camporganizer.db.jooq.tables.TSalescontenttype;
import de.jottyfan.camporganizer.db.jooq.tables.VAdult;
import de.jottyfan.camporganizer.db.jooq.tables.VBudget;
+import de.jottyfan.camporganizer.db.jooq.tables.VCamp;
import de.jottyfan.camporganizer.db.jooq.tables.VCampBudget;
import de.jottyfan.camporganizer.db.jooq.tables.VCampBudgetYear;
import de.jottyfan.camporganizer.db.jooq.tables.VCampdocument;
@@ -119,6 +120,11 @@ public class Tables {
*/
public static final VBudget V_BUDGET = VBudget.V_BUDGET;
+ /**
+ * The table public.v_camp
.
+ */
+ public static final VCamp V_CAMP = VCamp.V_CAMP;
+
/**
* The table public.v_camp_budget
.
*/
diff --git a/src/main/java/de/jottyfan/camporganizer/db/jooq/tables/VCamp.java b/src/main/java/de/jottyfan/camporganizer/db/jooq/tables/VCamp.java
new file mode 100644
index 0000000..ae6ea9e
--- /dev/null
+++ b/src/main/java/de/jottyfan/camporganizer/db/jooq/tables/VCamp.java
@@ -0,0 +1,351 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package de.jottyfan.camporganizer.db.jooq.tables;
+
+
+import de.jottyfan.camporganizer.db.jooq.Public;
+import de.jottyfan.camporganizer.db.jooq.tables.records.VCampRecord;
+
+import java.time.LocalDateTime;
+import java.util.Collection;
+
+import org.jooq.Condition;
+import org.jooq.Field;
+import org.jooq.Name;
+import org.jooq.PlainSQL;
+import org.jooq.QueryPart;
+import org.jooq.SQL;
+import org.jooq.Schema;
+import org.jooq.Select;
+import org.jooq.Stringly;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
+public class VCamp extends TableImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * The reference instance of public.v_camp
+ */
+ public static final VCamp V_CAMP = new VCamp();
+
+ /**
+ * The class holding records for this type
+ */
+ @Override
+ public Class getRecordType() {
+ return VCampRecord.class;
+ }
+
+ /**
+ * The column public.v_camp.pk
.
+ */
+ public final TableField PK = createField(DSL.name("pk"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column public.v_camp.is_over
.
+ */
+ public final TableField IS_OVER = createField(DSL.name("is_over"), SQLDataType.BOOLEAN, this, "");
+
+ /**
+ * The column public.v_camp.name
.
+ */
+ public final TableField NAME = createField(DSL.name("name"), SQLDataType.CLOB, this, "");
+
+ /**
+ * The column public.v_camp.arrive
.
+ */
+ public final TableField ARRIVE = createField(DSL.name("arrive"), SQLDataType.LOCALDATETIME(6), this, "");
+
+ /**
+ * The column public.v_camp.depart
.
+ */
+ public final TableField DEPART = createField(DSL.name("depart"), SQLDataType.LOCALDATETIME(6), this, "");
+
+ /**
+ * The column public.v_camp.year
.
+ */
+ public final TableField YEAR = createField(DSL.name("year"), SQLDataType.DOUBLE, this, "");
+
+ /**
+ * The column public.v_camp.location_name
.
+ */
+ public final TableField LOCATION_NAME = createField(DSL.name("location_name"), SQLDataType.CLOB, this, "");
+
+ /**
+ * The column public.v_camp.min_age
.
+ */
+ public final TableField MIN_AGE = createField(DSL.name("min_age"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column public.v_camp.max_age
.
+ */
+ public final TableField MAX_AGE = createField(DSL.name("max_age"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column public.v_camp.url
.
+ */
+ public final TableField URL = createField(DSL.name("url"), SQLDataType.CLOB, this, "");
+
+ /**
+ * The column public.v_camp.price
.
+ */
+ public final TableField PRICE = createField(DSL.name("price"), SQLDataType.CLOB, this, "");
+
+ /**
+ * The column public.v_camp.countries
.
+ */
+ public final TableField COUNTRIES = createField(DSL.name("countries"), SQLDataType.CLOB, this, "");
+
+ /**
+ * The column public.v_camp.fk_document
.
+ */
+ public final TableField FK_DOCUMENT = createField(DSL.name("fk_document"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column public.v_camp.beds_female
.
+ */
+ public final TableField BEDS_FEMALE = createField(DSL.name("beds_female"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column public.v_camp.beds_male
.
+ */
+ public final TableField BEDS_MALE = createField(DSL.name("beds_male"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column public.v_camp.blocked_beds_female
.
+ */
+ public final TableField BLOCKED_BEDS_FEMALE = createField(DSL.name("blocked_beds_female"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column public.v_camp.blocked_beds_male
.
+ */
+ public final TableField BLOCKED_BEDS_MALE = createField(DSL.name("blocked_beds_male"), SQLDataType.INTEGER, this, "");
+
+ /**
+ * The column public.v_camp.used_beds_male
.
+ */
+ public final TableField USED_BEDS_MALE = createField(DSL.name("used_beds_male"), SQLDataType.BIGINT, this, "");
+
+ /**
+ * The column public.v_camp.used_beds_female
.
+ */
+ public final TableField USED_BEDS_FEMALE = createField(DSL.name("used_beds_female"), SQLDataType.BIGINT, this, "");
+
+ /**
+ * The column public.v_camp.start_booking
.
+ */
+ public final TableField START_BOOKING = createField(DSL.name("start_booking"), SQLDataType.LOCALDATETIME(6), this, "");
+
+ /**
+ * The column public.v_camp.booking_has_started
.
+ */
+ public final TableField BOOKING_HAS_STARTED = createField(DSL.name("booking_has_started"), SQLDataType.BOOLEAN, this, "");
+
+ private VCamp(Name alias, Table aliased) {
+ this(alias, aliased, (Field>[]) null, null);
+ }
+
+ private VCamp(Name alias, Table aliased, Field>[] parameters, Condition where) {
+ super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.view("""
+ create view "v_camp" as WITH female(used, fk_camp) AS (
+ SELECT count(1) AS count,
+ t_person.fk_camp
+ FROM t_person
+ WHERE ((t_person.progress = 'approved'::enum_progress) AND (t_person.sex = 'female'::enum_sex) AND (t_person.camprole = 'student'::enum_camprole))
+ GROUP BY t_person.fk_camp
+ ), male(used, fk_camp) AS (
+ SELECT count(1) AS count,
+ t_person.fk_camp
+ FROM t_person
+ WHERE ((t_person.progress = 'approved'::enum_progress) AND (t_person.sex = 'male'::enum_sex) AND (t_person.camprole = 'student'::enum_camprole))
+ GROUP BY t_person.fk_camp
+ )
+ SELECT c.pk,
+ (c.depart < now()) AS is_over,
+ c.name,
+ c.arrive,
+ c.depart,
+ date_part('isoyear'::text, c.arrive) AS year,
+ l.name AS location_name,
+ c.min_age,
+ c.max_age,
+ l.url,
+ c.price,
+ c.countries,
+ c.fk_document,
+ c.beds_female,
+ c.beds_male,
+ c.blocked_beds_female,
+ c.blocked_beds_male,
+ COALESCE(male.used, (0)::bigint) AS used_beds_male,
+ COALESCE(female.used, (0)::bigint) AS used_beds_female,
+ c.start_booking,
+ (c.start_booking < now()) AS booking_has_started
+ FROM (((t_camp c
+ LEFT JOIN t_location l ON ((c.fk_location = l.pk)))
+ LEFT JOIN male ON ((male.fk_camp = c.pk)))
+ LEFT JOIN female ON ((female.fk_camp = c.pk)));
+ """), where);
+ }
+
+ /**
+ * Create an aliased public.v_camp
table reference
+ */
+ public VCamp(String alias) {
+ this(DSL.name(alias), V_CAMP);
+ }
+
+ /**
+ * Create an aliased public.v_camp
table reference
+ */
+ public VCamp(Name alias) {
+ this(alias, V_CAMP);
+ }
+
+ /**
+ * Create a public.v_camp
table reference
+ */
+ public VCamp() {
+ this(DSL.name("v_camp"), null);
+ }
+
+ @Override
+ public Schema getSchema() {
+ return aliased() ? null : Public.PUBLIC;
+ }
+
+ @Override
+ public VCamp as(String alias) {
+ return new VCamp(DSL.name(alias), this);
+ }
+
+ @Override
+ public VCamp as(Name alias) {
+ return new VCamp(alias, this);
+ }
+
+ @Override
+ public VCamp as(Table> alias) {
+ return new VCamp(alias.getQualifiedName(), this);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public VCamp rename(String name) {
+ return new VCamp(DSL.name(name), null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public VCamp rename(Name name) {
+ return new VCamp(name, null);
+ }
+
+ /**
+ * Rename this table
+ */
+ @Override
+ public VCamp rename(Table> name) {
+ return new VCamp(name.getQualifiedName(), null);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public VCamp where(Condition condition) {
+ return new VCamp(getQualifiedName(), aliased() ? this : null, null, condition);
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public VCamp where(Collection extends Condition> conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public VCamp where(Condition... conditions) {
+ return where(DSL.and(conditions));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public VCamp where(Field condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public VCamp where(SQL condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public VCamp where(@Stringly.SQL String condition) {
+ return where(DSL.condition(condition));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public VCamp where(@Stringly.SQL String condition, Object... binds) {
+ return where(DSL.condition(condition, binds));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ @PlainSQL
+ public VCamp where(@Stringly.SQL String condition, QueryPart... parts) {
+ return where(DSL.condition(condition, parts));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public VCamp whereExists(Select> select) {
+ return where(DSL.exists(select));
+ }
+
+ /**
+ * Create an inline derived table from this table
+ */
+ @Override
+ public VCamp whereNotExists(Select> select) {
+ return where(DSL.notExists(select));
+ }
+}
diff --git a/src/main/java/de/jottyfan/camporganizer/db/jooq/tables/pojos/VCamp.java b/src/main/java/de/jottyfan/camporganizer/db/jooq/tables/pojos/VCamp.java
new file mode 100644
index 0000000..4bed2a5
--- /dev/null
+++ b/src/main/java/de/jottyfan/camporganizer/db/jooq/tables/pojos/VCamp.java
@@ -0,0 +1,453 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package de.jottyfan.camporganizer.db.jooq.tables.pojos;
+
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
+public class VCamp implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ private final Integer pk;
+ private final Boolean isOver;
+ private final String name;
+ private final LocalDateTime arrive;
+ private final LocalDateTime depart;
+ private final Double year;
+ private final String locationName;
+ private final Integer minAge;
+ private final Integer maxAge;
+ private final String url;
+ private final String price;
+ private final String countries;
+ private final Integer fkDocument;
+ private final Integer bedsFemale;
+ private final Integer bedsMale;
+ private final Integer blockedBedsFemale;
+ private final Integer blockedBedsMale;
+ private final Long usedBedsMale;
+ private final Long usedBedsFemale;
+ private final LocalDateTime startBooking;
+ private final Boolean bookingHasStarted;
+
+ public VCamp(VCamp value) {
+ this.pk = value.pk;
+ this.isOver = value.isOver;
+ this.name = value.name;
+ this.arrive = value.arrive;
+ this.depart = value.depart;
+ this.year = value.year;
+ this.locationName = value.locationName;
+ this.minAge = value.minAge;
+ this.maxAge = value.maxAge;
+ this.url = value.url;
+ this.price = value.price;
+ this.countries = value.countries;
+ this.fkDocument = value.fkDocument;
+ this.bedsFemale = value.bedsFemale;
+ this.bedsMale = value.bedsMale;
+ this.blockedBedsFemale = value.blockedBedsFemale;
+ this.blockedBedsMale = value.blockedBedsMale;
+ this.usedBedsMale = value.usedBedsMale;
+ this.usedBedsFemale = value.usedBedsFemale;
+ this.startBooking = value.startBooking;
+ this.bookingHasStarted = value.bookingHasStarted;
+ }
+
+ public VCamp(
+ Integer pk,
+ Boolean isOver,
+ String name,
+ LocalDateTime arrive,
+ LocalDateTime depart,
+ Double year,
+ String locationName,
+ Integer minAge,
+ Integer maxAge,
+ String url,
+ String price,
+ String countries,
+ Integer fkDocument,
+ Integer bedsFemale,
+ Integer bedsMale,
+ Integer blockedBedsFemale,
+ Integer blockedBedsMale,
+ Long usedBedsMale,
+ Long usedBedsFemale,
+ LocalDateTime startBooking,
+ Boolean bookingHasStarted
+ ) {
+ this.pk = pk;
+ this.isOver = isOver;
+ this.name = name;
+ this.arrive = arrive;
+ this.depart = depart;
+ this.year = year;
+ this.locationName = locationName;
+ this.minAge = minAge;
+ this.maxAge = maxAge;
+ this.url = url;
+ this.price = price;
+ this.countries = countries;
+ this.fkDocument = fkDocument;
+ this.bedsFemale = bedsFemale;
+ this.bedsMale = bedsMale;
+ this.blockedBedsFemale = blockedBedsFemale;
+ this.blockedBedsMale = blockedBedsMale;
+ this.usedBedsMale = usedBedsMale;
+ this.usedBedsFemale = usedBedsFemale;
+ this.startBooking = startBooking;
+ this.bookingHasStarted = bookingHasStarted;
+ }
+
+ /**
+ * Getter for public.v_camp.pk
.
+ */
+ public Integer getPk() {
+ return this.pk;
+ }
+
+ /**
+ * Getter for public.v_camp.is_over
.
+ */
+ public Boolean getIsOver() {
+ return this.isOver;
+ }
+
+ /**
+ * Getter for public.v_camp.name
.
+ */
+ public String getName() {
+ return this.name;
+ }
+
+ /**
+ * Getter for public.v_camp.arrive
.
+ */
+ public LocalDateTime getArrive() {
+ return this.arrive;
+ }
+
+ /**
+ * Getter for public.v_camp.depart
.
+ */
+ public LocalDateTime getDepart() {
+ return this.depart;
+ }
+
+ /**
+ * Getter for public.v_camp.year
.
+ */
+ public Double getYear() {
+ return this.year;
+ }
+
+ /**
+ * Getter for public.v_camp.location_name
.
+ */
+ public String getLocationName() {
+ return this.locationName;
+ }
+
+ /**
+ * Getter for public.v_camp.min_age
.
+ */
+ public Integer getMinAge() {
+ return this.minAge;
+ }
+
+ /**
+ * Getter for public.v_camp.max_age
.
+ */
+ public Integer getMaxAge() {
+ return this.maxAge;
+ }
+
+ /**
+ * Getter for public.v_camp.url
.
+ */
+ public String getUrl() {
+ return this.url;
+ }
+
+ /**
+ * Getter for public.v_camp.price
.
+ */
+ public String getPrice() {
+ return this.price;
+ }
+
+ /**
+ * Getter for public.v_camp.countries
.
+ */
+ public String getCountries() {
+ return this.countries;
+ }
+
+ /**
+ * Getter for public.v_camp.fk_document
.
+ */
+ public Integer getFkDocument() {
+ return this.fkDocument;
+ }
+
+ /**
+ * Getter for public.v_camp.beds_female
.
+ */
+ public Integer getBedsFemale() {
+ return this.bedsFemale;
+ }
+
+ /**
+ * Getter for public.v_camp.beds_male
.
+ */
+ public Integer getBedsMale() {
+ return this.bedsMale;
+ }
+
+ /**
+ * Getter for public.v_camp.blocked_beds_female
.
+ */
+ public Integer getBlockedBedsFemale() {
+ return this.blockedBedsFemale;
+ }
+
+ /**
+ * Getter for public.v_camp.blocked_beds_male
.
+ */
+ public Integer getBlockedBedsMale() {
+ return this.blockedBedsMale;
+ }
+
+ /**
+ * Getter for public.v_camp.used_beds_male
.
+ */
+ public Long getUsedBedsMale() {
+ return this.usedBedsMale;
+ }
+
+ /**
+ * Getter for public.v_camp.used_beds_female
.
+ */
+ public Long getUsedBedsFemale() {
+ return this.usedBedsFemale;
+ }
+
+ /**
+ * Getter for public.v_camp.start_booking
.
+ */
+ public LocalDateTime getStartBooking() {
+ return this.startBooking;
+ }
+
+ /**
+ * Getter for public.v_camp.booking_has_started
.
+ */
+ public Boolean getBookingHasStarted() {
+ return this.bookingHasStarted;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ final VCamp other = (VCamp) obj;
+ if (this.pk == null) {
+ if (other.pk != null)
+ return false;
+ }
+ else if (!this.pk.equals(other.pk))
+ return false;
+ if (this.isOver == null) {
+ if (other.isOver != null)
+ return false;
+ }
+ else if (!this.isOver.equals(other.isOver))
+ return false;
+ if (this.name == null) {
+ if (other.name != null)
+ return false;
+ }
+ else if (!this.name.equals(other.name))
+ return false;
+ if (this.arrive == null) {
+ if (other.arrive != null)
+ return false;
+ }
+ else if (!this.arrive.equals(other.arrive))
+ return false;
+ if (this.depart == null) {
+ if (other.depart != null)
+ return false;
+ }
+ else if (!this.depart.equals(other.depart))
+ return false;
+ if (this.year == null) {
+ if (other.year != null)
+ return false;
+ }
+ else if (!this.year.equals(other.year))
+ return false;
+ if (this.locationName == null) {
+ if (other.locationName != null)
+ return false;
+ }
+ else if (!this.locationName.equals(other.locationName))
+ return false;
+ if (this.minAge == null) {
+ if (other.minAge != null)
+ return false;
+ }
+ else if (!this.minAge.equals(other.minAge))
+ return false;
+ if (this.maxAge == null) {
+ if (other.maxAge != null)
+ return false;
+ }
+ else if (!this.maxAge.equals(other.maxAge))
+ return false;
+ if (this.url == null) {
+ if (other.url != null)
+ return false;
+ }
+ else if (!this.url.equals(other.url))
+ return false;
+ if (this.price == null) {
+ if (other.price != null)
+ return false;
+ }
+ else if (!this.price.equals(other.price))
+ return false;
+ if (this.countries == null) {
+ if (other.countries != null)
+ return false;
+ }
+ else if (!this.countries.equals(other.countries))
+ return false;
+ if (this.fkDocument == null) {
+ if (other.fkDocument != null)
+ return false;
+ }
+ else if (!this.fkDocument.equals(other.fkDocument))
+ return false;
+ if (this.bedsFemale == null) {
+ if (other.bedsFemale != null)
+ return false;
+ }
+ else if (!this.bedsFemale.equals(other.bedsFemale))
+ return false;
+ if (this.bedsMale == null) {
+ if (other.bedsMale != null)
+ return false;
+ }
+ else if (!this.bedsMale.equals(other.bedsMale))
+ return false;
+ if (this.blockedBedsFemale == null) {
+ if (other.blockedBedsFemale != null)
+ return false;
+ }
+ else if (!this.blockedBedsFemale.equals(other.blockedBedsFemale))
+ return false;
+ if (this.blockedBedsMale == null) {
+ if (other.blockedBedsMale != null)
+ return false;
+ }
+ else if (!this.blockedBedsMale.equals(other.blockedBedsMale))
+ return false;
+ if (this.usedBedsMale == null) {
+ if (other.usedBedsMale != null)
+ return false;
+ }
+ else if (!this.usedBedsMale.equals(other.usedBedsMale))
+ return false;
+ if (this.usedBedsFemale == null) {
+ if (other.usedBedsFemale != null)
+ return false;
+ }
+ else if (!this.usedBedsFemale.equals(other.usedBedsFemale))
+ return false;
+ if (this.startBooking == null) {
+ if (other.startBooking != null)
+ return false;
+ }
+ else if (!this.startBooking.equals(other.startBooking))
+ return false;
+ if (this.bookingHasStarted == null) {
+ if (other.bookingHasStarted != null)
+ return false;
+ }
+ else if (!this.bookingHasStarted.equals(other.bookingHasStarted))
+ return false;
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((this.pk == null) ? 0 : this.pk.hashCode());
+ result = prime * result + ((this.isOver == null) ? 0 : this.isOver.hashCode());
+ result = prime * result + ((this.name == null) ? 0 : this.name.hashCode());
+ result = prime * result + ((this.arrive == null) ? 0 : this.arrive.hashCode());
+ result = prime * result + ((this.depart == null) ? 0 : this.depart.hashCode());
+ result = prime * result + ((this.year == null) ? 0 : this.year.hashCode());
+ result = prime * result + ((this.locationName == null) ? 0 : this.locationName.hashCode());
+ result = prime * result + ((this.minAge == null) ? 0 : this.minAge.hashCode());
+ result = prime * result + ((this.maxAge == null) ? 0 : this.maxAge.hashCode());
+ result = prime * result + ((this.url == null) ? 0 : this.url.hashCode());
+ result = prime * result + ((this.price == null) ? 0 : this.price.hashCode());
+ result = prime * result + ((this.countries == null) ? 0 : this.countries.hashCode());
+ result = prime * result + ((this.fkDocument == null) ? 0 : this.fkDocument.hashCode());
+ result = prime * result + ((this.bedsFemale == null) ? 0 : this.bedsFemale.hashCode());
+ result = prime * result + ((this.bedsMale == null) ? 0 : this.bedsMale.hashCode());
+ result = prime * result + ((this.blockedBedsFemale == null) ? 0 : this.blockedBedsFemale.hashCode());
+ result = prime * result + ((this.blockedBedsMale == null) ? 0 : this.blockedBedsMale.hashCode());
+ result = prime * result + ((this.usedBedsMale == null) ? 0 : this.usedBedsMale.hashCode());
+ result = prime * result + ((this.usedBedsFemale == null) ? 0 : this.usedBedsFemale.hashCode());
+ result = prime * result + ((this.startBooking == null) ? 0 : this.startBooking.hashCode());
+ result = prime * result + ((this.bookingHasStarted == null) ? 0 : this.bookingHasStarted.hashCode());
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("VCamp (");
+
+ sb.append(pk);
+ sb.append(", ").append(isOver);
+ sb.append(", ").append(name);
+ sb.append(", ").append(arrive);
+ sb.append(", ").append(depart);
+ sb.append(", ").append(year);
+ sb.append(", ").append(locationName);
+ sb.append(", ").append(minAge);
+ sb.append(", ").append(maxAge);
+ sb.append(", ").append(url);
+ sb.append(", ").append(price);
+ sb.append(", ").append(countries);
+ sb.append(", ").append(fkDocument);
+ sb.append(", ").append(bedsFemale);
+ sb.append(", ").append(bedsMale);
+ sb.append(", ").append(blockedBedsFemale);
+ sb.append(", ").append(blockedBedsMale);
+ sb.append(", ").append(usedBedsMale);
+ sb.append(", ").append(usedBedsFemale);
+ sb.append(", ").append(startBooking);
+ sb.append(", ").append(bookingHasStarted);
+
+ sb.append(")");
+ return sb.toString();
+ }
+}
diff --git a/src/main/java/de/jottyfan/camporganizer/db/jooq/tables/records/VCampRecord.java b/src/main/java/de/jottyfan/camporganizer/db/jooq/tables/records/VCampRecord.java
new file mode 100644
index 0000000..05ea24d
--- /dev/null
+++ b/src/main/java/de/jottyfan/camporganizer/db/jooq/tables/records/VCampRecord.java
@@ -0,0 +1,409 @@
+/*
+ * This file is generated by jOOQ.
+ */
+package de.jottyfan.camporganizer.db.jooq.tables.records;
+
+
+import de.jottyfan.camporganizer.db.jooq.tables.VCamp;
+
+import java.time.LocalDateTime;
+
+import org.jooq.impl.TableRecordImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
+public class VCampRecord extends TableRecordImpl {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Setter for public.v_camp.pk
.
+ */
+ public VCampRecord setPk(Integer value) {
+ set(0, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.pk
.
+ */
+ public Integer getPk() {
+ return (Integer) get(0);
+ }
+
+ /**
+ * Setter for public.v_camp.is_over
.
+ */
+ public VCampRecord setIsOver(Boolean value) {
+ set(1, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.is_over
.
+ */
+ public Boolean getIsOver() {
+ return (Boolean) get(1);
+ }
+
+ /**
+ * Setter for public.v_camp.name
.
+ */
+ public VCampRecord setName(String value) {
+ set(2, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.name
.
+ */
+ public String getName() {
+ return (String) get(2);
+ }
+
+ /**
+ * Setter for public.v_camp.arrive
.
+ */
+ public VCampRecord setArrive(LocalDateTime value) {
+ set(3, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.arrive
.
+ */
+ public LocalDateTime getArrive() {
+ return (LocalDateTime) get(3);
+ }
+
+ /**
+ * Setter for public.v_camp.depart
.
+ */
+ public VCampRecord setDepart(LocalDateTime value) {
+ set(4, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.depart
.
+ */
+ public LocalDateTime getDepart() {
+ return (LocalDateTime) get(4);
+ }
+
+ /**
+ * Setter for public.v_camp.year
.
+ */
+ public VCampRecord setYear(Double value) {
+ set(5, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.year
.
+ */
+ public Double getYear() {
+ return (Double) get(5);
+ }
+
+ /**
+ * Setter for public.v_camp.location_name
.
+ */
+ public VCampRecord setLocationName(String value) {
+ set(6, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.location_name
.
+ */
+ public String getLocationName() {
+ return (String) get(6);
+ }
+
+ /**
+ * Setter for public.v_camp.min_age
.
+ */
+ public VCampRecord setMinAge(Integer value) {
+ set(7, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.min_age
.
+ */
+ public Integer getMinAge() {
+ return (Integer) get(7);
+ }
+
+ /**
+ * Setter for public.v_camp.max_age
.
+ */
+ public VCampRecord setMaxAge(Integer value) {
+ set(8, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.max_age
.
+ */
+ public Integer getMaxAge() {
+ return (Integer) get(8);
+ }
+
+ /**
+ * Setter for public.v_camp.url
.
+ */
+ public VCampRecord setUrl(String value) {
+ set(9, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.url
.
+ */
+ public String getUrl() {
+ return (String) get(9);
+ }
+
+ /**
+ * Setter for public.v_camp.price
.
+ */
+ public VCampRecord setPrice(String value) {
+ set(10, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.price
.
+ */
+ public String getPrice() {
+ return (String) get(10);
+ }
+
+ /**
+ * Setter for public.v_camp.countries
.
+ */
+ public VCampRecord setCountries(String value) {
+ set(11, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.countries
.
+ */
+ public String getCountries() {
+ return (String) get(11);
+ }
+
+ /**
+ * Setter for public.v_camp.fk_document
.
+ */
+ public VCampRecord setFkDocument(Integer value) {
+ set(12, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.fk_document
.
+ */
+ public Integer getFkDocument() {
+ return (Integer) get(12);
+ }
+
+ /**
+ * Setter for public.v_camp.beds_female
.
+ */
+ public VCampRecord setBedsFemale(Integer value) {
+ set(13, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.beds_female
.
+ */
+ public Integer getBedsFemale() {
+ return (Integer) get(13);
+ }
+
+ /**
+ * Setter for public.v_camp.beds_male
.
+ */
+ public VCampRecord setBedsMale(Integer value) {
+ set(14, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.beds_male
.
+ */
+ public Integer getBedsMale() {
+ return (Integer) get(14);
+ }
+
+ /**
+ * Setter for public.v_camp.blocked_beds_female
.
+ */
+ public VCampRecord setBlockedBedsFemale(Integer value) {
+ set(15, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.blocked_beds_female
.
+ */
+ public Integer getBlockedBedsFemale() {
+ return (Integer) get(15);
+ }
+
+ /**
+ * Setter for public.v_camp.blocked_beds_male
.
+ */
+ public VCampRecord setBlockedBedsMale(Integer value) {
+ set(16, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.blocked_beds_male
.
+ */
+ public Integer getBlockedBedsMale() {
+ return (Integer) get(16);
+ }
+
+ /**
+ * Setter for public.v_camp.used_beds_male
.
+ */
+ public VCampRecord setUsedBedsMale(Long value) {
+ set(17, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.used_beds_male
.
+ */
+ public Long getUsedBedsMale() {
+ return (Long) get(17);
+ }
+
+ /**
+ * Setter for public.v_camp.used_beds_female
.
+ */
+ public VCampRecord setUsedBedsFemale(Long value) {
+ set(18, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.used_beds_female
.
+ */
+ public Long getUsedBedsFemale() {
+ return (Long) get(18);
+ }
+
+ /**
+ * Setter for public.v_camp.start_booking
.
+ */
+ public VCampRecord setStartBooking(LocalDateTime value) {
+ set(19, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.start_booking
.
+ */
+ public LocalDateTime getStartBooking() {
+ return (LocalDateTime) get(19);
+ }
+
+ /**
+ * Setter for public.v_camp.booking_has_started
.
+ */
+ public VCampRecord setBookingHasStarted(Boolean value) {
+ set(20, value);
+ return this;
+ }
+
+ /**
+ * Getter for public.v_camp.booking_has_started
.
+ */
+ public Boolean getBookingHasStarted() {
+ return (Boolean) get(20);
+ }
+
+ // -------------------------------------------------------------------------
+ // Constructors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Create a detached VCampRecord
+ */
+ public VCampRecord() {
+ super(VCamp.V_CAMP);
+ }
+
+ /**
+ * Create a detached, initialised VCampRecord
+ */
+ public VCampRecord(Integer pk, Boolean isOver, String name, LocalDateTime arrive, LocalDateTime depart, Double year, String locationName, Integer minAge, Integer maxAge, String url, String price, String countries, Integer fkDocument, Integer bedsFemale, Integer bedsMale, Integer blockedBedsFemale, Integer blockedBedsMale, Long usedBedsMale, Long usedBedsFemale, LocalDateTime startBooking, Boolean bookingHasStarted) {
+ super(VCamp.V_CAMP);
+
+ setPk(pk);
+ setIsOver(isOver);
+ setName(name);
+ setArrive(arrive);
+ setDepart(depart);
+ setYear(year);
+ setLocationName(locationName);
+ setMinAge(minAge);
+ setMaxAge(maxAge);
+ setUrl(url);
+ setPrice(price);
+ setCountries(countries);
+ setFkDocument(fkDocument);
+ setBedsFemale(bedsFemale);
+ setBedsMale(bedsMale);
+ setBlockedBedsFemale(blockedBedsFemale);
+ setBlockedBedsMale(blockedBedsMale);
+ setUsedBedsMale(usedBedsMale);
+ setUsedBedsFemale(usedBedsFemale);
+ setStartBooking(startBooking);
+ setBookingHasStarted(bookingHasStarted);
+ resetChangedOnNotNull();
+ }
+
+ /**
+ * Create a detached, initialised VCampRecord
+ */
+ public VCampRecord(de.jottyfan.camporganizer.db.jooq.tables.pojos.VCamp value) {
+ super(VCamp.V_CAMP);
+
+ if (value != null) {
+ setPk(value.getPk());
+ setIsOver(value.getIsOver());
+ setName(value.getName());
+ setArrive(value.getArrive());
+ setDepart(value.getDepart());
+ setYear(value.getYear());
+ setLocationName(value.getLocationName());
+ setMinAge(value.getMinAge());
+ setMaxAge(value.getMaxAge());
+ setUrl(value.getUrl());
+ setPrice(value.getPrice());
+ setCountries(value.getCountries());
+ setFkDocument(value.getFkDocument());
+ setBedsFemale(value.getBedsFemale());
+ setBedsMale(value.getBedsMale());
+ setBlockedBedsFemale(value.getBlockedBedsFemale());
+ setBlockedBedsMale(value.getBlockedBedsMale());
+ setUsedBedsMale(value.getUsedBedsMale());
+ setUsedBedsFemale(value.getUsedBedsFemale());
+ setStartBooking(value.getStartBooking());
+ setBookingHasStarted(value.getBookingHasStarted());
+ resetChangedOnNotNull();
+ }
+ }
+}
diff --git a/src/main/resources/upgrade_2024-10-23.sql b/src/main/resources/upgrade_2024-10-24.sql
similarity index 99%
rename from src/main/resources/upgrade_2024-10-23.sql
rename to src/main/resources/upgrade_2024-10-24.sql
index 2001420..6874591 100644
--- a/src/main/resources/upgrade_2024-10-23.sql
+++ b/src/main/resources/upgrade_2024-10-24.sql
@@ -8,7 +8,6 @@ begin;
update t_person set progress = 'requested' where accept is null;
\i views/camp.sql
-
\i views/version.sql
commit;
diff --git a/src/main/resources/views/version.sql b/src/main/resources/views/version.sql
index b8eae86..b805d54 100644
--- a/src/main/resources/views/version.sql
+++ b/src/main/resources/views/version.sql
@@ -1,2 +1,2 @@
create or replace view public.v_version as
- select '2024.03.16'::text as version;
+ select '2024.10.24'::text as version;