Fixed issues, todos, added comments

pull/9/head
kompotkot 2021-07-21 16:51:28 +00:00
rodzic 15aae10874
commit f0dbb640f1
8 zmienionych plików z 20 dodań i 17 usunięć

Wyświetl plik

@ -1,2 +0,0 @@

Wyświetl plik

@ -3,14 +3,13 @@ The Moonstream HTTP API
""" """
import logging import logging
from bugout.data import BugoutUser
from fastapi import FastAPI, Form from fastapi import FastAPI, Form
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from . import data from . import data
from .routes.subscriptions import app as subscriptions_api from .routes.subscriptions import app as subscriptions_api
from .routes.users import app as users_api from .routes.users import app as users_api
from .settings import ORIGINS, bugout_client as bc, MOONSTREAM_APPLICATION_ID from .settings import ORIGINS
from .version import MOONSTREAM_VERSION from .version import MOONSTREAM_VERSION
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)

Wyświetl plik

@ -1,10 +1,9 @@
""" """
Pydantic schemas for the Moonstream HTTP API Pydantic schemas for the Moonstream HTTP API
""" """
import uuid
from typing import List from typing import List
from pydantic import BaseModel from pydantic import BaseModel, Field
class PingResponse(BaseModel): class PingResponse(BaseModel):
@ -24,13 +23,21 @@ class VersionResponse(BaseModel):
class SubscriptionRequest(BaseModel): class SubscriptionRequest(BaseModel):
"""
Schema for data retrieving from frontend about subscription.
"""
blockchain: str blockchain: str
class SubscriptionResponse(BaseModel): class SubscriptionResponse(BaseModel):
"""
User subscription storing in Bugout resources.
"""
user_id: str user_id: str
blockchain: str blockchain: str
class SubscriptionsListResponse(BaseModel): class SubscriptionsListResponse(BaseModel):
subscriptions: List[SubscriptionResponse] subscriptions: List[SubscriptionResponse] = Field(default_factory=list)

Wyświetl plik

@ -27,6 +27,7 @@ class BroodAuthMiddleware(BaseHTTPMiddleware):
async def dispatch( async def dispatch(
self, request: Request, call_next: Callable[[Request], Awaitable[Response]] self, request: Request, call_next: Callable[[Request], Awaitable[Response]]
): ):
# Filter out endpoints with proper method to work without Bearer token (as create_user, login, etc)
path = request.url.path.rstrip("/") path = request.url.path.rstrip("/")
method = request.method method = request.method
if path in self.whitelist.keys() and self.whitelist[path] == method: if path in self.whitelist.keys() and self.whitelist[path] == method:

Wyświetl plik

@ -2,12 +2,11 @@
The Moonstream subscriptions HTTP API The Moonstream subscriptions HTTP API
""" """
import logging import logging
from typing import Any, Dict from typing import Dict
import uuid
from bugout.data import BugoutResource, BugoutResources from bugout.data import BugoutResource, BugoutResources
from bugout.exceptions import BugoutResponseException from bugout.exceptions import BugoutResponseException
from fastapi import Body, FastAPI, Form, HTTPException, Request, Query from fastapi import Body, FastAPI, HTTPException, Request
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from .. import data from .. import data
@ -28,8 +27,8 @@ tags_metadata = [
] ]
app = FastAPI( app = FastAPI(
title=f"Moonstream API.", title=f"Moonstream subscriptions API.",
description="The Bugout blockchain inspector API.", description="User subscriptions endpoints.",
version=MOONSTREAM_VERSION, version=MOONSTREAM_VERSION,
openapi_tags=tags_metadata, openapi_tags=tags_metadata,
openapi_url="/openapi.json", openapi_url="/openapi.json",

Wyświetl plik

@ -33,8 +33,8 @@ tags_metadata = [
] ]
app = FastAPI( app = FastAPI(
title=f"Moonstream API.", title=f"Moonstream users API.",
description="The Bugout blockchain inspector API.", description="User, token and password handlers.",
version=MOONSTREAM_VERSION, version=MOONSTREAM_VERSION,
openapi_tags=tags_metadata, openapi_tags=tags_metadata,
openapi_url="/openapi.json", openapi_url="/openapi.json",

Wyświetl plik

@ -3,8 +3,7 @@ import os
from bugout.app import Bugout from bugout.app import Bugout
# Bugout # Bugout
# TODO(kompotkot): CHANGE TO PROD!!!!!!! bugout_client = Bugout()
bugout_client = Bugout("http://127.0.0.1:7474", "http://127.0.0.1:7475")
MOONSTREAM_APPLICATION_ID = os.environ.get("MOONSTREAM_APPLICATION_ID") MOONSTREAM_APPLICATION_ID = os.environ.get("MOONSTREAM_APPLICATION_ID")
if MOONSTREAM_APPLICATION_ID is None: if MOONSTREAM_APPLICATION_ID is None:

Wyświetl plik

@ -1,4 +1,4 @@
export MOONSTREAM_CORS_ALLOWED_ORIGINS="http://localhost:3000,https://moonstream.to" export MOONSTREAM_CORS_ALLOWED_ORIGINS="http://localhost:3000,https://moonstream.to"
export MOONSTREAM_OPENAPI_LIST="subscriptions" export MOONSTREAM_OPENAPI_LIST="users,subscriptions"
export MOONSTREAM_APPLICATION_ID="<issued_bugout_application_id>" export MOONSTREAM_APPLICATION_ID="<issued_bugout_application_id>"
export MOONSTREAM_DATA_JOURNAL_ID="<bugout_journal_id_to_store_blockchain_data>" export MOONSTREAM_DATA_JOURNAL_ID="<bugout_journal_id_to_store_blockchain_data>"