support hashtags

This commit is contained in:
user 2025-02-05 10:00:15 +03:00
parent d9cd30ae33
commit 917b281e38
1 changed files with 6 additions and 2 deletions

View File

@ -35,6 +35,9 @@ async def s_api_v1_blockchain_send_new_content_message(request):
assert request.json, "No data provided" assert request.json, "No data provided"
assert request.ctx.user, "No authorized user provided" assert request.ctx.user, "No authorized user provided"
if not request.json['hashtags']:
request.json['hashtags'] = []
for field_key, field_value in { for field_key, field_value in {
'title': lambda x: isinstance(x, str), 'title': lambda x: isinstance(x, str),
'authors': lambda x: isinstance(x, list), 'authors': lambda x: isinstance(x, list),
@ -44,7 +47,7 @@ async def s_api_v1_blockchain_send_new_content_message(request):
'price': lambda x: (isinstance(x, str) and x.isdigit()), 'price': lambda x: (isinstance(x, str) and x.isdigit()),
'allowResale': lambda x: isinstance(x, bool), 'allowResale': lambda x: isinstance(x, bool),
'royaltyParams': lambda x: (isinstance(x, list) and valid_royalty_params(x)), 'royaltyParams': lambda x: (isinstance(x, list) and valid_royalty_params(x)),
'hashtags': lambda x: isinstance(x, list) and all([isinstance(y, str) for y in x])
}.items(): }.items():
assert field_key in request.json, f"No {field_key} provided" assert field_key in request.json, f"No {field_key} provided"
assert field_value(request.json[field_key]), f"Invalid {field_key} provided" assert field_value(request.json[field_key]), f"Invalid {field_key} provided"
@ -78,7 +81,8 @@ async def s_api_v1_blockchain_send_new_content_message(request):
request.ctx.db_session, request.ctx.db_session,
title=f"{', '.join(request.json['authors'])} - {request.json['title']}" if request.json['authors'] else request.json['title'], title=f"{', '.join(request.json['authors'])} - {request.json['title']}" if request.json['authors'] else request.json['title'],
cover_url=f"{PROJECT_HOST}/api/v1/storage/{image_content_cid.serialize_v2()}" if image_content_cid else None, cover_url=f"{PROJECT_HOST}/api/v1/storage/{image_content_cid.serialize_v2()}" if image_content_cid else None,
authors=request.json['authors'] authors=request.json['authors'],
hashtags=request.json['hashtags']
) )
royalties_dict = begin_dict(8) royalties_dict = begin_dict(8)