mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-22 05:36:16 +00:00
add star activity & bind to swagger
This commit is contained in:
parent
ff5a4405fd
commit
46fb4fec8f
42
modules/forgefed/star.go
Normal file
42
modules/forgefed/star.go
Normal file
|
@ -0,0 +1,42 @@
|
|||
// 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,
|
||||
}
|
||||
|
||||
type Star struct {
|
||||
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
|
||||
}
|
|
@ -81,6 +81,7 @@ import (
|
|||
"code.gitea.io/gitea/models/unit"
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
"code.gitea.io/gitea/modules/context"
|
||||
"code.gitea.io/gitea/modules/forgefed"
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
api "code.gitea.io/gitea/modules/structs"
|
||||
|
@ -897,7 +898,8 @@ func Routes() *web.Route {
|
|||
m.Group("/repository-id/{repository-id}", func() {
|
||||
m.Get("", activitypub.Repository)
|
||||
m.Post("/inbox",
|
||||
bind(api.CreateRepoOption{}),
|
||||
// TODO: bind ativities here
|
||||
bind(forgefed.Star{}),
|
||||
//activitypub.ReqHTTPSignature(),
|
||||
activitypub.RepositoryInbox)
|
||||
}, context_service.RepositoryIDAssignmentAPI())
|
||||
|
|
Loading…
Reference in a new issue