Skip to content

Commit 106527c

Browse files
author
zz3188
committed
added stuff delete and post handler
1 parent 0efd6de commit 106527c

2 files changed

Lines changed: 34 additions & 21 deletions

File tree

backend/.env.example

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,13 @@
1-
SECRET_KEY=
2-
3-
# Set to True to get debug logs (Django, SQL queries, HTTP requests, service logs, etc.) in console
1+
SECRET_KEY="t#$1$_&vszcojm%bpwf4a^pl@s86f=bje_#82$wz6fw^qogem0"
42
DEBUG="True"
5-
# Set to True to indicate production environment. Sends emails to the listservs (CAUTION!!!)
6-
# If False, all emails are sent only to the current user
73
PROD="False"
8-
# Set to True to turn on email sending
9-
# If False, DEBUG should be True to see emails printed in console
10-
SEND_EMAIL="False"
4+
SEND_EMAIL="True"
115

126
# Auth0
13-
ALLOWED_HOSTS=
14-
AUTH0_DOMAIN=
15-
AUTH0_AUDIENCE=
7+
ALLOWED_HOSTS="localhost,127.0.0.1"
8+
AUTH0_DOMAIN="hoagie.us.auth0.com"
9+
AUTH0_AUDIENCE="https://hoagieauth"
1610

1711
# Database
1812
DATABASE_URL=""
19-
TEST_DATABASE_URL=""
20-
21-
# Mailjet
22-
MAILJET_PUBLIC_KEY=""
23-
MAILJET_PRIVATE_KEY=""
13+
TEST_DATABASE_URL="postgres://u813him9ckrsnh:paa55d8dfd0bb8653161348ca2702fc9a805ac85236621eeb4d77ae4b1feff66f@cet8r1hlj0mlnt.cluster-czrs8kj4isg7.us-east-1.rds.amazonaws.com:5432/d3g98s3ucne0ak"

backend/hoagiemail/api/stuff_user_view.py

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,39 @@
22
from rest_framework.response import Response
33
from rest_framework.views import APIView
44

5+
from hoagiemail.models import StuffPost
6+
57

68
class StuffUserView(APIView):
79
def get(self, request) -> Response:
8-
# Logic to get user posts
9-
return Response({"status": "OK", "message": "User posts retrieved successfully"}, status=status.HTTP_200_OK)
1010

1111
def post(self, request) -> Response:
1212
# Logic to make a post
13-
return Response({"status": "OK", "message": "Post made successfully"}, status=status.HTTP_200_OK)
13+
user = request.user
14+
try:
15+
if StuffPost.objects.filter(author=user).exists():
16+
return Response(
17+
{"error": "You already have a post."},
18+
status=status.HTTP_400_BAD_REQUEST
19+
)
20+
StuffPost.objects.create(author=user, title=request.data.get("title"), description=request.data.get("description"), thumbnail_url=request.data.get("thumbnail_url"), category=request.data.get("category"), link_url=request.data.get("link_url"), tags=request.data.get("tags"), has_sent=False, created_at=timezone.now())
21+
return Response({"status": "OK", "message": "Post made successfully"}, status=status.HTTP_200_OK)
22+
except ValidationError as e:
23+
return Response({"error": "Unexpected error creating stuff post."}, status=status.HTTP_400_BAD_REQUEST)
1424

1525
def delete(self, request) -> Response:
16-
# Logic to delete a post
17-
return Response({"status": "OK", "message": "Post deleted successfully"}, status=status.HTTP_200_OK)
26+
user = request.user
27+
try:
28+
StuffPost.objects.filter(author=user).delete();
29+
return Response({"Status": "OK"}, status=status.HTTP_200_OK)
30+
except StuffPost.DoesNotExist:
31+
logger.error(f"Stuff post not found for user {user.email}")
32+
return Response(
33+
{"error": "You do not have an existing digest message. Please create one first."},
34+
status=status.HTTP_400_BAD_REQUEST,
35+
)
36+
except Exception as e:
37+
logger.error(f"Unexpected error deleting scheduled post: {str(e)}")
38+
return Response(
39+
{"error": "Unexpected error deleting scheduled mail"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR
40+
)

0 commit comments

Comments
 (0)