libretificacaotjcore 0.1.23__tar.gz → 0.1.25__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.
Potentially problematic release.
This version of libretificacaotjcore might be problematic. Click here for more details.
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/PKG-INFO +1 -1
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/database/config_db.py +0 -2
- libretificacaotjcore-0.1.25/libretificacaotjcore/dtos/arquivo_dto.py +20 -0
- libretificacaotjcore-0.1.25/libretificacaotjcore/dtos/solicitacao_dto.py +56 -0
- libretificacaotjcore-0.1.25/libretificacaotjcore/enums/__init__.py +0 -0
- libretificacaotjcore-0.1.25/libretificacaotjcore/services/__init__.py +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore.egg-info/PKG-INFO +1 -1
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore.egg-info/SOURCES.txt +3 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/pyproject.toml +48 -48
- libretificacaotjcore-0.1.23/libretificacaotjcore/dtos/solicitacao_dto.py +0 -63
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/README.md +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/__init__.py +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/database/__init__.py +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/database/arquivo_repository.py +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/database/certificado_repository.py +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/database/protocolo_repository.py +0 -0
- {libretificacaotjcore-0.1.23/libretificacaotjcore/services → libretificacaotjcore-0.1.25/libretificacaotjcore/dtos}/__init__.py +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/enums/e_eventos.py +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/services/crypto_pass_service.py +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/services/file_service.py +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/services/rabbitmq_consumer.py +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/services/s3_service.py +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore.egg-info/dependency_links.txt +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore.egg-info/requires.txt +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore.egg-info/top_level.txt +0 -0
- {libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: libretificacaotjcore
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.25
|
|
4
4
|
Summary: Biblioteca para centralizar conexao com filas no rabbit e banco de dados no mongodb para os servicos de retificacao da TJ
|
|
5
5
|
Author-email: Jhonatan Azevedo <dev.azevedo@outlook.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/seu-usuario/libretificacaotjcore
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from ast import Dict
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel, Field
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class ArquivoDTO(BaseModel):
|
|
7
|
+
SolicitacaoId: int = Field(..., description="ID da solicitação")
|
|
8
|
+
Cpf: str = Field(..., description="CPF do contribuinte")
|
|
9
|
+
S1200: list[Dict] | None = Field(None, description="Lista de arquivos S-1200")
|
|
10
|
+
S1210: list[Dict] | None = Field(None, description="Lista de arquivos S-1210")
|
|
11
|
+
S2200: list[Dict] | None = Field(None, description="Lista de arquivos S-2200")
|
|
12
|
+
S2299: list[Dict] | None = Field(None, description="Lista de arquivos S-2299")
|
|
13
|
+
IdeEmpregador: Dict = Field(..., description="Identificação do empregador")
|
|
14
|
+
Cnpj: str = Field(..., description="CNPJ do empregador")
|
|
15
|
+
DataInicio: str = Field(..., description="Data de início no formato YYYY-MM-DD")
|
|
16
|
+
DataFim: str = Field(..., description="Data de fim no formato YYYY-MM-DD")
|
|
17
|
+
CertificadoId: int = Field(..., description="ID do certificado")
|
|
18
|
+
DataProcessamento: str = Field(
|
|
19
|
+
..., description="Data de processamento no formato YYYY-MM-DD"
|
|
20
|
+
)
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import re
|
|
2
|
+
from datetime import date, datetime, timedelta
|
|
3
|
+
|
|
4
|
+
from pydantic import BaseModel, Field, field_validator
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class SolicitacaoDTO(BaseModel):
|
|
8
|
+
SolicitacaoId: int = Field(..., description="ID da solicitação")
|
|
9
|
+
Cnpj: str = Field(..., description="CNPJ da empresa")
|
|
10
|
+
DataInicio: date = Field(..., description="Data de início no formato YYYY-MM-DD")
|
|
11
|
+
DataFim: date = Field(..., description="Data de fim no formato YYYY-MM-DD")
|
|
12
|
+
CertificadoId: int = Field(..., description="ID do certificado")
|
|
13
|
+
|
|
14
|
+
@field_validator("SolicitacaoId")
|
|
15
|
+
@classmethod
|
|
16
|
+
def validar_solicitacao_id(cls, v: int) -> int:
|
|
17
|
+
if v <= 0:
|
|
18
|
+
raise ValueError("O solicitacaoId deve ser um inteiro positivo.")
|
|
19
|
+
return v
|
|
20
|
+
|
|
21
|
+
@field_validator("CertificadoId")
|
|
22
|
+
@classmethod
|
|
23
|
+
def validar_certificado_id(cls, v: int) -> int:
|
|
24
|
+
if v <= 0:
|
|
25
|
+
raise ValueError("O certificadoId deve ser um inteiro positivo.")
|
|
26
|
+
return v
|
|
27
|
+
|
|
28
|
+
@field_validator("Cnpj")
|
|
29
|
+
@classmethod
|
|
30
|
+
def validar_cnpj(cls, v: str) -> str:
|
|
31
|
+
cnpj_limpo = re.sub(r"\D", "", v)
|
|
32
|
+
if len(cnpj_limpo) != 14 or not cnpj_limpo.isdigit():
|
|
33
|
+
raise ValueError("O CNPJ deve conter 14 dígitos numéricos.")
|
|
34
|
+
return cnpj_limpo
|
|
35
|
+
|
|
36
|
+
@field_validator("DataInicio", mode="before")
|
|
37
|
+
@classmethod
|
|
38
|
+
def formatar_data_inicio(cls, value: str) -> date:
|
|
39
|
+
try:
|
|
40
|
+
return datetime.strptime(value, "%Y-%m-%d").date()
|
|
41
|
+
except ValueError as ve:
|
|
42
|
+
raise ValueError("A dataInicio deve estar no formato YYYY-MM-DD.") from ve
|
|
43
|
+
|
|
44
|
+
@field_validator("DataFim", mode="before")
|
|
45
|
+
@classmethod
|
|
46
|
+
def ajustar_data_fim(cls, value: str) -> date:
|
|
47
|
+
ano, mes = map(int, value.split("-")[:2])
|
|
48
|
+
if mes < 1 or mes > 12:
|
|
49
|
+
raise ValueError(
|
|
50
|
+
"A dataFim deve estar no formato YYYY-MM-DD e conter um mês válido."
|
|
51
|
+
)
|
|
52
|
+
if mes == 12:
|
|
53
|
+
proximo_mes = datetime(ano + 1, 1, 1)
|
|
54
|
+
else:
|
|
55
|
+
proximo_mes = datetime(ano, mes + 1, 1)
|
|
56
|
+
return (proximo_mes - timedelta(days=1)).date()
|
|
File without changes
|
|
File without changes
|
{libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: libretificacaotjcore
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.25
|
|
4
4
|
Summary: Biblioteca para centralizar conexao com filas no rabbit e banco de dados no mongodb para os servicos de retificacao da TJ
|
|
5
5
|
Author-email: Jhonatan Azevedo <dev.azevedo@outlook.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/seu-usuario/libretificacaotjcore
|
|
@@ -11,7 +11,10 @@ libretificacaotjcore/database/arquivo_repository.py
|
|
|
11
11
|
libretificacaotjcore/database/certificado_repository.py
|
|
12
12
|
libretificacaotjcore/database/config_db.py
|
|
13
13
|
libretificacaotjcore/database/protocolo_repository.py
|
|
14
|
+
libretificacaotjcore/dtos/__init__.py
|
|
15
|
+
libretificacaotjcore/dtos/arquivo_dto.py
|
|
14
16
|
libretificacaotjcore/dtos/solicitacao_dto.py
|
|
17
|
+
libretificacaotjcore/enums/__init__.py
|
|
15
18
|
libretificacaotjcore/enums/e_eventos.py
|
|
16
19
|
libretificacaotjcore/services/__init__.py
|
|
17
20
|
libretificacaotjcore/services/crypto_pass_service.py
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
[build-system]
|
|
2
|
-
build-backend = "setuptools.build_meta"
|
|
3
|
-
requires = ["setuptools>=61.0", "wheel"]
|
|
4
|
-
|
|
5
|
-
[project]
|
|
6
|
-
authors = [
|
|
7
|
-
{name = "Jhonatan Azevedo", email = "dev.azevedo@outlook.com"},
|
|
8
|
-
]
|
|
9
|
-
description = "Biblioteca para centralizar conexao com filas no rabbit e banco de dados no mongodb para os servicos de retificacao da TJ"
|
|
10
|
-
keywords = ["tj", "tributo justo", "retificação", "automação", "pydantic", "rabbitmq", "boto3", "motor"]
|
|
11
|
-
name = "libretificacaotjcore"
|
|
12
|
-
readme = "README.md"
|
|
13
|
-
requires-python = ">=3.12"
|
|
14
|
-
version = "0.1.
|
|
15
|
-
|
|
16
|
-
classifiers = [
|
|
17
|
-
"Development Status :: 3 - Alpha",
|
|
18
|
-
"Intended Audience :: Developers",
|
|
19
|
-
"Topic :: Software Development :: Libraries",
|
|
20
|
-
"License :: OSI Approved :: MIT License",
|
|
21
|
-
"Programming Language :: Python :: 3",
|
|
22
|
-
"Programming Language :: Python :: 3.8",
|
|
23
|
-
"Programming Language :: Python :: 3.9",
|
|
24
|
-
"Programming Language :: Python :: 3.10",
|
|
25
|
-
"Programming Language :: Python :: 3.11",
|
|
26
|
-
"Programming Language :: Python :: 3.12",
|
|
27
|
-
"Programming Language :: Python :: 3.13",
|
|
28
|
-
"Operating System :: OS Independent",
|
|
29
|
-
]
|
|
30
|
-
|
|
31
|
-
dependencies = [
|
|
32
|
-
"aiofiles>=24.1.0",
|
|
33
|
-
"boto3>=1.39.16",
|
|
34
|
-
"cryptography>=45.0.6",
|
|
35
|
-
"motor>=3.7.1",
|
|
36
|
-
"pika>=1.3.2",
|
|
37
|
-
"py7zr>=1.0.0",
|
|
38
|
-
"pydantic>=2.11.7",
|
|
39
|
-
]
|
|
40
|
-
|
|
41
|
-
[project.urls]
|
|
42
|
-
Homepage = "https://github.com/seu-usuario/libretificacaotjcore"
|
|
43
|
-
Issues = "https://github.com/seu-usuario/libretificacaotjcore/issues"
|
|
44
|
-
Repository = "https://github.com/seu-usuario/libretificacaotjcore"
|
|
45
|
-
|
|
46
|
-
[tool.setuptools.packages.find]
|
|
47
|
-
include = ["libretificacaotjcore*"]
|
|
48
|
-
where = ["."]
|
|
1
|
+
[build-system]
|
|
2
|
+
build-backend = "setuptools.build_meta"
|
|
3
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
authors = [
|
|
7
|
+
{name = "Jhonatan Azevedo", email = "dev.azevedo@outlook.com"},
|
|
8
|
+
]
|
|
9
|
+
description = "Biblioteca para centralizar conexao com filas no rabbit e banco de dados no mongodb para os servicos de retificacao da TJ"
|
|
10
|
+
keywords = ["tj", "tributo justo", "retificação", "automação", "pydantic", "rabbitmq", "boto3", "motor"]
|
|
11
|
+
name = "libretificacaotjcore"
|
|
12
|
+
readme = "README.md"
|
|
13
|
+
requires-python = ">=3.12"
|
|
14
|
+
version = "0.1.25"
|
|
15
|
+
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 3 - Alpha",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"Topic :: Software Development :: Libraries",
|
|
20
|
+
"License :: OSI Approved :: MIT License",
|
|
21
|
+
"Programming Language :: Python :: 3",
|
|
22
|
+
"Programming Language :: Python :: 3.8",
|
|
23
|
+
"Programming Language :: Python :: 3.9",
|
|
24
|
+
"Programming Language :: Python :: 3.10",
|
|
25
|
+
"Programming Language :: Python :: 3.11",
|
|
26
|
+
"Programming Language :: Python :: 3.12",
|
|
27
|
+
"Programming Language :: Python :: 3.13",
|
|
28
|
+
"Operating System :: OS Independent",
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
dependencies = [
|
|
32
|
+
"aiofiles>=24.1.0",
|
|
33
|
+
"boto3>=1.39.16",
|
|
34
|
+
"cryptography>=45.0.6",
|
|
35
|
+
"motor>=3.7.1",
|
|
36
|
+
"pika>=1.3.2",
|
|
37
|
+
"py7zr>=1.0.0",
|
|
38
|
+
"pydantic>=2.11.7",
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
[project.urls]
|
|
42
|
+
Homepage = "https://github.com/seu-usuario/libretificacaotjcore"
|
|
43
|
+
Issues = "https://github.com/seu-usuario/libretificacaotjcore/issues"
|
|
44
|
+
Repository = "https://github.com/seu-usuario/libretificacaotjcore"
|
|
45
|
+
|
|
46
|
+
[tool.setuptools.packages.find]
|
|
47
|
+
include = ["libretificacaotjcore*"]
|
|
48
|
+
where = ["."]
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
from datetime import datetime, date, timedelta
|
|
2
|
-
import re
|
|
3
|
-
from pydantic import BaseModel, Field, field_validator
|
|
4
|
-
|
|
5
|
-
from libretificacaotjcore.enums.e_eventos import EEventos
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class SolicitacaoDTO(BaseModel):
|
|
9
|
-
solicitacaoId: int = Field(..., description="ID da solicitação")
|
|
10
|
-
cnpj: str = Field(..., description="CNPJ da empresa")
|
|
11
|
-
dataInicio: date = Field(..., description="Data de início no formato YYYY-MM-DD")
|
|
12
|
-
dataFim: date = Field(..., description="Data de fim no formato YYYY-MM-DD")
|
|
13
|
-
certificadoId: int = Field(..., description="ID do certificado")
|
|
14
|
-
|
|
15
|
-
# Validar e transformar solicitacaoId
|
|
16
|
-
@field_validator('solicitacaoId')
|
|
17
|
-
@classmethod
|
|
18
|
-
def validar_solicitacao_id(cls, v: int) -> int:
|
|
19
|
-
if v <= 0:
|
|
20
|
-
raise ValueError("O solicitacaoId deve ser um inteiro positivo.")
|
|
21
|
-
return v
|
|
22
|
-
|
|
23
|
-
# Validar e transformar certificadoId
|
|
24
|
-
@field_validator('certificadoId')
|
|
25
|
-
@classmethod
|
|
26
|
-
def validar_certificado_id(cls, v: int) -> int:
|
|
27
|
-
if v <= 0:
|
|
28
|
-
raise ValueError("O certificadoId deve ser um inteiro positivo.")
|
|
29
|
-
return v
|
|
30
|
-
|
|
31
|
-
# Validar CNPJ (apenas estrutura com 14 dígitos)
|
|
32
|
-
@field_validator('cnpj')
|
|
33
|
-
@classmethod
|
|
34
|
-
def validar_cnpj(cls, v: str) -> str:
|
|
35
|
-
cnpj_limpo = re.sub(r'\D', '', v)
|
|
36
|
-
if len(cnpj_limpo) != 14 or not cnpj_limpo.isdigit():
|
|
37
|
-
raise ValueError("O CNPJ deve conter 14 dígitos numéricos.")
|
|
38
|
-
return cnpj_limpo
|
|
39
|
-
|
|
40
|
-
# Validar e transformar dataInicio
|
|
41
|
-
@field_validator('dataInicio', mode='before')
|
|
42
|
-
@classmethod
|
|
43
|
-
def formatar_data_inicio(cls, value: str) -> date:
|
|
44
|
-
try:
|
|
45
|
-
return datetime.strptime(value, "%Y-%m-%d").date()
|
|
46
|
-
except ValueError:
|
|
47
|
-
raise ValueError("A dataInicio deve estar no formato YYYY-MM-DD.")
|
|
48
|
-
|
|
49
|
-
# Validar e transformar dataFim (último dia do mês)
|
|
50
|
-
@field_validator('dataFim', mode='before')
|
|
51
|
-
@classmethod
|
|
52
|
-
def ajustar_data_fim(cls, value: str) -> date:
|
|
53
|
-
try:
|
|
54
|
-
ano, mes = map(int, value.split("-")[:2])
|
|
55
|
-
if mes < 1 or mes > 12:
|
|
56
|
-
raise ValueError
|
|
57
|
-
if mes == 12:
|
|
58
|
-
proximo_mes = datetime(ano + 1, 1, 1)
|
|
59
|
-
else:
|
|
60
|
-
proximo_mes = datetime(ano, mes + 1, 1)
|
|
61
|
-
return (proximo_mes - timedelta(days=1)).date()
|
|
62
|
-
except Exception:
|
|
63
|
-
raise ValueError("A dataFim deve estar no formato YYYY-MM-DD e conter um mês válido.")
|
|
File without changes
|
{libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{libretificacaotjcore-0.1.23 → libretificacaotjcore-0.1.25}/libretificacaotjcore/enums/e_eventos.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|