File tree Expand file tree Collapse file tree 3 files changed +22
-13
lines changed
Expand file tree Collapse file tree 3 files changed +22
-13
lines changed Original file line number Diff line number Diff line change 33
44from models import payment
55
6+
67class ChargeExistException (Exception ):
78 pass
89
910
10- async def add_charge (db : Session , charge ):
11+ async def add_charge (db : Session , charge , org_id : int ):
1112 try :
12- db_item = payment .Charge (** charge )
13+ charge_dict = charge .dict ()
14+ del charge_dict ["company_name" ]
15+ charge_dict ["org_id" ] = org_id
16+ db_item = payment .Charge (** charge_dict )
1317 db .add (db_item )
1418 db .commit ()
1519 db .refresh (db_item )
Original file line number Diff line number Diff line change 1111from logger .log import save_log
1212from dependencies .dependencies import get_db
1313from crud import charge as _charge
14+ from schemas .schema import CreateCharge
1415
1516router = APIRouter (
1617 prefix = "/api/v1" ,
2122
2223@router .post ("/charges/" )
2324@save_log
24- async def create_charge (request : Request , db : Session = Depends (get_db )):
25+ async def create_charge (request : Request , charge : CreateCharge , db : Session = Depends (get_db )):
2526 try :
26- data = await request .json ()
27- company_name = data ["company_name" ]
27+ company_name = charge .company_name
2828 company = filter_company_by_name (db , company_name ).all ()[0 ]
29- company_data = dict (
30- currency = data ["currency" ],
31- amount = data ["amount" ],
32- charge_type = data ["charge_type" ],
33- org_id = company .id ,
34- created_at = datetime .datetime .now (),
35- )
36- response = await _charge .add_charge (db , company_data )
29+ response = await _charge .add_charge (db , charge , company .id )
3730 except ChargeExistException as exc :
3831 raise HTTPException (status_code = 200 , detail = str (exc ))
3932 return response
Original file line number Diff line number Diff line change @@ -20,3 +20,15 @@ class CreateContact(ContactBase):
2020
2121class CreateCompany (CompanyBase ):
2222 pass
23+
24+
25+ class ChargeBase (BaseModel ):
26+ currency : str
27+ amount : int
28+ charge_type : str
29+ company_name : str
30+
31+
32+ class CreateCharge (ChargeBase ):
33+ pass
34+
You can’t perform that action at this time.
0 commit comments