fix: use relative imports for python files
This commit is contained in:
@@ -2,7 +2,7 @@ from databases import Database
|
|||||||
from sqlalchemy import create_engine, MetaData
|
from sqlalchemy import create_engine, MetaData
|
||||||
from sqlalchemy.orm import declarative_base
|
from sqlalchemy.orm import declarative_base
|
||||||
|
|
||||||
from backend.config import settings
|
from ..config import settings
|
||||||
|
|
||||||
# for Alembic migrations and sync operations
|
# for Alembic migrations and sync operations
|
||||||
engine = create_engine(settings.database_url)
|
engine = create_engine(settings.database_url)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
|
|
||||||
from backend.config import settings
|
from .config import settings
|
||||||
from backend.db import database, Base, engine
|
from .db import database, Base, engine
|
||||||
from backend.routes import shortener_router
|
from .routes import shortener_router
|
||||||
|
|
||||||
app = FastAPI()
|
app = FastAPI()
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from sqlalchemy import Column, Integer, String
|
from sqlalchemy import Column, Integer, String
|
||||||
|
|
||||||
from backend.db.database import Base
|
from ..db.database import Base
|
||||||
|
|
||||||
class Url(Base):
|
class Url(Base):
|
||||||
__tablename__ = "urls"
|
__tablename__ = "urls"
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
from fastapi import APIRouter, HTTPException
|
from fastapi import APIRouter, HTTPException
|
||||||
from fastapi.responses import RedirectResponse
|
from fastapi.responses import RedirectResponse
|
||||||
|
|
||||||
from backend.db import database
|
from ..db import database
|
||||||
from backend.exceptions import ShortcodeNotFound, ShortcodeConflict
|
from ..exceptions import ShortcodeNotFound, ShortcodeConflict
|
||||||
from backend.utils import encoder
|
from ..utils import encoder
|
||||||
from backend.schemas import UrlPayload
|
from ..schemas import UrlPayload
|
||||||
from backend.services import UrlService
|
from ..services import UrlService
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
url_service = UrlService(db=database)
|
url_service = UrlService(db=database)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
from sqlalchemy import select, insert
|
from sqlalchemy import select, insert
|
||||||
from sqlalchemy.exc import IntegrityError
|
from sqlalchemy.exc import IntegrityError
|
||||||
|
|
||||||
from backend.utils import encoder
|
from ..utils import encoder
|
||||||
from backend.models import Url
|
from ..models import Url
|
||||||
from backend.exceptions import ShortcodeConflict, ShortcodeNotFound
|
from ..exceptions import ShortcodeConflict, ShortcodeNotFound
|
||||||
|
|
||||||
class UrlService:
|
class UrlService:
|
||||||
def __init__(self, db):
|
def __init__(self, db):
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from hashids import Hashids
|
from hashids import Hashids
|
||||||
|
|
||||||
from backend.config import settings
|
from ..config import settings
|
||||||
|
|
||||||
class ShortCodeEncoder:
|
class ShortCodeEncoder:
|
||||||
def __init__(self, salt=None, alphabet=None, min_length=6):
|
def __init__(self, salt=None, alphabet=None, min_length=6):
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ while True:
|
|||||||
db_user = "minxa"
|
db_user = "minxa"
|
||||||
db_password = secrets.token_urlsafe(16)
|
db_password = secrets.token_urlsafe(16)
|
||||||
db_name = "minxadb"
|
db_name = "minxadb"
|
||||||
db_host = "minxa-db"
|
db_host = "db"
|
||||||
db_port = 5432
|
db_port = 5432
|
||||||
|
|
||||||
hashids_salt = secrets.token_urlsafe(32)
|
hashids_salt = secrets.token_urlsafe(32)
|
||||||
@@ -53,10 +53,9 @@ frontend_env_path.write_text(frontend_env)
|
|||||||
print(f"✅ frontend/.env written")
|
print(f"✅ frontend/.env written")
|
||||||
|
|
||||||
# === Generate docker-compose.generated.yml === #
|
# === Generate docker-compose.generated.yml === #
|
||||||
compose_yml = f"""version: "3.9"
|
compose_yml = f"""
|
||||||
|
|
||||||
services:
|
services:
|
||||||
minxa-db:
|
db:
|
||||||
image: postgres:16
|
image: postgres:16
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: {db_user}
|
POSTGRES_USER: {db_user}
|
||||||
@@ -72,26 +71,26 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- appnet
|
- appnet
|
||||||
|
|
||||||
minxa-backend:
|
backend:
|
||||||
build:
|
build:
|
||||||
context: ./backend
|
context: ./backend
|
||||||
env_file:
|
env_file:
|
||||||
- ./backend/.env
|
- ./backend/.env
|
||||||
depends_on:
|
depends_on:
|
||||||
minxa-db:
|
db:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
ports:
|
ports:
|
||||||
- "8000:8000"
|
- "8000:8000"
|
||||||
networks:
|
networks:
|
||||||
- appnet
|
- appnet
|
||||||
|
|
||||||
minxa-frontend:
|
frontend:
|
||||||
build:
|
build:
|
||||||
context: ./frontend
|
context: ./frontend
|
||||||
env_file:
|
env_file:
|
||||||
- ./frontend/.env
|
- ./frontend/.env
|
||||||
depends_on:
|
depends_on:
|
||||||
- minxa-backend
|
- backend
|
||||||
ports:
|
ports:
|
||||||
- "3000:80"
|
- "3000:80"
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
Reference in New Issue
Block a user