Weiter an den Locations gearbeitet
Some checks failed
Host-Based Deploy (Java 21 Fix) / build-and-run (push) Has been cancelled

This commit is contained in:
2026-04-06 22:48:34 +02:00
parent 0f9f109067
commit 5ffb99c9b5
81 changed files with 2817 additions and 352 deletions

View File

@@ -0,0 +1,31 @@
package de.oaa.xxx.location.entity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.UUID;
@Getter
@Setter
@Entity
@Table(name = "location_admin")
public class LocationAdminEntity {
@Id
@Column
private UUID adminId;
@Column(nullable = false)
private UUID locationId;
@Column(nullable = false)
private UUID userId;
@Column(nullable = false)
private LocalDateTime addedAt;
}

View File

@@ -52,4 +52,8 @@ public class LocationEntity {
@Column(nullable = false)
private LocalDateTime createdAt;
/** Virtuelle Benutzer-ID für das Nachrichtensystem (einmalig generiert, unveränderlich) */
@Column(unique = true)
private UUID virtualUserId;
}

View File

@@ -0,0 +1,35 @@
package de.oaa.xxx.location.entity;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.UUID;
@Getter
@Setter
@Entity
@Table(name = "location_inbox_lock",
uniqueConstraints = @UniqueConstraint(columnNames = {"location_id", "visitor_id"}))
public class LocationInboxLockEntity {
@Id
@Column
private UUID lockId;
@Column(name = "location_id", nullable = false)
private UUID locationId;
/** Die kontaktierende Person */
@Column(name = "visitor_id", nullable = false)
private UUID visitorId;
/** Der Admin/Inhaber, der gerade antwortet */
@Column(name = "locked_by_user_id", nullable = false)
private UUID lockedByUserId;
/** Letzte Aktivität des Lock-Inhabers (wird bei jeder Antwort erneuert) */
@Column(nullable = false)
private LocalDateTime lockedAt;
}