Checkpoint: Ajout d'une interface d'administration complète pour personnaliser les templates d'emails avec prévisualisation en temps réel, stockage en base de données et intégration avec le service d'envoi
This commit is contained in:
@@ -141,3 +141,33 @@ export const passwordResetTokens = mysqlTable("passwordResetTokens", {
|
||||
|
||||
export type PasswordResetToken = typeof passwordResetTokens.$inferSelect;
|
||||
export type InsertPasswordResetToken = typeof passwordResetTokens.$inferInsert;
|
||||
|
||||
/**
|
||||
* Table des templates d'emails personnalisables
|
||||
*/
|
||||
export const emailTemplates = mysqlTable("emailTemplates", {
|
||||
id: int("id").autoincrement().primaryKey(),
|
||||
/** Type de template (inscription, teaser, rappel, reset_password) */
|
||||
type: varchar("type", { length: 50 }).notNull().unique(),
|
||||
/** Nom affiché du template */
|
||||
name: varchar("name", { length: 255 }).notNull(),
|
||||
/** URL du logo (peut être vide pour utiliser le logo par défaut) */
|
||||
logoUrl: text("logoUrl"),
|
||||
/** Couleur principale (hex) */
|
||||
primaryColor: varchar("primaryColor", { length: 7 }).default("#2563eb").notNull(),
|
||||
/** Couleur de fond de l'en-tête (hex) */
|
||||
headerBgColor: varchar("headerBgColor", { length: 7 }).default("#2563eb").notNull(),
|
||||
/** Couleur du texte de l'en-tête (hex) */
|
||||
headerTextColor: varchar("headerTextColor", { length: 7 }).default("#ffffff").notNull(),
|
||||
/** Titre de l'en-tête */
|
||||
headerTitle: varchar("headerTitle", { length: 255 }).default("Formation Manager Itinova").notNull(),
|
||||
/** Texte du pied de page */
|
||||
footerText: text("footerText"),
|
||||
/** Actif ou non */
|
||||
active: boolean("active").default(true).notNull(),
|
||||
createdAt: timestamp("createdAt").defaultNow().notNull(),
|
||||
updatedAt: timestamp("updatedAt").defaultNow().onUpdateNow().notNull(),
|
||||
});
|
||||
|
||||
export type EmailTemplate = typeof emailTemplates.$inferSelect;
|
||||
export type InsertEmailTemplate = typeof emailTemplates.$inferInsert;
|
||||
|
||||
Reference in New Issue
Block a user