Emdash source with visual editor image upload fix
Fixes: 1. media.ts: wrap placeholder generation in try-catch 2. toolbar.ts: check r.ok, display error message in popover
This commit is contained in:
41
packages/admin/src/lib/api/email-settings.ts
Normal file
41
packages/admin/src/lib/api/email-settings.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
/**
|
||||
* Email settings API client functions
|
||||
*/
|
||||
|
||||
import { API_BASE, apiFetch, parseApiResponse } from "./client.js";
|
||||
|
||||
// =============================================================================
|
||||
// Types
|
||||
// =============================================================================
|
||||
|
||||
export interface EmailProvider {
|
||||
pluginId: string;
|
||||
}
|
||||
|
||||
export interface EmailSettings {
|
||||
available: boolean;
|
||||
providers: EmailProvider[];
|
||||
selectedProviderId: string | null;
|
||||
middleware: {
|
||||
beforeSend: string[];
|
||||
afterSend: string[];
|
||||
};
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// API functions
|
||||
// =============================================================================
|
||||
|
||||
export async function fetchEmailSettings(): Promise<EmailSettings> {
|
||||
const res = await apiFetch(`${API_BASE}/settings/email`);
|
||||
return parseApiResponse<EmailSettings>(res, "Failed to fetch email settings");
|
||||
}
|
||||
|
||||
export async function sendTestEmail(to: string): Promise<{ success: boolean; message: string }> {
|
||||
const res = await apiFetch(`${API_BASE}/settings/email`, {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ to }),
|
||||
});
|
||||
return parseApiResponse<{ success: boolean; message: string }>(res, "Failed to send test email");
|
||||
}
|
||||
Reference in New Issue
Block a user