Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
/.idea/
/.vscode/
/.postman/
File renamed without changes.
2 changes: 1 addition & 1 deletion backend/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ dependencies {
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")

implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:3.0.3")
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.13")

developmentOnly("org.springframework.boot:spring-boot-devtools")
developmentOnly("org.springframework.boot:spring-boot-docker-compose")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,18 @@ interface UserRepository : JpaRepository<User, UUID>{
fun findAllBySiteId(siteId: UUID): List<User>
fun findAllBySiteIdAndIsActiveTrue(siteId: UUID): List<User>

@Query("SELECT u FROM User u JOIN FETCH u.role WHERE u.email = :email")
@Query("SELECT DISTINCT u FROM User u JOIN FETCH u.role WHERE u.id = :id")
fun findByIdWithRole(id: UUID): User?

@Query("SELECT DISTINCT u FROM User u JOIN FETCH u.role WHERE u.email = :email")
fun findByEmailWithRole(email: String): User?

@Query("SELECT DISTINCT u FROM User u JOIN FETCH u.role")
fun findAllWithRole(): List<User>

@Query("SELECT DISTINCT u FROM User u JOIN FETCH u.role WHERE u.site.id = :siteId")
fun findAllBySiteIdWithRole(siteId: UUID): List<User>

@Query("SELECT u FROM User u JOIN FETCH u.role JOIN FETCH u.site WHERE u.id = :id")
fun findByIdWithRoleAndSite(id: UUID): User?
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class JwtAuthenticationFilter(
val userId = jwtTokenProvider.getUserIdFromToken(token)
val role = jwtTokenProvider.getRoleFromToken(token)

val user = userRepository.findById(userId).orElse(null)
val user = userRepository.findByIdWithRoleAndSite(userId)

if (user != null && user.isActive) {
val authorities = listOf(SimpleGrantedAuthority("ROLE_$role"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,13 @@ class UserService(

@Transactional(readOnly = true)
fun getAll(requestedBy: User): List<UserResponse> {
return when (requestedBy.role.name) {
"SUPER_ADMIN" -> userRepository.findAll().map { it.toResponse() }
val roleName = requestedBy.role.name
val siteId = requestedBy.site.id!!

return when (roleName) {
"SUPER_ADMIN" -> userRepository.findAllWithRole().map { it.toResponse() }
else -> userRepository
.findAllBySiteId(requestedBy.site.id!!)
.findAllBySiteIdWithRole(siteId)
.map { it.toResponse() }
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ data class CreateUserRequest(
@field:NotBlank
val roleName: String,

@field:NotBlank
val siteId: UUID
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ package io.github.devcavin.backend.web.dto.zone
import io.github.devcavin.backend.domain.model.Zone
import jakarta.validation.constraints.NotBlank
import jakarta.validation.constraints.Size
import org.springframework.data.jpa.domain.AbstractPersistable_.id
import java.util.UUID
import java.util.*

data class ZoneRequest(
@field:NotBlank
Expand Down
5 changes: 0 additions & 5 deletions backend/src/main/resources/application.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ spring:
properties:
hibernate:
format_sql: true
dialect: org.hibernate.dialect.PostgreSQLDialect
jdbc:
batch_size: 50
open-in-view: false
Expand All @@ -27,10 +26,6 @@ spring:
enabled: true
locations: classpath:db/migration
baseline-on-migrate: false
web:
error:
include-binding-errors: always
include-message: always

server:
port: 8080
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ CREATE TABLE visitor_profiles(
CONSTRAINT uq_visitor_profiles_phone_site UNIQUE(phone_number, site_id)
);

CREATE INDEX idx_visitor_profiles_phone ON visitor_profiles(phone_number)
CREATE INDEX idx_visitor_profiles_site_id ON visitor_profiles(site_id)
CREATE INDEX idx_visitor_profiles_phone ON visitor_profiles(phone_number);
CREATE INDEX idx_visitor_profiles_site_id ON visitor_profiles(site_id);

ALTER TABLE visitors ADD column visitor_profile_id UUID REFERENCES visitor_profiles(id);

CREATE INDEX idx_visitors_profile_id ON visitors(visitor_profile_id)
CREATE INDEX idx_visitors_profile_id ON visitors(visitor_profile_id);
File renamed without changes.
Loading