11from fastapi import FastAPI
2+ from fastapi .middleware .cors import CORSMiddleware
3+
4+ from pydantic import BaseModel
5+ from typing import Union
6+
7+ import requests
28
39app = FastAPI ()
10+ app .add_middleware (
11+ CORSMiddleware ,
12+ allow_origins = ["*" ],
13+ allow_credentials = True ,
14+ allow_methods = ["*" ],
15+ allow_headers = ["*" ],
16+ )
17+
18+ PROJECT_ID = "5d498a31-cd23-42b7-b367-4fcc9463bd2f"
19+ PRIVATE_KEY = "49a46286-91c3-4f9c-92bf-284ae51b7628"
20+
21+ class User (BaseModel ):
22+ username : str
23+ secret : str
24+ email : Union [str , None ] = None
25+ first_name : Union [str , None ] = None
26+ last_name : Union [str , None ] = None
27+
28+ @app .post ('/login/' )
29+ async def root (user : User ):
30+ response = requests .get ('https://api.chatengine.io/users/me/' ,
31+ headers = {
32+ "Project-ID" : PROJECT_ID ,
33+ "User-Name" : user .username ,
34+ "User-Secret" : user .secret
35+ }
36+ )
37+ return response .json ()
38+
39+ @app .post ('/signup/' )
40+ async def root (user : User ):
41+ response = requests .post ('https://api.chatengine.io/users/' ,
42+ data = {
43+ "username" : user .username ,
44+ "secret" : user .secret ,
45+ "email" : user .email ,
46+ "first_name" : user .first_name ,
47+ "last_name" : user .last_name ,
48+ },
49+ headers = { "Private-Key" : PRIVATE_KEY }
50+ )
51+ return response .json ()
452
5- @app .get ("/" )
6- async def root ():
7- return {"message" : "Hello World" }
53+ # uvicorn main:app --reload --port 3001
0 commit comments