diff options
Diffstat (limited to 'routers/api/v1/misc/nodeinfo.go')
-rw-r--r-- | routers/api/v1/misc/nodeinfo.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/routers/api/v1/misc/nodeinfo.go b/routers/api/v1/misc/nodeinfo.go new file mode 100644 index 0000000000..bc36fa1be1 --- /dev/null +++ b/routers/api/v1/misc/nodeinfo.go @@ -0,0 +1,45 @@ +// Copyright 2021 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package misc + +import ( + "net/http" + + "code.gitea.io/gitea/modules/context" + "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/structs" +) + +// NodeInfo returns the NodeInfo for the Gitea instance to allow for federation +func NodeInfo(ctx *context.APIContext) { + // swagger:operation GET /nodeinfo miscellaneous getNodeInfo + // --- + // summary: Returns the nodeinfo of the Gitea application + // produces: + // - application/json + // responses: + // "200": + // "$ref": "#/responses/NodeInfo" + + nodeInfo := &structs.NodeInfo{ + Version: "2.1", + Software: structs.NodeInfoSoftware{ + Name: "gitea", + Version: setting.AppVer, + Repository: "https://github.com/go-gitea/gitea.git", + Homepage: "https://gitea.io/", + }, + Protocols: []string{"activitypub"}, + Services: structs.NodeInfoServices{ + Inbound: []string{}, + Outbound: []string{}, + }, + OpenRegistrations: setting.Service.ShowRegistrationButton, + Usage: structs.NodeInfoUsage{ + Users: structs.NodeInfoUsageUsers{}, + }, + } + ctx.JSON(http.StatusOK, nodeInfo) +} |