jeongsoo commited on
Commit
458fff2
ยท
1 Parent(s): e3a023a
Files changed (2) hide show
  1. app/app.py +4 -2
  2. app/app_device_routes.py +17 -0
app/app.py CHANGED
@@ -26,13 +26,15 @@ load_dotenv()
26
  # ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋กœ๋“œ ์ƒํƒœ ํ™•์ธ ๋ฐ ๋กœ๊น…
27
  ADMIN_USERNAME = os.getenv('ADMIN_USERNAME')
28
  ADMIN_PASSWORD = os.getenv('ADMIN_PASSWORD')
29
- DEVICE_SERVER_URL = os.getenv('DEVICE_SERVER_URL', 'http://localhost:5050')
 
 
30
 
31
  logger.info(f"==== ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋กœ๋“œ ์ƒํƒœ ====")
32
  logger.info(f"ADMIN_USERNAME ์„ค์ • ์—ฌ๋ถ€: {ADMIN_USERNAME is not None}")
33
  # ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๋กœ๋“œ ์—ฌ๋ถ€๋งŒ ๊ธฐ๋ก (๋ณด์•ˆ)
34
  logger.info(f"ADMIN_PASSWORD ์„ค์ • ์—ฌ๋ถ€: {ADMIN_PASSWORD is not None}")
35
- logger.info(f"DEVICE_SERVER_URL: {DEVICE_SERVER_URL}")
36
 
37
  # ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์—†์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’ ์„ค์ • (๊ฐœ๋ฐœ์šฉ, ๋ฐฐํฌ ์‹œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ๊ถŒ์žฅ)
38
  if not ADMIN_USERNAME:
 
26
  # ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋กœ๋“œ ์ƒํƒœ ํ™•์ธ ๋ฐ ๋กœ๊น…
27
  ADMIN_USERNAME = os.getenv('ADMIN_USERNAME')
28
  ADMIN_PASSWORD = os.getenv('ADMIN_PASSWORD')
29
+ # ๊ธฐ๋ณธ ์žฅ์น˜ ์„œ๋ฒ„ URL์„ ํ˜„์žฌ ํ˜ธ์ŠคํŠธ์˜ 5050 ํฌํŠธ๋กœ ์„ค์ • (๋™์ผ ํ˜ธ์ŠคํŠธ์—์„œ ์‹คํ–‰ ๊ฐ€์ •)
30
+ # localhost ๋Œ€์‹  window.location.hostname์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ํ˜ธ์ŠคํŠธ์— ๋งž๊ฒŒ ์กฐ์ •
31
+ DEVICE_SERVER_URL = os.getenv('DEVICE_SERVER_URL', '')
32
 
33
  logger.info(f"==== ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋กœ๋“œ ์ƒํƒœ ====")
34
  logger.info(f"ADMIN_USERNAME ์„ค์ • ์—ฌ๋ถ€: {ADMIN_USERNAME is not None}")
35
  # ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๋กœ๋“œ ์—ฌ๋ถ€๋งŒ ๊ธฐ๋ก (๋ณด์•ˆ)
36
  logger.info(f"ADMIN_PASSWORD ์„ค์ • ์—ฌ๋ถ€: {ADMIN_PASSWORD is not None}")
37
+ logger.info(f"DEVICE_SERVER_URL: {DEVICE_SERVER_URL or '์„ค์ •๋˜์ง€ ์•Š์Œ (ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ์ž๋™ ์„ค์ •)'}")
38
 
39
  # ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์—†์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’ ์„ค์ • (๊ฐœ๋ฐœ์šฉ, ๋ฐฐํฌ ์‹œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • ๊ถŒ์žฅ)
40
  if not ADMIN_USERNAME:
app/app_device_routes.py CHANGED
@@ -14,12 +14,29 @@ logger = logging.getLogger(__name__)
14
  def register_device_routes(app, login_required, DEVICE_SERVER_URL):
15
  """Flask ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์žฅ์น˜ ๊ด€๋ฆฌ ๊ด€๋ จ ๋ผ์šฐํŠธ ๋“ฑ๋ก"""
16
 
 
 
 
 
 
 
 
 
 
 
17
  @app.route('/api/device/status', methods=['GET'])
18
  @login_required
19
  def device_status():
20
  """์žฅ์น˜ ๊ด€๋ฆฌ ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ API"""
21
  logger.info("์žฅ์น˜ ๊ด€๋ฆฌ ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ ์š”์ฒญ")
22
 
 
 
 
 
 
 
 
23
  try:
24
  # ์žฅ์น˜ ๊ด€๋ฆฌ ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ
25
  response = requests.get(f"{DEVICE_SERVER_URL}/api/status", timeout=5)
 
14
  def register_device_routes(app, login_required, DEVICE_SERVER_URL):
15
  """Flask ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์žฅ์น˜ ๊ด€๋ฆฌ ๊ด€๋ จ ๋ผ์šฐํŠธ ๋“ฑ๋ก"""
16
 
17
+ @app.route('/api/device/settings', methods=['GET'])
18
+ @login_required
19
+ def get_device_settings():
20
+ """์žฅ์น˜ ๊ด€๋ฆฌ ์„œ๋ฒ„ ์„ค์ • API - ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ์‚ฌ์šฉ"""
21
+ logger.info("์žฅ์น˜ ๊ด€๋ฆฌ ์„œ๋ฒ„ ์„ค์ • ์š”์ฒญ")
22
+
23
+ return jsonify({
24
+ "server_url": DEVICE_SERVER_URL
25
+ })
26
+
27
  @app.route('/api/device/status', methods=['GET'])
28
  @login_required
29
  def device_status():
30
  """์žฅ์น˜ ๊ด€๋ฆฌ ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ API"""
31
  logger.info("์žฅ์น˜ ๊ด€๋ฆฌ ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ ์š”์ฒญ")
32
 
33
+ # ์ง์ ‘ ์ ‘์† ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ”„๋ก์‹œ ์ฒ˜๋ฆฌ
34
+ if not DEVICE_SERVER_URL:
35
+ logger.info("์ง์ ‘ ์ ‘์† ๋ชจ๋“œ ์‚ฌ์šฉ ์ค‘ - ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ์ฒ˜๋ฆฌ")
36
+ return jsonify({
37
+ "info": "์ง์ ‘ ์ ‘์† ๋ชจ๋“œ ์‚ฌ์šฉ ์ค‘. ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ์žฅ์น˜ ์„œ๋ฒ„์— ์ง์ ‘ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค."
38
+ })
39
+
40
  try:
41
  # ์žฅ์น˜ ๊ด€๋ฆฌ ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ
42
  response = requests.get(f"{DEVICE_SERVER_URL}/api/status", timeout=5)