application_secret_response.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import typing
  2. from .secret import secret
  3. from .secret import secret_builder
  4. class secret_response:
  5. def __init__(self, target: secret | secret_builder) -> None:
  6. if isinstance(target, secret):
  7. self.__target = target
  8. return
  9. self.__target = target.result
  10. @property
  11. def response(self) -> dict:
  12. return {
  13. "name": self.target.name,
  14. "domain": self.target.domain,
  15. "coded" : self.target.coded
  16. }
  17. @property
  18. def target(self) -> secret:
  19. return self.__target
  20. @property
  21. def builder(self) -> secret_builder:
  22. return secret_builder(self.__target)
  23. class secret_collection_response:
  24. def __init__(self, target: typing.Iterable[secret] | None = None) -> None:
  25. self.__collection = []
  26. if target is None:
  27. return
  28. if type(target) is list:
  29. self.__collection = target.copy()
  30. return
  31. for count in target:
  32. self.__collection.append(count)
  33. @property
  34. def response(self) -> dict:
  35. return [
  36. secret_response(count).response for count in self.collection
  37. ]
  38. @property
  39. def collection(self) -> list:
  40. return self.__collection.copy()
  41. def append(self, target: secret | secret_builder) -> object:
  42. if isinstance(target, secret_builder):
  43. target = target.result
  44. self.__collection.append(target)
  45. return self