fix errors and beautify with use of class
This commit is contained in:
parent
f7c95b3a36
commit
ffcfc57bbe
@ -7,52 +7,40 @@ import Message from "../mails/message/Message";
|
|||||||
import Room from "../mails/room/Room";
|
import Room from "../mails/room/Room";
|
||||||
|
|
||||||
export default class MessageAbl {
|
export default class MessageAbl {
|
||||||
static async addFlag(body, res: Response) {
|
static async changeFlag(body, res: Response, isDelete: boolean) {
|
||||||
const { mailboxId, messageId, flag } = body;
|
const { mailboxId, messageId, flag } = body;
|
||||||
const uid = (await getMessageUid(messageId))[0]?.uid;
|
const message = new Message().setMessageId(messageId);
|
||||||
if (!uid) {
|
|
||||||
|
try {
|
||||||
|
await message.useUid();
|
||||||
|
} catch (err) {
|
||||||
res.status(statusCode.NOT_FOUND).send({ error: "Message uid not found." });
|
res.status(statusCode.NOT_FOUND).send({ error: "Message uid not found." });
|
||||||
}
|
}
|
||||||
|
|
||||||
const user = (await getUserOfMailbox(mailboxId))[0]?.user;
|
try {
|
||||||
if (!user) {
|
await message.useMailbox(mailboxId);
|
||||||
|
} catch (err) {
|
||||||
res.status(statusCode.NOT_FOUND).send({ error: "Not account for this mailbox." });
|
res.status(statusCode.NOT_FOUND).send({ error: "Not account for this mailbox." });
|
||||||
}
|
}
|
||||||
emailManager
|
|
||||||
.getImap(user)
|
try {
|
||||||
.getMailbox(mailboxId)
|
if (isDelete) {
|
||||||
.addFlag(uid.toString(), [flag])
|
await message.mailbox.removeFlag(message.uid.toString(), flag);
|
||||||
.then(() => {
|
} else {
|
||||||
res.status(statusCode.OK).send();
|
await message.mailbox.addFlag(message.uid.toString(), flag);
|
||||||
})
|
}
|
||||||
.catch((err) => {
|
} catch (err) {
|
||||||
console.log(err);
|
|
||||||
res.status(statusCode.METHOD_FAILURE).send({ error: err });
|
res.status(statusCode.METHOD_FAILURE).send({ error: err });
|
||||||
});
|
}
|
||||||
|
res.status(statusCode.OK).send();
|
||||||
|
}
|
||||||
|
|
||||||
|
static async addFlag(body, res: Response) {
|
||||||
|
await MessageAbl.changeFlag(body, res, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
static async removeFlag(body, res: Response) {
|
static async removeFlag(body, res: Response) {
|
||||||
const { mailboxId, messageId, flag } = body;
|
await MessageAbl.changeFlag(body, res, true);
|
||||||
const uid = (await getMessageUid(messageId))[0]?.uid;
|
|
||||||
if (!uid) {
|
|
||||||
res.status(statusCode.NOT_FOUND).send({ error: "Message uid not found." });
|
|
||||||
}
|
|
||||||
|
|
||||||
const user = (await getUserOfMailbox(mailboxId))[0]?.user;
|
|
||||||
if (!user) {
|
|
||||||
res.status(statusCode.NOT_FOUND).send({ error: "Not account for this mailbox." });
|
|
||||||
}
|
|
||||||
emailManager
|
|
||||||
.getImap(user)
|
|
||||||
.getMailbox(mailboxId)
|
|
||||||
.removeFlag(uid.toString(), [flag])
|
|
||||||
.then(() => {
|
|
||||||
res.status(statusCode.OK).send();
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
console.log(err);
|
|
||||||
res.status(statusCode.METHOD_FAILURE).send({ error: err });
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static deleteRemoteOnly = async (body, res: Response) => {
|
static deleteRemoteOnly = async (body, res: Response) => {
|
||||||
|
@ -19,7 +19,7 @@ export async function deleteFlag(messageId: number, flagId: number) {
|
|||||||
|
|
||||||
export async function updateMailboxSeen(messageId: number, isSeen: boolean) {
|
export async function updateMailboxSeen(messageId: number, isSeen: boolean) {
|
||||||
const query = `UPDATE mailbox_message SET seen = ? WHERE message_id = ?`;
|
const query = `UPDATE mailbox_message SET seen = ? WHERE message_id = ?`;
|
||||||
const values = [messageId, isSeen];
|
const values = [isSeen, messageId];
|
||||||
return await execQueryAsync(query, values);
|
return await execQueryAsync(query, values);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,22 +1,17 @@
|
|||||||
import { getFlagsOnId, getFlagsOnUid } from "../../db/message/message-db";
|
import { getFlagsOnId, getFlagsOnUid } from "../../db/message/message-db";
|
||||||
import { deleteMessage, getFlags } from "../../db/message/updateMessage-db";
|
import { deleteMessage } from "../../db/message/updateMessage-db";
|
||||||
import { getMessageUid, getUserOfMailbox } from "../../db/utils/mail";
|
import { getMessageUid, getUserOfMailbox } from "../../db/utils/mail";
|
||||||
import emailManager from "../EmailManager";
|
import emailManager from "../EmailManager";
|
||||||
import Mailbox from "../imap/Mailbox";
|
import Mailbox from "../imap/Mailbox";
|
||||||
import Room from "../room/Room";
|
import Room from "../room/Room";
|
||||||
|
|
||||||
export default class Message extends Room {
|
export default class Message {
|
||||||
messageId: number;
|
messageId: number;
|
||||||
uid: number;
|
uid: number;
|
||||||
private _flags: string[] | undefined;
|
private _flags: string[] | undefined;
|
||||||
private _mailbox: Mailbox;
|
private _mailbox: Mailbox;
|
||||||
|
|
||||||
constructor() {
|
constructor() {}
|
||||||
super();
|
|
||||||
this.messageId;
|
|
||||||
this.flags;
|
|
||||||
this._mailbox;
|
|
||||||
}
|
|
||||||
|
|
||||||
setMessageId(messageId: number): Message {
|
setMessageId(messageId: number): Message {
|
||||||
this.messageId = messageId;
|
this.messageId = messageId;
|
||||||
|
@ -2,9 +2,8 @@ import { deleteRoom, getRoomNbMessageAndThread, getRoomOnMessageId } from "../..
|
|||||||
|
|
||||||
export default class Room {
|
export default class Room {
|
||||||
private _roomId: number;
|
private _roomId: number;
|
||||||
constructor() {
|
|
||||||
this._roomId;
|
constructor() {}
|
||||||
}
|
|
||||||
|
|
||||||
setRoomId(roomId: number): Room {
|
setRoomId(roomId: number): Room {
|
||||||
this._roomId = roomId;
|
this._roomId = roomId;
|
||||||
|
Loading…
Reference in New Issue
Block a user