1
0
Fork 0
mirror of https://github.com/foxcpp/maddy.git synced 2025-04-05 22:17:39 +03:00

Port existing functionality to go-imap v2

This commit is contained in:
fox.cpp 2021-07-18 11:20:13 +03:00
parent ef63383248
commit 2e81d5a976
No known key found for this signature in database
GPG key ID: 5B991F6215D2FCC0
9 changed files with 102 additions and 210 deletions
cmd/maddyctl

View file

@ -66,12 +66,7 @@ func mboxesList(be module.Storage, ctx *cli.Context) error {
fmt.Fprintln(os.Stderr, "No mailboxes.")
}
for _, mbox := range mboxes {
info, err := mbox.Info()
if err != nil {
return err
}
for _, info := range mboxes {
if len(info.Attributes) != 0 {
fmt.Print(info.Name, "\t", info.Attributes, "\n")
} else {
@ -126,13 +121,8 @@ func mboxesRemove(be module.Storage, ctx *cli.Context) error {
return err
}
mbox, err := u.GetMailbox(name)
if err != nil {
return err
}
if !ctx.Bool("yes,y") {
status, err := mbox.Status([]imap.StatusItem{imap.StatusMessages})
status, err := u.Status(name, []imap.StatusItem{imap.StatusMessages})
if err != nil {
return err
}
@ -190,11 +180,6 @@ func msgsAdd(be module.Storage, ctx *cli.Context) error {
return err
}
mbox, err := u.GetMailbox(name)
if err != nil {
return err
}
flags := ctx.StringSlice("flag")
if flags == nil {
flags = []string{}
@ -214,15 +199,16 @@ func msgsAdd(be module.Storage, ctx *cli.Context) error {
return errors.New("Error: Empty message, refusing to continue")
}
status, err := mbox.Status([]imap.StatusItem{imap.StatusUidNext})
status, err := u.Status(name, []imap.StatusItem{imap.StatusUidNext})
if err != nil {
return err
}
if err := mbox.CreateMessage(flags, date, &buf); err != nil {
if err := u.CreateMessage(name, flags, date, &buf, nil); err != nil {
return err
}
// TODO: Use APPENDUID
fmt.Println(status.UidNext)
return nil
@ -252,7 +238,7 @@ func msgsRemove(be module.Storage, ctx *cli.Context) error {
return err
}
mbox, err := u.GetMailbox(name)
_, mbox, err := u.GetMailbox(name, true, nil)
if err != nil {
return err
}
@ -299,7 +285,7 @@ func msgsCopy(be module.Storage, ctx *cli.Context) error {
return err
}
srcMbox, err := u.GetMailbox(srcName)
_, srcMbox, err := u.GetMailbox(srcName, true, nil)
if err != nil {
return err
}
@ -339,7 +325,7 @@ func msgsMove(be module.Storage, ctx *cli.Context) error {
return err
}
srcMbox, err := u.GetMailbox(srcName)
_, srcMbox, err := u.GetMailbox(srcName, true, nil)
if err != nil {
return err
}
@ -373,7 +359,7 @@ func msgsList(be module.Storage, ctx *cli.Context) error {
return err
}
mbox, err := u.GetMailbox(mboxName)
_, mbox, err := u.GetMailbox(mboxName, true, nil)
if err != nil {
return err
}
@ -449,7 +435,7 @@ func msgsDump(be module.Storage, ctx *cli.Context) error {
return err
}
mbox, err := u.GetMailbox(mboxName)
_, mbox, err := u.GetMailbox(mboxName, true, nil)
if err != nil {
return err
}
@ -493,7 +479,7 @@ func msgsFlags(be module.Storage, ctx *cli.Context) error {
return err
}
mbox, err := u.GetMailbox(name)
_, mbox, err := u.GetMailbox(name, true, nil)
if err != nil {
return err
}
@ -515,5 +501,5 @@ func msgsFlags(be module.Storage, ctx *cli.Context) error {
panic("unknown command: " + ctx.Command.Name)
}
return mbox.UpdateMessagesFlags(ctx.IsSet("uid"), seq, op, flags)
return mbox.UpdateMessagesFlags(ctx.IsSet("uid"), seq, op, true, flags)
}