Add logic to get unit_id from token sub claim

This commit is contained in:
kashiuno 2025-01-08 09:58:59 +03:00
parent 9d658cea12
commit a5c570ec42
3 changed files with 7 additions and 6 deletions

View File

@ -9,8 +9,8 @@ import java.util.*
private const val GET_ACTUAL_QRS_BY_UNIT_ID = """ private const val GET_ACTUAL_QRS_BY_UNIT_ID = """
SELECT q.start_date_time, q.end_date_time, q.door_id, q.key_code FROM qrs q SELECT q.start_date_time, q.end_date_time, q.door_id, q.key_code FROM qrs q
JOIN doors d ON (d.id = q.door_id) JOIN doors d ON (d.id = q.door_id)
JOIN oauth2_registered_client c ON (c.id = d.unit_id) JOIN oauth2_registered_client c ON (c.client_id = d.unit_id)
WHERE c.id = ? AND q.start_date_time <= CURRENT_TIMESTAMP AND q.end_date_time >= CURRENT_TIMESTAMP WHERE c.client_id = ? AND q.start_date_time <= CURRENT_TIMESTAMP AND q.end_date_time >= CURRENT_TIMESTAMP
""" """
@Repository @Repository

View File

@ -1,5 +1,6 @@
package ru.vyatsu.qr_access_api.service package ru.vyatsu.qr_access_api.service
import org.springframework.security.core.context.SecurityContextHolder
import org.springframework.stereotype.Service import org.springframework.stereotype.Service
import ru.vyatsu.models.QrCode import ru.vyatsu.models.QrCode
import ru.vyatsu.qr_access_api.repository.QrRepository import ru.vyatsu.qr_access_api.repository.QrRepository
@ -7,8 +8,7 @@ import ru.vyatsu.qr_access_api.repository.QrRepository
@Service @Service
class QrSyncService(val qrRepository: QrRepository) { class QrSyncService(val qrRepository: QrRepository) {
fun getQrCodes(): List<QrCode> { fun getQrCodes(): List<QrCode> {
// TODO: Тут логика с извлечением клайма из jwt в котором идентификатор клиента лежит val sc = SecurityContextHolder.getContext()
val extractedUnitId = "945c8621-9adc-4a49-bc56-10253d27c581" return qrRepository.getActualQrCodesByUnitId(sc.authentication.name)
return qrRepository.getActualQrCodesByUnitId(extractedUnitId)
} }
} }

View File

@ -16,6 +16,7 @@ databaseChangeLog:
- column: - column:
constraints: constraints:
nullable: false nullable: false
unique: true
name: client_id name: client_id
type: VARCHAR(100) type: VARCHAR(100)
- column: - column:
@ -119,5 +120,5 @@ databaseChangeLog:
baseColumnNames: unit_id baseColumnNames: unit_id
baseTableName: doors baseTableName: doors
constraintName: FK_unit_door constraintName: FK_unit_door
referencedColumnNames: id referencedColumnNames: client_id
referencedTableName: oauth2_registered_client referencedTableName: oauth2_registered_client