mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-08-31 04:57:41 +08:00
fix: address user mail review feedback
This commit is contained in:
@@ -22,8 +22,6 @@ api.delete('/user_api/mails/:id', user_mail_api.deleteMail);
|
||||
api.get('/user_api/address/:address_id/settings', user_send_mail_api.settings);
|
||||
api.post('/user_api/address/:address_id/request_send_mail_access', user_send_mail_api.requestAccess);
|
||||
api.post('/user_api/address/:address_id/send_mail', user_send_mail_api.send);
|
||||
api.get('/user_api/address/:address_id/sendbox', user_send_mail_api.listSendbox);
|
||||
api.delete('/user_api/address/:address_id/sendbox/:mail_id', user_send_mail_api.removeSendboxMail);
|
||||
api.get('/user_api/sendbox', user_send_mail_api.listUserSendbox);
|
||||
api.delete('/user_api/sendbox/:mail_id', user_send_mail_api.removeUserSendboxMail);
|
||||
|
||||
|
||||
@@ -2,11 +2,7 @@ import { Context } from "hono";
|
||||
|
||||
import { commonGetUserRole, handleListQuery } from "../common";
|
||||
import i18n from "../i18n";
|
||||
import {
|
||||
deleteSendbox,
|
||||
getSendbox,
|
||||
sendMail,
|
||||
} from "../mails_api/send_mail_api";
|
||||
import { sendMail } from "../mails_api/send_mail_api";
|
||||
import {
|
||||
getSendBalanceState,
|
||||
requestSendMailAccess,
|
||||
@@ -21,11 +17,12 @@ const getBindedAddress = async (
|
||||
return null;
|
||||
}
|
||||
const { user_id } = c.get("userPayload");
|
||||
return await c.env.DB.prepare(
|
||||
const address = await c.env.DB.prepare(
|
||||
`SELECT a.name FROM users_address ua`
|
||||
+ ` JOIN address a ON a.id = ua.address_id`
|
||||
+ ` WHERE ua.user_id = ? AND a.id = ?`
|
||||
).bind(user_id, addressId).first<string>("name");
|
||||
return address ?? null;
|
||||
}
|
||||
|
||||
const getAddressOrError = async (
|
||||
@@ -80,33 +77,17 @@ const send = async (c: Context<HonoCustomType>): Promise<Response> => {
|
||||
return address;
|
||||
}
|
||||
await setUserRole(c);
|
||||
const msgs = i18n.getMessagesbyContext(c);
|
||||
try {
|
||||
const reqJson = await c.req.json();
|
||||
await sendMail(c, address, reqJson);
|
||||
} catch (error) {
|
||||
console.error("Failed to send user mail", error);
|
||||
return c.text(`Failed to send mail ${(error as Error).message}`, 400);
|
||||
return c.text(msgs.OperationFailedMsg, 500);
|
||||
}
|
||||
return c.json({ status: "ok" });
|
||||
}
|
||||
|
||||
const listSendbox = async (c: Context<HonoCustomType>): Promise<Response> => {
|
||||
const address = await getAddressOrError(c);
|
||||
if (address instanceof Response) {
|
||||
return address;
|
||||
}
|
||||
const { limit, offset } = c.req.query();
|
||||
return getSendbox(c, address, limit, offset);
|
||||
}
|
||||
|
||||
const removeSendboxMail = async (c: Context<HonoCustomType>): Promise<Response> => {
|
||||
const address = await getAddressOrError(c);
|
||||
if (address instanceof Response) {
|
||||
return address;
|
||||
}
|
||||
return deleteSendbox(c, address, c.req.param("mail_id"));
|
||||
}
|
||||
|
||||
const listUserSendbox = async (c: Context<HonoCustomType>): Promise<Response> => {
|
||||
const { user_id } = c.get("userPayload");
|
||||
const { address, limit, offset } = c.req.query();
|
||||
@@ -149,8 +130,6 @@ export default {
|
||||
settings,
|
||||
requestAccess,
|
||||
send,
|
||||
listSendbox,
|
||||
removeSendboxMail,
|
||||
listUserSendbox,
|
||||
removeUserSendboxMail,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user