Skip to content

Commit e74b2ec

Browse files
feat: Adiciona função para construir URL de validação do certificado Tech Floripa
1 parent dbb6846 commit e74b2ec

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from config import config
2+
3+
def build_url_tech_floripa(url_service_solona: str, validation_code: str, order_id: str) -> str:
4+
try:
5+
txid_solana = url_service_solona.split('/')[-1]
6+
full_url = f"{config.TECH_FLORIPA_CERTIFICATE_VALIDATE_URL}?validate_code={validation_code}&hash={txid_solana}&order_id={order_id}"
7+
return full_url
8+
except Exception as e:
9+
raise ValueError(f"Error building Tech Floripa URL: {str(e)}")

certified_builder/certified_builder.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from certified_builder.utils.fetch_file_certificate import fetch_file_certificate
99
from certified_builder.certificates_on_solana import CertificatesOnSolana
1010
from certified_builder.make_qrcode import MakeQRCode
11+
from certified_builder.build_url_tech_floripa import build_url_tech_floripa
1112

1213
FONT_NAME = os.path.join(os.path.dirname(__file__), "fonts/PinyonScript/PinyonScript-Regular.ttf")
1314
VALIDATION_CODE = os.path.join(os.path.dirname(__file__), "fonts/ChakraPetch/ChakraPetch-SemiBold.ttf")
@@ -61,7 +62,13 @@ def build_certificates(self, participants: List[Participant]):
6162
# "verificacao_url": "https://www.google.com"
6263
# }
6364
# }
64-
participant.authenticity_verification_url = solana_response.get("blockchain", {}).get("verificacao_url", "")
65+
participant.validation_code = participant.formated_validation_code()
66+
67+
participant.authenticity_verification_url = build_url_tech_floripa(
68+
solana_response.get("blockchain", {}).get("verificacao_url", ""),
69+
participant.validation_code,
70+
participant.event.order_id
71+
)
6572

6673
if not participant.authenticity_verification_url:
6774
raise RuntimeError("Failed to get authenticity verification URL from Solana response")

tests/conftest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ class MockConfig:
2020
QUEUE_URL = "https://sqs.us-east-1.amazonaws.com/000000000000/test"
2121
SERVICE_URL_REGISTRATION_API_SOLANA = "https://example.test/solana/register"
2222
SERVICE_API_KEY_REGISTRATION_API_SOLANA = "test-api-key"
23+
TECH_FLORIPA_CERTIFICATE_VALIDATE_URL = "https://example.test/validate/certificate"
2324

2425
# comentário: expõe tanto a classe quanto a instância, como o módulo real faria
2526
mock_module.Config = MockConfig

0 commit comments

Comments
 (0)