narendrasinghd commited on
Commit
56034c8
·
verified ·
1 Parent(s): bed2fec

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +29 -3
  2. requirements.txt +2 -1
app.py CHANGED
@@ -1,7 +1,20 @@
1
- from fastapi import FastAPI, Request
 
2
 
3
  app = FastAPI()
4
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  @app.get('/get_status')
6
  async def get_order_status(request: Request):
7
  phone_number = request.query_params.get("phone_number")
@@ -9,7 +22,7 @@ async def get_order_status(request: Request):
9
 
10
  return {
11
  "status": "success",
12
- "order_status": f"Your order is confirmed and is being processed. this status ccoming from api phone_number:{phone_number} and dob:{dob}"
13
  }
14
 
15
 
@@ -24,4 +37,17 @@ async def book_ticket(request: Request):
24
  return {
25
  "status": "success",
26
  "message": f"Ticket booked for '{movie_name}'. Username: {username}, Time: {time}, Price: {price}"
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI, Request, Depends, HTTPException, status
2
+ from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
3
 
4
  app = FastAPI()
5
 
6
+ # Security schema for Bearer Token
7
+ security = HTTPBearer()
8
+
9
+ def verify_token(credentials: HTTPAuthorizationCredentials = Depends(security)):
10
+ token = credentials.credentials
11
+ if token != "1234": # Replace with your actual token logic
12
+ raise HTTPException(
13
+ status_code=status.HTTP_401_UNAUTHORIZED,
14
+ detail="Invalid or missing token",
15
+ )
16
+ return token
17
+
18
  @app.get('/get_status')
19
  async def get_order_status(request: Request):
20
  phone_number = request.query_params.get("phone_number")
 
22
 
23
  return {
24
  "status": "success",
25
+ "order_status": f"Your order is confirmed and is being processed. This status is coming from the API. Phone number: {phone_number}, DOB: {dob}"
26
  }
27
 
28
 
 
37
  return {
38
  "status": "success",
39
  "message": f"Ticket booked for '{movie_name}'. Username: {username}, Time: {time}, Price: {price}"
40
+ }
41
+
42
+ @app.post('/email')
43
+ async def send_email(request: Request, token: str = Depends(verify_token)):
44
+ body = await request.json()
45
+ email_address = body.get("email_address")
46
+ subject = body.get("subject")
47
+ message = body.get("message")
48
+
49
+ # Add your email-sending logic here
50
+ return {
51
+ "status": "success",
52
+ "message": f"Email sent to {email_address} with subject '{subject}'."
53
+ }
requirements.txt CHANGED
@@ -4,4 +4,5 @@ shinywidgets
4
  plotly
5
  pandas
6
  ridgeplot
7
- fastapi
 
 
4
  plotly
5
  pandas
6
  ridgeplot
7
+ fastapi
8
+ fastapi[standard]