Compare commits
1 commit
400319e502
...
a37cb54671
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a37cb54671 |
|
|
@ -13,20 +13,19 @@ jobs:
|
|||
changes:
|
||||
runs-on: docker
|
||||
steps:
|
||||
- uses: https://github.com/actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- id: filter
|
||||
uses: https://github.com/dorny/paths-filter@v3
|
||||
uses: dorny/paths-filter@v3
|
||||
with:
|
||||
list-files: shell
|
||||
filters: |
|
||||
backend:
|
||||
- 'back001/**'
|
||||
- '.forgejo/workflows/**'
|
||||
- 'ci/**'
|
||||
frontend:
|
||||
- 'front001/**'
|
||||
- '.forgejo/workflows/**'
|
||||
- 'ci/**'
|
||||
outputs:
|
||||
backend: ${{ steps.filter.outputs.backend }}
|
||||
|
|
@ -39,9 +38,9 @@ jobs:
|
|||
container:
|
||||
image: forgejo.okit.pl/oskar/ci-gradle-node:8.7-jdk17
|
||||
steps:
|
||||
- uses: https://github.com/actions/checkout@v4
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: https://github.com/actions/cache@v4
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/home/gradle/.gradle/caches
|
||||
|
|
@ -61,9 +60,9 @@ jobs:
|
|||
container:
|
||||
image: forgejo.okit.pl/oskar/ci-flutter-node:stable
|
||||
steps:
|
||||
- uses: https://github.com/actions/checkout@v4
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: https://github.com/actions/cache@v4
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
/root/.pub-cache
|
||||
|
|
|
|||
|
|
@ -40,15 +40,13 @@ class InvitationService(
|
|||
@Transactional
|
||||
@PreAuthorize("hasRole('ADMIN')")
|
||||
fun createPatientInvite(email: String, createdByAdmin: String?): InviteCreationResult {
|
||||
val tenantId = TenantContext.getTenantId() ?: throw IllegalArgumentException("Missing tenant")
|
||||
requireNotNull(TenantContext.getTenantId()) { "Missing tenant" }
|
||||
|
||||
val patient = Patient(UUID.randomUUID().toString(), generatePatientPlaceholderName())
|
||||
patient.tenantId = tenantId
|
||||
val savedPatient = patientRepository.save(patient)
|
||||
|
||||
keycloakProvisioningService.provisionUser(email, Invitation.ROLE_PATIENT)?.let { userId ->
|
||||
val user = User(userId, email, Invitation.ROLE_PATIENT, "INVITED")
|
||||
user.tenantId = tenantId
|
||||
userRepository.save(user)
|
||||
}
|
||||
keycloakProvisioningService.sendSetPasswordEmail(email)
|
||||
|
|
@ -66,7 +64,6 @@ class InvitationService(
|
|||
acceptedBy = null,
|
||||
createdByAdmin = createdByAdmin
|
||||
)
|
||||
invitation.tenantId = tenantId
|
||||
invitationRepository.save(invitation)
|
||||
return InviteCreationResult(token, invitation.expiresAt)
|
||||
}
|
||||
|
|
@ -106,7 +103,6 @@ class InvitationService(
|
|||
throw IllegalArgumentException("Invitation email mismatch")
|
||||
}
|
||||
val newUser = User(authenticatedUserId, authenticatedEmail, invitation.role, "ACTIVE")
|
||||
newUser.tenantId = TenantContext.getTenantId() ?: throw IllegalStateException("Missing tenant")
|
||||
userRepository.save(newUser)
|
||||
}
|
||||
|
||||
|
|
@ -144,7 +140,6 @@ class InvitationService(
|
|||
val tenantId = TenantContext.getTenantId() ?: throw IllegalStateException("Missing tenant")
|
||||
if (!subjectRepository.existsByTenantIdAndPatientIdAndUserId(tenantId, patientId, userId)) {
|
||||
val link = PatientSubject(UUID.randomUUID().toString(), patientId, userId)
|
||||
link.tenantId = tenantId
|
||||
subjectRepository.save(link)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -79,28 +79,6 @@ class InvitationServiceTest {
|
|||
assertEquals(Invitation.STATUS_ACCEPTED, invitation.status)
|
||||
assertNotNull(invitation.acceptedAt)
|
||||
assertEquals(user, invitation.acceptedBy)
|
||||
org.mockito.kotlin.verify(subjectRepository).save(org.mockito.kotlin.check {
|
||||
assertEquals("t1", it.tenantId)
|
||||
})
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `creates patient invite with tenantId`() {
|
||||
val email = "new@example.com"
|
||||
whenever(patientRepository.save(any<Patient>())).thenAnswer { it.arguments[0] as Patient }
|
||||
whenever(userRepository.save(any<User>())).thenAnswer { it.arguments[0] as User }
|
||||
whenever(invitationRepository.save(any<Invitation>())).thenAnswer { it.arguments[0] as Invitation }
|
||||
|
||||
val result = service.createPatientInvite(email, "admin-1")
|
||||
|
||||
assertNotNull(result.token)
|
||||
org.mockito.kotlin.verify(patientRepository).save(org.mockito.kotlin.check<Patient> {
|
||||
assertEquals("t1", it.tenantId)
|
||||
})
|
||||
org.mockito.kotlin.verify(invitationRepository).save(org.mockito.kotlin.check<Invitation> {
|
||||
assertEquals("t1", it.tenantId)
|
||||
assertEquals(email, it.email)
|
||||
})
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Reference in a new issue