__init__.py 729 B

12345678910111213141516171819202122
  1. from collections.abc import Mapping
  2. from typing import Any
  3. from core.plugin.entities.request import RequestInvokeEncrypt
  4. from core.tools.utils.configuration import ProviderConfigEncrypter
  5. from models.account import Tenant
  6. class PluginEncrypter:
  7. @classmethod
  8. def invoke_encrypt(cls, tenant: Tenant, payload: RequestInvokeEncrypt) -> Mapping[str, Any]:
  9. encrypter = ProviderConfigEncrypter(
  10. tenant_id=tenant.id,
  11. config=payload.data,
  12. provider_type=payload.namespace,
  13. provider_identity=payload.identity,
  14. )
  15. if payload.opt == "encrypt":
  16. return encrypter.encrypt(payload.data)
  17. else:
  18. return encrypter.decrypt(payload.data)