mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-06-27 16:35:57 +00:00
This PR is part of https://codeberg.org/forgejo/forgejo/pulls/4767 This should not have an outside impact but bring all model changes needed & bring migrations. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8078 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> Co-authored-by: Michael Jerger <michael.jerger@meissa-gmbh.de> Co-committed-by: Michael Jerger <michael.jerger@meissa-gmbh.de>
30 lines
962 B
Go
30 lines
962 B
Go
// Copyright 2025 The Forgejo Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package user
|
|
|
|
import "forgejo.org/modules/validation"
|
|
|
|
type FederatedUserFollower struct {
|
|
ID int64 `xorm:"pk autoincr"`
|
|
FollowedUserID int64 `xorm:"NOT NULL unique(fuf_rel)"`
|
|
FollowingUserID int64 `xorm:"NOT NULL unique(fuf_rel)"`
|
|
}
|
|
|
|
func NewFederatedUserFollower(followedUserID, federatedUserID int64) (FederatedUserFollower, error) {
|
|
result := FederatedUserFollower{
|
|
FollowedUserID: followedUserID,
|
|
FollowingUserID: federatedUserID,
|
|
}
|
|
if valid, err := validation.IsValid(result); !valid {
|
|
return FederatedUserFollower{}, err
|
|
}
|
|
return result, nil
|
|
}
|
|
|
|
func (user FederatedUserFollower) Validate() []string {
|
|
var result []string
|
|
result = append(result, validation.ValidateNotEmpty(user.FollowedUserID, "FollowedUserID")...)
|
|
result = append(result, validation.ValidateNotEmpty(user.FollowingUserID, "FollowingUserID")...)
|
|
return result
|
|
}
|