Update storage.ts
This commit is contained in:
@@ -1,6 +1,22 @@
|
||||
|
||||
import { EmailTemplate } from '../types';
|
||||
|
||||
// Fallback for crypto.randomUUID in non-secure (HTTP) contexts
|
||||
export const generateUUID = () => {
|
||||
if (typeof crypto !== 'undefined' && crypto.randomUUID) {
|
||||
try {
|
||||
return crypto.randomUUID();
|
||||
} catch (e) {
|
||||
// Fallback if it exists but fails
|
||||
}
|
||||
}
|
||||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
|
||||
const r = Math.random() * 16 | 0;
|
||||
const v = c === 'x' ? r : (r & 0x3 | 0x8);
|
||||
return v.toString(16);
|
||||
});
|
||||
};
|
||||
|
||||
export const generateTemplateKey = (name: string): string => {
|
||||
return name.trim().toLowerCase().replace(/\s+/g, '_').replace(/[^a-z0-9_]/g, '');
|
||||
};
|
||||
@@ -66,6 +82,7 @@ return items;`;
|
||||
};
|
||||
|
||||
export const getTemplates = async (): Promise<EmailTemplate[]> => {
|
||||
console.log("Fetching templates from /api/templates...");
|
||||
const response = await fetch('/api/templates');
|
||||
if (!response.ok) {
|
||||
const errorBody = await response.text();
|
||||
@@ -75,6 +92,7 @@ export const getTemplates = async (): Promise<EmailTemplate[]> => {
|
||||
};
|
||||
|
||||
export const saveTemplate = async (template: EmailTemplate): Promise<void> => {
|
||||
console.log("Saving template to /api/templates...", template.name);
|
||||
const response = await fetch('/api/templates', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
@@ -84,8 +102,15 @@ export const saveTemplate = async (template: EmailTemplate): Promise<void> => {
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
const errorData = await response.json().catch(() => ({}));
|
||||
throw new Error(errorData.details || errorData.error || `Salvataggio fallito con stato ${response.status}`);
|
||||
let errorMessage = `Errore HTTP ${response.status}`;
|
||||
try {
|
||||
const errorData = await response.json();
|
||||
errorMessage = errorData.details || errorData.error || errorMessage;
|
||||
} catch (e) {
|
||||
const textError = await response.text();
|
||||
if (textError) errorMessage = textError;
|
||||
}
|
||||
throw new Error(errorMessage);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user