Mbonea commited on
Commit
665318f
·
1 Parent(s): 427638d

prevent multiple entries

Browse files
Files changed (1) hide show
  1. App/Messages/MessagesRoute.py +14 -14
App/Messages/MessagesRoute.py CHANGED
@@ -26,7 +26,21 @@ async def receive_message(request: Request):
26
  # Extract data from the message content using regex
27
  text = message_data.payload.message
28
  parsed_data = parse_message_content(text)
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
 
30
  # Create a new message record with parsed_data
31
  new_message = await Message.create(
32
  device_id=message_data.deviceId,
@@ -40,22 +54,8 @@ async def receive_message(request: Request):
40
  parsed_data=parsed_data,
41
  )
42
 
43
- # Process Mpesa Payments
44
- if parsed_data:
45
- user: User = User.get_or_none(phoneNumber=parsed_data.phone_number)
46
- data_plan: Plan = Plan.get_or_none(
47
- amount=Decimal(parsed_data.amount_received)
48
- )
49
- payment_details = CreatePaymentRequest(
50
- user_id=user.id,
51
- plan_id=data_plan.id,
52
- amount=Decimal(parsed_data.amount_received),
53
- payment_method=PaymentMethod.MPESA,
54
- transaction_id=parsed_data.transaction_id,
55
- )
56
  data = MessageResponse.from_orm(new_message)
57
 
58
- payment: Payment = await create_payment(payment_details)
59
  await payment.create_subscription_or_balance()
60
  return data
61
  except Exception as e:
 
26
  # Extract data from the message content using regex
27
  text = message_data.payload.message
28
  parsed_data = parse_message_content(text)
29
+ # Process Mpesa Payments
30
+ if parsed_data:
31
+ user: User = User.get_or_none(phoneNumber=parsed_data.phone_number)
32
+ data_plan: Plan = Plan.get_or_none(
33
+ amount=Decimal(parsed_data.amount_received)
34
+ )
35
+ payment_details = CreatePaymentRequest(
36
+ user_id=user.id,
37
+ plan_id=data_plan.id,
38
+ amount=Decimal(parsed_data.amount_received),
39
+ payment_method=PaymentMethod.MPESA,
40
+ transaction_id=parsed_data.transaction_id,
41
+ )
42
 
43
+ payment: Payment = await create_payment(payment_details)
44
  # Create a new message record with parsed_data
45
  new_message = await Message.create(
46
  device_id=message_data.deviceId,
 
54
  parsed_data=parsed_data,
55
  )
56
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  data = MessageResponse.from_orm(new_message)
58
 
 
59
  await payment.create_subscription_or_balance()
60
  return data
61
  except Exception as e: