Checkpoint: Préparation recette : ajout du journal classification_errors, exposition de la cause technique des fallbacks IA, enregistrement non bloquant depuis le moteur RSS, écran d’administration Erreurs IA, route protégée et migration 0013. Validation locale : 28 tests, TypeScript et build de production réussis.
This commit is contained in:
@@ -137,6 +137,25 @@ export const importLogs = mysqlTable("import_logs", {
|
||||
export type ImportLog = typeof importLogs.$inferSelect;
|
||||
export type InsertImportLog = typeof importLogs.$inferInsert;
|
||||
|
||||
// ─── Erreurs de classification RSS ───────────────────────────────────────────
|
||||
|
||||
/**
|
||||
* Journal technique destiné à l'administration. Il conserve les fallbacks IA
|
||||
* article par article, sans bloquer l'import ni exposer l'erreur aux utilisateurs.
|
||||
*/
|
||||
export const classificationErrors = mysqlTable("classification_errors", {
|
||||
id: int("id").autoincrement().primaryKey(),
|
||||
feedId: int("feedId"),
|
||||
feedName: varchar("feedName", { length: 255 }).notNull(),
|
||||
feedType: mysqlEnum("feedType", ["veille", "aap"]).notNull(),
|
||||
articleTitle: text("articleTitle").notNull(),
|
||||
articleUrl: text("articleUrl"),
|
||||
errorMessage: text("errorMessage").notNull(),
|
||||
occurredAt: timestamp("occurredAt").defaultNow().notNull(),
|
||||
});
|
||||
|
||||
export type ClassificationError = typeof classificationErrors.$inferSelect;
|
||||
|
||||
// ─── Boîte à idées ───────────────────────────────────────────────────────────
|
||||
|
||||
export const ideas = mysqlTable("ideas", {
|
||||
|
||||
Reference in New Issue
Block a user