mirror of
https://github.com/R0m1k3/Regisflow.git
synced 2026-10-22 06:38:21 +02:00
Update data management to use in-memory storage
Modify the application to use an in-memory storage solution, replacing the PostgreSQL database connection and data purging logic. This change impacts session management and data operations, introducing a fallback mechanism for when the database is unavailable. Replit-Commit-Author: Agent Replit-Commit-Session-Id: a388004f-01c5-42b1-b1d1-f18daf8bdd0c Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/a388004f-01c5-42b1-b1d1-f18daf8bdd0c/ekgWmFH
This commit is contained in:
1 parent
430ab669aa
commit
40c7975bbc
5 files changed
+323
-45
No files matched your search
+10
-27
@@ -1,6 +1,4 @@
|
||||
import { db } from './db';
|
||||
import { sales } from '@shared/schema';
|
||||
import { lt } from 'drizzle-orm';
|
||||
import { storage } from './storage';
|
||||
import cron from 'node-cron';
|
||||
|
||||
/**
|
||||
@@ -15,13 +13,9 @@ export async function purgeSalesData() {
|
||||
|
||||
console.log(`🗑️ Démarrage purge des ventes antérieures au ${cutoffDate.toLocaleDateString('fr-FR')}`);
|
||||
|
||||
// Supprimer les ventes antérieures à la date limite
|
||||
const result = await db
|
||||
.delete(sales)
|
||||
.where(lt(sales.timestamp, cutoffDate))
|
||||
.returning({ id: sales.id });
|
||||
|
||||
const deletedCount = result.length;
|
||||
// Use storage's purge method
|
||||
const result = await (storage as any).purgeOldSales();
|
||||
const deletedCount = result.deletedCount;
|
||||
|
||||
if (deletedCount > 0) {
|
||||
console.log(`✅ Purge terminée : ${deletedCount} vente(s) supprimée(s)`);
|
||||
@@ -51,25 +45,14 @@ export async function purgeSalesData() {
|
||||
*/
|
||||
export async function getPurgeStats() {
|
||||
try {
|
||||
const cutoffDate = new Date();
|
||||
cutoffDate.setMonth(cutoffDate.getMonth() - 19);
|
||||
|
||||
// Compter les ventes qui seraient supprimées
|
||||
const oldSales = await db
|
||||
.select({ id: sales.id })
|
||||
.from(sales)
|
||||
.where(lt(sales.timestamp, cutoffDate));
|
||||
|
||||
// Compter le total des ventes
|
||||
const totalSales = await db
|
||||
.select({ id: sales.id })
|
||||
.from(sales);
|
||||
// Use storage's stats method
|
||||
const stats = await (storage as any).getPurgeStats();
|
||||
|
||||
return {
|
||||
totalSales: totalSales.length,
|
||||
oldSales: oldSales.length,
|
||||
cutoffDate: cutoffDate.toISOString(),
|
||||
purgeEligible: oldSales.length > 0
|
||||
totalSales: stats.totalSales,
|
||||
oldSales: stats.oldSales,
|
||||
cutoffDate: stats.cutoffDate,
|
||||
purgeEligible: stats.oldSales > 0
|
||||
};
|
||||
|
||||
} catch (error) {
|
||||
|
||||
Reference in new issue
Block a user