Add signup's object in AfterRecordMessage()

This commit is contained in:
Yang Luo 2024-03-25 21:20:33 +08:00
parent d97f833d2a
commit 39ad1bc593
2 changed files with 21 additions and 2 deletions

View File

@ -273,7 +273,8 @@ func (c *ApiController) Signup() {
return
}
c.Ctx.Input.SetParam("recordUserId", fmt.Sprintf("%s/%s", application.Organization, user.Name))
c.Ctx.Input.SetParam("recordUserId", user.GetId())
c.Ctx.Input.SetParam("recordSignup", "true")
userId := user.GetId()
util.LogInfo(c.Ctx, "API: [%s] is signed up as new user", userId)

View File

@ -15,6 +15,8 @@
package routers
import (
"fmt"
"github.com/beego/beego/context"
"github.com/casdoor/casdoor/object"
"github.com/casdoor/casdoor/util"
@ -68,6 +70,7 @@ func RecordMessage(ctx *context.Context) {
func AfterRecordMessage(ctx *context.Context) {
record, err := object.NewRecord(ctx)
if err != nil {
fmt.Printf("AfterRecordMessage() error: %s\n", err.Error())
return
}
@ -79,7 +82,22 @@ func AfterRecordMessage(ctx *context.Context) {
recordSignup := ctx.Input.Params()["recordSignup"]
if recordSignup == "true" {
record2 := *record
record2.Action = "signup"
record2.Action = "new-user"
var user *object.User
user, err = object.GetUser(userId)
if err != nil {
fmt.Printf("AfterRecordMessage() error: %s\n", err.Error())
return
}
if user == nil {
err = fmt.Errorf("the user: %s is not found", userId)
fmt.Printf("AfterRecordMessage() error: %s\n", err.Error())
return
}
record.Object = util.StructToJson(user)
util.SafeGoroutine(func() { object.AddRecord(&record2) })
}