mirror of
https://github.com/dizedev/vk_lp.git
synced 2026-09-17 06:19:03 +00:00
more cool features
This commit is contained in:
@@ -0,0 +1 @@
|
||||
from . import config, models, requests
|
||||
@@ -0,0 +1,7 @@
|
||||
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
|
||||
|
||||
import config
|
||||
|
||||
DB_CONNECT_URL = f"postgresql+asyncpg://{config.psql_login}:{config.psql_password}@{config.psql_host}/{config.psql_database}"
|
||||
engine = create_async_engine(DB_CONNECT_URL)
|
||||
async_session = async_sessionmaker(engine)
|
||||
@@ -0,0 +1,14 @@
|
||||
from sqlalchemy import (BigInteger, Column, Identity, Text)
|
||||
from sqlalchemy.orm import DeclarativeBase
|
||||
|
||||
|
||||
class Base(DeclarativeBase):
|
||||
pass
|
||||
|
||||
|
||||
class UsersTokens(Base):
|
||||
__tablename__ = "users_tokens"
|
||||
|
||||
id = Column("id", BigInteger, Identity(start=1, increment=1, minvalue=1, cycle=False, cache=1), nullable=False, primary_key=True)
|
||||
vkid = Column("vkid", BigInteger, nullable=False)
|
||||
token = Column("token", Text, nullable=False)
|
||||
@@ -0,0 +1,35 @@
|
||||
from loguru import logger
|
||||
from sqlalchemy import select, update
|
||||
import db
|
||||
|
||||
|
||||
async def execute_statement(statement) -> None:
|
||||
"""
|
||||
Возвращает результат выполнения statement
|
||||
:param statement:
|
||||
:return:
|
||||
"""
|
||||
|
||||
try:
|
||||
async with db.config.async_session() as session:
|
||||
await session.execute(statement)
|
||||
await session.commit()
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
# return None
|
||||
|
||||
|
||||
async def get_user_token(user_id: int) -> str:
|
||||
"""
|
||||
Возвращает токен пользователя
|
||||
:param user_id: VKID
|
||||
"""
|
||||
|
||||
try:
|
||||
async with db.config.async_session() as session:
|
||||
result = await session.execute(select(db.models.UsersTokens).where(db.models.UsersTokens.vkid == user_id))
|
||||
return await result.scalars().one_or_none()
|
||||
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
return None
|
||||
Reference in New Issue
Block a user