Skip to content

Commit 428c442

Browse files
committed
embed rbac conf
1 parent d91714c commit 428c442

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

internal/rbac/rbac.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
package rbac
22

33
import (
4+
_ "embed"
45
"fmt"
56
"log/slog"
67

78
"github.com/casbin/casbin/v2"
9+
"github.com/casbin/casbin/v2/model"
810
gormadapter "github.com/casbin/gorm-adapter/v3"
911
"github.com/google/uuid"
1012
"gorm.io/gorm"
1113
)
1214

15+
//go:embed model.conf
16+
var modelConf string
17+
1318
var enforcer *casbin.Enforcer
1419

1520
// InitEnforcer initializes the Casbin enforcer
@@ -19,7 +24,13 @@ func InitEnforcer(db *gorm.DB, logger *slog.Logger) error {
1924
return fmt.Errorf("failed to create casbin adapter: %w", err)
2025
}
2126

22-
e, err := casbin.NewEnforcer("internal/rbac/model.conf", adapter)
27+
// Load model from embedded string
28+
m, err := model.NewModelFromString(modelConf)
29+
if err != nil {
30+
return fmt.Errorf("failed to parse casbin model: %w", err)
31+
}
32+
33+
e, err := casbin.NewEnforcer(m, adapter)
2334
if err != nil {
2435
return fmt.Errorf("failed to create casbin enforcer: %w", err)
2536
}

0 commit comments

Comments
 (0)