mirror of
https://github.com/R0m1k3/Regisflow.git
synced 2026-10-23 15:18:17 +02:00
Enable support for multiple products within a single sale
Implements multi-product sales functionality by adding a `sale_products` table, updating the sales form, and modifying server-side logic. Replit-Commit-Author: Agent Replit-Commit-Session-Id: e80fed01-7137-4997-b9af-dad57132d430 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/e80fed01-7137-4997-b9af-dad57132d430/58t7aEc
This commit is contained in:
1 parent
54595e75df
commit
e91b8f1a8b
10 files changed
+1303
-50
No files matched your search
@@ -0,0 +1,398 @@
|
||||
{
|
||||
"timestamp": "2025-07-13T22:00:00.641Z",
|
||||
"version": "1.0",
|
||||
"type": "automatic",
|
||||
"data": {
|
||||
"users": [
|
||||
{
|
||||
"id": 5,
|
||||
"username": "ff579",
|
||||
"email": null,
|
||||
"firstName": "",
|
||||
"lastName": "",
|
||||
"role": "employee",
|
||||
"storeId": 2,
|
||||
"isActive": true,
|
||||
"createdAt": "2025-07-10T09:48:22.256Z",
|
||||
"updatedAt": "2025-07-10T09:48:22.256Z"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"username": "ff292",
|
||||
"email": null,
|
||||
"firstName": "",
|
||||
"lastName": "",
|
||||
"role": "employee",
|
||||
"storeId": 1,
|
||||
"isActive": true,
|
||||
"createdAt": "2025-07-10T09:48:06.549Z",
|
||||
"updatedAt": "2025-07-10T09:48:06.549Z"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"username": "gael",
|
||||
"email": null,
|
||||
"firstName": "",
|
||||
"lastName": "",
|
||||
"role": "administrator",
|
||||
"storeId": null,
|
||||
"isActive": true,
|
||||
"createdAt": "2025-07-10T08:47:04.063Z",
|
||||
"updatedAt": "2025-07-10T08:47:04.063Z"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"username": "FFNANCY",
|
||||
"email": "michaelschal@gmail.com",
|
||||
"firstName": "",
|
||||
"lastName": "",
|
||||
"role": "manager",
|
||||
"storeId": 1,
|
||||
"isActive": true,
|
||||
"createdAt": "2025-07-09T18:55:01.413Z",
|
||||
"updatedAt": "2025-07-09T18:55:01.413Z"
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"username": "admin",
|
||||
"email": "michaelschal@ffest.fr",
|
||||
"firstName": "Administrateur",
|
||||
"lastName": "Principal",
|
||||
"role": "admin",
|
||||
"storeId": 1,
|
||||
"isActive": true,
|
||||
"createdAt": "2025-07-09T18:37:53.865Z",
|
||||
"updatedAt": "2025-07-09T18:37:53.865Z"
|
||||
}
|
||||
],
|
||||
"stores": [
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Houdemont",
|
||||
"address": "",
|
||||
"phone": "",
|
||||
"email": "",
|
||||
"isActive": true,
|
||||
"createdAt": "2025-07-09T19:00:30.782Z",
|
||||
"updatedAt": "2025-07-09T19:00:30.782Z"
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Frouard",
|
||||
"address": "À définir",
|
||||
"phone": "",
|
||||
"email": "",
|
||||
"isActive": true,
|
||||
"createdAt": "2025-07-09T18:37:53.432Z",
|
||||
"updatedAt": "2025-07-09T18:37:53.432Z"
|
||||
}
|
||||
],
|
||||
"sales": [
|
||||
{
|
||||
"id": 8,
|
||||
"storeId": 2,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-11T18:27:55.231Z",
|
||||
"vendeur": "Test Vendeur",
|
||||
"typeArticle": "Batterie Test",
|
||||
"categorie": "F2",
|
||||
"quantite": 1,
|
||||
"gencode": "1234567890123",
|
||||
"nom": "DUPONT",
|
||||
"prenom": "Jean",
|
||||
"dateNaissance": "01/01/1980",
|
||||
"lieuNaissance": "Paris",
|
||||
"modePaiement": "Carte bancaire",
|
||||
"typeIdentite": "Carte d'identité",
|
||||
"numeroIdentite": "ABC123456",
|
||||
"autoriteDelivrance": "Préfecture de Paris",
|
||||
"dateDelivrance": "01/01/2020",
|
||||
"photo_recto": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==",
|
||||
"photo_verso": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==",
|
||||
"photo_ticket": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"storeId": 2,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-11T15:36:32.194Z",
|
||||
"vendeur": "Moi",
|
||||
"typeArticle": "Batterie",
|
||||
"categorie": "F3",
|
||||
"quantite": 1,
|
||||
"gencode": "3660092323745",
|
||||
"nom": "SCHAL",
|
||||
"prenom": "Michaël",
|
||||
"dateNaissance": "1998-02-05",
|
||||
"lieuNaissance": "Bar le duc",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "CNI",
|
||||
"numeroIdentite": "qsdfqsdgc23445",
|
||||
"autoriteDelivrance": "Frouard",
|
||||
"dateDelivrance": "2025-07-11",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": null
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"storeId": 2,
|
||||
"userId": 2,
|
||||
"timestamp": "2025-07-09T19:16:46.797Z",
|
||||
"vendeur": "Moi",
|
||||
"typeArticle": "Fusée",
|
||||
"categorie": "F2",
|
||||
"quantite": 10,
|
||||
"gencode": "3660092323745",
|
||||
"nom": " ASSOCIATION GRAND AIR",
|
||||
"prenom": "Anne-Laure",
|
||||
"dateNaissance": "2025-06-03",
|
||||
"lieuNaissance": "Bar le duc",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "Passeport",
|
||||
"numeroIdentite": "qsdfqsdgc23445",
|
||||
"autoriteDelivrance": "Frouard",
|
||||
"dateDelivrance": "2025-07-01",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": null
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"storeId": 2,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-09T19:07:15.650Z",
|
||||
"vendeur": "Moi",
|
||||
"typeArticle": "Pétard aérien",
|
||||
"categorie": "F3",
|
||||
"quantite": 1,
|
||||
"gencode": "3660092323745",
|
||||
"nom": "SCHAL",
|
||||
"prenom": "Michaël",
|
||||
"dateNaissance": "2025-07-02",
|
||||
"lieuNaissance": "Bar le duc",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "CNI",
|
||||
"numeroIdentite": "qsdfqsdgc23445",
|
||||
"autoriteDelivrance": "Frouard",
|
||||
"dateDelivrance": "2025-07-01",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": null
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"storeId": 2,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-09T19:05:20.904Z",
|
||||
"vendeur": "Moi",
|
||||
"typeArticle": "Pétard aérien",
|
||||
"categorie": "F3",
|
||||
"quantite": 1,
|
||||
"gencode": "3660092323745",
|
||||
"nom": "SCHAL",
|
||||
"prenom": "Michaël",
|
||||
"dateNaissance": "2025-07-02",
|
||||
"lieuNaissance": "Bar le duc",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "CNI",
|
||||
"numeroIdentite": "qsdfqsdgc23445",
|
||||
"autoriteDelivrance": "Frouard",
|
||||
"dateDelivrance": "2025-07-01",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": null
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"storeId": 1,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-13T11:24:50.830Z",
|
||||
"vendeur": "TEST PRODUCTION",
|
||||
"typeArticle": "Test",
|
||||
"categorie": "F2",
|
||||
"quantite": 1,
|
||||
"gencode": "1234567890123",
|
||||
"nom": "PRODUCTION",
|
||||
"prenom": "Ready",
|
||||
"dateNaissance": "1990-01-01",
|
||||
"lieuNaissance": "Test",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "CNI",
|
||||
"numeroIdentite": "123456789",
|
||||
"autoriteDelivrance": "Test",
|
||||
"dateDelivrance": "2025-01-01",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": "data:image/jpeg;base64,PRODUCTION_READY_TEST"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"storeId": 1,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-11T19:02:01.423Z",
|
||||
"vendeur": "Production Test",
|
||||
"typeArticle": "Chandelle",
|
||||
"categorie": "F2",
|
||||
"quantite": 1,
|
||||
"gencode": "1234567890999",
|
||||
"nom": "PROD",
|
||||
"prenom": "Test",
|
||||
"dateNaissance": "1990-01-01",
|
||||
"lieuNaissance": "Test",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "Passeport",
|
||||
"numeroIdentite": "123456789",
|
||||
"autoriteDelivrance": "Test",
|
||||
"dateDelivrance": "2025-01-01",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": "data:image/jpeg;base64,PRODUCTION_TEST_TICKET"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"storeId": 1,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-11T18:48:31.159Z",
|
||||
"vendeur": "Test Final",
|
||||
"typeArticle": "Chandelle",
|
||||
"categorie": "F2",
|
||||
"quantite": 1,
|
||||
"gencode": "1234567890999",
|
||||
"nom": "FINAL",
|
||||
"prenom": "Test",
|
||||
"dateNaissance": "1990-01-01",
|
||||
"lieuNaissance": "Test",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "Passeport",
|
||||
"numeroIdentite": "123456789",
|
||||
"autoriteDelivrance": "Test",
|
||||
"dateDelivrance": "2025-01-01",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": "data:image/jpeg;base64,TICKET_TEST_FINAL"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"storeId": 1,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-11T18:39:03.438Z",
|
||||
"vendeur": "Test Debug",
|
||||
"typeArticle": "Chandelle",
|
||||
"categorie": "F2",
|
||||
"quantite": 1,
|
||||
"gencode": "1234567890125",
|
||||
"nom": "DEBUG",
|
||||
"prenom": "Test",
|
||||
"dateNaissance": "1990-01-01",
|
||||
"lieuNaissance": "Test",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "Passeport",
|
||||
"numeroIdentite": "123456789",
|
||||
"autoriteDelivrance": "Test",
|
||||
"dateDelivrance": "2025-01-01",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": "data:image/jpeg;base64,TEST_TICKET_DATA"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"storeId": 1,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-11T18:38:45.251Z",
|
||||
"vendeur": "Test Vendeur 2",
|
||||
"typeArticle": "Chandelle",
|
||||
"categorie": "F2",
|
||||
"quantite": 1,
|
||||
"gencode": "1234567890124",
|
||||
"nom": "TEST2",
|
||||
"prenom": "Photo2",
|
||||
"dateNaissance": "1990-01-01",
|
||||
"lieuNaissance": "Test",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "Passeport",
|
||||
"numeroIdentite": "123456789",
|
||||
"autoriteDelivrance": "Test",
|
||||
"dateDelivrance": "2025-01-01",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": null
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"storeId": 1,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-11T18:38:21.913Z",
|
||||
"vendeur": "Test Vendeur",
|
||||
"typeArticle": "Chandelle",
|
||||
"categorie": "F2",
|
||||
"quantite": 1,
|
||||
"gencode": "1234567890123",
|
||||
"nom": "TEST",
|
||||
"prenom": "Photo",
|
||||
"dateNaissance": "1990-01-01",
|
||||
"lieuNaissance": "Test",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "Passeport",
|
||||
"numeroIdentite": "123456789",
|
||||
"autoriteDelivrance": "Test",
|
||||
"dateDelivrance": "2025-01-01",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": null
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"storeId": 1,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-10T00:08:19.097Z",
|
||||
"vendeur": "Moi",
|
||||
"typeArticle": "Chandelle romaine",
|
||||
"categorie": "F2",
|
||||
"quantite": 1,
|
||||
"gencode": "3660092323745",
|
||||
"nom": "SCHAL",
|
||||
"prenom": "Anne-Laure",
|
||||
"dateNaissance": "2018-02-10",
|
||||
"lieuNaissance": "Bar le duc",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "Passeport",
|
||||
"numeroIdentite": "qsdfqsdgc23445",
|
||||
"autoriteDelivrance": "Frouard",
|
||||
"dateDelivrance": "2025-07-01",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": null
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"storeId": 1,
|
||||
"userId": 1,
|
||||
"timestamp": "2025-07-09T19:11:36.505Z",
|
||||
"vendeur": "Moi",
|
||||
"typeArticle": "Batterie",
|
||||
"categorie": "F3",
|
||||
"quantite": 1,
|
||||
"gencode": "3660092323745",
|
||||
"nom": "SCHAL",
|
||||
"prenom": "Michaël",
|
||||
"dateNaissance": "2025-07-18",
|
||||
"lieuNaissance": "Bar le duc",
|
||||
"modePaiement": "Espèce",
|
||||
"typeIdentite": "CNI",
|
||||
"numeroIdentite": "qsdfqsdgc23445",
|
||||
"autoriteDelivrance": "Frouard",
|
||||
"dateDelivrance": "2025-07-01",
|
||||
"photo_recto": null,
|
||||
"photo_verso": null,
|
||||
"photo_ticket": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"metadata": {
|
||||
"totalUsers": 5,
|
||||
"totalStores": 2,
|
||||
"totalSales": 13,
|
||||
"exportedBy": "system-auto-backup"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user