from dataclasses import dataclass from owsclient import OwsClient from pydantic import BaseModel class EncryptedFanConsentId(BaseModel): encrypted: str @dataclass class OwsPreferenceCenterClient: ows_client: OwsClient service_name = "ows-preference-center" def encrypt_fan_consent_id(self, fan_consent_id: str) -> str: data = {"fanConsentId": fan_consent_id} response = self.ows_client.post( self.service_name, "/songwhip/encrypt-fan-consent-id", json=data ) response.raise_for_status() encrypted_fan_consent_id = EncryptedFanConsentId.model_validate_json( response.content ) return encrypted_fan_consent_id.encrypted