Skip to content

Commit 68bc7d3

Browse files
committed
FIX seq parameter name
1 parent 32f11f4 commit 68bc7d3

File tree

2 files changed

+25
-22
lines changed

2 files changed

+25
-22
lines changed

src/accounts/messages/messages.controller.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export class MessagesController extends AbstractController {
4040
})
4141
}
4242

43-
@Get(':message([\\w-.]+)')
43+
@Get(':seq([\\w-.]+)')
4444
@UseRoles({
4545
resource: ScopesEnum.Accounts,
4646
action: ActionEnum.Read,
@@ -50,10 +50,10 @@ export class MessagesController extends AbstractController {
5050
public async read(
5151
@Res() res: Response,
5252
@Param('account') account: string,
53-
@Param('message') message: string,
53+
@Param('seq') seq: string,
5454
@Query('mailbox') mailbox?: string,
5555
): Promise<Response> {
56-
const data = await this.service.read(account, message, {
56+
const data = await this.service.read(account, seq, {
5757
mailbox,
5858
})
5959
return res.json({
@@ -62,7 +62,7 @@ export class MessagesController extends AbstractController {
6262
})
6363
}
6464

65-
@Get(':message([\\w-.]+)/source')
65+
@Get(':seq([\\w-.]+)/source')
6666
@UseRoles({
6767
resource: ScopesEnum.Accounts,
6868
action: ActionEnum.Read,
@@ -78,16 +78,16 @@ export class MessagesController extends AbstractController {
7878
public async source(
7979
@Res() res: Response,
8080
@Param('account') account: string,
81-
@Param('message') message: string,
81+
@Param('seq') seq: string,
8282
@Query('mailbox') mailbox?: string,
8383
): Promise<void> {
84-
const eml = await this.service.readSource(account, message, {
84+
const eml = await this.service.readSource(account, seq, {
8585
mailbox,
8686
})
8787
Readable.from(eml.source).pipe(res)
8888
}
8989

90-
@Delete(':message([\\w-.]+)')
90+
@Delete(':seq([\\w-.]+)')
9191
@UseRoles({
9292
resource: ScopesEnum.Accounts,
9393
action: ActionEnum.Delete,
@@ -109,10 +109,10 @@ export class MessagesController extends AbstractController {
109109
public async delete(
110110
@Res() res: Response,
111111
@Param('account') account: string,
112-
@Param('message') message: string,
112+
@Param('seq') seq: string,
113113
@Query('mailbox') mailbox: string,
114114
): Promise<Response> {
115-
const deleted = await this.service.delete(account, message, {
115+
const deleted = await this.service.delete(account, seq, {
116116
mailbox,
117117
})
118118
return res.json({

src/accounts/messages/messages.service.ts

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,21 @@ export class MessagesService extends AbstractService {
4949
try {
5050
lock = await flow.getMailboxLock(mailbox)
5151
} catch (e) {
52-
throw new NotFoundException(`Mailbox ${mailbox} not found`)
52+
throw new NotFoundException(`Mailbox ${mailbox} not found`, e)
5353
}
5454
try {
5555
await flow.mailboxOpen(mailbox)
56-
const listMessages = await flow.search({ seq: '1:*' })
56+
const listMessages = await flow.search({ seq: '1:*', deleted: false })
5757
total = listMessages.length
5858
const seq = [options.skip + 1, options.limit !== -1 ? options.skip + options.limit : '*'].join(':')
59-
const messages = flow.fetch(seq, {
60-
flags: true,
61-
envelope: true,
62-
uid: true,
63-
})
59+
const messages = flow.fetch(
60+
{ seq, deleted: false },
61+
{
62+
flags: true,
63+
envelope: true,
64+
uid: true,
65+
},
66+
)
6467
for await (const message of messages) {
6568
data.push(omit(message, ['modseq']))
6669
}
@@ -72,7 +75,7 @@ export class MessagesService extends AbstractService {
7275

7376
public async read(
7477
account: string,
75-
uid: string,
78+
seq: string,
7679
options?: {
7780
mailbox?: string
7881
query?: FetchQueryObject
@@ -90,7 +93,7 @@ export class MessagesService extends AbstractService {
9093
}
9194
try {
9295
const message = await flow.fetchOne(
93-
uid,
96+
seq,
9497
options?.query || {
9598
flags: true,
9699
envelope: true,
@@ -107,13 +110,13 @@ export class MessagesService extends AbstractService {
107110

108111
public async readSource(
109112
account: string,
110-
uid: string,
113+
seq: string,
111114
options?: {
112115
mailbox?: string
113116
},
114117
): Promise<Partial<FetchMessageObject>> {
115118
const mailbox = options?.mailbox || 'INBOX'
116-
return this.read(account, uid, {
119+
return this.read(account, seq, {
117120
mailbox,
118121
query: {
119122
source: true,
@@ -124,7 +127,7 @@ export class MessagesService extends AbstractService {
124127

125128
public async delete(
126129
account: string,
127-
uid: string,
130+
seq: string,
128131
options?: {
129132
mailbox?: string
130133
},
@@ -139,7 +142,7 @@ export class MessagesService extends AbstractService {
139142
throw new NotFoundException(`Mailbox ${mailbox} not found`)
140143
}
141144
try {
142-
return await flow.messageDelete(uid)
145+
return await flow.messageDelete(seq)
143146
} finally {
144147
lock.release()
145148
}

0 commit comments

Comments
 (0)