Skip to content

Commit

Permalink
fix(db): fixed bug when code didn't executed the query
Browse files Browse the repository at this point in the history
  • Loading branch information
zZHorizonZz committed Jul 23, 2023
1 parent 9e610ce commit 6a6b350
Show file tree
Hide file tree
Showing 9 changed files with 31 additions and 35 deletions.
11 changes: 7 additions & 4 deletions server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Quarkus: -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-reactive-jackson</artifactId>
Expand All @@ -39,10 +40,6 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-reactive-jsonb</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-mutiny</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-reactive</artifactId>
Expand Down Expand Up @@ -72,6 +69,8 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-security</artifactId>
</dependency>

<!-- JWT: -->
<dependency>
<groupId>org.eclipse.microprofile.jwt</groupId>
<artifactId>microprofile-jwt-auth-api</artifactId>
Expand Down Expand Up @@ -99,6 +98,8 @@
<version>0.11.2</version>
<scope>runtime</scope>
</dependency>

<!-- Code generation: -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
Expand All @@ -110,6 +111,8 @@
<artifactId>mapstruct</artifactId>
<version>${mapstruct.version}</version>
</dependency>

<!-- Testing: -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit5</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package dev.shiperist.repository;

import dev.shiperist.entity.AccountEntity;
import io.quarkus.hibernate.reactive.panache.PanacheRepository;
import io.quarkus.hibernate.reactive.panache.PanacheRepositoryBase;
import io.quarkus.hibernate.reactive.panache.common.WithSession;
import jakarta.enterprise.context.ApplicationScoped;

@WithSession
@ApplicationScoped
public class AccountRepository implements PanacheRepositoryBase<AccountEntity, Long> {
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package dev.shiperist.repository;

import dev.shiperist.entity.SessionEntity;
import io.quarkus.hibernate.reactive.panache.PanacheRepository;
import io.quarkus.hibernate.reactive.panache.PanacheRepositoryBase;
import io.quarkus.hibernate.reactive.panache.common.WithSession;
import io.smallrye.mutiny.Uni;
import jakarta.enterprise.context.ApplicationScoped;

@WithSession
@ApplicationScoped
public class SessionRepository implements PanacheRepositoryBase<SessionEntity, Long> {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package dev.shiperist.repository;

import dev.shiperist.entity.UserEntity;
import io.quarkus.hibernate.reactive.panache.PanacheRepository;
import io.quarkus.hibernate.reactive.panache.PanacheRepositoryBase;
import io.quarkus.hibernate.reactive.panache.common.WithSession;
import io.smallrye.mutiny.Uni;
import jakarta.enterprise.context.ApplicationScoped;

@WithSession
@ApplicationScoped
public class UserRepository implements PanacheRepositoryBase<UserEntity, Long> {

Expand Down
2 changes: 0 additions & 2 deletions server/src/main/java/dev/shiperist/resource/AuthService.java
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,9 @@ public Uni<Response> getToken(@FormParam("grant_type") String grantType,
.entity("Invalid email or password.").build());
}

System.out.println("password: " + password);
User validUser = user.get();

if (userService.checkPassword(password, validUser.getPassword())) {
System.out.println("validUser: " + validUser);
return sessionService.createSession(validUser)
.map(session -> Response.ok(session).build());
} else {
Expand Down
11 changes: 4 additions & 7 deletions server/src/main/java/dev/shiperist/service/AccountService.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,13 @@
import dev.shiperist.mapper.AccountMapper;
import dev.shiperist.model.Account;
import dev.shiperist.repository.AccountRepository;
import io.quarkus.hibernate.reactive.panache.common.WithSession;
import io.quarkus.hibernate.reactive.panache.common.WithTransaction;
import io.smallrye.mutiny.Uni;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import jakarta.transaction.Transactional;

import java.util.Optional;

@WithSession
@ApplicationScoped
public class AccountService {

Expand All @@ -22,27 +20,26 @@ public class AccountService {
@Inject
AccountMapper accountMapper;

@Transactional
@WithTransaction
public Uni<Account> createAccount(Account account) {
AccountEntity accountEntity = accountMapper.toEntity(account);
return accountRepository.persist(accountEntity).map(accountMapper::toDomain);
}

@Transactional
public Uni<Optional<Account>> getAccount(Long id) {
return accountRepository.findById(id)
.map(accountMapper::toDomain)
.map(Optional::of)
.onItem().ifNull().continueWith(Optional.empty());
}

@Transactional
@WithTransaction
public Uni<Account> updateAccount(Account account) {
AccountEntity accountEntity = accountMapper.toEntity(account);
return accountRepository.persist(accountEntity).map(accountMapper::toDomain);
}

@Transactional
@WithTransaction
public Uni<Boolean> deleteAccount(Long accountId) {
return accountRepository.deleteById(accountId);
}
Expand Down
12 changes: 4 additions & 8 deletions server/src/main/java/dev/shiperist/service/SessionService.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,10 @@
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import io.jsonwebtoken.security.Keys;
import io.quarkus.hibernate.reactive.panache.common.WithSession;
import io.quarkus.hibernate.reactive.panache.common.WithTransaction;
import io.smallrye.mutiny.Uni;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import jakarta.transaction.Transactional;

import java.security.Key;
import java.time.Instant;
Expand All @@ -21,7 +20,6 @@
import java.util.Date;
import java.util.Optional;

@WithSession
@ApplicationScoped
public class SessionService {

Expand All @@ -31,7 +29,7 @@ public class SessionService {
@Inject
SessionMapper sessionMapper;

@Transactional
@WithTransaction
public Uni<Session> createSession(User user) {
SessionEntity session = new SessionEntity();
Date expires = Date.from(Instant.now().plus(1, ChronoUnit.HOURS));
Expand All @@ -43,29 +41,27 @@ public Uni<Session> createSession(User user) {
return sessionRepository.persist(session).map(sessionMapper::toDomain);
}

@Transactional
public Uni<Optional<Session>> getSession(Long id) {
return sessionRepository.findById(id)
.map(sessionMapper::toDomain)
.map(Optional::of)
.onItem().ifNull().continueWith(Optional.empty());
}

@Transactional
public Uni<Optional<Session>> getSessionByToken(String token) {
return sessionRepository.findByToken(token)
.map(sessionMapper::toDomain)
.map(Optional::of)
.onItem().ifNull().continueWith(Optional.empty());
}

@Transactional
@WithTransaction
public Uni<Session> updateSession(Session session) {
SessionEntity sessionEntity = sessionMapper.toEntity(session);
return sessionRepository.persist(sessionEntity).map(sessionMapper::toDomain);
}

@Transactional
@WithTransaction
public Uni<Boolean> deleteSession(Long sessionId) {
return sessionRepository.deleteById(sessionId);
}
Expand Down
15 changes: 6 additions & 9 deletions server/src/main/java/dev/shiperist/service/UserService.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,13 @@
import dev.shiperist.mapper.UserMapper;
import dev.shiperist.model.User;
import dev.shiperist.repository.UserRepository;
import io.quarkus.hibernate.reactive.panache.common.WithSession;
import io.quarkus.hibernate.reactive.panache.common.WithTransaction;
import io.smallrye.mutiny.Uni;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import jakarta.transaction.Transactional;

import java.util.Optional;

@WithSession
@ApplicationScoped
public class UserService {

Expand All @@ -23,33 +21,32 @@ public class UserService {
@Inject
UserMapper userMapper;

@Transactional
@WithTransaction
public Uni<User> createUser(String name, String email, String image, String password) {
UserEntity user = new UserEntity();
user.setName(name);
user.setEmail(email);
user.setImage(image);
user.setPassword(hashPassword(password));
return userRepository.persist(user).map(userMapper::toDomain);
return userRepository.persist(user)
.map(userMapper::toDomain);
}

@Transactional
public Uni<Optional<User>> getUser(Long id) {
return userRepository.findById(id).map(user -> Optional.ofNullable(userMapper.toDomain(user)));
}

@Transactional
public Uni<Optional<User>> getUserByEmail(String email) {
return userRepository.findByEmail(email).map(user -> Optional.ofNullable(userMapper.toDomain(user)));
}

@Transactional
@WithTransaction
public Uni<User> updateUser(User user) {
UserEntity userEntity = userMapper.toEntity(user);
return userRepository.persist(userEntity).map(userMapper::toDomain);
}

@Transactional
@WithTransaction
public Uni<Boolean> deleteUser(Long userId) {
return userRepository.deleteById(userId);
}
Expand Down
6 changes: 4 additions & 2 deletions server/src/main/resources/application.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
quarkus.datasource.db-kind=postgresql
%prod.quarkus.datasource.db-kind=postgresql
quarkus.datasource.username=quarkus_test
quarkus.datasource.password=quarkus_test

quarkus.datasource.devservices.port=5432
quarkus.hibernate-orm.database.generation.create-schemas=true
quarkus.hibernate-orm.database.generation=drop-and-create
quarkus.hibernate-orm.log.sql=true

0 comments on commit 6a6b350

Please sign in to comment.