44
55from dependencies import get_db , get_queue
66from schemas import ItemRequestSchema , ItemResponseSchema , ItemUpdateSchema
7- from schemas import PaymentResponseSchema , PaymentRequestSchema
7+ from schemas import PaymentResponseSchema , PaymentRequestSchema , PaymentIssuedRequestSchema
88from models import Item , Payment
99from tasks import fill_file_with_hw , check_payment
1010
11-
1211app = FastAPI (dependencies = [Depends (get_db )])
1312
1413
@@ -37,13 +36,11 @@ def get_items_list():
3736
3837@app .post ("/items" , response_model = ItemResponseSchema )
3938def create_items (item_body : ItemRequestSchema ) -> dict :
40- item = Item .create (
41- title = item_body .title ,
42- price = item_body .price ,
43- category = item_body .category ,
44- image_url = item_body .image_url ,
45- description = item_body .description
46- )
39+ item = Item .create (title = item_body .title ,
40+ price = item_body .price ,
41+ category = item_body .category ,
42+ image_url = item_body .image_url ,
43+ description = item_body .description )
4744
4845 response = ItemResponseSchema .from_orm (item )
4946
@@ -54,7 +51,7 @@ def create_items(item_body: ItemRequestSchema) -> dict:
5451def delete_item (item_id : int ):
5552 item_to_delete = Item .get_by_id (item_id )
5653 item_to_delete .delete_instance ()
57-
54+
5855 return {'operation result' : 'record deleted' }
5956
6057
@@ -68,25 +65,24 @@ def update_item(item_id: int, item_body: ItemUpdateSchema):
6865 item_to_update .image_url = item_body .image_url
6966 item_to_update .description = item_body .description
7067 item_to_update .save ()
71-
68+
7269 return {'operation result' : 'record updated' }
7370
7471
75- @app .post ("/payments " , response_model = PaymentResponseSchema )
72+ @app .post ("/payment " , response_model = PaymentResponseSchema )
7673def create_payment (payment_body : PaymentRequestSchema ) -> dict :
77- payment = Payment .create (
78- item_id = payment_body .item_id ,
79- date = datetime .now (),
80- status = 'new'
81- )
74+ payment = Payment .create (item_id = payment_body .item_id ,
75+ date = datetime .now (),
76+ status = 'new' )
8277
8378 response = PaymentResponseSchema .from_orm (payment )
8479
8580 return response .dict ()
8681
8782
88- @app .post ("/payments/{payment_id}" , response_model = PaymentResponseSchema )
89- def create_payment (payment_id : int , payment_body : PaymentRequestSchema ) -> dict :
83+ @app .post ("/payment/{payment_id}" , response_model = PaymentResponseSchema )
84+ def update_payment (payment_id : int ,
85+ payment_body : PaymentRequestSchema ) -> dict :
9086 payment_to_update = Payment .get_by_id (payment_id )
9187 payment_to_update .status = payment_body .status
9288 payment_to_update .is_issued = payment_body .is_issued
@@ -96,6 +92,26 @@ def create_payment(payment_id: int, payment_body: PaymentRequestSchema) -> dict:
9692 return response .dict ()
9793
9894
95+ @app .post ("/payment-paid/{payment_id}" )
96+ def make_payment_paid (payment_id : int ):
97+ paid_payment = Payment .get_by_id (payment_id )
98+ paid_payment .status = 'paid'
99+ # send to stock payment_id
100+
101+ return {'operation result' : 'payment processed' }
102+
103+
104+ @app .post ("/payment-issued-status/{payment_id}" )
105+ def set_payment_issued_status (payment_id : int ,
106+ payment_issued_body : PaymentIssuedRequestSchema ):
107+ paid_payment = Payment .get_by_id (payment_id )
108+ paid_payment .status = payment_issued_body .is_issued
109+ # if NOT is_issued:
110+ # start process to return money
111+
112+ return {}
113+
114+
99115@app .get ("/payments/{days}" , response_model = List [PaymentResponseSchema ])
100116def get_payments_list (days : int ):
101117 start_day = datetime .now () - timedelta (days = days )
@@ -113,9 +129,10 @@ def run_task():
113129
114130 return {}
115131
132+
116133@app .post ("/check-new-payment" )
117134def run_task ():
118135 queue = get_queue ()
119136 queue .enqueue (check_payment )
120137
121- return {}
138+ return {}
0 commit comments