瀏覽代碼

add table payment

conradlan 3 年之前
父節點
當前提交
474b69bb71
共有 2 個文件被更改,包括 41 次插入3 次删除
  1. 10 3
      app/api/api_v1/endpoints/linepay.py
  2. 31 0
      ark_table/versions/81e08405d5a9_add_payment_table.py

+ 10 - 3
app/api/api_v1/endpoints/linepay.py

@@ -1,8 +1,13 @@
 import uuid
 
 from fastapi import APIRouter
+from fastapi.param_functions import Depends
 from linepay import LinePayApi
 from fastapi.templating import Jinja2Templates
+from sqlalchemy.orm.session import Session
+from app import crud, models, schemas
+from app.api import deps
+from app.db import session
 
 # template
 templates = Jinja2Templates(directory="templates")
@@ -28,10 +33,12 @@ CACHE = {}
 
 # Request
 @router.post('/request')
-async def pay_request():
+async def pay_request(nft_id: str, db: Session = Depends(deps.get_db)):
     order_id = str(uuid.uuid4())
     amount = "1"
     currency = "TWD"
+    nft = crud.nft.get(db=db, id=nft_id)
+
 
     request_options = {
         "amount": amount,
@@ -43,10 +50,10 @@ async def pay_request():
                 "amount": 1,
                 "products": [
                     {
-                        "name": "NFT Box 1",
+                        "name": nft.title,
                         "quantity": 1,
                         "price": 1,
-                        "imageUrl": "https://i.imgur.com/3rFHRVz.jpg"
+                        "imageUrl": nft.imgurl
                     }
                 ]
             }

+ 31 - 0
ark_table/versions/81e08405d5a9_add_payment_table.py

@@ -0,0 +1,31 @@
+"""add payment table
+
+Revision ID: 81e08405d5a9
+Revises: 9fea1822cbc9
+Create Date: 2021-12-28 13:25:08.168652
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = '81e08405d5a9'
+down_revision = '9fea1822cbc9'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    op.create_table('payment',
+        sa.Column('id', sa.Integer(), nullable=False),
+        sa.Column('order_id', sa.String(100), nullable=False),
+        sa.Column('transaction_id', sa.String(200), nullable=False),
+        sa.Column('payload', sa.Text(), nullable=False),
+        sa.Column('create_at', sa.String(length=200), nullable=False),
+        sa.PrimaryKeyConstraint('id')
+    )
+
+
+def downgrade():
+    pass