From 1442ee641a8dfa7330112912d7a1d82effd3e013 Mon Sep 17 00:00:00 2001 From: Denis Arh Date: Mon, 30 Sep 2019 13:27:08 +0200 Subject: [PATCH] Cleanup, add context to db conn --- system/service/reminder.go | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/system/service/reminder.go b/system/service/reminder.go index 6ef12db25..178eda7b1 100644 --- a/system/service/reminder.go +++ b/system/service/reminder.go @@ -41,11 +41,11 @@ type ( func Reminder(ctx context.Context) ReminderService { db := repository.DB(ctx) - return (&reminder{ + return &reminder{ db: db, ac: DefaultAccessControl, reminder: repository.Reminder(ctx, db), - }) + } } func (svc reminder) Find(ctx context.Context, f types.ReminderFilter) (types.ReminderSet, types.ReminderFilter, error) { @@ -78,9 +78,8 @@ func (svc reminder) FindByIDs(ctx context.Context, IDs ...uint64) (types.Reminde } func (svc reminder) checkAssignee(ctx context.Context, rm *types.Reminder) error { - // Check if I am assigning to someone else - me := svc.meFromCtx(ctx) - if rm.AssignedTo != me { + // Check if user is assigning to someone else + if rm.AssignedTo != svc.currentUser(ctx) { if !svc.ac.CanAssignReminder(ctx) { return ErrNoReminderAssignPermissions } @@ -89,7 +88,7 @@ func (svc reminder) checkAssignee(ctx context.Context, rm *types.Reminder) error return nil } -func (svc reminder) meFromCtx(ctx context.Context) uint64 { +func (svc reminder) currentUser(ctx context.Context) uint64 { return intAuth.GetIdentityFromContext(ctx).Identity() } @@ -102,7 +101,7 @@ func (svc reminder) Create(ctx context.Context, rm *types.Reminder) (*types.Remi } func (svc reminder) Update(ctx context.Context, rm *types.Reminder) (t *types.Reminder, err error) { - return rm, svc.db.Transaction(func() (err error) { + return rm, svc.db.With(ctx).Transaction(func() (err error) { if t, err = svc.reminder.FindByID(rm.ID); err != nil { return } @@ -114,7 +113,7 @@ func (svc reminder) Update(ctx context.Context, rm *types.Reminder) (t *types.Re // Assign changed values if rm.AssignedTo != t.AssignedTo { t.AssignedTo = rm.AssignedTo - t.AssignedBy = svc.meFromCtx(ctx) + t.AssignedBy = svc.currentUser(ctx) t.AssignedAt = time.Now() } t.Payload = rm.Payload @@ -130,7 +129,7 @@ func (svc reminder) Update(ctx context.Context, rm *types.Reminder) (t *types.Re } func (svc reminder) Dismiss(ctx context.Context, ID uint64) (err error) { - return svc.db.Transaction(func() (err error) { + return svc.db.With(ctx).Transaction(func() (err error) { var t *types.Reminder if t, err = svc.reminder.FindByID(ID); err != nil { return err @@ -139,7 +138,7 @@ func (svc reminder) Dismiss(ctx context.Context, ID uint64) (err error) { // Assign changed values n := time.Now() t.DismissedAt = &n - t.DismissedBy = svc.meFromCtx(ctx) + t.DismissedBy = svc.currentUser(ctx) if t, err = svc.reminder.Update(t); err != nil { return err @@ -150,7 +149,7 @@ func (svc reminder) Dismiss(ctx context.Context, ID uint64) (err error) { } func (svc reminder) Snooze(ctx context.Context, ID uint64, remindAt *time.Time) (err error) { - return svc.db.Transaction(func() (err error) { + return svc.db.With(ctx).Transaction(func() (err error) { var t *types.Reminder if t, err = svc.reminder.FindByID(ID); err != nil { return err