feat: add TextWidget

add TextWidget CRUD api

add basic tests for API
This commit is contained in:
jon brookes 2026-01-08 16:22:47 +00:00
parent 13cfd2961f
commit c66645cbdd
18 changed files with 536 additions and 1 deletions

15
cmd/curl_get_text_widget.sh Executable file
View file

@ -0,0 +1,15 @@
#!/usr/bin/env bash
# TOKEN="your_api_token_here"
# ensure to have set TOKEN to a valid value before running
# ideally add this to an .envrc file and source it
# tokens need to be created with tinker or similar method
URL='http://127.0.0.1:8000/api/text-widgets'
curl -s -X GET \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
$URL

View file

@ -0,0 +1,13 @@
#!/usr/bin/env bash
# this should fail, no token provided
# users need to be authenticated and have been
# granted access to view text widgets by being given
# a token
URL='http://127.0.0.1:8000/api/text-widgets'
curl -s -X GET \
-H "Accept: application/json" \
$URL

20
cmd/curl_post_text_widget.sh Executable file
View file

@ -0,0 +1,20 @@
#!/usr/bin/env bash
# TOKEN="your_api_token_here"
# ensure to have set TOKEN to a valid value before running
# ideally add this to an .envrc file and source it
# only the admin user can create entries so this should
# fail unless .env has ADMIN_EMAIL set to the user that
# the token belongs to
URL='http://127.0.0.1:8000/api/text-widgets'
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"title": "Yet Another New text widget Title",
"content": "This is the content yet again of the new text widget."
}' \
$URL

View file

@ -0,0 +1,16 @@
#!/usr/bin/env bash
# this should fail as no token is provided
# user is not authenticated
# no token has been granted
URL='http://127.0.0.1:8000/api/text-widgets'
curl -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"title": "Yet Another New Entry Title",
"content": "This is the content yet again of the new entry."
}' \
$URL