# HG changeset patch # User Mikael Berthe # Date 1536095602 -7200 # Node ID 0412068a94455c32f590e9609edaf72d0c8211cb # Parent e93d9c738273a03f06faaede926027fc660d2195 madonctl account update: Add support for updating 'source' parameters This patch adds 3 flags to update the source params of an account: * --default-language (default toot language: iso 639 language code) * --default-privacy (default toot privacy: private, unlisted or public) * --default-sensitive (boolean, true to mark attachments as sensitive by default) diff -r e93d9c738273 -r 0412068a9445 cmd/accounts.go --- a/cmd/accounts.go Tue Sep 04 18:37:42 2018 +0200 +++ b/cmd/accounts.go Tue Sep 04 23:13:22 2018 +0200 @@ -37,6 +37,9 @@ comment string // For account reports displayName, note string // For account update avatar, header string // For account update + defaultLanguage string // For account update + defaultPrivacy string // For account update + defaultSensitive bool // For account update locked, bot bool // For account update muteNotifications bool // For account mute following bool // For account search @@ -86,6 +89,9 @@ accountUpdateSubcommand.Flags().StringVar(&accountsOpts.note, "note", "", "User note (a.k.a. bio)") accountUpdateSubcommand.Flags().StringVar(&accountsOpts.avatar, "avatar", "", "User avatar image") accountUpdateSubcommand.Flags().StringVar(&accountsOpts.header, "header", "", "User header image") + accountUpdateSubcommand.Flags().StringVar(&accountsOpts.defaultLanguage, "default-language", "", "Default toots language (iso 639 code)") + accountUpdateSubcommand.Flags().StringVar(&accountsOpts.defaultPrivacy, "default-privacy", "", "Default toot privacy (public, unlisted, private)") + accountUpdateSubcommand.Flags().BoolVar(&accountsOpts.defaultSensitive, "default-sensitive", false, "Mark medias as sensitive by default") accountUpdateSubcommand.Flags().BoolVar(&accountsOpts.locked, "locked", false, "Following account requires approval") accountUpdateSubcommand.Flags().BoolVar(&accountsOpts.bot, "bot", false, "Set as service (automated) account") @@ -625,6 +631,7 @@ obj = report case "update": var updateParams madon.UpdateAccountParams + var source *madon.SourceParams change := false if accountUpdateFlags.Lookup("display-name").Changed { @@ -647,22 +654,43 @@ updateParams.Locked = &opt.locked change = true } - if accountUpdateFlags.Lookup("bot").Changed { updateParams.Bot = &opt.bot change = true } + if accountUpdateFlags.Lookup("default-language").Changed { + if source == nil { + source = &madon.SourceParams{} + } + source.Language = &opt.defaultLanguage + change = true + } + if accountUpdateFlags.Lookup("default-privacy").Changed { + if source == nil { + source = &madon.SourceParams{} + } + source.Privacy = &opt.defaultPrivacy + change = true + } + if accountUpdateFlags.Lookup("default-sensitive").Changed { + if source == nil { + source = &madon.SourceParams{} + } + source.Sensitive = &opt.defaultSensitive + change = true + } /* TODO: updateParams.FieldsAttributes - updateParams.Source */ if !change { // We want at least one update return errors.New("missing parameters") } + updateParams.Source = source + var account *madon.Account account, err = gClient.UpdateAccount(updateParams) obj = account