diff --git a/docker-compose.yml b/docker-compose.yml index 2f93afd..7ea1b13 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,7 +21,7 @@ services: - db volumes: - ./src/app:/src/app - - static:/src/app/static + - static:/src/static - media:/src/media command: > bash -c "poetry run alembic upgrade head diff --git a/src/app/core/config.py b/src/app/core/config.py index edb0b60..0352acb 100644 --- a/src/app/core/config.py +++ b/src/app/core/config.py @@ -15,6 +15,8 @@ class Settings(BaseSettings): APP_PATH: Path = MAIN_PATH / 'app' # path to app folder MEDIA_FOLDER: Path = Path('media') # name of media folder MEDIA_PATH: Path = MAIN_PATH / MEDIA_FOLDER # path to media folder + STATIC_FOLDER_NAME: Path = Path('static') # name of static folder + STATIC_FOLDER: Path = MAIN_PATH / STATIC_FOLDER_NAME # path to static folder FILE_FOLDERS: dict[str, Path] = { 'post_images': Path('post_images'), diff --git a/src/app/main.py b/src/app/main.py index 03c25a8..5f40f7c 100644 --- a/src/app/main.py +++ b/src/app/main.py @@ -34,7 +34,7 @@ app = FastAPI( # app.mount( # '/static', -# StaticFiles(directory=settings.APP_PATH / 'static'), +# StaticFiles(directory=settings.MAIN_PATH / 'static'), # name='static' # ) diff --git a/src/app/templates/admin/login.html b/src/app/templates/admin/login.html index 367e369..2204ec6 100644 --- a/src/app/templates/admin/login.html +++ b/src/app/templates/admin/login.html @@ -34,3 +34,44 @@ </body> </html> + +<!-- <!DOCTYPE html> +<html> +<head> + <title>Login Example</title> +</head> +<body> + <form id="loginForm"> + <input type="text" name="email" placeholder="email"> + <input type="password" name="password" placeholder="Password"> + <button type="submit">Login</button> + </form> + + <script> + // Function to handle the form submission + function handleSubmit(event) { + event.preventDefault(); + const form = document.getElementById('loginForm'); + const formData = new FormData(form); + + fetch('/login', { + method: 'POST', // Adjust the HTTP method if needed + body: formData, + }) + .then(response => response.json()) + .then(data => { + const accessToken = data.access_token; + console.log(accessToken); + document.cookie = `access_token=${accessToken}`; + }) + .catch(error => { + console.error('Login error:', error); + }); + } + + // Add a submit event listener to the form + const loginForm = document.getElementById('loginForm'); + loginForm.addEventListener('submit', handleSubmit); + </script> +</body> +</html> --> diff --git a/src/app/views/routers/user.py b/src/app/views/routers/user.py index 50aad03..22645ab 100644 --- a/src/app/views/routers/user.py +++ b/src/app/views/routers/user.py @@ -4,7 +4,7 @@ from datetime import timedelta from sqlalchemy.ext.asyncio import AsyncSession from fastapi.templating import Jinja2Templates -from fastapi.responses import HTMLResponse +from fastapi.responses import FileResponse, HTMLResponse from fastapi import ( APIRouter, HTTPException, @@ -45,7 +45,7 @@ async def login( async def login( db: AsyncSession = Depends(get_async_db), form_data: LoginForm = Depends() -) -> Any: +): user = await crud.user.authenticate( db, email=form_data.email, password=form_data.password @@ -68,10 +68,9 @@ async def login( } -# @router.get("/test") -# def test( -# request: Request, -# user: UserModel = Depends(get_current_active_superuser), -# ) -> Any: +@router.get("/admin") +def admin( + request: Request +): -# return user.email \ No newline at end of file + return FileResponse(settings.STATIC_FOLDER / 'just_a.gif') \ No newline at end of file diff --git a/src/app/static/bootstrap/css/bootstrap.min.css b/src/static/bootstrap/css/bootstrap.min.css similarity index 100% rename from src/app/static/bootstrap/css/bootstrap.min.css rename to src/static/bootstrap/css/bootstrap.min.css diff --git a/src/app/static/bootstrap/js/bootstrap.min.js b/src/static/bootstrap/js/bootstrap.min.js similarity index 100% rename from src/app/static/bootstrap/js/bootstrap.min.js rename to src/static/bootstrap/js/bootstrap.min.js diff --git a/src/app/static/fonts/FontAwesome.otf b/src/static/fonts/FontAwesome.otf similarity index 100% rename from src/app/static/fonts/FontAwesome.otf rename to src/static/fonts/FontAwesome.otf diff --git a/src/app/static/fonts/font-awesome.min.css b/src/static/fonts/font-awesome.min.css similarity index 100% rename from src/app/static/fonts/font-awesome.min.css rename to src/static/fonts/font-awesome.min.css diff --git a/src/app/static/fonts/fontawesome-webfont.eot b/src/static/fonts/fontawesome-webfont.eot similarity index 100% rename from src/app/static/fonts/fontawesome-webfont.eot rename to src/static/fonts/fontawesome-webfont.eot diff --git a/src/app/static/fonts/fontawesome-webfont.svg b/src/static/fonts/fontawesome-webfont.svg similarity index 100% rename from src/app/static/fonts/fontawesome-webfont.svg rename to src/static/fonts/fontawesome-webfont.svg diff --git a/src/app/static/fonts/fontawesome-webfont.ttf b/src/static/fonts/fontawesome-webfont.ttf similarity index 100% rename from src/app/static/fonts/fontawesome-webfont.ttf rename to src/static/fonts/fontawesome-webfont.ttf diff --git a/src/app/static/fonts/fontawesome-webfont.woff b/src/static/fonts/fontawesome-webfont.woff similarity index 100% rename from src/app/static/fonts/fontawesome-webfont.woff rename to src/static/fonts/fontawesome-webfont.woff diff --git a/src/app/static/fonts/fontawesome-webfont.woff2 b/src/static/fonts/fontawesome-webfont.woff2 similarity index 100% rename from src/app/static/fonts/fontawesome-webfont.woff2 rename to src/static/fonts/fontawesome-webfont.woff2 diff --git a/src/app/static/img/bryan-goff-f7YQo-eYHdM-unsplash.jpg b/src/static/img/bryan-goff-f7YQo-eYHdM-unsplash.jpg similarity index 100% rename from src/app/static/img/bryan-goff-f7YQo-eYHdM-unsplash.jpg rename to src/static/img/bryan-goff-f7YQo-eYHdM-unsplash.jpg diff --git a/src/app/static/img/shipit.png b/src/static/img/shipit.png similarity index 100% rename from src/app/static/img/shipit.png rename to src/static/img/shipit.png diff --git a/src/app/static/js/clean-blog.js b/src/static/js/clean-blog.js similarity index 100% rename from src/app/static/js/clean-blog.js rename to src/static/js/clean-blog.js diff --git a/src/static/just_a.gif b/src/static/just_a.gif new file mode 100644 index 0000000..7e008b9 Binary files /dev/null and b/src/static/just_a.gif differ