feat: add a webhook action for deleted memos (#2791)

This commit is contained in:
Elliot Chen
2024-01-19 09:56:00 +08:00
committed by GitHub
parent c9146bc749
commit 2e0619b4dc
2 changed files with 24 additions and 0 deletions

View File

@ -625,6 +625,13 @@ func (s *APIV1Service) DeleteMemo(c echo.Context) error {
return echo.NewHTTPError(http.StatusUnauthorized, "Unauthorized")
}
if memoMessage, err := s.convertMemoFromStore(ctx, memo); err == nil {
// Try to dispatch webhook when memo is deleted.
if err := s.DispatchMemoDeletedWebhook(ctx, memoMessage); err != nil {
log.Warn("Failed to dispatch memo deleted webhook", zap.Error(err))
}
}
if err := s.Store.DeleteMemo(ctx, &store.DeleteMemo{
ID: memoID,
}); err != nil {
@ -958,6 +965,11 @@ func (s *APIV1Service) DispatchMemoUpdatedWebhook(ctx context.Context, memo *Mem
return s.dispatchMemoRelatedWebhook(ctx, memo, "memos.memo.updated")
}
// DispatchMemoDeletedWebhook dispatches webhook when memo is deletedd.
func (s *APIV1Service) DispatchMemoDeletedWebhook(ctx context.Context, memo *Memo) error {
return s.dispatchMemoRelatedWebhook(ctx, memo, "memos.memo.deleted")
}
func (s *APIV1Service) dispatchMemoRelatedWebhook(ctx context.Context, memo *Memo, activityType string) error {
webhooks, err := s.Store.ListWebhooks(ctx, &store.FindWebhook{
CreatorID: &memo.CreatorID,