MCPcopy Index your code
hub / github.com/foxcpp/maddy / msgsRemove

Function msgsRemove

internal/cli/ctl/imap.go:589–630  ·  view source on GitHub ↗
(be module.Storage, ctx *cli.Context)

Source from the content-addressed store, hash-verified

587}
588
589func msgsRemove(be module.Storage, ctx *cli.Context) error {
590 username := ctx.Args().First()
591 if username == "" {
592 return cli.Exit("Error: USERNAME is required", 2)
593 }
594 name := ctx.Args().Get(1)
595 if name == "" {
596 return cli.Exit("Error: MAILBOX is required", 2)
597 }
598 seqset := ctx.Args().Get(2)
599 if seqset == "" {
600 return cli.Exit("Error: SEQSET is required", 2)
601 }
602
603 if !ctx.Bool("uid") {
604 fmt.Fprintln(os.Stderr, "WARNING: --uid=true will be the default in 0.7")
605 }
606
607 seq, err := imap.ParseSeqSet(seqset)
608 if err != nil {
609 return err
610 }
611
612 u, err := be.GetIMAPAcct(username)
613 if err != nil {
614 return err
615 }
616
617 _, mbox, err := u.GetMailbox(name, true, nil)
618 if err != nil {
619 return err
620 }
621
622 if !ctx.Bool("yes") {
623 if !clitools2.Confirmation("Are you sure you want to delete these messages?", false) {
624 return errors.New("Cancelled")
625 }
626 }
627
628 mboxB := mbox.(*imapsql.Mailbox)
629 return mboxB.DelMessages(ctx.Bool("uid"), seq)
630}
631
632func msgsCopy(be module.Storage, ctx *cli.Context) error {
633 username := ctx.Args().First()

Callers 1

initFunction · 0.85

Calls 4

ArgsMethod · 0.80
BoolMethod · 0.80
GetIMAPAcctMethod · 0.65
GetMethod · 0.45

Tested by

no test coverage detected