diff --git a/src/main/kotlin/ru/vyatsu/qr_access_api/repository/QrRepository.kt b/src/main/kotlin/ru/vyatsu/qr_access_api/repository/QrRepository.kt index 4b01e02..5d69c87 100644 --- a/src/main/kotlin/ru/vyatsu/qr_access_api/repository/QrRepository.kt +++ b/src/main/kotlin/ru/vyatsu/qr_access_api/repository/QrRepository.kt @@ -9,8 +9,8 @@ import java.util.* 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 JOIN doors d ON (d.id = q.door_id) - JOIN oauth2_registered_client c ON (c.id = d.unit_id) - WHERE c.id = ? AND q.start_date_time <= CURRENT_TIMESTAMP AND q.end_date_time >= CURRENT_TIMESTAMP + JOIN oauth2_registered_client c ON (c.client_id = d.unit_id) + WHERE c.client_id = ? AND q.start_date_time <= CURRENT_TIMESTAMP AND q.end_date_time >= CURRENT_TIMESTAMP """ @Repository diff --git a/src/main/kotlin/ru/vyatsu/qr_access_api/service/QrSyncService.kt b/src/main/kotlin/ru/vyatsu/qr_access_api/service/QrSyncService.kt index d9ab3f7..cae1fc6 100644 --- a/src/main/kotlin/ru/vyatsu/qr_access_api/service/QrSyncService.kt +++ b/src/main/kotlin/ru/vyatsu/qr_access_api/service/QrSyncService.kt @@ -1,5 +1,6 @@ package ru.vyatsu.qr_access_api.service +import org.springframework.security.core.context.SecurityContextHolder import org.springframework.stereotype.Service import ru.vyatsu.models.QrCode import ru.vyatsu.qr_access_api.repository.QrRepository @@ -7,8 +8,7 @@ import ru.vyatsu.qr_access_api.repository.QrRepository @Service class QrSyncService(val qrRepository: QrRepository) { fun getQrCodes(): List { - // TODO: Тут логика с извлечением клайма из jwt в котором идентификатор клиента лежит - val extractedUnitId = "945c8621-9adc-4a49-bc56-10253d27c581" - return qrRepository.getActualQrCodesByUnitId(extractedUnitId) + val sc = SecurityContextHolder.getContext() + return qrRepository.getActualQrCodesByUnitId(sc.authentication.name) } } \ No newline at end of file diff --git a/src/main/resources/db/changelog/1.0.0/changelog.yml b/src/main/resources/db/changelog/1.0.0/changelog.yml index 5a0e2e7..562c8cc 100644 --- a/src/main/resources/db/changelog/1.0.0/changelog.yml +++ b/src/main/resources/db/changelog/1.0.0/changelog.yml @@ -16,6 +16,7 @@ databaseChangeLog: - column: constraints: nullable: false + unique: true name: client_id type: VARCHAR(100) - column: @@ -119,5 +120,5 @@ databaseChangeLog: baseColumnNames: unit_id baseTableName: doors constraintName: FK_unit_door - referencedColumnNames: id + referencedColumnNames: client_id referencedTableName: oauth2_registered_client \ No newline at end of file