feat(prop-enc): add support for sync encapsulation and repository (#1784)
This update adds support for synchronous key encapsulation service and encapsulated key record repository. Users may choose whether they wish to implement an asynchronous or synchronous version.
A new `BaseKeyEncapsulationService` represents a common base type for synchronous and asynchronous services.
```mermaid
classDiagram
class BaseKeyEncapsulationService {
<<interface>>
}
class KeyEncapsulationService {
<<interface>>
}
class AsyncKeyEncapsulationService {
<<interface>>
}
BaseKeyEncapsulationService <|.. KeyEncapsulationService
BaseKeyEncapsulationService <|.. AsyncKeyEncapsulationService
```
A new `BaseEncapsulatedKeyRecordRepository` represents a common base type for synchronous and asynchronous repositories.
```mermaid
classDiagram
class BaseEncapsulatedKeyRecordRepository {
<<interface>>
}
class EncapsulatedKeyRecordRepository {
<<interface>>
}
class AsyncEncapsulatedKeyRecordRepository {
<<interface>>
}
BaseEncapsulatedKeyRecordRepository <|.. EncapsulatedKeyRecordRepository
BaseEncapsulatedKeyRecordRepository <|.. AsyncEncapsulatedKeyRecordRepository
```
The `EnvelopePropertyEncryptionProfile` has been updated to make it possible to create it with either implementation, giving users the choice of using a synchronous or asynchronous implementation. D
Dmitriy Tverdiakov committed
a45d094bdcc921b9b584403b7e31353ed61a1fe6
Parent: d905341
Committed by GitHub <noreply@github.com>
on 9/22/2026, 3:17:18 PM