mirror of
				https://github.com/ijaric/voice_assistant.git
				synced 2025-10-30 13:03:25 +00:00 
			
		
		
		
	Updated Structure & Some files
This commit is contained in:
		
							parent
							
								
									bebbcb9b5c
								
							
						
					
					
						commit
						f65ad74d0d
					
				|  | @ -9,7 +9,7 @@ RUN pip install poetry \ | ||||||
|     && poetry config virtualenvs.create false \ |     && poetry config virtualenvs.create false \ | ||||||
|     && poetry install --no-dev |     && poetry install --no-dev | ||||||
| 
 | 
 | ||||||
| COPY backend/bin bin | COPY bin bin | ||||||
| COPY backend/libs libs | COPY lib lib | ||||||
| COPY entrypoint.sh . | COPY entrypoint.sh . | ||||||
| RUN chmod +x /opt/app/entrypoint.sh | RUN chmod +x /opt/app/entrypoint.sh | ||||||
|  |  | ||||||
							
								
								
									
										3
									
								
								src/fastapi/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/fastapi/Makefile
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | include ../../common_makefile.mk | ||||||
|  | 
 | ||||||
|  | PROJECT_FOLDERS = bin lib tests | ||||||
							
								
								
									
										3
									
								
								src/fastapi/Makefile copy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/fastapi/Makefile copy
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | include ../../common_makefile.mk | ||||||
|  | 
 | ||||||
|  | PROJECT_FOLDERS = backend tests | ||||||
|  | @ -1,8 +1,9 @@ | ||||||
| import logging | import logging | ||||||
|  | 
 | ||||||
| import uvicorn | import uvicorn | ||||||
| 
 | 
 | ||||||
| import libs.app.app as app_module | import lib.app.app as app_module | ||||||
| from libs.app import settings as libs_app_settings | from lib.app import settings as libs_app_settings | ||||||
| 
 | 
 | ||||||
| logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||||
| 
 | 
 | ||||||
|  | @ -24,4 +24,3 @@ class BaseMixin: | ||||||
|     @declared_attr |     @declared_attr | ||||||
|     def updated_at(cls): |     def updated_at(cls): | ||||||
|         return Column(DateTime, server_default=sqlalchemy.func.now()) |         return Column(DateTime, server_default=sqlalchemy.func.now()) | ||||||
|      |  | ||||||
|  | @ -1,12 +1,13 @@ | ||||||
| from fastapi import FastAPI, HTTPException, Security, status |  | ||||||
| from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer |  | ||||||
| from jose import JWTError, jwt | from jose import JWTError, jwt | ||||||
| from libs.api.schemas.entity import Token |  | ||||||
| from libs.app import settings as libs_app_settings |  | ||||||
| from pydantic import ValidationError | from pydantic import ValidationError | ||||||
| 
 | 
 | ||||||
|  | from fastapi import FastAPI, HTTPException, Security, status | ||||||
|  | from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer | ||||||
|  | from lib.api.schemas.entity import Token | ||||||
|  | from lib.app import settings as lib_app_settings | ||||||
|  | 
 | ||||||
| app = FastAPI() | app = FastAPI() | ||||||
| settings = libs_app_settings.get_settings() | settings = lib_app_settings.get_settings() | ||||||
| 
 | 
 | ||||||
| security = HTTPBearer() | security = HTTPBearer() | ||||||
| 
 | 
 | ||||||
|  | @ -24,4 +25,3 @@ def get_token_data( | ||||||
|             status_code=status.HTTP_401_UNAUTHORIZED, |             status_code=status.HTTP_401_UNAUTHORIZED, | ||||||
|             detail="Could not validate credentials", |             detail="Could not validate credentials", | ||||||
|         ) |         ) | ||||||
| 
 |  | ||||||
|  | @ -2,7 +2,7 @@ import logging | ||||||
| import logging.config as logging_config | import logging.config as logging_config | ||||||
| 
 | 
 | ||||||
| import fastapi | import fastapi | ||||||
| import libs.api.handlers as admin_api_handlers | import lib.api.handlers as admin_api_handlers | ||||||
| 
 | 
 | ||||||
| from .logger import LOGGING | from .logger import LOGGING | ||||||
| from .settings import get_settings | from .settings import get_settings | ||||||
|  | @ -29,7 +29,6 @@ class Application: | ||||||
|         # app.include_router(admin_api_handlers.user_router, prefix="/api/v1/users", tags=["users"]) |         # app.include_router(admin_api_handlers.user_router, prefix="/api/v1/users", tags=["users"]) | ||||||
|         # app.include_router(admin_api_handlers.movie_router, prefix="/api/v1/movies", tags=["movies"]) |         # app.include_router(admin_api_handlers.movie_router, prefix="/api/v1/movies", tags=["movies"]) | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|         @app.on_event("startup") |         @app.on_event("startup") | ||||||
|         async def startup_event(): |         async def startup_event(): | ||||||
|             self.logger.info("Starting server") |             self.logger.info("Starting server") | ||||||
|  | @ -4,7 +4,7 @@ import pydantic_settings | ||||||
| from dotenv import load_dotenv | from dotenv import load_dotenv | ||||||
| from pydantic import Field | from pydantic import Field | ||||||
| 
 | 
 | ||||||
| load_dotenv('.env.dev') | load_dotenv(".env.dev") | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class DbSettings(pydantic_settings.BaseSettings): | class DbSettings(pydantic_settings.BaseSettings): | ||||||
|  | @ -1,10 +1,11 @@ | ||||||
| import typing | import typing | ||||||
| 
 | 
 | ||||||
| from libs.app import settings as libs_app_settings |  | ||||||
| from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine | from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine | ||||||
| from sqlalchemy.orm import DeclarativeBase | from sqlalchemy.orm import DeclarativeBase | ||||||
| 
 | 
 | ||||||
| settings = libs_app_settings.get_settings() | from lib.app import settings as lib_app_settings | ||||||
|  | 
 | ||||||
|  | settings = lib_app_settings.get_settings() | ||||||
| 
 | 
 | ||||||
| # Создаём базовый класс для будущих моделей | # Создаём базовый класс для будущих моделей | ||||||
| 
 | 
 | ||||||
							
								
								
									
										26
									
								
								src/fastapi/poetry.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										26
									
								
								src/fastapi/poetry.lock
									
									
									
										generated
									
									
									
								
							|  | @ -1050,17 +1050,43 @@ python-versions = ">=3.7" | ||||||
| files = [ | files = [ | ||||||
|     {file = "SQLAlchemy-2.0.21-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1e7dc99b23e33c71d720c4ae37ebb095bebebbd31a24b7d99dfc4753d2803ede"}, |     {file = "SQLAlchemy-2.0.21-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1e7dc99b23e33c71d720c4ae37ebb095bebebbd31a24b7d99dfc4753d2803ede"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7f0c4ee579acfe6c994637527c386d1c22eb60bc1c1d36d940d8477e482095d4"}, |     {file = "SQLAlchemy-2.0.21-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7f0c4ee579acfe6c994637527c386d1c22eb60bc1c1d36d940d8477e482095d4"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f7d57a7e140efe69ce2d7b057c3f9a595f98d0bbdfc23fd055efdfbaa46e3a5"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ca38746eac23dd7c20bec9278d2058c7ad662b2f1576e4c3dbfcd7c00cc48fa"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3cf229704074bce31f7f47d12883afee3b0a02bb233a0ba45ddbfe542939cca4"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fb87f763b5d04a82ae84ccff25554ffd903baafba6698e18ebaf32561f2fe4aa"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp310-cp310-win32.whl", hash = "sha256:89e274604abb1a7fd5c14867a412c9d49c08ccf6ce3e1e04fffc068b5b6499d4"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp310-cp310-win_amd64.whl", hash = "sha256:e36339a68126ffb708dc6d1948161cea2a9e85d7d7b0c54f6999853d70d44430"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bf8eebccc66829010f06fbd2b80095d7872991bfe8415098b9fe47deaaa58063"}, |     {file = "SQLAlchemy-2.0.21-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bf8eebccc66829010f06fbd2b80095d7872991bfe8415098b9fe47deaaa58063"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b977bfce15afa53d9cf6a632482d7968477625f030d86a109f7bdfe8ce3c064a"}, |     {file = "SQLAlchemy-2.0.21-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b977bfce15afa53d9cf6a632482d7968477625f030d86a109f7bdfe8ce3c064a"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ff3dc2f60dbf82c9e599c2915db1526d65415be323464f84de8db3e361ba5b9"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44ac5c89b6896f4740e7091f4a0ff2e62881da80c239dd9408f84f75a293dae9"}, |     {file = "SQLAlchemy-2.0.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44ac5c89b6896f4740e7091f4a0ff2e62881da80c239dd9408f84f75a293dae9"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:87bf91ebf15258c4701d71dcdd9c4ba39521fb6a37379ea68088ce8cd869b446"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b69f1f754d92eb1cc6b50938359dead36b96a1dcf11a8670bff65fd9b21a4b09"}, |     {file = "SQLAlchemy-2.0.21-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b69f1f754d92eb1cc6b50938359dead36b96a1dcf11a8670bff65fd9b21a4b09"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp311-cp311-win32.whl", hash = "sha256:af520a730d523eab77d754f5cf44cc7dd7ad2d54907adeb3233177eeb22f271b"}, |     {file = "SQLAlchemy-2.0.21-cp311-cp311-win32.whl", hash = "sha256:af520a730d523eab77d754f5cf44cc7dd7ad2d54907adeb3233177eeb22f271b"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp311-cp311-win_amd64.whl", hash = "sha256:141675dae56522126986fa4ca713739d00ed3a6f08f3c2eb92c39c6dfec463ce"}, |     {file = "SQLAlchemy-2.0.21-cp311-cp311-win_amd64.whl", hash = "sha256:141675dae56522126986fa4ca713739d00ed3a6f08f3c2eb92c39c6dfec463ce"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7614f1eab4336df7dd6bee05bc974f2b02c38d3d0c78060c5faa4cd1ca2af3b8"}, |     {file = "SQLAlchemy-2.0.21-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7614f1eab4336df7dd6bee05bc974f2b02c38d3d0c78060c5faa4cd1ca2af3b8"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d59cb9e20d79686aa473e0302e4a82882d7118744d30bb1dfb62d3c47141b3ec"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a95aa0672e3065d43c8aa80080cdd5cc40fe92dc873749e6c1cf23914c4b83af"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8c323813963b2503e54d0944813cd479c10c636e3ee223bcbd7bd478bf53c178"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:419b1276b55925b5ac9b4c7044e999f1787c69761a3c9756dec6e5c225ceca01"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp37-cp37m-win32.whl", hash = "sha256:4615623a490e46be85fbaa6335f35cf80e61df0783240afe7d4f544778c315a9"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp37-cp37m-win_amd64.whl", hash = "sha256:cca720d05389ab1a5877ff05af96551e58ba65e8dc65582d849ac83ddde3e231"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b4eae01faee9f2b17f08885e3f047153ae0416648f8e8c8bd9bc677c5ce64be9"}, |     {file = "SQLAlchemy-2.0.21-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b4eae01faee9f2b17f08885e3f047153ae0416648f8e8c8bd9bc677c5ce64be9"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3eb7c03fe1cd3255811cd4e74db1ab8dca22074d50cd8937edf4ef62d758cdf4"}, |     {file = "SQLAlchemy-2.0.21-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3eb7c03fe1cd3255811cd4e74db1ab8dca22074d50cd8937edf4ef62d758cdf4"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2d494b6a2a2d05fb99f01b84cc9af9f5f93bf3e1e5dbdafe4bed0c2823584c1"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b19ae41ef26c01a987e49e37c77b9ad060c59f94d3b3efdfdbf4f3daaca7b5fe"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:fc6b15465fabccc94bf7e38777d665b6a4f95efd1725049d6184b3a39fd54880"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:014794b60d2021cc8ae0f91d4d0331fe92691ae5467a00841f7130fe877b678e"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp38-cp38-win32.whl", hash = "sha256:0268256a34806e5d1c8f7ee93277d7ea8cc8ae391f487213139018b6805aeaf6"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp38-cp38-win_amd64.whl", hash = "sha256:73c079e21d10ff2be54a4699f55865d4b275fd6c8bd5d90c5b1ef78ae0197301"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:785e2f2c1cb50d0a44e2cdeea5fd36b5bf2d79c481c10f3a88a8be4cfa2c4615"}, |     {file = "SQLAlchemy-2.0.21-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:785e2f2c1cb50d0a44e2cdeea5fd36b5bf2d79c481c10f3a88a8be4cfa2c4615"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c111cd40910ffcb615b33605fc8f8e22146aeb7933d06569ac90f219818345ef"}, |     {file = "SQLAlchemy-2.0.21-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c111cd40910ffcb615b33605fc8f8e22146aeb7933d06569ac90f219818345ef"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9cba4e7369de663611ce7460a34be48e999e0bbb1feb9130070f0685e9a6b66"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50a69067af86ec7f11a8e50ba85544657b1477aabf64fa447fd3736b5a0a4f67"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ccb99c3138c9bde118b51a289d90096a3791658da9aea1754667302ed6564f6e"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:513fd5b6513d37e985eb5b7ed89da5fd9e72354e3523980ef00d439bc549c9e9"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp39-cp39-win32.whl", hash = "sha256:f9fefd6298433b6e9188252f3bff53b9ff0443c8fde27298b8a2b19f6617eeb9"}, | ||||||
|  |     {file = "SQLAlchemy-2.0.21-cp39-cp39-win_amd64.whl", hash = "sha256:2e617727fe4091cedb3e4409b39368f424934c7faa78171749f704b49b4bb4ce"}, | ||||||
|     {file = "SQLAlchemy-2.0.21-py3-none-any.whl", hash = "sha256:ea7da25ee458d8f404b93eb073116156fd7d8c2a776d8311534851f28277b4ce"}, |     {file = "SQLAlchemy-2.0.21-py3-none-any.whl", hash = "sha256:ea7da25ee458d8f404b93eb073116156fd7d8c2a776d8311534851f28277b4ce"}, | ||||||
|     {file = "SQLAlchemy-2.0.21.tar.gz", hash = "sha256:05b971ab1ac2994a14c56b35eaaa91f86ba080e9ad481b20d99d77f381bb6258"}, |     {file = "SQLAlchemy-2.0.21.tar.gz", hash = "sha256:05b971ab1ac2994a14c56b35eaaa91f86ba080e9ad481b20d99d77f381bb6258"}, | ||||||
| ] | ] | ||||||
|  |  | ||||||
							
								
								
									
										3
									
								
								src/fastapi/poetry.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/fastapi/poetry.toml
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | [virtualenvs] | ||||||
|  | create = true | ||||||
|  | in-project = true | ||||||
|  | @ -6,7 +6,6 @@ requires = ["poetry-core"] | ||||||
| line-length = 120 | line-length = 120 | ||||||
| target-version = ['py311'] | target-version = ['py311'] | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| [tool.isort] | [tool.isort] | ||||||
| known_first_party = ["backend", "tests"] | known_first_party = ["backend", "tests"] | ||||||
| line_length = 120 | line_length = 120 | ||||||
|  | @ -21,16 +20,16 @@ readme = "README.md" | ||||||
| version = "0.1.0" | version = "0.1.0" | ||||||
| 
 | 
 | ||||||
| [tool.poetry.dependencies] | [tool.poetry.dependencies] | ||||||
| python = "^3.11" |  | ||||||
| fastapi = "0.103.1" |  | ||||||
| sqlalchemy = "^2.0.20" |  | ||||||
| alembic = "^1.12.0" | alembic = "^1.12.0" | ||||||
| asyncpg = "^0.28.0" | asyncpg = "^0.28.0" | ||||||
|  | fastapi = "0.103.1" | ||||||
| psycopg2 = "^2.9.7" | psycopg2 = "^2.9.7" | ||||||
| python-jose = "^3.3.0" |  | ||||||
| uvicorn = "^0.23.2" |  | ||||||
| pydantic = {extras = ["email"], version = "^2.3.0"} | pydantic = {extras = ["email"], version = "^2.3.0"} | ||||||
| pydantic-settings = "^2.0.3" | pydantic-settings = "^2.0.3" | ||||||
|  | python = "^3.11" | ||||||
|  | python-jose = "^3.3.0" | ||||||
|  | sqlalchemy = "^2.0.20" | ||||||
|  | uvicorn = "^0.23.2" | ||||||
| 
 | 
 | ||||||
| [tool.poetry.dev-dependencies] | [tool.poetry.dev-dependencies] | ||||||
| black = "^23.7.0" | black = "^23.7.0" | ||||||
|  | @ -86,7 +85,6 @@ variable-rgx = "^_{0,2}[a-z][a-z0-9_]*$" | ||||||
| exclude = [ | exclude = [ | ||||||
|   ".venv" |   ".venv" | ||||||
| ] | ] | ||||||
| 
 |  | ||||||
| pythonPlatform = "All" | pythonPlatform = "All" | ||||||
| pythonVersion = "3.11" | pythonVersion = "3.11" | ||||||
| reportConstantRedefenition = "none" | reportConstantRedefenition = "none" | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user