mirror of
https://github.com/ycd/manage-fastapi.git
synced 2021-11-08 01:34:39 +03:00
🔧 Add configuration on generated projects
This commit is contained in:
@@ -14,7 +14,7 @@ class BaseMetadataEnum(EnumMeta):
|
||||
return True
|
||||
|
||||
|
||||
class BaseEnum(Enum, metaclass=BaseMetadataEnum):
|
||||
class BaseEnum(str, Enum, metaclass=BaseMetadataEnum):
|
||||
"""Base enum class."""
|
||||
|
||||
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
import subprocess
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import BaseModel, EmailStr, root_validator
|
||||
from pydantic.class_validators import validator
|
||||
|
||||
from manage_fastapi.config import FASTAPI_VERSION
|
||||
from manage_fastapi.constants import PackageManager, PythonVersion
|
||||
|
||||
|
||||
def enum_to_str(enum: Enum) -> str:
|
||||
return enum.value
|
||||
|
||||
|
||||
class Context(BaseModel):
|
||||
name: str
|
||||
folder_name: str
|
||||
@@ -36,3 +42,5 @@ class Context(BaseModel):
|
||||
values["folder_name"] = values["name"].lower().replace(" ", "-").strip()
|
||||
values["year"] = datetime.today().year
|
||||
return values
|
||||
|
||||
_python = validator("python", allow_reuse=True)(enum_to_str)
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
from pydantic import BaseSettings
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
PROJECT_NAME: str
|
||||
|
||||
class Config:
|
||||
env_file = ".env"
|
||||
|
||||
|
||||
settings = Settings()
|
||||
@@ -1,3 +1,5 @@
|
||||
from fastapi import FastAPI
|
||||
|
||||
app = FastAPI()
|
||||
from app.config import settings
|
||||
|
||||
app = FastAPI(title=settings.PROJECT_NAME)
|
||||
|
||||
Reference in New Issue
Block a user