♻️ Move models.Account to sec.UserInfo

This commit is contained in:
2024-10-30 23:26:13 +08:00
parent 14baee03fe
commit 8fbb79607b
38 changed files with 346 additions and 272 deletions

View File

@ -5,6 +5,7 @@ import (
"git.solsynth.dev/hydrogen/passport/pkg/internal/http/exts"
"git.solsynth.dev/hydrogen/passport/pkg/internal/models"
"git.solsynth.dev/hydrogen/passport/pkg/internal/services"
"git.solsynth.dev/hypernet/nexus/pkg/nex/sec"
"github.com/gofiber/fiber/v2"
"github.com/rs/zerolog/log"
)
@ -27,13 +28,13 @@ func notifyAllUser(c *fiber.Ctx) error {
if err := exts.EnsureGrantedPerm(c, "AdminNotifyAll", true); err != nil {
return err
}
operator := c.Locals("user").(models.Account)
operator := c.Locals("user").(*sec.UserInfo)
var users []models.Account
if err := database.C.Find(&users).Error; err != nil {
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
} else {
services.AddAuditRecord(operator, "notify.all", c.IP(), c.Get(fiber.HeaderUserAgent), map[string]any{
services.AddAuditRecord(operator.ID, "notify.all", c.IP(), c.Get(fiber.HeaderUserAgent), map[string]any{
"payload": data,
})
}
@ -85,13 +86,13 @@ func notifyOneUser(c *fiber.Ctx) error {
if err := exts.EnsureGrantedPerm(c, "AdminNotifyAll", true); err != nil {
return err
}
operator := c.Locals("user").(models.Account)
operator := c.Locals("user").(*sec.UserInfo)
var user models.Account
if err := database.C.Where("id = ?", data.UserID).First(&user).Error; err != nil {
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
} else {
services.AddAuditRecord(operator, "notify.one", c.IP(), c.Get(fiber.HeaderUserAgent), map[string]any{
services.AddAuditRecord(operator.ID, "notify.one", c.IP(), c.Get(fiber.HeaderUserAgent), map[string]any{
"user_id": user.ID,
"payload": data,
})

View File

@ -2,6 +2,7 @@ package admin
import (
"fmt"
"git.solsynth.dev/hypernet/nexus/pkg/nex/sec"
"git.solsynth.dev/hydrogen/passport/pkg/internal/database"
"git.solsynth.dev/hydrogen/passport/pkg/internal/http/exts"
@ -16,7 +17,7 @@ func editUserPermission(c *fiber.Ctx) error {
if err := exts.EnsureGrantedPerm(c, "AdminUserPermission", true); err != nil {
return err
}
operator := c.Locals("user").(models.Account)
operator := c.Locals("user").(*sec.UserInfo)
var data struct {
PermNodes map[string]any `json:"perm_nodes" validate:"required"`
@ -39,7 +40,7 @@ func editUserPermission(c *fiber.Ctx) error {
if err := database.C.Save(&user).Error; err != nil {
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
} else {
services.AddAuditRecord(operator, "user.permissions.edit", c.IP(), c.Get(fiber.HeaderUserAgent), map[string]any{
services.AddAuditRecord(operator.ID, "user.permissions.edit", c.IP(), c.Get(fiber.HeaderUserAgent), map[string]any{
"user_id": user.ID,
"previous_permissions": prev,
"new_permissions": data.PermNodes,

View File

@ -6,6 +6,7 @@ import (
"git.solsynth.dev/hydrogen/passport/pkg/internal/http/exts"
"git.solsynth.dev/hydrogen/passport/pkg/internal/models"
"git.solsynth.dev/hydrogen/passport/pkg/internal/services"
"git.solsynth.dev/hypernet/nexus/pkg/nex/sec"
"github.com/gofiber/fiber/v2"
)
@ -53,7 +54,7 @@ func forceConfirmAccount(c *fiber.Ctx) error {
if err := exts.EnsureGrantedPerm(c, "AdminUserConfirmation", true); err != nil {
return err
}
operator := c.Locals("user").(models.Account)
operator := c.Locals("user").(*sec.UserInfo)
var user models.Account
if err := database.C.Where("id = ?", userId).First(&user).Error; err != nil {
@ -63,7 +64,7 @@ func forceConfirmAccount(c *fiber.Ctx) error {
if err := services.ForceConfirmAccount(user); err != nil {
return fiber.NewError(fiber.StatusInternalServerError, err.Error())
} else {
services.AddAuditRecord(operator, "user.confirm", c.IP(), c.Get(fiber.HeaderUserAgent), map[string]any{
services.AddAuditRecord(operator.ID, "user.confirm", c.IP(), c.Get(fiber.HeaderUserAgent), map[string]any{
"user_id": user.ID,
})
}