4cddfcf2f3
Backend Tests / Tests (other) (push) Failing after 1s
Backend Tests / Static Checks (push) Failing after 2s
Backend Tests / Tests (internal) (push) Failing after 2s
Backend Tests / Tests (server) (push) Failing after 1s
Backend Tests / Tests (store) (push) Failing after 1s
Build Canary Image / build-frontend (push) Failing after 1s
Frontend Tests / Lint (push) Failing after 1s
Build Canary Image / build-push (linux/amd64) (push) Has been skipped
Build Canary Image / build-push (linux/arm64) (push) Has been skipped
Build Canary Image / merge (push) Has been skipped
Frontend Tests / Build (push) Failing after 1s
Release Please / release-please (push) Failing after 0s
Proto Linter / Lint Protos (push) Failing after 2s
29 lines
893 B
Go
29 lines
893 B
Go
package v1
|
|
|
|
import (
|
|
"context"
|
|
"log/slog"
|
|
|
|
"github.com/usememos/memos/server/notification"
|
|
"github.com/usememos/memos/store"
|
|
)
|
|
|
|
func (s *APIV1Service) createInboxWithEmailNotification(ctx context.Context, inbox *store.Inbox) (*store.Inbox, error) {
|
|
createdInbox, err := s.Store.CreateInbox(ctx, inbox)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
s.dispatchInboxEmailNotificationBestEffort(ctx, createdInbox)
|
|
return createdInbox, nil
|
|
}
|
|
|
|
func (s *APIV1Service) dispatchInboxEmailNotificationBestEffort(ctx context.Context, inbox *store.Inbox) {
|
|
dispatcher := notification.NewEmailDispatcher(s.Profile, s.Store, s.NotificationEmailSender)
|
|
if err := dispatcher.DispatchInboxEmail(ctx, inbox); err != nil {
|
|
slog.Warn("Failed to dispatch inbox email notification",
|
|
slog.Any("err", err),
|
|
slog.Int64("inbox_id", int64(inbox.ID)),
|
|
slog.Int64("receiver_id", int64(inbox.ReceiverID)))
|
|
}
|
|
}
|