Use pointers to make generic functions work

This commit is contained in:
2024-10-20 12:20:25 +02:00
parent 8a00759c4b
commit c0f5306715
6 changed files with 43 additions and 45 deletions

24
feed.go
View File

@@ -37,13 +37,13 @@ func NewFeed(title string) *Feed {
// AddAuthor adds the Person as an author to the Feed.
func (f *Feed) AddAuthor(p *Person) {
addToSlice(f.Authors, p)
addToSlice(&f.Authors, p)
f.Updated = NewDate(time.Now())
}
// DeleteAuthor deletes the Person from the Feed. It return an error.
func (f *Feed) DeleteAuthor(id int) error {
if err := deleteFromSlice(f.Authors, id); err != nil {
if err := deleteFromSlice(&f.Authors, id); err != nil {
return fmt.Errorf("error deleting author %v from entry %v: %v", id, f.ID.URI, err)
}
@@ -53,13 +53,13 @@ func (f *Feed) DeleteAuthor(id int) error {
// AddCategory adds the Category to the Feed.
func (f *Feed) AddCategory(c *Category) {
addToSlice(f.Categories, c)
addToSlice(&f.Categories, c)
f.Updated = NewDate(time.Now())
}
// DeleteCategory deletes the Category from the Feed. It return an error.
func (f *Feed) DeleteCategory(id int) error {
if err := deleteFromSlice(f.Categories, id); err != nil {
if err := deleteFromSlice(&f.Categories, id); err != nil {
return fmt.Errorf("error deleting category %v from entry %v: %v", id, f.ID.URI, err)
}
@@ -69,13 +69,13 @@ func (f *Feed) DeleteCategory(id int) error {
// AddContributor adds the Person as a contributor to the Feed.
func (f *Feed) AddContributor(c *Person) {
addToSlice(f.Contributors, c)
addToSlice(&f.Contributors, c)
f.Updated = NewDate(time.Now())
}
// DeleteContributor deletes the Person from the Feed. It return an error.
func (f *Feed) DeleteContributor(id int) error {
if err := deleteFromSlice(f.Contributors, id); err != nil {
if err := deleteFromSlice(&f.Contributors, id); err != nil {
return fmt.Errorf("error deleting contributor %v from entry %v: %v", id, f.ID.URI, err)
}
@@ -85,13 +85,13 @@ func (f *Feed) DeleteContributor(id int) error {
// AddLink adds the Link to the Feed. There should be one Link with Rel "self".
func (f *Feed) AddLink(l *Link) {
addToSlice(f.Links, l)
addToSlice(&f.Links, l)
f.Updated = NewDate(time.Now())
}
// DeleteLink deletes the Link from the Feed. It return an error.
func (f *Feed) DeleteLink(id int) error {
if err := deleteFromSlice(f.Links, id); err != nil {
if err := deleteFromSlice(&f.Links, id); err != nil {
return fmt.Errorf("error deleting link %v from entry %v: %v", id, f.ID.URI, err)
}
@@ -101,13 +101,13 @@ func (f *Feed) DeleteLink(id int) error {
// AddExtension adds the Extension to the Feed.
func (f *Feed) AddExtension(e *ExtensionElement) {
addToSlice(f.Extensions, e)
addToSlice(&f.Extensions, e)
f.Updated = NewDate(time.Now())
}
// DeleteExtension deletes the Extension from the Feed. It return an error.
func (f *Feed) DeleteExtension(id int) error {
if err := deleteFromSlice(f.Extensions, id); err != nil {
if err := deleteFromSlice(&f.Extensions, id); err != nil {
return fmt.Errorf("error deleting extension %v from entry %v: %v", id, f.ID.URI, err)
}
@@ -117,13 +117,13 @@ func (f *Feed) DeleteExtension(id int) error {
// AddEntry adds the Entry to the Feed.
func (f *Feed) AddEntry(e *Entry) {
addToSlice(f.Entries, e)
addToSlice(&f.Entries, e)
f.Updated = NewDate(time.Now())
}
// DeleteEntry deletes the Entry from the Feed. It return an error.
func (f *Feed) DeleteEntry(id int) error {
if err := deleteFromSlice(f.Entries, id); err != nil {
if err := deleteFromSlice(&f.Entries, id); err != nil {
return fmt.Errorf("error deleting entry %v from entry %v: %v", id, f.ID.URI, err)
}