// // create.go // Copyright (C) 2024 veypi // Distributed under terms of the MIT license. // package access import ( "github.com/veypi/OneBD/rest" "github.com/veypi/OneAuth/cfg" "github.com/veypi/OneAuth/models" ) type createOpts struct { AppID string `json:"app_id"` UserID *string `json:"user_id"` RoleID *string `json:"role_id"` ResourceID *string `json:"resource_id"` Name string `json:"name"` TID string `json:"tid"` Level uint `json:"level"` } var _ = Router.Post("/", createAccess) func createAccess(x *rest.X) (any, error) { // 解析请求参数 opts := &createOpts{} if err := x.Parse(opts); err != nil { return nil, err } // 创建新记录 access := models.Access{ AppID: opts.AppID, UserID: opts.UserID, RoleID: opts.RoleID, ResourceID: opts.ResourceID, Name: opts.Name, TID: opts.TID, Level: opts.Level, } // 保存到数据库 if err := cfg.DB().Create(&access).Error; err != nil { return nil, err } return &access, nil }