tsk-35: Add API documentation (#39)

Closes #35

Reviewed-on: phoenix/textsender-api#39
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
This commit is contained in:
phoenix
2025-11-13 21:45:17 +00:00
committed by phoenix
parent 0cd71c5506
commit f69d56f527
14 changed files with 2597 additions and 23 deletions
@@ -41,6 +41,18 @@ func NewScheduledMessageEventHandler(str store.ScheduledMessageEventStore, schSt
return &ScheduledMessageEventHandler{ScheduledMessageEventStore: str, ScheduledMessageStore: schStore}
}
// AddContact godoc
// @Summary Add scheduled message event
// @Description Add a scheduled message event (requires JWT)
// @Tags scheduled message events
// @Accept json
// @Produce json
// @Security BearerAuth
// @Param request body RequestAddScheduledMessageEvent true "Data to add scheduled message event"
// @Success 201 {object} AddScheduledMessageEventResponse
// @Failure 400 {object} AddScheduledMessageEventResponse
// @Failure 500 {object} AddScheduledMessageEventResponse
// @Router /schedule/message/event [post]
func (s *ScheduledMessageEventHandler) AddScheduledMessageEvent(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodPost {
http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
@@ -103,6 +115,19 @@ func (s *ScheduledMessageEventHandler) AddScheduledMessageEvent(w http.ResponseW
RespondWithJSON(w, statusCode, &resp)
}
// GetScheduledMessageEvent godoc
// @Summary Get scheduled message event
// @Description Gets a scheduled message event (requires JWT)
// @Tags scheduled message events
// @Accept json
// @Produce json
// @Param id path string true "Contact Id"
// @Param scheduled_message_id path string true "Scheduled Message Id"
// @Security BearerAuth
// @Success 200 {object} GetScheduledMessageEventResponse
// @Failure 400 {object} GetScheduledMessageEventResponse
// @Failure 500 {object} GetScheduledMessageEventResponse
// @Router /schedule/message/event [get]
func (s *ScheduledMessageEventHandler) GetScheduledMessageEvent(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodGet {
http.Error(w, "Metnot allowed", http.StatusMethodNotAllowed)
@@ -154,6 +179,18 @@ func (s *ScheduledMessageEventHandler) GetScheduledMessageEvent(w http.ResponseW
RespondWithJSON(w, statusCode, &resp)
}
// DeleteScheduledMessageEvent godoc
// @Summary Delete scheduled message event
// @Description Deletes a scheduled message event (requires JWT)
// @Tags scheduled message events
// @Accept json
// @Produce json
// @Security BearerAuth
// @Param id path string true "scheduled message event Id" Format(uuid)
// @Success 201 {object} DeleteScheduledMessageEventResponse
// @Failure 400 {object} DeleteScheduledMessageEventResponse
// @Failure 500 {object} DeleteScheduledMessageEventResponse
// @Router /schedule/message/event/{id} [delete]
func (s *ScheduledMessageEventHandler) DeleteScheduledMessageEvent(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodDelete {
http.Error(w, "Metnot allowed", http.StatusMethodNotAllowed)