Field name changed

This commit is contained in:
zam 2025-03-11 15:08:48 +01:00
parent 91e19646d0
commit bcf32a0925
5 changed files with 17 additions and 47 deletions

View file

@ -71,7 +71,7 @@ var migrations = []*Migration{
// v15 -> v16
NewMigration("Create the `federated_user` table", CreateFederatedUserTable),
// v16 -> v17
NewMigration("Add `normalized_federated_uri` column to `user` table", AddNormalizedFederatedURIToUser),
NewMigration("Add `normalized_federated_uri` column to `user` table", AddNormalizedOriginalUrlToUser),
// v17 -> v18
NewMigration("Create the `following_repo` table", CreateFollowingRepoTable),
// v18 -> v19

View file

@ -5,10 +5,10 @@ package forgejo_migrations //nolint:revive
import "xorm.io/xorm"
func AddNormalizedFederatedURIToUser(x *xorm.Engine) error {
func AddNormalizedOriginalUrlToUser(x *xorm.Engine) error {
type User struct {
ID int64 `xorm:"pk autoincr"`
NormalizedFederatedURI string
ID int64 `xorm:"pk autoincr"`
NormalizedOriginalUrl string
}
return x.Sync(&User{})
}

View file

@ -4,28 +4,25 @@
package user
import (
"context"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/modules/validation"
)
type FederatedUser struct {
ID int64 `xorm:"pk autoincr"`
UserID int64 `xorm:"NOT NULL"`
ExternalID string `xorm:"UNIQUE(federation_user_mapping) NOT NULL"`
FederationHostID int64 `xorm:"UNIQUE(federation_user_mapping) NOT NULL"`
InboxURL *string
ActorURL *string
NormalizedFederatedURI string
ID int64 `xorm:"pk autoincr"`
UserID int64 `xorm:"NOT NULL"`
ExternalID string `xorm:"UNIQUE(federation_user_mapping) NOT NULL"`
FederationHostID int64 `xorm:"UNIQUE(federation_user_mapping) NOT NULL"`
InboxURL *string
ActorURL *string
NormalizedOriginalUrl string
}
func NewFederatedUser(userID int64, externalID string, federationHostID int64, normalizedFederatedURI string) (FederatedUser, error) {
func NewFederatedUser(userID int64, externalID string, federationHostID int64, normalizedOriginalUrl string) (FederatedUser, error) {
result := FederatedUser{
UserID: userID,
ExternalID: externalID,
FederationHostID: federationHostID,
NormalizedFederatedURI: normalizedFederatedURI,
UserID: userID,
ExternalID: externalID,
FederationHostID: federationHostID,
NormalizedOriginalUrl: normalizedOriginalUrl,
}
if valid, err := validation.IsValid(result); !valid {
return FederatedUser{}, err
@ -40,27 +37,3 @@ func (user FederatedUser) Validate() []string {
result = append(result, validation.ValidateNotEmpty(user.FederationHostID, "FederationHostID")...)
return result
}
func (user *FederatedUser) SetInboxURL(ctx context.Context, url *string) error {
user.InboxURL = url
_, err := db.GetEngine(ctx).ID(user.ID).Cols("inbox_url").Update(user)
return err
}
func GetFederatedUserByID(ctx context.Context, id int64) (*FederatedUser, error) {
var user FederatedUser
_, err := db.GetEngine(ctx).Where("id = ?", id).Get(&user)
if err != nil {
return nil, err
}
return &user, nil
}
func GetUserByActorURL(ctx context.Context, actorURL string) (*User, error) {
var user User
_, err := db.GetEngine(ctx).Table("`user`").Join("INNER", "`federated_user`", "`user`.id = `federated_user`.user_id").Where("`federated_user`.actor_url = ?", actorURL).Get(&user)
if err != nil {
return nil, err
}
return &user, nil
}

View file

@ -135,9 +135,6 @@ type User struct {
AvatarEmail string `xorm:"NOT NULL"`
UseCustomAvatar bool
// For federation
//NormalizedFederatedURI string
// Counters
NumFollowers int
NumFollowing int `xorm:"NOT NULL DEFAULT 0"`

View file

@ -211,7 +211,7 @@ func CreateUserFromAP(ctx context.Context, personID fm.PersonID, federationHostI
federatedUser := user.FederatedUser{
ExternalID: personID.ID,
FederationHostID: federationHostID,
NormalizedFederatedURI: personID.AsURI(),
NormalizedOriginalUrl: personID.AsURI(),
}
err = user.CreateFederatedUser(ctx, &newUser, &federatedUser)
if err != nil {