From 21a08f3cb143ef680e8f95451abe4a962c1295a7 Mon Sep 17 00:00:00 2001 From: mlogclub Date: Tue, 28 Apr 2026 22:59:42 +0800 Subject: [PATCH] fix(notification): sync notification permissions --- .../000007_sync_notification_permissions.go | 21 +++++++++++++++++++ .../notification_permissions_test.go | 13 ++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 internal/migration/000007_sync_notification_permissions.go create mode 100644 internal/migration/notification_permissions_test.go diff --git a/internal/migration/000007_sync_notification_permissions.go b/internal/migration/000007_sync_notification_permissions.go new file mode 100644 index 0000000..c309663 --- /dev/null +++ b/internal/migration/000007_sync_notification_permissions.go @@ -0,0 +1,21 @@ +package migration + +import "github.com/mlogclub/simple/sqls" + +func init() { + register(7, "sync notification permissions", func() error { + return sqls.WithTransaction(func(ctx *sqls.TxContext) error { + permissions, err := ensurePermissions(ctx.Tx) + if err != nil { + return err + } + + roles, err := ensureRoles(ctx.Tx) + if err != nil { + return err + } + + return ensureRolePermissions(ctx.Tx, roles, permissions) + }) + }) +} diff --git a/internal/migration/notification_permissions_test.go b/internal/migration/notification_permissions_test.go new file mode 100644 index 0000000..5c11d38 --- /dev/null +++ b/internal/migration/notification_permissions_test.go @@ -0,0 +1,13 @@ +package migration + +import "testing" + +func TestNotificationPermissionMigrationRegistered(t *testing.T) { + migration, ok := migrationFuncs[7] + if !ok { + t.Fatalf("expected migration version 7 to be registered") + } + if migration.Remark != "sync notification permissions" { + t.Fatalf("unexpected migration remark: %q", migration.Remark) + } +}