Massive rework of platform layer user/organization
The goal of this rework is to make it so I can pass around platform.User instead of a pair of models.Organization and models.User. This is useful for reason I kind of forget now, but it started with working on notifications and ballooned massively from there into refactoring a number of things that were bugging me. This also includes a tiny amount of work on server-side events (SSE). * background stuff lives inside the platform now, which I need for having it push updates through SSE * userfile now lives in the platform, under file, so other platform functions can safely use it * oauth is broken into pieces and inside platform because other stuff was calling it already, but badly. * notifications go into the platform as well
This commit is contained in:
parent
32dcc50c94
commit
44c4f17f32
85 changed files with 1492 additions and 1384 deletions
|
|
@ -1,44 +0,0 @@
|
|||
package background
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/Gleipnir-Technology/nidus-sync/platform/email"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
var channelJobEmail chan email.Job
|
||||
|
||||
func ReportSubscriptionConfirmationEmail(destination, report_id string) {
|
||||
enqueueJobEmail(email.NewJobReportNotificationConfirmation(
|
||||
destination,
|
||||
report_id,
|
||||
))
|
||||
}
|
||||
|
||||
func enqueueJobEmail(job email.Job) {
|
||||
select {
|
||||
case channelJobEmail <- job:
|
||||
return
|
||||
default:
|
||||
log.Warn().Msg("email job channel is full, dropping job")
|
||||
}
|
||||
}
|
||||
|
||||
func startWorkerEmail(ctx context.Context, channel chan email.Job) {
|
||||
go func() {
|
||||
log.Debug().Msg("Email worker started")
|
||||
for {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
log.Info().Msg("Email worker shutting down.")
|
||||
return
|
||||
case job := <-channel:
|
||||
err := email.Handle(ctx, job)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Failed to handle email message")
|
||||
}
|
||||
}
|
||||
}
|
||||
}()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue