@@ -54,7 +54,7 @@ func (h *MessageSendScheduleHandler) RegisterRoutes(router fiber.Router, middlew
5454// @Summary List send schedules
5555// @Description List all send schedules owned by the authenticated user.
5656// @Security ApiKeyAuth
57- // @Tags Send Schedules
57+ // @Tags SendSchedules
5858// @Produce json
5959// @Success 200 {object} responses.MessageSendSchedulesResponse
6060// @Failure 401 {object} responses.Unauthorized
@@ -64,9 +64,11 @@ func (h *MessageSendScheduleHandler) Index(c *fiber.Ctx) error {
6464 ctx , span , ctxLogger := h .tracer .StartFromFiberCtxWithLogger (c , h .logger )
6565 defer span .End ()
6666
67- schedules , err := h .service .Index (ctx , h .userIDFomContext (c ))
67+ userID := h .userIDFomContext (c )
68+
69+ schedules , err := h .service .Index (ctx , userID )
6870 if err != nil {
69- ctxLogger .Error (stacktrace .Propagate (err , "cannot list send schedules" ))
71+ ctxLogger .Error (stacktrace .Propagate (err , fmt . Sprintf ( "cannot list send schedules for user [%s]" , userID ) ))
7072 return h .responseInternalServerError (c )
7173 }
7274
@@ -78,7 +80,7 @@ func (h *MessageSendScheduleHandler) Index(c *fiber.Ctx) error {
7880// @Summary Create send schedule
7981// @Description Create a new send schedule for the authenticated user.
8082// @Security ApiKeyAuth
81- // @Tags Send Schedules
83+ // @Tags SendSchedules
8284// @Accept json
8385// @Produce json
8486// @Param payload body requests.MessageSendScheduleStore true "Payload of new send schedule."
@@ -95,23 +97,19 @@ func (h *MessageSendScheduleHandler) Store(c *fiber.Ctx) error {
9597
9698 userID := h .userIDFomContext (c )
9799
98- count , err := h .service .CountByUser (ctx , userID )
100+ result , err := h .entitlementService .Check (ctx , userID , "MessageSendSchedule" , func () (int , error ) {
101+ return h .service .CountByUser (ctx , userID )
102+ })
99103 if err != nil {
100- ctxLogger .Error (stacktrace .Propagate (err , "cannot count send schedules for entitlement check" ))
101- return h .responseInternalServerError (c )
102- }
103-
104- result , err := h .entitlementService .Check (ctx , userID , "MessageSendSchedule" , count )
105- if err != nil {
106- ctxLogger .Error (stacktrace .Propagate (err , "cannot check entitlement for send schedules" ))
104+ ctxLogger .Error (stacktrace .Propagate (err , fmt .Sprintf ("cannot check entitlement for send schedules for user [%s]" , userID )))
107105 return h .responseInternalServerError (c )
108106 }
109107 if ! result .Allowed {
110108 return h .responsePaymentRequired (c , result .Message )
111109 }
112110
113111 var request requests.MessageSendScheduleStore
114- if err : = c .BodyParser (& request ); err != nil {
112+ if err = c .BodyParser (& request ); err != nil {
115113 return h .responseBadRequest (c , err )
116114 }
117115
@@ -127,7 +125,7 @@ func (h *MessageSendScheduleHandler) Store(c *fiber.Ctx) error {
127125
128126 schedule , err := h .service .Store (ctx , request .ToParams (h .userFromContext (c )))
129127 if err != nil {
130- ctxLogger .Error (stacktrace .Propagate (err , "cannot create send schedule" ))
128+ ctxLogger .Error (stacktrace .Propagate (err , fmt . Sprintf ( "cannot create send schedule for user [%s]" , userID ) ))
131129 return h .responseInternalServerError (c )
132130 }
133131
@@ -139,7 +137,7 @@ func (h *MessageSendScheduleHandler) Store(c *fiber.Ctx) error {
139137// @Summary Update send schedule
140138// @Description Update a send schedule owned by the authenticated user.
141139// @Security ApiKeyAuth
142- // @Tags Send Schedules
140+ // @Tags SendSchedules
143141// @Accept json
144142// @Produce json
145143// @Param scheduleID path string true "Schedule ID"
@@ -170,14 +168,11 @@ func (h *MessageSendScheduleHandler) Update(c *fiber.Ctx) error {
170168 return h .responseUnprocessableEntity (c , errors , "validation errors while updating send schedule" )
171169 }
172170
173- schedule , err := h .service .Update (
174- ctx ,
175- h .userIDFomContext (c ),
176- scheduleID ,
177- request .ToParams (h .userFromContext (c )),
178- )
171+ userID := h .userIDFomContext (c )
172+
173+ schedule , err := h .service .Update (ctx , userID , scheduleID , request .ToParams (h .userFromContext (c )))
179174 if err != nil {
180- ctxLogger .Error (stacktrace .Propagate (err , "cannot update send schedule" ))
175+ ctxLogger .Error (stacktrace .Propagate (err , fmt . Sprintf ( "cannot update send schedule for user [%s] and schedule [%s]" , userID , scheduleID ) ))
181176 if stacktrace .GetCode (err ) == repositories .ErrCodeNotFound {
182177 return h .responseNotFound (c , err .Error ())
183178 }
@@ -192,7 +187,7 @@ func (h *MessageSendScheduleHandler) Update(c *fiber.Ctx) error {
192187// @Summary Delete send schedule
193188// @Description Delete a send schedule owned by the authenticated user.
194189// @Security ApiKeyAuth
195- // @Tags Send Schedules
190+ // @Tags SendSchedules
196191// @Produce json
197192// @Param scheduleID path string true "Schedule ID"
198193// @Success 204
@@ -210,19 +205,18 @@ func (h *MessageSendScheduleHandler) Delete(c *fiber.Ctx) error {
210205 return h .responseBadRequest (c , err )
211206 }
212207
213- if _ , err = h .service .Load (ctx , h .userIDFomContext (c ), scheduleID ); err != nil {
214- ctxLogger .Error (stacktrace .Propagate (err , "cannot load send schedule for deletion" ))
208+ userID := h .userIDFomContext (c )
209+
210+ if _ , err = h .service .Load (ctx , userID , scheduleID ); err != nil {
211+ ctxLogger .Error (stacktrace .Propagate (err , fmt .Sprintf ("cannot load send schedule for deletion for user [%s] and schedule [%s]" , userID , scheduleID )))
215212 if stacktrace .GetCode (err ) == repositories .ErrCodeNotFound {
216213 return h .responseNotFound (c , err .Error ())
217214 }
218215 return h .responseInternalServerError (c )
219216 }
220217
221- if err = h .service .Delete (ctx , h .userIDFomContext (c ), scheduleID ); err != nil {
222- ctxLogger .Error (stacktrace .Propagate (err , "cannot delete send schedule" ))
223- if stacktrace .GetCode (err ) == repositories .ErrCodeNotFound {
224- return h .responseNotFound (c , err .Error ())
225- }
218+ if err = h .service .Delete (ctx , userID , scheduleID ); err != nil {
219+ ctxLogger .Error (stacktrace .Propagate (err , fmt .Sprintf ("cannot delete send schedule for user [%s] and schedule [%s]" , userID , scheduleID )))
226220 return h .responseInternalServerError (c )
227221 }
228222
0 commit comments