32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
# 2026-03-09
|
|
# notes_list.py — чтение всех записей из таблицы notes.
|
|
#
|
|
# Назначение: отдать полный список заметок одним запросом.
|
|
# Принимает GET или POST — тело/query параметры игнорируются.
|
|
# Возвращает JSON-массив, сортировка: новые записи первые (ORDER BY created_at DESC).
|
|
#
|
|
# Пример ответа:
|
|
# [
|
|
# {"id": 3, "title": "Hello", "body": "World", "created_at": "2026-03-09 ..."},
|
|
# {"id": 1, "title": "First", "body": "Note", "created_at": "2026-03-08 ..."}
|
|
# ]
|
|
import os
|
|
import psycopg2
|
|
import psycopg2.extras
|
|
|
|
|
|
def list_notes(event):
|
|
dsn = os.environ['PG_DSN']
|
|
conn = psycopg2.connect(dsn)
|
|
try:
|
|
cur = conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)
|
|
cur.execute(
|
|
"SELECT id, title, body, created_at::text FROM notes ORDER BY created_at DESC"
|
|
)
|
|
rows = cur.fetchall()
|
|
return [dict(r) for r in rows]
|
|
except Exception as e:
|
|
return {'error': str(e)}
|
|
finally:
|
|
conn.close()
|