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";
|
||||
|
||||
export default class MessageAbl {
|
||||
static async addFlag(body, res: Response) {
|
||||
static async changeFlag(body, res: Response, isDelete: boolean) {
|
||||
const { mailboxId, messageId, flag } = body;
|
||||
const uid = (await getMessageUid(messageId))[0]?.uid;
|
||||
if (!uid) {
|
||||
const message = new Message().setMessageId(messageId);
|
||||
|
||||
try {
|
||||
await message.useUid();
|
||||
} catch (err) {
|
||||
res.status(statusCode.NOT_FOUND).send({ error: "Message uid not found." });
|
||||
}
|
||||
|
||||
const user = (await getUserOfMailbox(mailboxId))[0]?.user;
|
||||
if (!user) {
|
||||
try {
|
||||
await message.useMailbox(mailboxId);
|
||||
} catch (err) {
|
||||
res.status(statusCode.NOT_FOUND).send({ error: "Not account for this mailbox." });
|
||||
}
|
||||
emailManager
|
||||
.getImap(user)
|
||||
.getMailbox(mailboxId)
|
||||
.addFlag(uid.toString(), [flag])
|
||||
.then(() => {
|
||||
res.status(statusCode.OK).send();
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
res.status(statusCode.METHOD_FAILURE).send({ error: err });
|
||||
});
|
||||
|
||||
try {
|
||||
if (isDelete) {
|
||||
await message.mailbox.removeFlag(message.uid.toString(), flag);
|
||||
} else {
|
||||
await message.mailbox.addFlag(message.uid.toString(), flag);
|
||||
}
|
||||
} catch (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) {
|
||||
const { mailboxId, messageId, flag } = body;
|
||||
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 });
|
||||
});
|
||||
await MessageAbl.changeFlag(body, res, true);
|
||||
}
|
||||
|
||||
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) {
|
||||
const query = `UPDATE mailbox_message SET seen = ? WHERE message_id = ?`;
|
||||
const values = [messageId, isSeen];
|
||||
const values = [isSeen, messageId];
|
||||
return await execQueryAsync(query, values);
|
||||
}
|
||||
|
||||
|
@ -1,22 +1,17 @@
|
||||
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 emailManager from "../EmailManager";
|
||||
import Mailbox from "../imap/Mailbox";
|
||||
import Room from "../room/Room";
|
||||
|
||||
export default class Message extends Room {
|
||||
export default class Message {
|
||||
messageId: number;
|
||||
uid: number;
|
||||
private _flags: string[] | undefined;
|
||||
private _mailbox: Mailbox;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.messageId;
|
||||
this.flags;
|
||||
this._mailbox;
|
||||
}
|
||||
constructor() {}
|
||||
|
||||
setMessageId(messageId: number): Message {
|
||||
this.messageId = messageId;
|
||||
|
@ -2,9 +2,8 @@ import { deleteRoom, getRoomNbMessageAndThread, getRoomOnMessageId } from "../..
|
||||
|
||||
export default class Room {
|
||||
private _roomId: number;
|
||||
constructor() {
|
||||
this._roomId;
|
||||
}
|
||||
|
||||
constructor() {}
|
||||
|
||||
setRoomId(roomId: number): Room {
|
||||
this._roomId = roomId;
|
||||
|
Loading…
Reference in New Issue
Block a user