Feed insertions and other feed stuff

This commit is contained in:
Melody Becker 2025-07-07 12:41:08 +02:00
parent 72e1c67488
commit 5232bb0741
Signed by: mstar
SSH key fingerprint: SHA256:9VAo09aaVNTWKzPW7Hq2LW+ox9OdwmTSHRoD4mlz1yI
7 changed files with 134 additions and 8 deletions

View file

@ -43,6 +43,9 @@ func InsertSelf() error {
if err = attachUserToRole(user); err != nil {
return other.Error("storage", "failed to save/update self user to full admin role", err)
}
if err = insertGlobalFeed(user); err != nil {
return other.Error("storage", "failed to ensure that the global feed exists", err)
}
return nil
}
@ -215,3 +218,26 @@ func attachUserToRole(user *models.User) error {
}
return nil
}
func insertGlobalFeed(serverActor *models.User) error {
globalFeed, err := dbgen.Feed.Where(dbgen.Feed.Name.Eq(models.GlobalFeedName)).First()
switch err {
case nil:
return nil
case gorm.ErrRecordNotFound:
globalFeed = &models.Feed{
Owner: *serverActor,
OwnerId: serverActor.ID,
IsDefault: true,
Name: models.GlobalFeedName,
PublicKey: sql.NullString{Valid: false},
}
err = dbgen.Feed.Create(globalFeed)
if err != nil {
return err
}
return nil
default:
return err
}
}