yashmakan commited on
Commit
2c15cb4
·
1 Parent(s): b61a9fe

payment endpoint added for user

Browse files
api/sources/user/data_sources/payment.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from dotenv import load_dotenv
2
+
3
+ from core.constants import Tables
4
+ from core.interface.supabase_client import supabase_config, async_supabase_client
5
+
6
+ load_dotenv()
7
+
8
+
9
+ class PaymentDataSource:
10
+
11
+ @staticmethod
12
+ async def update_payment_status(status: bool, _id: int):
13
+ supabase = await async_supabase_client(supabase_config)
14
+ response = await supabase.table(Tables.PAYMENTS) \
15
+ .update({'status': status}) \
16
+ .eq('id', _id) \
17
+ .execute()
18
+ return response.data[0]['id']
api/sources/user/request_params/payment.py ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ from pydantic import BaseModel, Field
2
+
3
+
4
+ class UpdatePaymentStatusRequest(BaseModel):
5
+ status: bool = Field(..., description="payment status")
6
+ id: int = Field(..., description="payment id")
api/v1/user_endpoints/payment.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import APIRouter, Depends
2
+
3
+ from api.sources.user.data_sources.payment import PaymentDataSource
4
+ from api.sources.user.request_params.payment import UpdatePaymentStatusRequest
5
+ from core.depends.oauth import get_current_user
6
+
7
+ router = APIRouter(prefix='/payment')
8
+
9
+
10
+ @router.post("/update")
11
+ async def update_payment_status(request: UpdatePaymentStatusRequest, current_user: dict = Depends(get_current_user)):
12
+ await PaymentDataSource.update_payment_status(status=request.status, _id=request.id)
13
+ return {"result": True}
api/v1/user_router.py CHANGED
@@ -1,5 +1,5 @@
1
  from fastapi import APIRouter
2
- from api.v1.user_endpoints import chat, auth, user, brand
3
 
4
  user_router = APIRouter(prefix='/user')
5
 
@@ -7,3 +7,4 @@ user_router.include_router(chat.router)
7
  user_router.include_router(auth.router)
8
  user_router.include_router(user.router)
9
  user_router.include_router(brand.router)
 
 
1
  from fastapi import APIRouter
2
+ from api.v1.user_endpoints import chat, auth, user, brand, payment
3
 
4
  user_router = APIRouter(prefix='/user')
5
 
 
7
  user_router.include_router(auth.router)
8
  user_router.include_router(user.router)
9
  user_router.include_router(brand.router)
10
+ user_router.include_router(payment.router)