Skip to content

Commit a251f9d

Browse files
authored
Merge pull request #29 from user00144/develop
Develop
2 parents c764dd7 + 4145be4 commit a251f9d

4 files changed

Lines changed: 57 additions & 6 deletions

File tree

api/v1/client.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from services.client_services.gps_trace_service import get_recent_gps_trace
77
from services.client_services.emergency_service import get_emergency_image_urls
88
from services.client_services.preview_image_service import get_preview_images
9+
from services.client_services.get_contents_service import get_total_contents
910
from services.client_services.get_calendar_info import get_calendar_info
1011
from typing import List
1112

@@ -65,6 +66,16 @@ async def get_preview_images_api(
6566

6667
return result
6768

69+
70+
@router.get("/get_all_contents_data")
71+
async def get_all_contents_api(
72+
device_id: str = Query(..., description="디바이스 ID"),
73+
date: str = Query(..., description="조회한 날짜 (YYYY-MM-DD)")
74+
):
75+
result = await get_total_contents(device_id, date)
76+
77+
return result
78+
6879
@router.get("/get_calendar_info", response_model=CalendarByDayResponse)
6980
async def get_calendar_info_api(
7081
device_id: str = Query(..., description="디바이스 ID"),
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
from core.firebase import db
2+
from typing import List
3+
4+
async def get_total_contents(device_id : str, date : str) -> List :
5+
devices = db.collection("devices").where("device_id", "==",device_id).limit(1).stream()
6+
docs_list = list(devices)
7+
device_ref = docs_list[0].reference
8+
9+
contents_ref = device_ref.collection("contents")
10+
docs = contents_ref.stream()
11+
12+
ids = []
13+
urls = []
14+
15+
out = []
16+
17+
for doc in docs:
18+
data = doc.to_dict()
19+
created_at = data.get("created_at")
20+
21+
out_dict = {
22+
23+
}
24+
25+
if not created_at:
26+
continue
27+
28+
c_split = str(created_at).split("T")
29+
30+
content_date = c_split[0]
31+
32+
if content_date != date:
33+
continue
34+
35+
out_dict["content_id"] = doc.id
36+
out_dict["image_url"] = data.get("image_url", "")
37+
out_dict["question_text"] = data.get("question_text", "")
38+
out_dict["gpt_response"] = data.get("gpt_response", "")
39+
out_dict["created_at"] = c_split[1]
40+
out.append(out_dict)
41+
42+
return out

services/client_services/preview_image_service.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,4 @@ async def get_preview_images(device_id: str, date: str) -> dict:
3232

3333
return {
3434
"contents_list_image": [ids, urls]
35-
}
36-
37-
38-
35+
}

services/hw_services/device_service.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
from core.firebase import db
22
from fastapi import HTTPException
3-
from datetime import datetime
3+
from datetime import datetime, timedelta
44
from typing import Optional
55

6+
67
#1. 디바이스 문서 참조 얻기
78
async def get_device_by_id(device_id : str):
89
docs = db.collection("devices").where("device_id", "==", device_id).limit(1).stream()
@@ -42,5 +43,5 @@ async def save_description_to_firestore(
4243
"question_text": question_text,
4344
"gpt_response": gpt_response,
4445
"is_emergency": is_emergency,
45-
"updated_at": datetime.utcnow().isoformat()
46+
"updated_at": datetime.utcnow().isoformat() + timedelta(hours=9)
4647
})

0 commit comments

Comments
 (0)