daybook/artifacts
peter 09ea0a8b4f Reject non-string source_name/source_id/source_prompt (issue #008)
These accepted any JSON type on both POST and PATCH, silently mangled
into Python repr() strings at save time (a dict became the literal text
"{'a': 1}", unparseable as JSON) - and the immediate response echoed the
raw pre-save value, while a later GET returned the mangled one, an
internally inconsistent API.

Added validate_string_fields(), rejecting non-string values with 400
before they reach save(), matching #005's approach for tags. Verified live
and with new tests.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-02 15:27:07 +01:00
..
migrations Add json and csv artifact kinds with interactive viewers 2026-09-02 14:56:20 +01:00
__init__.py Initial public commit 2026-09-01 21:55:02 +01:00
admin.py Initial public commit 2026-09-01 21:55:02 +01:00
apps.py Initial public commit 2026-09-01 21:55:02 +01:00
demo_data.py Initial public commit 2026-09-01 21:55:02 +01:00
forms.py Initial public commit 2026-09-01 21:55:02 +01:00
models.py Add json and csv artifact kinds with interactive viewers 2026-09-02 14:56:20 +01:00
storage.py Fix concurrent posts racing past quota (issue #010) 2026-09-02 15:22:37 +01:00
urls.py Add admin-only Settings -> Users page for creating accounts 2026-09-02 12:33:38 +01:00
views.py Reject non-string source_name/source_id/source_prompt (issue #008) 2026-09-02 15:27:07 +01:00