finalsa-common-models 2.0.2__tar.gz → 2.0.4__tar.gz
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.
- {finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/PKG-INFO +3 -3
- {finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/finalsa/common/models/__init__.py +10 -0
- finalsa_common_models-2.0.4/finalsa/common/models/exceptions/__init__.py +5 -0
- finalsa_common_models-2.0.4/finalsa/common/models/exceptions/base_domain_exception.py +43 -0
- {finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/pyproject.toml +5 -3
- {finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/.gitignore +0 -0
- {finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/LICENSE.md +0 -0
- {finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/README.md +0 -0
- {finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/finalsa/common/models/models/__init__.py +0 -0
- {finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/finalsa/common/models/models/functions.py +0 -0
- {finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/finalsa/common/models/models/meta.py +0 -0
- {finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/finalsa/common/models/models/sqs_response.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: finalsa-common-models
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.4
|
|
4
4
|
Summary: Common models for Finalsa
|
|
5
5
|
Project-URL: Homepage, https://github.com/finalsa/finalsa-common-models
|
|
6
6
|
Author-email: Luis Jimenez <luis@finalsa.com>
|
|
@@ -28,8 +28,8 @@ License: MIT License
|
|
|
28
28
|
License-File: LICENSE.md
|
|
29
29
|
Keywords: common,finalsa,models
|
|
30
30
|
Requires-Python: >=3.10
|
|
31
|
-
Requires-Dist: orjson>=3.
|
|
32
|
-
Requires-Dist: pydantic>=2.11.
|
|
31
|
+
Requires-Dist: orjson>=3.11.2
|
|
32
|
+
Requires-Dist: pydantic>=2.11.7
|
|
33
33
|
Requires-Dist: python-dateutil>=2.9.0.post0
|
|
34
34
|
Description-Content-Type: text/markdown
|
|
35
35
|
|
{finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/finalsa/common/models/__init__.py
RENAMED
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
from finalsa.common.models.models import (
|
|
2
2
|
Meta,
|
|
3
|
+
AsyncMeta,
|
|
4
|
+
Authorization,
|
|
5
|
+
HttpMeta,
|
|
3
6
|
SqsReponse,
|
|
4
7
|
parse_sns_message_attributes,
|
|
5
8
|
parse_sqs_message_attributes,
|
|
6
9
|
to_sqs_message_attributes,
|
|
7
10
|
to_sns_message_attributes,
|
|
8
11
|
)
|
|
12
|
+
from finalsa.common.models.exceptions import (
|
|
13
|
+
BaseDomainException,
|
|
14
|
+
)
|
|
9
15
|
|
|
10
16
|
|
|
11
17
|
__all__ = [
|
|
12
18
|
"Meta",
|
|
19
|
+
"AsyncMeta",
|
|
20
|
+
"Authorization",
|
|
21
|
+
"HttpMeta",
|
|
13
22
|
"SqsReponse",
|
|
14
23
|
"parse_sns_message_attributes",
|
|
15
24
|
"parse_sqs_message_attributes",
|
|
16
25
|
"to_sqs_message_attributes",
|
|
17
26
|
"to_sns_message_attributes",
|
|
27
|
+
"BaseDomainException",
|
|
18
28
|
]
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
import functools
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def from_camel_case_to_snake_case(name: str) -> str:
|
|
6
|
+
"""
|
|
7
|
+
Convert a camelCase string to snake_case.
|
|
8
|
+
"""
|
|
9
|
+
if not name:
|
|
10
|
+
return name
|
|
11
|
+
result = []
|
|
12
|
+
for char in name:
|
|
13
|
+
if char.isupper():
|
|
14
|
+
if result:
|
|
15
|
+
result.append('_')
|
|
16
|
+
result.append(char.lower())
|
|
17
|
+
else:
|
|
18
|
+
result.append(char)
|
|
19
|
+
return ''.join(result)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class BaseDomainException(Exception):
|
|
23
|
+
response_code = 500
|
|
24
|
+
|
|
25
|
+
@classmethod
|
|
26
|
+
@property
|
|
27
|
+
@functools.lru_cache(maxsize=None)
|
|
28
|
+
def __class_name__(cls):
|
|
29
|
+
return from_camel_case_to_snake_case(cls.__name__)
|
|
30
|
+
|
|
31
|
+
def __init__(
|
|
32
|
+
self,
|
|
33
|
+
message: str,
|
|
34
|
+
response_code: Optional[int] = 500,
|
|
35
|
+
name: Optional[str] = None
|
|
36
|
+
) -> None:
|
|
37
|
+
super().__init__(message)
|
|
38
|
+
self.message = message
|
|
39
|
+
self.response_code = response_code
|
|
40
|
+
if name is None:
|
|
41
|
+
self.name = self.__class_name__
|
|
42
|
+
else:
|
|
43
|
+
self.name = name
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "finalsa-common-models"
|
|
3
|
-
version = "2.0.
|
|
3
|
+
version = "2.0.4"
|
|
4
4
|
description = "Common models for Finalsa"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
7
7
|
dependencies = [
|
|
8
|
-
"orjson>=3.
|
|
9
|
-
"pydantic>=2.11.
|
|
8
|
+
"orjson>=3.11.2",
|
|
9
|
+
"pydantic>=2.11.7",
|
|
10
10
|
"python-dateutil>=2.9.0.post0",
|
|
11
11
|
]
|
|
12
12
|
authors = [
|
|
@@ -28,12 +28,14 @@ build-backend = "hatchling.build"
|
|
|
28
28
|
|
|
29
29
|
[tool.hatch.build.targets.sdist]
|
|
30
30
|
include = [
|
|
31
|
+
"finalsa/common/models/exceptions/*.py",
|
|
31
32
|
"finalsa/common/models/*.py",
|
|
32
33
|
"finalsa/common/models/models/*.py"
|
|
33
34
|
]
|
|
34
35
|
|
|
35
36
|
[tool.hatch.build.targets.wheel]
|
|
36
37
|
include = [
|
|
38
|
+
"finalsa/common/models/exceptions/*.py",
|
|
37
39
|
"finalsa/common/models/*.py",
|
|
38
40
|
"finalsa/common/models/models/*.py"
|
|
39
41
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/finalsa/common/models/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{finalsa_common_models-2.0.2 → finalsa_common_models-2.0.4}/finalsa/common/models/models/meta.py
RENAMED
|
File without changes
|
|
File without changes
|