orionis 0.310.0__py3-none-any.whl → 0.312.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. orionis/container/container.py +5 -3
  2. orionis/container/exceptions/type_error_exception.py +13 -11
  3. orionis/foundation/config/app/entities/app.py +24 -2
  4. orionis/foundation/config/auth/entities/auth.py +24 -2
  5. orionis/foundation/config/cache/entities/cache.py +25 -3
  6. orionis/foundation/config/cache/entities/file.py +25 -3
  7. orionis/foundation/config/cache/entities/stores.py +25 -3
  8. orionis/foundation/config/cors/entities/cors.py +24 -2
  9. orionis/foundation/config/database/entities/connections.py +25 -3
  10. orionis/foundation/config/database/entities/database.py +24 -2
  11. orionis/foundation/config/database/entities/mysql.py +25 -3
  12. orionis/foundation/config/database/entities/oracle.py +25 -3
  13. orionis/foundation/config/database/entities/pgsql.py +25 -3
  14. orionis/foundation/config/database/entities/sqlite.py +25 -3
  15. orionis/foundation/config/filesystems/entitites/aws.py +24 -2
  16. orionis/foundation/config/filesystems/entitites/disks.py +24 -2
  17. orionis/foundation/config/filesystems/entitites/filesystems.py +23 -1
  18. orionis/foundation/config/filesystems/entitites/local.py +24 -2
  19. orionis/foundation/config/filesystems/entitites/public.py +24 -2
  20. orionis/foundation/config/logging/entities/channels.py +25 -3
  21. orionis/foundation/config/logging/entities/chunked.py +25 -3
  22. orionis/foundation/config/logging/entities/daily.py +25 -3
  23. orionis/foundation/config/logging/entities/hourly.py +25 -3
  24. orionis/foundation/config/logging/entities/logging.py +23 -1
  25. orionis/foundation/config/logging/entities/monthly.py +25 -3
  26. orionis/foundation/config/logging/entities/stack.py +25 -3
  27. orionis/foundation/config/logging/entities/weekly.py +25 -3
  28. orionis/foundation/config/mail/entities/file.py +24 -2
  29. orionis/foundation/config/mail/entities/mail.py +23 -1
  30. orionis/foundation/config/mail/entities/mailers.py +24 -2
  31. orionis/foundation/config/mail/entities/smtp.py +24 -2
  32. orionis/foundation/config/queue/entities/brokers.py +24 -2
  33. orionis/foundation/config/queue/entities/database.py +25 -3
  34. orionis/foundation/config/queue/entities/queue.py +24 -2
  35. orionis/foundation/config/roots/paths.py +24 -2
  36. orionis/foundation/config/session/entities/session.py +23 -2
  37. orionis/foundation/config/startup.py +25 -3
  38. orionis/foundation/config/testing/entities/testing.py +1 -1
  39. orionis/foundation/exceptions/integrity.py +19 -0
  40. orionis/metadata/framework.py +1 -1
  41. orionis/services/asynchrony/exceptions/coroutine_exception.py +3 -3
  42. orionis/services/environment/exceptions/environment_value_error.py +9 -8
  43. orionis/services/environment/exceptions/environment_value_exception.py +3 -7
  44. orionis/services/introspection/abstract/reflection_abstract.py +7 -3
  45. orionis/services/introspection/concretes/reflection_concrete.py +1 -1
  46. orionis/services/introspection/dependencies/reflect_dependencies.py +1 -1
  47. orionis/services/introspection/exceptions/reflection_attribute_error.py +4 -10
  48. orionis/services/introspection/exceptions/reflection_type_error.py +3 -10
  49. orionis/services/introspection/exceptions/reflection_value_error.py +3 -10
  50. orionis/services/introspection/instances/reflection_instance.py +1 -1
  51. orionis/services/introspection/modules/reflection_module.py +1 -1
  52. orionis/services/paths/exceptions/not_found_exceptions.py +3 -15
  53. orionis/services/paths/exceptions/path_value_exceptions.py +3 -15
  54. orionis/services/system/workers.py +17 -0
  55. orionis/support/standard/exceptions/std_value_exception.py +3 -7
  56. orionis/test/exceptions/test_config_exception.py +2 -2
  57. orionis/test/exceptions/test_failure_exception.py +2 -4
  58. orionis/test/exceptions/test_persistence_error.py +2 -7
  59. orionis/test/exceptions/test_runtime_error.py +3 -3
  60. orionis/test/exceptions/test_value_error.py +3 -3
  61. {orionis-0.310.0.dist-info → orionis-0.312.0.dist-info}/METADATA +1 -1
  62. {orionis-0.310.0.dist-info → orionis-0.312.0.dist-info}/RECORD +110 -114
  63. tests/foundation/config/app/test_foundation_config_app.py +1 -1
  64. tests/foundation/config/cache/test_foundation_config_cache.py +1 -1
  65. tests/foundation/config/cache/test_foundation_config_cache_file.py +1 -1
  66. tests/foundation/config/cache/test_foundation_config_cache_stores.py +1 -1
  67. tests/foundation/config/cors/test_foundation_config_cors.py +1 -1
  68. tests/foundation/config/database/test_foundation_config_database.py +1 -1
  69. tests/foundation/config/database/test_foundation_config_database_connections.py +1 -1
  70. tests/foundation/config/database/test_foundation_config_database_mysql.py +1 -1
  71. tests/foundation/config/database/test_foundation_config_database_oracle.py +1 -1
  72. tests/foundation/config/database/test_foundation_config_database_pgsql.py +1 -1
  73. tests/foundation/config/database/test_foundation_config_database_sqlite.py +1 -1
  74. tests/foundation/config/filesystems/test_foundation_config_filesystems.py +1 -1
  75. tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +1 -1
  76. tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +1 -1
  77. tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +1 -1
  78. tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +1 -1
  79. tests/foundation/config/logging/test_foundation_config_logging.py +1 -1
  80. tests/foundation/config/logging/test_foundation_config_logging_channels.py +1 -1
  81. tests/foundation/config/logging/test_foundation_config_logging_chunked.py +1 -1
  82. tests/foundation/config/logging/test_foundation_config_logging_daily.py +1 -1
  83. tests/foundation/config/logging/test_foundation_config_logging_hourly.py +1 -1
  84. tests/foundation/config/logging/test_foundation_config_logging_monthly.py +1 -1
  85. tests/foundation/config/logging/test_foundation_config_logging_stack.py +1 -1
  86. tests/foundation/config/logging/test_foundation_config_logging_weekly.py +1 -1
  87. tests/foundation/config/mail/test_foundation_config_mail.py +1 -1
  88. tests/foundation/config/mail/test_foundation_config_mail_file.py +1 -1
  89. tests/foundation/config/mail/test_foundation_config_mail_mailers.py +1 -1
  90. tests/foundation/config/mail/test_foundation_config_mail_smtp.py +1 -1
  91. tests/foundation/config/queue/test_foundation_config_queue.py +1 -1
  92. tests/foundation/config/queue/test_foundation_config_queue_brokers.py +1 -1
  93. tests/foundation/config/queue/test_foundation_config_queue_database.py +1 -1
  94. tests/foundation/config/root/test_foundation_config_root_paths.py +1 -1
  95. tests/foundation/config/session/test_foundation_config_session.py +1 -1
  96. tests/foundation/config/startup/test_foundation_config_startup.py +1 -1
  97. tests/foundation/config/testing/test_foundation_config_testing.py +1 -1
  98. tests/foundation/{config/exceptions → exceptions}/test_foundation_config_exceptions.py +7 -7
  99. orionis/foundation/config/exceptions/integrity.py +0 -30
  100. orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
  101. orionis/services/introspection/instances/contracts/__init__.py +0 -0
  102. orionis/services/introspection/modules/contracts/__init__.py +0 -0
  103. tests/foundation/config/exceptions/__init__.py +0 -0
  104. /orionis/foundation/{config/exceptions → exceptions}/__init__.py +0 -0
  105. /orionis/services/introspection/{abstract/contracts → contracts}/__init__.py +0 -0
  106. /orionis/services/introspection/{dependencies/contracts → contracts}/reflect_dependencies.py +0 -0
  107. /orionis/services/introspection/{abstract/contracts → contracts}/reflection_abstract.py +0 -0
  108. /orionis/services/introspection/{concretes/contracts → contracts}/reflection_concrete.py +0 -0
  109. /orionis/services/introspection/{instances/contracts → contracts}/reflection_instance.py +0 -0
  110. /orionis/services/introspection/{modules/contracts → contracts}/reflection_module.py +0 -0
  111. {orionis-0.310.0.dist-info → orionis-0.312.0.dist-info}/WHEEL +0 -0
  112. {orionis-0.310.0.dist-info → orionis-0.312.0.dist-info}/licenses/LICENCE +0 -0
  113. {orionis-0.310.0.dist-info → orionis-0.312.0.dist-info}/top_level.txt +0 -0
  114. {orionis-0.310.0.dist-info → orionis-0.312.0.dist-info}/zip-safe +0 -0
  115. {orionis/services/introspection/concretes/contracts → tests/foundation/exceptions}/__init__.py +0 -0
@@ -1,5 +1,5 @@
1
- from dataclasses import asdict, dataclass, field
2
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
1
+ from dataclasses import asdict, dataclass, field, fields
2
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
3
3
 
4
4
  @dataclass(unsafe_hash=True, kw_only=True)
5
5
  class Public:
@@ -50,3 +50,25 @@ class Public:
50
50
  dict: A dictionary representation of the Dataclass object.
51
51
  """
52
52
  return asdict(self)
53
+
54
+ def getFields(self):
55
+ """
56
+ Retrieves a list of field information for the current dataclass instance.
57
+
58
+ Returns:
59
+ list: A list of dictionaries, each containing details about a field:
60
+ - name (str): The name of the field.
61
+ - type (type): The type of the field.
62
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
63
+ - metadata (mapping): The metadata associated with the field.
64
+ """
65
+ __fields = []
66
+ for field in fields(self):
67
+ __metadata = dict(field.metadata) or {}
68
+ __fields.append({
69
+ "name": field.name,
70
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
71
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
72
+ "metadata": __metadata
73
+ })
74
+ return __fields
@@ -1,11 +1,11 @@
1
- from dataclasses import asdict, dataclass, field
1
+ from dataclasses import asdict, dataclass, field, fields
2
2
  from orionis.foundation.config.logging.entities.monthly import Monthly
3
3
  from orionis.foundation.config.logging.entities.chunked import Chunked
4
4
  from orionis.foundation.config.logging.entities.daily import Daily
5
5
  from orionis.foundation.config.logging.entities.hourly import Hourly
6
6
  from orionis.foundation.config.logging.entities.stack import Stack
7
7
  from orionis.foundation.config.logging.entities.weekly import Weekly
8
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
8
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
9
9
 
10
10
  @dataclass(unsafe_hash=True, kw_only=True)
11
11
  class Channels:
@@ -112,4 +112,26 @@ class Channels:
112
112
  Returns:
113
113
  dict: A dictionary containing all the fields of the instance.
114
114
  """
115
- return asdict(self)
115
+ return asdict(self)
116
+
117
+ def getFields(self):
118
+ """
119
+ Retrieves a list of field information for the current dataclass instance.
120
+
121
+ Returns:
122
+ list: A list of dictionaries, each containing details about a field:
123
+ - name (str): The name of the field.
124
+ - type (type): The type of the field.
125
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
126
+ - metadata (mapping): The metadata associated with the field.
127
+ """
128
+ __fields = []
129
+ for field in fields(self):
130
+ __metadata = dict(field.metadata) or {}
131
+ __fields.append({
132
+ "name": field.name,
133
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
134
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
135
+ "metadata": __metadata
136
+ })
137
+ return __fields
@@ -1,5 +1,5 @@
1
- from dataclasses import asdict, dataclass, field
2
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
1
+ from dataclasses import asdict, dataclass, field, fields
2
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
3
3
  from orionis.foundation.config.logging.enums.levels import Level
4
4
  import re
5
5
 
@@ -125,4 +125,26 @@ class Chunked:
125
125
  dict
126
126
  Dictionary containing all configuration fields and their values.
127
127
  """
128
- return asdict(self)
128
+ return asdict(self)
129
+
130
+ def getFields(self):
131
+ """
132
+ Retrieves a list of field information for the current dataclass instance.
133
+
134
+ Returns:
135
+ list: A list of dictionaries, each containing details about a field:
136
+ - name (str): The name of the field.
137
+ - type (type): The type of the field.
138
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
139
+ - metadata (mapping): The metadata associated with the field.
140
+ """
141
+ __fields = []
142
+ for field in fields(self):
143
+ __metadata = dict(field.metadata) or {}
144
+ __fields.append({
145
+ "name": field.name,
146
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
147
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
148
+ "metadata": __metadata
149
+ })
150
+ return __fields
@@ -1,6 +1,6 @@
1
- from dataclasses import asdict, dataclass, field
1
+ from dataclasses import asdict, dataclass, field, fields
2
2
  from datetime import time
3
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
3
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
4
4
  from orionis.foundation.config.logging.enums.levels import Level
5
5
 
6
6
  @dataclass(unsafe_hash=True, kw_only=True)
@@ -110,4 +110,26 @@ class Daily:
110
110
  Returns:
111
111
  dict: A dictionary containing the dataclass fields and their values.
112
112
  """
113
- return asdict(self)
113
+ return asdict(self)
114
+
115
+ def getFields(self):
116
+ """
117
+ Retrieves a list of field information for the current dataclass instance.
118
+
119
+ Returns:
120
+ list: A list of dictionaries, each containing details about a field:
121
+ - name (str): The name of the field.
122
+ - type (type): The type of the field.
123
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
124
+ - metadata (mapping): The metadata associated with the field.
125
+ """
126
+ __fields = []
127
+ for field in fields(self):
128
+ __metadata = dict(field.metadata) or {}
129
+ __fields.append({
130
+ "name": field.name,
131
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
132
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
133
+ "metadata": __metadata
134
+ })
135
+ return __fields
@@ -1,5 +1,5 @@
1
- from dataclasses import asdict, dataclass, field
2
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
1
+ from dataclasses import asdict, dataclass, field, fields
2
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
3
3
  from orionis.foundation.config.logging.enums.levels import Level
4
4
 
5
5
  @dataclass(unsafe_hash=True, kw_only=True)
@@ -97,4 +97,26 @@ class Hourly:
97
97
  Returns:
98
98
  dict: A dictionary containing all the dataclass fields and their values.
99
99
  """
100
- return asdict(self)
100
+ return asdict(self)
101
+
102
+ def getFields(self):
103
+ """
104
+ Retrieves a list of field information for the current dataclass instance.
105
+
106
+ Returns:
107
+ list: A list of dictionaries, each containing details about a field:
108
+ - name (str): The name of the field.
109
+ - type (type): The type of the field.
110
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
111
+ - metadata (mapping): The metadata associated with the field.
112
+ """
113
+ __fields = []
114
+ for field in fields(self):
115
+ __metadata = dict(field.metadata) or {}
116
+ __fields.append({
117
+ "name": field.name,
118
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
119
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
120
+ "metadata": __metadata
121
+ })
122
+ return __fields
@@ -1,6 +1,6 @@
1
1
  from dataclasses import dataclass, field, asdict, fields
2
2
  from orionis.foundation.config.logging.entities.channels import Channels
3
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
3
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
4
4
 
5
5
  @dataclass(unsafe_hash=True, kw_only=True)
6
6
  class Logging:
@@ -49,3 +49,25 @@ class Logging:
49
49
  Converts the current instance into a dictionary representation.
50
50
  """
51
51
  return asdict(self)
52
+
53
+ def getFields(self):
54
+ """
55
+ Retrieves a list of field information for the current dataclass instance.
56
+
57
+ Returns:
58
+ list: A list of dictionaries, each containing details about a field:
59
+ - name (str): The name of the field.
60
+ - type (type): The type of the field.
61
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
62
+ - metadata (mapping): The metadata associated with the field.
63
+ """
64
+ __fields = []
65
+ for field in fields(self):
66
+ __metadata = dict(field.metadata) or {}
67
+ __fields.append({
68
+ "name": field.name,
69
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
70
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
71
+ "metadata": __metadata
72
+ })
73
+ return __fields
@@ -1,5 +1,5 @@
1
- from dataclasses import asdict, dataclass, field
2
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
1
+ from dataclasses import asdict, dataclass, field, fields
2
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
3
3
  from orionis.foundation.config.logging.enums.levels import Level
4
4
 
5
5
  @dataclass(unsafe_hash=True, kw_only=True)
@@ -97,4 +97,26 @@ class Monthly:
97
97
  Returns:
98
98
  dict: A dictionary containing all dataclass fields and their values.
99
99
  """
100
- return asdict(self)
100
+ return asdict(self)
101
+
102
+ def getFields(self):
103
+ """
104
+ Retrieves a list of field information for the current dataclass instance.
105
+
106
+ Returns:
107
+ list: A list of dictionaries, each containing details about a field:
108
+ - name (str): The name of the field.
109
+ - type (type): The type of the field.
110
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
111
+ - metadata (mapping): The metadata associated with the field.
112
+ """
113
+ __fields = []
114
+ for field in fields(self):
115
+ __metadata = dict(field.metadata) or {}
116
+ __fields.append({
117
+ "name": field.name,
118
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
119
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
120
+ "metadata": __metadata
121
+ })
122
+ return __fields
@@ -1,5 +1,5 @@
1
- from dataclasses import asdict, dataclass, field
2
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
1
+ from dataclasses import asdict, dataclass, field, fields
2
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
3
3
  from orionis.foundation.config.logging.enums.levels import Level
4
4
 
5
5
  @dataclass(unsafe_hash=True, kw_only=True)
@@ -71,4 +71,26 @@ class Stack:
71
71
  Returns:
72
72
  dict: A dictionary containing all fields of the Stack instance.
73
73
  """
74
- return asdict(self)
74
+ return asdict(self)
75
+
76
+ def getFields(self):
77
+ """
78
+ Retrieves a list of field information for the current dataclass instance.
79
+
80
+ Returns:
81
+ list: A list of dictionaries, each containing details about a field:
82
+ - name (str): The name of the field.
83
+ - type (type): The type of the field.
84
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
85
+ - metadata (mapping): The metadata associated with the field.
86
+ """
87
+ __fields = []
88
+ for field in fields(self):
89
+ __metadata = dict(field.metadata) or {}
90
+ __fields.append({
91
+ "name": field.name,
92
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
93
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
94
+ "metadata": __metadata
95
+ })
96
+ return __fields
@@ -1,5 +1,5 @@
1
- from dataclasses import asdict, dataclass, field
2
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
1
+ from dataclasses import asdict, dataclass, field, fields
2
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
3
3
  from orionis.foundation.config.logging.enums.levels import Level
4
4
 
5
5
  @dataclass(unsafe_hash=True, kw_only=True)
@@ -99,4 +99,26 @@ class Weekly:
99
99
  Returns:
100
100
  dict: Dictionary representation of the Weekly configuration.
101
101
  """
102
- return asdict(self)
102
+ return asdict(self)
103
+
104
+ def getFields(self):
105
+ """
106
+ Retrieves a list of field information for the current dataclass instance.
107
+
108
+ Returns:
109
+ list: A list of dictionaries, each containing details about a field:
110
+ - name (str): The name of the field.
111
+ - type (type): The type of the field.
112
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
113
+ - metadata (mapping): The metadata associated with the field.
114
+ """
115
+ __fields = []
116
+ for field in fields(self):
117
+ __metadata = dict(field.metadata) or {}
118
+ __fields.append({
119
+ "name": field.name,
120
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
121
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
122
+ "metadata": __metadata
123
+ })
124
+ return __fields
@@ -1,5 +1,5 @@
1
- from dataclasses import asdict, dataclass, field
2
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
1
+ from dataclasses import asdict, dataclass, field, fields
2
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
3
3
 
4
4
  @dataclass(unsafe_hash=True, kw_only=True)
5
5
  class File:
@@ -39,3 +39,25 @@ class File:
39
39
  dict: A dictionary containing all the fields of the instance.
40
40
  """
41
41
  return asdict(self)
42
+
43
+ def getFields(self):
44
+ """
45
+ Retrieves a list of field information for the current dataclass instance.
46
+
47
+ Returns:
48
+ list: A list of dictionaries, each containing details about a field:
49
+ - name (str): The name of the field.
50
+ - type (type): The type of the field.
51
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
52
+ - metadata (mapping): The metadata associated with the field.
53
+ """
54
+ __fields = []
55
+ for field in fields(self):
56
+ __metadata = dict(field.metadata) or {}
57
+ __fields.append({
58
+ "name": field.name,
59
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
60
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
61
+ "metadata": __metadata
62
+ })
63
+ return __fields
@@ -1,5 +1,5 @@
1
1
  from dataclasses import asdict, dataclass, field, fields
2
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
2
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
3
3
  from orionis.foundation.config.mail.entities.mailers import Mailers
4
4
 
5
5
  @dataclass(unsafe_hash=True, kw_only=True)
@@ -54,3 +54,25 @@ class Mail:
54
54
  dict: A dictionary containing all the fields of the instance.
55
55
  """
56
56
  return asdict(self)
57
+
58
+ def getFields(self):
59
+ """
60
+ Retrieves a list of field information for the current dataclass instance.
61
+
62
+ Returns:
63
+ list: A list of dictionaries, each containing details about a field:
64
+ - name (str): The name of the field.
65
+ - type (type): The type of the field.
66
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
67
+ - metadata (mapping): The metadata associated with the field.
68
+ """
69
+ __fields = []
70
+ for field in fields(self):
71
+ __metadata = dict(field.metadata) or {}
72
+ __fields.append({
73
+ "name": field.name,
74
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
75
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
76
+ "metadata": __metadata
77
+ })
78
+ return __fields
@@ -1,5 +1,5 @@
1
- from dataclasses import asdict, dataclass, field
2
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
1
+ from dataclasses import asdict, dataclass, field, fields
2
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
3
3
  from orionis.foundation.config.mail.entities.file import File
4
4
  from orionis.foundation.config.mail.entities.smtp import Smtp
5
5
 
@@ -52,3 +52,25 @@ class Mailers:
52
52
  dict: A dictionary containing all the fields of the instance.
53
53
  """
54
54
  return asdict(self)
55
+
56
+ def getFields(self):
57
+ """
58
+ Retrieves a list of field information for the current dataclass instance.
59
+
60
+ Returns:
61
+ list: A list of dictionaries, each containing details about a field:
62
+ - name (str): The name of the field.
63
+ - type (type): The type of the field.
64
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
65
+ - metadata (mapping): The metadata associated with the field.
66
+ """
67
+ __fields = []
68
+ for field in fields(self):
69
+ __metadata = dict(field.metadata) or {}
70
+ __fields.append({
71
+ "name": field.name,
72
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
73
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
74
+ "metadata": __metadata
75
+ })
76
+ return __fields
@@ -1,6 +1,6 @@
1
- from dataclasses import asdict, dataclass, field
1
+ from dataclasses import asdict, dataclass, field, fields
2
2
  from typing import Optional
3
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
3
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
4
4
 
5
5
  @dataclass(unsafe_hash=True, kw_only=True)
6
6
  class Smtp:
@@ -102,3 +102,25 @@ class Smtp:
102
102
  dict: A dictionary containing all the fields of the instance.
103
103
  """
104
104
  return asdict(self)
105
+
106
+ def getFields(self):
107
+ """
108
+ Retrieves a list of field information for the current dataclass instance.
109
+
110
+ Returns:
111
+ list: A list of dictionaries, each containing details about a field:
112
+ - name (str): The name of the field.
113
+ - type (type): The type of the field.
114
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
115
+ - metadata (mapping): The metadata associated with the field.
116
+ """
117
+ __fields = []
118
+ for field in fields(self):
119
+ __metadata = dict(field.metadata) or {}
120
+ __fields.append({
121
+ "name": field.name,
122
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
123
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
124
+ "metadata": __metadata
125
+ })
126
+ return __fields
@@ -1,6 +1,6 @@
1
1
 
2
- from dataclasses import asdict, dataclass, field
3
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
2
+ from dataclasses import asdict, dataclass, field, fields
3
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
4
4
  from orionis.foundation.config.queue.entities.database import Database
5
5
 
6
6
  @dataclass(unsafe_hash=True, kw_only=True)
@@ -53,3 +53,25 @@ class Brokers:
53
53
  dict: A dictionary containing all the fields of the instance.
54
54
  """
55
55
  return asdict(self)
56
+
57
+ def getFields(self):
58
+ """
59
+ Retrieves a list of field information for the current dataclass instance.
60
+
61
+ Returns:
62
+ list: A list of dictionaries, each containing details about a field:
63
+ - name (str): The name of the field.
64
+ - type (type): The type of the field.
65
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
66
+ - metadata (mapping): The metadata associated with the field.
67
+ """
68
+ __fields = []
69
+ for field in fields(self):
70
+ __metadata = dict(field.metadata) or {}
71
+ __fields.append({
72
+ "name": field.name,
73
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
74
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
75
+ "metadata": __metadata
76
+ })
77
+ return __fields
@@ -1,6 +1,6 @@
1
1
 
2
- from dataclasses import asdict, dataclass, field
3
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
2
+ from dataclasses import asdict, dataclass, field, fields
3
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
4
4
  from orionis.foundation.config.queue.enums.strategy import Strategy
5
5
  import re
6
6
 
@@ -104,4 +104,26 @@ class Database:
104
104
  Returns:
105
105
  dict: A dictionary containing all the fields of the instance.
106
106
  """
107
- return asdict(self)
107
+ return asdict(self)
108
+
109
+ def getFields(self):
110
+ """
111
+ Retrieves a list of field information for the current dataclass instance.
112
+
113
+ Returns:
114
+ list: A list of dictionaries, each containing details about a field:
115
+ - name (str): The name of the field.
116
+ - type (type): The type of the field.
117
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
118
+ - metadata (mapping): The metadata associated with the field.
119
+ """
120
+ __fields = []
121
+ for field in fields(self):
122
+ __metadata = dict(field.metadata) or {}
123
+ __fields.append({
124
+ "name": field.name,
125
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
126
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
127
+ "metadata": __metadata
128
+ })
129
+ return __fields
@@ -1,5 +1,5 @@
1
1
  from dataclasses import asdict, dataclass, field, fields
2
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
2
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
3
3
  from orionis.foundation.config.queue.entities.brokers import Brokers
4
4
 
5
5
  @dataclass(unsafe_hash=True, kw_only=True)
@@ -44,4 +44,26 @@ class Queue:
44
44
  Returns:
45
45
  dict: A dictionary containing all the fields of the instance.
46
46
  """
47
- return asdict(self)
47
+ return asdict(self)
48
+
49
+ def getFields(self):
50
+ """
51
+ Retrieves a list of field information for the current dataclass instance.
52
+
53
+ Returns:
54
+ list: A list of dictionaries, each containing details about a field:
55
+ - name (str): The name of the field.
56
+ - type (type): The type of the field.
57
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
58
+ - metadata (mapping): The metadata associated with the field.
59
+ """
60
+ __fields = []
61
+ for field in fields(self):
62
+ __metadata = dict(field.metadata) or {}
63
+ __fields.append({
64
+ "name": field.name,
65
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
66
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
67
+ "metadata": __metadata
68
+ })
69
+ return __fields
@@ -1,7 +1,7 @@
1
- from dataclasses import asdict, dataclass, field
1
+ from dataclasses import asdict, dataclass, field, fields
2
2
  from pathlib import Path
3
3
  from typing import Dict
4
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
4
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
5
5
 
6
6
  @dataclass(frozen=True, kw_only=True)
7
7
  class Paths:
@@ -444,3 +444,25 @@ class Paths:
444
444
  Dict[str, str]: Dictionary mapping field names to path strings
445
445
  """
446
446
  return asdict(self)
447
+
448
+ def getFields(self):
449
+ """
450
+ Retrieves a list of field information for the current dataclass instance.
451
+
452
+ Returns:
453
+ list: A list of dictionaries, each containing details about a field:
454
+ - name (str): The name of the field.
455
+ - type (type): The type of the field.
456
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
457
+ - metadata (mapping): The metadata associated with the field.
458
+ """
459
+ __fields = []
460
+ for field in fields(self):
461
+ __metadata = dict(field.metadata) or {}
462
+ __fields.append({
463
+ "name": field.name,
464
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
465
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
466
+ "metadata": __metadata
467
+ })
468
+ return __fields
@@ -1,6 +1,6 @@
1
- from dataclasses import asdict, dataclass, field
1
+ from dataclasses import asdict, dataclass, field, fields
2
2
  from typing import Optional
3
- from orionis.foundation.config.exceptions.integrity import OrionisIntegrityException
3
+ from orionis.foundation.exceptions.integrity import OrionisIntegrityException
4
4
  from orionis.foundation.config.session.enums.same_site_policy import SameSitePolicy
5
5
  from orionis.foundation.config.session.helpers.secret_key import SecretKey
6
6
  from orionis.services.environment.env import Env
@@ -145,3 +145,24 @@ class Session:
145
145
  """
146
146
  return asdict(self)
147
147
 
148
+ def getFields(self):
149
+ """
150
+ Retrieves a list of field information for the current dataclass instance.
151
+
152
+ Returns:
153
+ list: A list of dictionaries, each containing details about a field:
154
+ - name (str): The name of the field.
155
+ - type (type): The type of the field.
156
+ - default: The default value of the field, if specified; otherwise, the value from metadata or None.
157
+ - metadata (mapping): The metadata associated with the field.
158
+ """
159
+ __fields = []
160
+ for field in fields(self):
161
+ __metadata = dict(field.metadata) or {}
162
+ __fields.append({
163
+ "name": field.name,
164
+ "type": field.type.__name__ if hasattr(field.type, '__name__') else str(field.type),
165
+ "default": field.default if (field.default is not None and '_MISSING_TYPE' not in str(field.default)) else __metadata.get('default', None),
166
+ "metadata": __metadata
167
+ })
168
+ return __fields