Skip to content

Commit

Permalink
podbitka angulara
Browse files Browse the repository at this point in the history
dodanie Auditingu do encji i wydzielenie wspólnych rzeczy do BaseEntity
maile są wysyłane @async
  • Loading branch information
JanisBe committed Jun 25, 2024
1 parent c72473f commit e25ffdb
Show file tree
Hide file tree
Showing 10 changed files with 240 additions and 424 deletions.
494 changes: 157 additions & 337 deletions src/main/frontend/package-lock.json

Large diffs are not rendered by default.

28 changes: 14 additions & 14 deletions src/main/frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@
},
"private": true,
"dependencies": {
"@angular/animations": "^18.0.3",
"@angular/cdk": "^18.0.3",
"@angular/common": "^18.0.3",
"@angular/compiler": "^18.0.3",
"@angular/core": "^18.0.3",
"@angular/forms": "^18.0.3",
"@angular/material": "^18.0.3",
"@angular/platform-browser": "^18.0.3",
"@angular/platform-browser-dynamic": "^18.0.3",
"@angular/router": "^18.0.3",
"@angular/service-worker": "^18.0.3",
"@angular/animations": "^18.0.4",
"@angular/cdk": "^18.0.4",
"@angular/common": "^18.0.4",
"@angular/compiler": "^18.0.4",
"@angular/core": "^18.0.4",
"@angular/forms": "^18.0.4",
"@angular/material": "^18.0.4",
"@angular/platform-browser": "^18.0.4",
"@angular/platform-browser-dynamic": "^18.0.4",
"@angular/router": "^18.0.4",
"@angular/service-worker": "^18.0.4",
"@fortawesome/fontawesome-free": "5.15.4",
"@material/density": "^15.0.0-canary.a246a4439.0",
"bootstrap": "^5.0.2",
Expand All @@ -30,9 +30,9 @@
"zone.js": "~0.14.2"
},
"devDependencies": {
"@angular-devkit/build-angular": "^18.0.4",
"@angular/cli": "~18.0.4",
"@angular/compiler-cli": "^18.0.3",
"@angular-devkit/build-angular": "^18.0.5",
"@angular/cli": "~18.0.5",
"@angular/compiler-cli": "^18.0.4",
"@types/jasmine": "~4.3.0",
"jasmine-core": "~4.5.0",
"karma": "~6.4.0",
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/pl/janis/komornik/Komornik.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.scheduling.annotation.EnableAsync;

@SpringBootApplication
@EnableAsync
@EnableJpaAuditing
public class Komornik {

public static void main(String[] args) {
Expand Down
33 changes: 33 additions & 0 deletions src/main/java/pl/janis/komornik/entities/BaseEntity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package pl.janis.komornik.entities;

import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import java.time.LocalDateTime;

@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
@Getter
@Setter
@ToString(exclude = {"createdDate", "lastModifiedAt"})
public class BaseEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;

@Version
private Integer version;

@CreatedDate
@Column(updatable = false, nullable = false)
private LocalDateTime createdDate;
@LastModifiedDate
@Column(insertable = false)
private LocalDateTime lastModifiedAt;
}
21 changes: 9 additions & 12 deletions src/main/java/pl/janis/komornik/entities/Category.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package pl.janis.komornik.entities;

import com.fasterxml.jackson.annotation.JsonManagedReference;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import lombok.*;
import org.hibernate.proxy.HibernateProxy;

import java.util.LinkedHashSet;
Expand All @@ -14,16 +14,13 @@

@Getter
@Setter
@ToString
@ToString(callSuper = true)
@RequiredArgsConstructor
@AllArgsConstructor
@Builder
@Entity
@Table(name = "categories", schema = "komornik")
public class Category {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Integer id;
public class Category extends BaseEntity {

@Column(name = "category_name", nullable = false)
private String categoryName;
Expand Down
15 changes: 4 additions & 11 deletions src/main/java/pl/janis/komornik/entities/Debt.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,20 @@

import com.fasterxml.jackson.annotation.JsonBackReference;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.*;
import org.hibernate.proxy.HibernateProxy;

import java.math.BigDecimal;
import java.util.Objects;

@Getter
@Setter
@ToString
@ToString(callSuper = true)
@RequiredArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "debts", schema = "komornik")
public class Debt {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Integer id;
public class Debt extends BaseEntity {

@ManyToOne(fetch = FetchType.LAZY, optional = false, cascade = CascadeType.MERGE)
@JoinColumn(name = "expense_id")
Expand Down
15 changes: 4 additions & 11 deletions src/main/java/pl/janis/komornik/entities/Expense.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.*;
import org.hibernate.proxy.HibernateProxy;

import java.math.BigDecimal;
Expand All @@ -16,8 +13,9 @@

@Getter
@Setter
@ToString
@ToString(callSuper = true)
@RequiredArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "expenses", schema = "komornik")
@NamedNativeQuery(name = "findBalanceForGroup",
Expand All @@ -31,15 +29,10 @@
@ColumnResult(name = "balance"),
@ColumnResult(name = "currency")})
})
public class Expense {
public class Expense extends BaseEntity {
// select debt.userTo.id as userId, sum(debt.amount) as balance from Expense e inner join e.debt debt " +
// " where e.group.id = :groupId group by debt.userTo.id

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Integer id;

@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.MERGE)
@JoinColumn(name = "category_id")
@JsonBackReference
Expand Down
17 changes: 6 additions & 11 deletions src/main/java/pl/janis/komornik/entities/Group.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,23 @@

import com.fasterxml.jackson.annotation.JsonManagedReference;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.*;
import org.hibernate.proxy.HibernateProxy;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

@Getter
@Setter
@ToString
@ToString(callSuper = true)
@RequiredArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "groups", schema = "komornik")
public class Group {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Integer id;
@EntityListeners(AuditingEntityListener.class)
public class Group extends BaseEntity {

@Column(name = "group_name", nullable = false)
private String groupName;
Expand Down
34 changes: 6 additions & 28 deletions src/main/java/pl/janis/komornik/entities/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@

import com.fasterxml.jackson.annotation.JsonManagedReference;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.*;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;

Expand All @@ -14,16 +12,13 @@

@Getter
@Setter
@ToString
@ToString(callSuper = true)
@RequiredArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "users", schema = "komornik")
public class User implements UserDetails {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Integer id;
@EntityListeners(AuditingEntityListener.class)
public class User extends BaseEntity implements UserDetails {

@Column(name = "username", nullable = false)
private String name;
Expand Down Expand Up @@ -68,25 +63,8 @@ public String getUsername() {
return getName();
}

@Override
public boolean isAccountNonExpired() {
return true;
}

@Override
public boolean isAccountNonLocked() {
return true;
}

@Override
public boolean isCredentialsNonExpired() {
return true;
}

@Override
public boolean isEnabled() {
return this.isVerified;
}


}
3 changes: 3 additions & 0 deletions src/main/java/pl/janis/komornik/service/EmailService.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import pl.janis.komornik.entities.User;

Expand All @@ -18,6 +19,7 @@ public class EmailService {
private final JavaMailSender mailSender;
private final Environment env;

@Async
public void resetPasswordEmail(String to, int newPassword) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
Expand All @@ -27,6 +29,7 @@ public void resetPasswordEmail(String to, int newPassword) {
mailSender.send(message);
}

@Async
public void sendVerificationEmail(User user) {
try {

Expand Down

0 comments on commit e25ffdb

Please sign in to comment.