NCBACK-33 add email send
Test Workflow / test (push) Successful in 2s

This commit is contained in:
vladp
2026-01-19 19:26:59 +07:00
parent 4704f780e5
commit 4a8e561258
6 changed files with 62 additions and 258 deletions
@@ -36,8 +36,8 @@ public class User {
@Column(name = "email", nullable = false, length = 1024, unique = true)
private String email;
@Column(name = "email_verified", nullable = false)
private Boolean emailVerified = false;
@Column(name = "email_verified")
private boolean emailVerified = false;
@Column(name = "company")
private String company;
@@ -82,11 +82,6 @@ public class User {
@ToString.Exclude
private List<UserContent> userContents = new ArrayList<>();
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, orphanRemoval = true)
@JsonIgnore
@ToString.Exclude
private List<UserAction> userActions = new ArrayList<>();
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, orphanRemoval = true)
@JsonIgnore
@ToString.Exclude
@@ -1,44 +0,0 @@
package ru.soune.nocopy.entity.user;
import jakarta.persistence.*;
import lombok.*;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import java.time.LocalDateTime;
@Entity
@Table(name = "user_actions")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
@EntityListeners(AuditingEntityListener.class)
public class UserAction {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long actionId;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id", nullable = false)
@ToString.Exclude
private User user;
@Column(name = "action", nullable = false, length = 100)
private String action;
@Column(name = "details", columnDefinition = "TEXT")
private String details;
@Column(name = "ip_address", length = 45)
private String ipAddress;
@Column(name = "user_agent", columnDefinition = "TEXT")
private String userAgent;
@CreatedDate
@Column(name = "created_at", nullable = false, updatable = false)
private LocalDateTime createdAt;
}
@@ -4,6 +4,7 @@ import jakarta.mail.MessagingException;
import jakarta.mail.internet.MimeMessage;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ClassPathResource;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
@@ -35,16 +36,17 @@ public class EmailService {
helper.setFrom("NO COPY <noreply@nocopy.com>");
helper.setTo(user.getEmail());
helper.setSubject("NO COPY - Подтверждение email адреса");
helper.setSubject("NO COPY - Подтверждение email");
String htmlContent = loadAndProcessTemplate(user.getFullName(), code);
helper.setText(htmlContent, true);
mailSender.send(message);
} catch (MessagingException | IOException e) {
log.error("Fail send email: " + e.getMessage());
log.info("Email sent to: {}", user.getEmail());
} catch (Exception e) {
log.error("Failed to send email: {}", e.getMessage());
}
}