1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2025-06-27 16:35:57 +00:00
forgejo/models/user/federated_user_follower.go
Michael Jerger 25d596d387 Federated user activity following: Isolated model changes (#8078)
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>
2025-06-21 12:02:58 +02:00

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
}