Skip to content

Commit c0ff9ca

Browse files
authored
feat(token_url): format token uri with quote_plus in pg (HemeraProtocol#177)
1 parent b2db0bd commit c0ff9ca

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

common/models/erc1155_token_id_details.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
from datetime import datetime
2+
from typing import Type
23

34
from sqlalchemy import Column, Index, PrimaryKeyConstraint, desc, func, text
45
from sqlalchemy.dialects.postgresql import BIGINT, BOOLEAN, BYTEA, JSONB, NUMERIC, TIMESTAMP, VARCHAR
56

67
from common.models import HemeraModel, general_converter
8+
from common.models.erc721_token_id_details import token_uri_format_converter
79

810

911
class ERC1155TokenIdDetails(HemeraModel):
@@ -31,7 +33,7 @@ def model_domain_mapping():
3133
"domain": "ERC1155TokenIdDetail",
3234
"conflict_do_update": False,
3335
"update_strategy": None,
34-
"converter": general_converter,
36+
"converter": token_uri_format_converter,
3537
},
3638
{
3739
"domain": "UpdateERC1155TokenIdDetail",

common/models/erc721_token_id_details.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,21 @@
11
from datetime import datetime
2+
from typing import Type
3+
from urllib import parse
24

35
from sqlalchemy import Column, Index, PrimaryKeyConstraint, desc, func, text
46
from sqlalchemy.dialects.postgresql import BIGINT, BOOLEAN, BYTEA, JSONB, NUMERIC, TIMESTAMP, VARCHAR
57

68
from common.models import HemeraModel, general_converter
79

810

11+
def token_uri_format_converter(table: Type[HemeraModel], data, is_update=False):
12+
13+
if data.token_uri is not None:
14+
data.token_uri = parse.quote_plus(data.token_uri)
15+
16+
return general_converter(table, data, is_update)
17+
18+
919
class ERC721TokenIdDetails(HemeraModel):
1020
__tablename__ = "erc721_token_id_details"
1121

@@ -31,7 +41,7 @@ def model_domain_mapping():
3141
"domain": "ERC721TokenIdDetail",
3242
"conflict_do_update": False,
3343
"update_strategy": None,
34-
"converter": general_converter,
44+
"converter": token_uri_format_converter,
3545
},
3646
{
3747
"domain": "UpdateERC721TokenIdDetail",

0 commit comments

Comments
 (0)