Spaces:
Sleeping
Sleeping
File size: 1,387 Bytes
1a31c9f f5cf708 daa9d8a f5cf708 1a31c9f daa9d8a f5cf708 daa9d8a f5cf708 daa9d8a 1a31c9f f5cf708 daa9d8a 1a31c9f f5cf708 daa9d8a f5cf708 daa9d8a f5cf708 daa9d8a 1a31c9f f5cf708 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
from fastapi import APIRouter, Depends
from pydantic import BaseModel
import uuid
from global_state import get
from db.tbs_db import TbsDb
from auth import get_current_user_id
router = APIRouter()
db_module_filename = f"{get('project_root')}/db/cloudflare.py"
@router.get("/users")
async def read_users(current_user_id: int = Depends(get_current_user_id)):
query = "SELECT * FROM users"
response = TbsDb(db_module_filename, "Cloudflare").get_list(query)
return response
class User(BaseModel):
username: str
password: str
email: str
nikename: str = None
@router.post("/users")
async def create_user(user: User, current_user_id: int = Depends(get_current_user_id)):
username = user.username
password = user.password
email = user.email
nikename = user.nikename
if nikename==None:
nikename = ''
api_key = f'airs-{uuid.uuid4()}'
query = f"INSERT INTO users (username, password, email, nikename, api_key) VALUES ('{username}', '{password}', '{email}', '{nikename}', '{api_key}')"
response = TbsDb(db_module_filename, "Cloudflare").add_item(query)
return response
@router.get("/users/{id}")
async def read_user(id:int, current_user_id: int = Depends(get_current_user_id)):
query = f"SELECT * FROM users where id={id}"
response = TbsDb(db_module_filename, "Cloudflare").get_item(query)
return response
|