refactor startup admin context

This commit is contained in:
Christoph Haas 2023-06-21 22:04:20 +02:00
parent a9136edaa7
commit e43647426c
2 changed files with 10 additions and 9 deletions

View File

@ -38,8 +38,8 @@ func New(cfg *config.Config, bus evbus.MessageBus, authenticator Authenticator,
startupContext, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
// The first user in the DB is admin.
startupContext = context.WithValue(startupContext, domain.CtxUserInfo, domain.GetAdminInfo())
// Switch to admin user context
startupContext = domain.SetUserInfo(startupContext, domain.SystemAdminContextUserInfo())
if err := a.createDefaultUser(startupContext); err != nil {
return nil, fmt.Errorf("failed to create default user: %w", err)

View File

@ -20,6 +20,13 @@ func DefaultContextUserInfo() *ContextUserInfo {
}
}
func SystemAdminContextUserInfo() *ContextUserInfo {
return &ContextUserInfo{
Id: "_WG_SYS_ADMIN_",
IsAdmin: true,
}
}
func SetUserInfoFromGin(c *gin.Context) context.Context {
ginUserInfo, exists := c.Get(CtxUserInfo)
@ -30,7 +37,7 @@ func SetUserInfoFromGin(c *gin.Context) context.Context {
}
}
ctx := context.WithValue(c.Request.Context(), CtxUserInfo, info)
ctx := SetUserInfo(c.Request.Context(), info)
return ctx
}
@ -51,9 +58,3 @@ func GetUserInfo(ctx context.Context) *ContextUserInfo {
return DefaultContextUserInfo()
}
func GetAdminInfo() *ContextUserInfo {
userInfo := DefaultContextUserInfo()
userInfo.IsAdmin = true
return userInfo
}