package com.magistr.app.config.tenant;

/**
 * Хранилище конфигурации тенантов с защитой от потерянных конкурентных обновлений.
 */
public interface TenantConfigStore {

    TenantSecretUpdateReceipt upsertTenant(TenantConfig tenant);

    TenantSecretUpdateReceipt removeTenant(String domain);

    TenantSecretCompensationResult compensate(TenantSecretUpdateReceipt receipt);
}
