tsk-59: Got the code for MER and added TODO

This commit is contained in:
phoenix
2025-12-31 14:44:43 -05:00
parent 1a3a244c07
commit b58174eef2
2 changed files with 36 additions and 0 deletions
+1
View File
@@ -12,6 +12,7 @@ const GetScheduledMessageEventEndpoint = "/api/v1/schedule/message/event"
const DeleteScheduledMessageEventEndpoint = "/api/v1/schedule/message/event/{id}" const DeleteScheduledMessageEventEndpoint = "/api/v1/schedule/message/event/{id}"
const UpdateScheduledMessageStatusEndpoint = "/api/v1/schedule/message/status/update" const UpdateScheduledMessageStatusEndpoint = "/api/v1/schedule/message/status/update"
const FetchNextScheduledMessageEndpoint = "/api/v1/schedule/message/fetch" const FetchNextScheduledMessageEndpoint = "/api/v1/schedule/message/fetch"
// TODO: Tweak endpoint verbage for MessageEventResponse endpoint
// TODO: Make RecordEventResponse more consistent with MessageEventResponse // TODO: Make RecordEventResponse more consistent with MessageEventResponse
const RecordEventResponse = "/api/v1/schedule/message/event/response/record" const RecordEventResponse = "/api/v1/schedule/message/event/response/record"
const FetchMessageEventResponse = "/api/v1/schedule/message/event/response" const FetchMessageEventResponse = "/api/v1/schedule/message/event/response"
@@ -93,8 +93,43 @@ type GetMessageEventResponseFetchedResponse struct {
} }
func (e *EventResponseHandler) Fetch(w http.ResponseWriter, r *http.Request) { func (e *EventResponseHandler) Fetch(w http.ResponseWriter, r *http.Request) {
queryParams := r.URL.Query()
var userId uuid.UUID
if _, exists := queryParams["user_id"]; !exists {
http.Error(w, "Query params", http.StatusBadRequest)
return
} else {
var err error
userId, err = uuid.Parse(queryParams.Get("user_id"))
if err != nil {
http.Error(w, "Query params", http.StatusBadRequest)
return
}
}
var statusCode int var statusCode int
var resp GetMessageEventResponseFetchedResponse var resp GetMessageEventResponseFetchedResponse
if userId == uuid.Nil {
statusCode = http.StatusBadRequest
resp.Message = "User Id is nil"
} else {
ctx := r.Context()
if sentMessages, err := e.MessageEventResponseStore.GetWithUserId(ctx, userId); err != nil {
statusCode = http.StatusInternalServerError
resp.Message = err.Error()
} else {
if len(sentMessages) == 0 {
statusCode = http.StatusNotFound
resp.Message = "Not MessageEventResponses found"
} else {
statusCode = http.StatusOK
resp.Message = "Successful"
resp.Data = sentMessages
}
}
}
RespondWithJSON(w, statusCode, &resp) RespondWithJSON(w, statusCode, &resp)
} }