ming 3 anni fa
parent
commit
25b43a0aeb

+ 29 - 4
app/api/api_v1/endpoints/line.py

@@ -11,10 +11,35 @@ from random import randrange
 from app.schemas import line
 from app.core.config import settings
 import datetime as dt
-from fastapi import APIRouter
-
-
-router = APIRouter()
+from fastapi import APIRouter, FastAPI, Request, Response, Body,Depends
+from fastapi.routing import APIRoute
+from app.api import deps
+from app import crud, models, schemas
+from typing import Callable, List
+from uuid import uuid4
+from sqlalchemy.orm import Session
+
+
+class ContextIncludedRoute(APIRoute):
+    def get_route_handler(self) -> Callable:
+        original_route_handler = super().get_route_handler()
+
+        async def custom_route_handler(request: Request
+        ,db: Session = Depends(deps.get_db)) -> Response:
+            request_id = str(uuid4())
+            response: Response = await original_route_handler(request)
+
+            if await request.body():
+                print(await request.body())
+            print(request.url)
+            print(request.headers)
+    
+            response.headers["Request-ID"] = request_id
+            return response
+
+        return custom_route_handler
+
+router = APIRouter(route_class=ContextIncludedRoute)
 
 
 # callback event

+ 14 - 0
app/models/transaction.py

@@ -0,0 +1,14 @@
+from sqlalchemy import Boolean, Column, String
+from sqlalchemy.sql.sqltypes import Integer
+from app.db.base_class import Base
+
+
+class Nft(Base):
+    id = Column(Integer, primary_key=True, nullable=False)
+    hash = Column(String(200), unique=True)
+    imgurl = Column(String(200))
+    userid = Column(String(200))
+    title = Column(String(200))
+    context = Column(String(200))
+    is_active = Column(Boolean(), default=True)
+    category = Column(String(100))

+ 8 - 0
app/schemas/transaction.py

@@ -0,0 +1,8 @@
+from pydantic import BaseModel
+
+class TransactionNft(BaseModel):
+    id: int
+    tfrom: str
+    to:str
+    nft:str
+    trasaction_at:str

+ 8 - 1
ark_table/versions/9fea1822cbc9_transaction_log_table.py

@@ -17,7 +17,14 @@ depends_on = None
 
 
 def upgrade():
-    pass
+    op.create_table('transaction',
+        sa.Column('id', sa.Integer(), nullable=False),
+        sa.Column('tfrom', sa.Unicode(length=200), nullable=False),
+        sa.Column('to', sa.Unicode(length=200), nullable=False),
+        sa.Column('nft', sa.Unicode(length=200), nullable=False),
+        sa.Column('transaction_at', sa.Unicode(length=200), nullable=False),
+        sa.PrimaryKeyConstraint('id')
+    )
 
 
 def downgrade():