package com.openisle.model; import jakarta.persistence.*; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.CreationTimestamp; import java.time.LocalDateTime; /** * Entity storing a browser push subscription for a user. */ @Entity @Getter @Setter @NoArgsConstructor @Table(name = "push_subscriptions") public class PushSubscription { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne(fetch = FetchType.LAZY, optional = false) @JoinColumn(name = "user_id") private User user; @Column(nullable = false, length = 512) private String endpoint; @Column(nullable = false, length = 256) private String p256dh; @Column(nullable = false, length = 256) private String auth; @CreationTimestamp @Column(nullable = false, updatable = false) private LocalDateTime createdAt; }