From 2e9ff742a0dd936ea908edcdd4534591787656bb Mon Sep 17 00:00:00 2001 From: talksik Date: Wed, 22 Apr 2026 08:50:03 -0700 Subject: [PATCH] send admin alert when new network created --- go/internal/constants/flowy_admin.go | 3 +++ go/internal/network/service.go | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 go/internal/constants/flowy_admin.go diff --git a/go/internal/constants/flowy_admin.go b/go/internal/constants/flowy_admin.go new file mode 100644 index 0000000..779fe62 --- /dev/null +++ b/go/internal/constants/flowy_admin.go @@ -0,0 +1,3 @@ +package constants + +const FlowyAdminEmail = "team@flowylabs.ai" diff --git a/go/internal/network/service.go b/go/internal/network/service.go index 1db969a..848a393 100644 --- a/go/internal/network/service.go +++ b/go/internal/network/service.go @@ -6,15 +6,16 @@ import ( "fmt" "html" "log/slog" + "slices" "strings" "cloud.google.com/go/firestore" pbaero "github.com/flowy-live/llink/genproto/aero" "github.com/flowy-live/llink/internal/billing" + "github.com/flowy-live/llink/internal/constants" "github.com/flowy-live/llink/internal/utils" "github.com/jackc/pgx/v5" "github.com/jackc/pgx/v5/pgxpool" - "slices" ) var ErrNotFound = errors.New("network not found") @@ -87,6 +88,19 @@ func (s *serviceImpl) Create(ctx context.Context, name, adminHumanId string) (*N return nil, err } + _, err = s.aeroSvc.ShootEmail(ctx, &pbaero.ShootEmailRequest{ + ToEmails: []string{constants.FlowyAdminEmail}, + Subject: fmt.Sprintf("New network created: %s", network.Name), + TemplateData: &pbaero.ShootEmailRequest_GenericFlowyAdminAlertData{ + GenericFlowyAdminAlertData: &pbaero.GenericFlowyAdminAlertData{ + Message: "This is a simple notification that a new network was created. Please attend to them.", + }, + }, + }) + if err != nil { + slog.Warn("unable to send admin update email", "error", err) + } + return network, nil }