mirror of
https://gitea.com/gitea/tea.git
synced 2024-11-03 04:27:21 -05:00
43a58bdba1
add cli.AppHelpTemplate for customization customize tea help view tea --version : improve parseability Rework README to include tea help output It's an antipattern to have different help texts aimed at the same users. So now that we have a good cli help text, lets use it here. This eases maintenance, and at the same time gives an honest impression on what we have to offer, while also encouraging to improve the internal help text in the future. I feel a bit sad for the GIF, but it was becoming outdated anyway.. group commands by category add new demo gif shows the (probably) most useful workflow readme improvement Merge branch 'master' into improve-app-help code review Merge branch 'master' into improve-app-help restructure installation section Co-authored-by: Norwin Roosen <git@nroo.de> Reviewed-on: https://gitea.com/gitea/tea/pulls/311 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Reviewed-by: khmarbaise <khmarbaise@noreply.gitea.io> Co-Authored-By: Norwin <noerw@noreply.gitea.io> Co-Committed-By: Norwin <noerw@noreply.gitea.io>
84 lines
2.1 KiB
Go
84 lines
2.1 KiB
Go
// Copyright 2020 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 cmd
|
|
|
|
import (
|
|
"code.gitea.io/tea/cmd/flags"
|
|
"code.gitea.io/tea/modules/context"
|
|
"code.gitea.io/tea/modules/print"
|
|
|
|
"code.gitea.io/sdk/gitea"
|
|
"github.com/urfave/cli/v2"
|
|
)
|
|
|
|
// CmdNotifications is the main command to operate with notifications
|
|
var CmdNotifications = cli.Command{
|
|
Name: "notifications",
|
|
Aliases: []string{"notification", "n"},
|
|
Category: catHelpers,
|
|
Usage: "Show notifications",
|
|
Description: "Show notifications, by default based of the current repo and unread one",
|
|
Action: runNotifications,
|
|
Flags: append([]cli.Flag{
|
|
&cli.BoolFlag{
|
|
Name: "all",
|
|
Aliases: []string{"a"},
|
|
Usage: "show all notifications of related gitea instance",
|
|
},
|
|
&cli.BoolFlag{
|
|
Name: "read",
|
|
Aliases: []string{"rd"},
|
|
Usage: "show read notifications instead unread",
|
|
},
|
|
&cli.BoolFlag{
|
|
Name: "pinned",
|
|
Aliases: []string{"pd"},
|
|
Usage: "show pinned notifications instead unread",
|
|
},
|
|
&flags.PaginationPageFlag,
|
|
&flags.PaginationLimitFlag,
|
|
}, flags.AllDefaultFlags...),
|
|
}
|
|
|
|
func runNotifications(cmd *cli.Context) error {
|
|
var news []*gitea.NotificationThread
|
|
var err error
|
|
|
|
ctx := context.InitCommand(cmd)
|
|
client := ctx.Login.Client()
|
|
|
|
listOpts := ctx.GetListOptions()
|
|
if listOpts.Page == 0 {
|
|
listOpts.Page = 1
|
|
}
|
|
|
|
var status []gitea.NotifyStatus
|
|
if ctx.Bool("read") {
|
|
status = []gitea.NotifyStatus{gitea.NotifyStatusRead}
|
|
}
|
|
if ctx.Bool("pinned") {
|
|
status = append(status, gitea.NotifyStatusPinned)
|
|
}
|
|
|
|
if ctx.Bool("all") {
|
|
news, _, err = client.ListNotifications(gitea.ListNotificationOptions{
|
|
ListOptions: listOpts,
|
|
Status: status,
|
|
})
|
|
} else {
|
|
ctx.Ensure(context.CtxRequirement{RemoteRepo: true})
|
|
news, _, err = client.ListRepoNotifications(ctx.Owner, ctx.Repo, gitea.ListNotificationOptions{
|
|
ListOptions: listOpts,
|
|
Status: status,
|
|
})
|
|
}
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
print.NotificationsList(news, ctx.Output, ctx.Bool("all"))
|
|
return nil
|
|
}
|