kopia lustrzana https://github.com/bugout-dev/moonstream
Add changes.
rodzic
d473db954c
commit
0a7a5a7d99
|
@ -239,7 +239,7 @@ async def queries_data_update_handler(
|
|||
requested_query = request_data.query
|
||||
|
||||
if request_data.blockchain:
|
||||
if request_data.blockchain not in AvailableBlockchainType.values():
|
||||
if request_data.blockchain not in [i.value for i in AvailableBlockchainType]:
|
||||
logger.error(f"Unknown blockchain {request_data.blockchain}")
|
||||
raise MoonstreamHTTPException(status_code=403, detail="Unknown blockchain")
|
||||
|
||||
|
@ -247,22 +247,22 @@ async def queries_data_update_handler(
|
|||
|
||||
requested_query = (
|
||||
requested_query.replace(
|
||||
"transaction_table",
|
||||
"__transactions_table__",
|
||||
get_transaction_model(blockchain).__tablename__,
|
||||
)
|
||||
.replace(
|
||||
"block_table",
|
||||
"__blocks_table__",
|
||||
get_block_model(blockchain).__tablename__,
|
||||
)
|
||||
.replace(
|
||||
"label_table",
|
||||
"__labels_table__",
|
||||
get_label_model(blockchain).__tablename__,
|
||||
)
|
||||
)
|
||||
|
||||
# Check if it can transform to TextClause
|
||||
try:
|
||||
query = text(request_data.query)
|
||||
query = text(requested_query)
|
||||
except Exception as e:
|
||||
logger.error(
|
||||
f"Can't parse query {query_id} to TextClause in drones /query_update endpoint, error: {e}"
|
||||
|
|
|
@ -15,7 +15,7 @@ from moonstreamdb.db import SessionLocal
|
|||
from ..settings import BUGOUT_BROOD_URL, BUGOUT_SPIRE_URL, MOONSTREAM_APPLICATION_ID
|
||||
from ..web3_provider import yield_web3_provider
|
||||
|
||||
from . import subscription_types, subscriptions, moonworm_tasks
|
||||
from . import subscription_types, subscriptions, moonworm_tasks, queries
|
||||
from .migrations import (
|
||||
checksum_address,
|
||||
update_dashboard_subscription_key,
|
||||
|
@ -478,6 +478,33 @@ This CLI is configured to work with the following API URLs:
|
|||
|
||||
parser_moonworm_tasks_add.set_defaults(func=moonworm_tasks_add_subscription_handler)
|
||||
|
||||
|
||||
|
||||
queries_parser = subcommands.add_parser(
|
||||
"queries", description="Manage Moonstream queries"
|
||||
)
|
||||
queries_parser.set_defaults(func=lambda _: queries_parser.print_help())
|
||||
|
||||
|
||||
|
||||
queries_subcommands = queries_parser.add_subparsers(
|
||||
description="Query commands"
|
||||
)
|
||||
|
||||
create_query_parser = queries_subcommands.add_parser(
|
||||
"create-template", description="Create query template"
|
||||
)
|
||||
|
||||
create_query_parser.add_argument(
|
||||
"--query-file",
|
||||
required=True,
|
||||
type=argparse.FileType("r"),
|
||||
help="File containing the query to add",
|
||||
)
|
||||
create_query_parser.add_argument(
|
||||
"-n", "--name", required=True, help="Name for the new query"
|
||||
)
|
||||
create_query_parser.set_defaults(func=queries.create_query_template)
|
||||
args = parser.parse_args()
|
||||
args.func(args)
|
||||
|
||||
|
|
|
@ -292,10 +292,9 @@ async def update_query_data_handler(
|
|||
entries = bc.search(
|
||||
token=MOONSTREAM_ADMIN_ACCESS_TOKEN,
|
||||
journal_id=MOONSTREAM_QUERIES_JOURNAL_ID,
|
||||
query=f"tag:template",
|
||||
query=f"tag:query_template tag:query_url:{query_name_normalized}",
|
||||
filters=[
|
||||
f"context_type:{MOONSTREAM_QUERY_TEMPLATE_CONTEXT_TYPE}",
|
||||
f"context_id:{query_name_normalized}",
|
||||
],
|
||||
limit=1,
|
||||
)
|
||||
|
@ -314,6 +313,7 @@ async def update_query_data_handler(
|
|||
detail=f"Provided query name can't be normalize please select different.",
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f"Error in get query: {str(e)}")
|
||||
raise MoonstreamHTTPException(status_code=500, internal_error=e)
|
||||
|
||||
try:
|
||||
|
@ -335,7 +335,7 @@ async def update_query_data_handler(
|
|||
status_code=403, detail="Query not approved yet."
|
||||
)
|
||||
else:
|
||||
query_id = entries.results[0].id
|
||||
query_id = entries.results[0].entry_url.split("/")[-1]
|
||||
|
||||
s3_response = None
|
||||
|
||||
|
@ -397,10 +397,9 @@ async def get_access_link_handler(
|
|||
entries = bc.search(
|
||||
token=MOONSTREAM_ADMIN_ACCESS_TOKEN,
|
||||
journal_id=MOONSTREAM_QUERIES_JOURNAL_ID,
|
||||
query=f"tag:template",
|
||||
query=f"tag:query_template tag:query_url:{query_name_normalized}",
|
||||
filters=[
|
||||
f"context_type:{MOONSTREAM_QUERY_TEMPLATE_CONTEXT_TYPE}",
|
||||
f"context_id:{query_name_normalized}",
|
||||
f"context_type:{MOONSTREAM_QUERY_TEMPLATE_CONTEXT_TYPE}"
|
||||
],
|
||||
limit=1,
|
||||
)
|
||||
|
@ -529,7 +528,7 @@ def get_suggested_queries(
|
|||
Return set of suggested queries for user
|
||||
"""
|
||||
|
||||
filters = ["#type:query", "#approved", "#template"]
|
||||
filters = ["tag:approved", "tag:query_template"]
|
||||
|
||||
if supported_interfaces:
|
||||
filters.extend(
|
||||
|
|
Ładowanie…
Reference in New Issue