Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import secrets
- from datetime import datetime, timedelta
- from fastapi import FastAPI, Depends, HTTPException, status
- from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
- from sqlalchemy.orm import Session
- from starlette.middleware import Middleware
- from starlette.middleware.cors import CORSMiddleware
- from api.models.models import Base, User, Session
- from api.database.database import SessionLocal, engine
- from api.routers.routes import router
- cors_middleware = Middleware(
- CORSMiddleware,
- allow_origins=[
- "http://localhost:3000",
- "http://localhost:3001",
- "http://127.0.0.1:3000",
- "http://127.0.0.1:3001",
- "http://192.168.4.34:3000",
- "http://192.168.4.35:3000"
- ],
- allow_credentials=True,
- allow_headers=["*"],
- allow_methods=["*"]
- )
- app = FastAPI(middleware=[cors_middleware])
- app.include_router(router)
- oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
- def get_db():
- db = SessionLocal()
- try:
- yield db
- finally:
- db.close()
- def generate_session_token(db: Session, user_id: int):
- session_token = secrets.token_urlsafe(32)
- expiration_date = datetime.utcnow() + timedelta(days=30)
- session = Session(user_id=user_id, token=session_token, expiration_date=expiration_date)
- db.add(session)
- db.commit()
- db.refresh(session)
- return session_token
- Base.metadata.create_all(bind=engine)
Advertisement
Add Comment
Please, Sign In to add comment