mirror of
				https://gitea.com/gitea/tea.git
				synced 2025-10-31 01:05:26 +01:00 
			
		
		
		
	Implement notification subcommands (#389)
- [x] enhance notification listing - add `--states` and `--type` filters - toggle per-user or per-repo listing via `--mine` flag - print more fields - [x] add subcommands to mark notifications as read, unread, pinned, unpinned. operates on - all notifications matching the `--state` and `--mine` filter flags, or - a notification specified by ID. - [ ] ~~add a `--fields` flag for notifications listing.~~ *not in this PR* - [ ] ~~interactive mode~~ *not in this PR*. this would go well together with #324 fixes #243, fixes #155 based on initial work in #283 and #386, but opening a new PR for @6543 to review as I changed quite a lot --- ### ⚠️ breaking ⚠️ - `tea notifications --all` has moved to `tea notifications --mine` - `tea notifications` now only works with the context of a remote repo. To run this outside of a local git dir, run either `tea n --mine` or `tea n --repo <my/repo>` --- Co-authored-by: Karl Heinz Marbaise <kama@soebes.de> Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Norwin Roosen <git@nroo.de> Reviewed-on: https://gitea.com/gitea/tea/pulls/389 Reviewed-by: 6543 <6543@obermui.de> Reviewed-by: Alexey 〒erentyev <axifive@noreply.gitea.io> Co-authored-by: Norwin <noerw@noreply.gitea.io> Co-committed-by: Norwin <noerw@noreply.gitea.io>
This commit is contained in:
		| @@ -19,6 +19,17 @@ import ( | ||||
| 	"github.com/urfave/cli/v2" | ||||
| ) | ||||
|  | ||||
| // NOTE: not using NewCsvFlag, as we don't want an alias & default value. | ||||
| var timeFieldsFlag = &flags.CsvFlag{ | ||||
| 	AvailableFields: print.TrackedTimeFields, | ||||
| 	StringFlag: cli.StringFlag{ | ||||
| 		Name: "fields", | ||||
| 		Usage: fmt.Sprintf(`Comma-separated list of fields to print. Available values: | ||||
| 	%s | ||||
| `, strings.Join(print.TrackedTimeFields, ",")), | ||||
| 	}, | ||||
| } | ||||
|  | ||||
| // CmdTrackedTimesList represents a sub command of times to list them | ||||
| var CmdTrackedTimesList = cli.Command{ | ||||
| 	Name:    "list", | ||||
| @@ -53,12 +64,7 @@ Depending on your permissions on the repository, only your own tracked times mig | ||||
| 			Aliases: []string{"m"}, | ||||
| 			Usage:   "Show all times tracked by you across all repositories (overrides command arguments)", | ||||
| 		}, | ||||
| 		&cli.StringFlag{ | ||||
| 			Name: "fields", | ||||
| 			Usage: fmt.Sprintf(`Comma-separated list of fields to print. Available values: | ||||
| 			%s | ||||
| 		`, strings.Join(print.TrackedTimeFields, ",")), | ||||
| 		}, | ||||
| 		timeFieldsFlag, | ||||
| 	}, flags.AllDefaultFlags...), | ||||
| } | ||||
|  | ||||
| @@ -116,7 +122,7 @@ func RunTimesList(cmd *cli.Context) error { | ||||
| 	} | ||||
|  | ||||
| 	if ctx.IsSet("fields") { | ||||
| 		if fields, err = flags.GetFields(cmd, print.TrackedTimeFields); err != nil { | ||||
| 		if fields, err = timeFieldsFlag.GetValues(cmd); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Norwin
					Norwin