SIGN IN SIGN UP

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