cmd/accounts.go
changeset 220 08a2ee738117
parent 218 49d626ce0b01
child 222 e93d9c738273
equal deleted inserted replaced
219:c38de37df0da 220:08a2ee738117
   621 		}
   621 		}
   622 		var report *madon.Report
   622 		var report *madon.Report
   623 		report, err = gClient.ReportUser(opt.accountID, ids, opt.comment)
   623 		report, err = gClient.ReportUser(opt.accountID, ids, opt.comment)
   624 		obj = report
   624 		obj = report
   625 	case "update":
   625 	case "update":
   626 		var dn, note, avatar, header *string
   626 		var updateParams madon.UpdateAccountParams
   627 		var locked *bool
       
   628 		change := false
   627 		change := false
       
   628 
   629 		if accountUpdateFlags.Lookup("display-name").Changed {
   629 		if accountUpdateFlags.Lookup("display-name").Changed {
   630 			dn = &opt.displayName
   630 			updateParams.DisplayName = &opt.displayName
   631 			change = true
   631 			change = true
   632 		}
   632 		}
   633 		if accountUpdateFlags.Lookup("note").Changed {
   633 		if accountUpdateFlags.Lookup("note").Changed {
   634 			note = &opt.note
   634 			updateParams.Note = &opt.note
   635 			change = true
   635 			change = true
   636 		}
   636 		}
   637 		if accountUpdateFlags.Lookup("avatar").Changed {
   637 		if accountUpdateFlags.Lookup("avatar").Changed {
   638 			avatar = &opt.avatar
   638 			updateParams.AvatarImagePath = &opt.avatar
   639 			change = true
   639 			change = true
   640 		}
   640 		}
   641 		if accountUpdateFlags.Lookup("header").Changed {
   641 		if accountUpdateFlags.Lookup("header").Changed {
   642 			header = &opt.header
   642 			updateParams.HeaderImagePath = &opt.header
   643 			change = true
   643 			change = true
   644 		}
   644 		}
   645 		if accountUpdateFlags.Lookup("locked").Changed {
   645 		if accountUpdateFlags.Lookup("locked").Changed {
   646 			locked = &opt.locked
   646 			updateParams.Locked = &opt.locked
   647 			change = true
   647 			change = true
   648 		}
   648 		}
       
   649 
       
   650 		/*
       
   651 			TODO:
       
   652 			updateParams.Bot
       
   653 			updateParams.FieldsAttributes
       
   654 			updateParams.Source
       
   655 		*/
   649 
   656 
   650 		if !change { // We want at least one update
   657 		if !change { // We want at least one update
   651 			return errors.New("missing parameters")
   658 			return errors.New("missing parameters")
   652 		}
   659 		}
   653 
   660 
   654 		var account *madon.Account
   661 		var account *madon.Account
   655 		account, err = gClient.UpdateAccount(dn, note, avatar, header, locked)
   662 		account, err = gClient.UpdateAccount(updateParams)
   656 		obj = account
   663 		obj = account
   657 	default:
   664 	default:
   658 		return errors.New("accountSubcommand: internal error")
   665 		return errors.New("accountSubcommand: internal error")
   659 	}
   666 	}
   660 
   667