Skip to content

Commit a1e9812

Browse files
committed
Add: test post method for /cameras/new
1 parent d4c5033 commit a1e9812

3 files changed

Lines changed: 33 additions & 2 deletions

File tree

src/api/api.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
from pydantic import BaseModel
33
from fastapi.middleware.cors import CORSMiddleware
44

5+
from models import CreateCamera
56

67
class URL(BaseModel):
7-
port: int
8+
port: str
89
host: str
910

1011
class PublicAPI:
@@ -44,3 +45,7 @@ def get_health():
4445
@self.app.get("/version")
4546
def get_version():
4647
return {"api_version": self.version}
48+
49+
@self.app.post("/cameras/new")
50+
def create_new_camera(new_camera: CreateCamera):
51+
return {"Test"}

src/api/models.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
from pydantic import BaseModel, field_validator
2+
3+
class CreateCamera(BaseModel):
4+
title: str
5+
latitude: float
6+
longitude: float
7+
8+
@field_validator('title')
9+
@classmethod
10+
def validate_title(cls, title):
11+
if len(title) < 1 or len(title) > 200:
12+
raise ValueError(f"Invalid camera title")
13+
return title
14+
15+
@field_validator('latitude')
16+
@classmethod
17+
def validate_latitude(cls, latitude):
18+
if latitude > 90 or latitude < -90:
19+
raise ValueError("Invalid latitude value")
20+
return latitude
21+
22+
@field_validator('longitude')
23+
@classmethod
24+
def validate_latitude(cls, longitude):
25+
if longitude > 90 or longitude < -90:
26+
raise ValueError("Invalid longitude value")
27+
return longitude

src/db_manager/db_manager.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ def check_connection(self) -> bool:
102102
"""Проверить соединение с базой данных"""
103103
try:
104104
with self.get_session() as session:
105-
# Простой запрос для проверки соединения
106105
session.execute(text("SELECT 1"))
107106
return True
108107
except SQLAlchemyError as e:

0 commit comments

Comments
 (0)