// Copyright 2023 The Forgejo Authors. All rights reserved. // SPDX-License-Identifier: MIT package forgefed import ( ap "github.com/go-ap/activitypub" ) type ( SourceType string ) type SourceTypes []SourceType const ( StarType ap.ActivityVocabularyType = "Star" ) const ( ForgejoSourceType SourceType = "frogejo" ) var KnownSourceTypes = SourceTypes{ ForgejoSourceType, } // Star activity for adding a star to an repository // swagger:model type Star struct { // swagger:ignore ap.Activity // Source identifies the system generated this Activity. Exact one value has to be specified. Source SourceType `jsonld:"source,omitempty"` } // RepositoryNew initializes a Repository type actor func StarNew(id ap.ID, ob ap.ID) *Star { a := ap.ActivityNew(id, StarType, ob) // TODO: is this not handeld by ActivityNew?? a.Type = StarType o := Star{Activity: *a} o.Source = ForgejoSourceType return &o }