diff --git a/api/app/application/lenses_repository.py b/api/app/application/lenses_repository.py
new file mode 100644
index 0000000..fac8dca
--- /dev/null
+++ b/api/app/application/lenses_repository.py
@@ -0,0 +1,37 @@
+from sqlalchemy import select
+from sqlalchemy.ext.asyncio import AsyncSession
+
+from app.domain.models import Lens
+
+
+class LensesRepository:
+ def __init__(self, db: AsyncSession):
+ self.db = db
+
+ async def get_all(self):
+ stmt = select(Lens)
+ result = await self.db.execute(stmt)
+ return result.scalars().all()
+
+ async def create(self, lens: Lens):
+ self.db.add(lens)
+ await self.db.commit()
+ await self.db.refresh(lens)
+ return lens
+
+ async def update(self, lens: Lens):
+ await self.db.merge(lens)
+ await self.db.commit()
+ return lens
+
+ async def delete(self, lens_id: int):
+ stmt = select(Lens).filter(Lens.id == lens_id)
+ result = await self.db.execute(stmt)
+ lens = result.scalars().first()
+
+ if lens:
+ await self.db.delete(lens)
+ await self.db.commit()
+ return lens
+
+ return None
diff --git a/api/app/database/migrations/versions/c0997c6bf2f1_добавил_признак_выдачи_у_линз.py b/api/app/database/migrations/versions/c0997c6bf2f1_добавил_признак_выдачи_у_линз.py
new file mode 100644
index 0000000..89323e9
--- /dev/null
+++ b/api/app/database/migrations/versions/c0997c6bf2f1_добавил_признак_выдачи_у_линз.py
@@ -0,0 +1,30 @@
+"""добавил признак выдачи у линз
+
+Revision ID: c0997c6bf2f1
+Revises: 463487eaaa57
+Create Date: 2025-02-13 20:35:52.618925
+
+"""
+from typing import Sequence, Union
+
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision: str = 'c0997c6bf2f1'
+down_revision: Union[str, None] = '463487eaaa57'
+branch_labels: Union[str, Sequence[str], None] = None
+depends_on: Union[str, Sequence[str], None] = None
+
+
+def upgrade() -> None:
+ # ### commands auto generated by Alembic - please adjust! ###
+ op.add_column('lens', sa.Column('issued', sa.Boolean(), nullable=False))
+ # ### end Alembic commands ###
+
+
+def downgrade() -> None:
+ # ### commands auto generated by Alembic - please adjust! ###
+ op.drop_column('lens', 'issued')
+ # ### end Alembic commands ###
diff --git a/api/app/domain/models/lens.py b/api/app/domain/models/lens.py
index 8781622..4f62ad0 100644
--- a/api/app/domain/models/lens.py
+++ b/api/app/domain/models/lens.py
@@ -1,5 +1,5 @@
from enum import Enum as PyEnum
-from sqlalchemy import Column, Integer, ForeignKey, Float, Enum
+from sqlalchemy import Column, Integer, ForeignKey, Float, Enum, Boolean
from sqlalchemy.orm import relationship
from app.domain.models import Base
@@ -22,6 +22,7 @@ class Lens(Base):
diameter = Column(Float, nullable=False)
periphery_toricity = Column(Float, nullable=False) # Торичность перефирии
side = Column(Enum(SideEnum), nullable=False)
+ issued = Column(Boolean, nullable=False, default=False)
type_id = Column(Integer, ForeignKey('lenses_types.id'), nullable=False)
diff --git a/web-app/src/AppRouter.jsx b/web-app/src/AppRouter.jsx
index b4f1df0..befba5f 100644
--- a/web-app/src/AppRouter.jsx
+++ b/web-app/src/AppRouter.jsx
@@ -3,6 +3,8 @@ import PrivateRoute from "./components/PrivateRoute.jsx";
import LoginPage from "./pages/LoginPage.jsx";
import MainLayout from "./layouts/MainLayout.jsx";
import PatientsPage from "./pages/PatientsPage.jsx";
+import HomePage from "./pages/HomePage.jsx";
+import LensPage from "./pages/LensPage.jsx";
const AppRouter = () => (
@@ -12,7 +14,8 @@ const AppRouter = () => (