Compare commits

...

9 Commits

Author SHA1 Message Date
1af9a7b4d9 fix bug :)
Some checks failed
continuous-integration/drone/push Build is failing
update Worker table doc
2025-09-26 16:23:05 +03:00
de9c0e6724 clear database_engine imports 2025-09-26 16:21:41 +03:00
3ad35c6980 Merge branch 'drone-conf'
Some checks reported errors
continuous-integration/drone/push Build was killed
2025-09-26 16:08:12 +03:00
b5a2938b12 Merge branch 'refs/heads/dev' 2025-09-26 16:07:52 +03:00
9af6b71712 fix drone env 2 2025-09-26 14:39:18 +03:00
bda32cca6a Update drone.yaml
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-26 10:56:52 +03:00
b23c1a8b62 fix imports in filters module
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2025-09-26 10:20:48 +03:00
882a06f226 drone config fix
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-25 23:35:09 +03:00
50b329bd35 drone confix fix
Some checks failed
continuous-integration/drone/push Build is failing
2025-09-25 23:18:48 +03:00
5 changed files with 38 additions and 34 deletions

View File

@@ -1,14 +1,8 @@
import os import os
import asyncpg from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine, session
import dotenv
# connection = psycopg2.connect(*(os.getenv(key) for key in ["DATABASE", "DB_HOST", "DB_USER", "DB_PASSWORD"]))
# connection.autocommit = True
dotenv.load_dotenv(".env")
DATABASE_URL = (f"postgresql+asyncpg://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}@" DATABASE_URL = (f"postgresql+asyncpg://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}@"
f"{os.getenv('DB_HOST')}/{os.getenv('DATABASE')}") f"{os.getenv('DB_HOST')}/{os.getenv('DATABASE')}")
print(DATABASE_URL)
engine = create_async_engine(DATABASE_URL, echo=True) engine = create_async_engine(DATABASE_URL, echo=True)
async_session_ = async_sessionmaker(bind=engine, expire_on_commit=False) async_session_ = async_sessionmaker(bind=engine, expire_on_commit=False)

View File

@@ -13,10 +13,11 @@ class Base(DeclarativeBase):
class Worker(Base): class Worker(Base):
""" """
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
telegram_id INTEGER UNIQUE NOT NULL, telegram_id BIGINT UNIQUE NOT NULL,
name VARCHAR NOT NULL, name VARCHAR NOT NULL,
email VARCHAR(50), email VARCHAR(50),
phone_number VARCHAR(20) NOT NULL, phone_number VARCHAR(20),
job_title job_title default 'Сборщик',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP updated_at TIMESTAMP
""" """
@@ -27,7 +28,7 @@ class Worker(Base):
name = Column(String, nullable=False) name = Column(String, nullable=False)
email = Column(String, nullable=True) email = Column(String, nullable=True)
phone_number = Column(String, default=None) phone_number = Column(String, default=None)
job_title = Column(job_title, default='Сборщик'), job_title = Column(job_title, default='Сборщик')
created_at = Column(Date, server_default=func.now()) created_at = Column(Date, server_default=func.now())
updated_at = Column(Date, onupdate=func.now()) updated_at = Column(Date, onupdate=func.now())

View File

@@ -1,10 +1,8 @@
import logging import os
from typing import Any
from aiogram.types import Message, CallbackQuery from aiogram.types import Message, CallbackQuery
from aiogram.filters import BaseFilter from aiogram.filters import BaseFilter
from keyboards.menu_commands import commands from keyboards.menu_commands import commands
import os
loggger = logging.getLogger(__name__)

View File

@@ -1 +1,4 @@
from .Filters import IsAdmin from .Filters import IsAdmin
from .Filters import IsRegister
__all__ = ["IsRegister", "IsAdmin"]

View File

@@ -17,31 +17,39 @@ steps:
- name: dockersock - name: dockersock
path: /var/run/docker.sock path: /var/run/docker.sock
commands: commands:
- docker build -t myapp:${DRONE_COMMIT_SHA} . - docker build -t myapp:${DRONE_COMMIT_BRANCH} .
- name: deploy - name: deploy
image: alpine image: docker
volumes:
- name: dockersock
path: /var/run/docker.sock
- name: env
path: /srv/prod/telegram_bot/
environment: environment:
ENV_CONTENT: TOKEN:
from_secret: DOT_ENV_CONTENT from_secret: TOKEN
BOT_ADMINS:
from_secret: BOT_ADMINS
DATABASE:
from_secret: DATABASE
DB_HOST:
from_secret: DB_HOST
DB_USER:
from_secret: DB_USER
DB_PASSWORD:
from_secret: DB_PASSWORD
commands: commands:
- apk add --no-cache openssh
- echo "$ENV_CONTENT" > .env - echo "$ENV_CONTENT" > .env
settings:
host: localhost
username: ronis_0505
password: 667766
script:
- docker pull myapp:${DRONE_COMMIT_SHA}
- docker stop myapp || true - docker stop myapp || true
- docker rm myapp || true - docker rm myapp || true
- docker run -d --name myapp \ - docker run --name=myapp --network=prod_net -v /srv/prod/telegram_bot/photos:/app/photos/ -v /srv/prod/telegram_bot/.env:/app/.env:ro myapp:${DRONE_COMMIT_BRANCH}
--network prod_net \
-v /srv/prod/telegram_bot/photos:/app/photos/ \
myapp:${DRONE_COMMIT_SHA}
volumes: volumes:
- name: dockersock - name: dockersock
host: host:
path: /var/run/docker.sock path: /var/run/docker.sock
- name: env
host:
path: /srv/prod/telegram_bot/