Skip to content

Commit c020a51

Browse files
committed
fix time
1 parent fe65d9b commit c020a51

3 files changed

Lines changed: 14 additions & 12 deletions

File tree

api_backend/drug_regimen/service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ async def update_regmen(self, regimen_data: UpdateRegimenSchema, regimen_id: int
3131
regimen_obj = await self.regimen_repository.find_one_ON_manager(regimen_id)
3232

3333
dict_regimen_data = regimen_data.model_dump(exclude_none=True)
34-
if regimen_data.reception_time:
34+
if regimen_data.reception_time is not None:
3535
dict_regimen_data["reception_time"] = self.conversion_time(
3636
regimen_data.reception_time,
3737
regimen_obj.manager.timezone,

event_worker/src/event/repository.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ class EventRepository(SQLAlchemyRepository):
1212
async def scan_event(self) -> list[Row]:
1313
now_utc = datetime.now(UTC)
1414
interval = timedelta(minutes=1)
15-
start_time = (now_utc - interval).time()
16-
end_time = (now_utc + interval).time()
15+
start_dt = now_utc - interval
16+
end_dt = now_utc + interval
1717
async with async_session_maker() as session:
1818
stmt = text("""
1919
SELECT
@@ -34,13 +34,17 @@ async def scan_event(self) -> list[Row]:
3434
AND m.start_date <= :now
3535
AND m.finish_date >= :now
3636
AND r.is_active = true
37-
AND r.reception_time BETWEEN :start_time AND :end_time;
37+
AND (
38+
CASE WHEN :start_time <= :end_time
39+
THEN r.reception_time BETWEEN :start_time AND :end_time
40+
ELSE r.reception_time >= :start_time OR r.reception_time <= :end_time
41+
END
42+
);
3843
""")
3944
params = {
4045
"now": now_utc,
41-
"regimen_active": True,
42-
"start_time": start_time,
43-
"end_time": end_time,
46+
"start_time": start_dt.time(),
47+
"end_time": end_dt.time(),
4448
}
4549

4650
res = await session.execute(stmt, params)

event_worker/src/settings/database.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
from collections.abc import AsyncGenerator, Callable
22

33
from sqlalchemy.engine.url import URL
4-
from sqlalchemy.ext.asyncio import AsyncEngine, AsyncSession
4+
from sqlalchemy.ext.asyncio import AsyncEngine, AsyncSession, async_sessionmaker
55
from sqlalchemy.ext.asyncio import create_async_engine as _create_async_engine
6-
from sqlalchemy.orm import sessionmaker
7-
8-
from src.settings.configuration import config_project
6+
from api_backend.settings.configuration import config_project
97

108

119
def create_async_engine(url: URL | str) -> AsyncEngine:
1210
return _create_async_engine(url=url, echo=False, pool_pre_ping=True)
1311

1412

15-
async_session_maker: Callable[..., AsyncSession] = sessionmaker(
13+
async_session_maker: Callable[..., AsyncSession] = async_sessionmaker(
1614
create_async_engine(config_project.postgres_db.build_connection()),
1715
class_=AsyncSession,
1816
expire_on_commit=False,

0 commit comments

Comments
 (0)