ripristinata la base dati
This commit is contained in:
parent
c289bd5003
commit
6d6682dade
3 changed files with 12 additions and 28 deletions
|
|
@ -8,7 +8,7 @@
|
||||||
-- 3 Luca Conti – luca.conti@corrieri.it (Operatore)
|
-- 3 Luca Conti – luca.conti@corrieri.it (Operatore)
|
||||||
--
|
--
|
||||||
-- Chiavi consegna per test /verifica-consegna?chiave=...
|
-- Chiavi consegna per test /verifica-consegna?chiave=...
|
||||||
-- CNSG9001, CNSG2406, CNSG7788, CNSG3344, CNSG5522, CNSG9876, CNSG1122
|
-- CNSG9001, CNSG3344, CNSG2406, CNSG7788, CNSG5522, CNSG9876, CNSG1122
|
||||||
-- ============================================================
|
-- ============================================================
|
||||||
|
|
||||||
USE corrieri;
|
USE corrieri;
|
||||||
|
|
@ -30,18 +30,18 @@ INSERT INTO cliente (Nome, Cognome, Via, Comune, Provincia, Telefono, Email, Not
|
||||||
('Marco', 'Neri', 'Via Garibaldi 8', 'Bergamo', 'BG', '3337778899', 'marco.neri@email.it', 'Citofono non funzionante, chiamare al telefono'),
|
('Marco', 'Neri', 'Via Garibaldi 8', 'Bergamo', 'BG', '3337778899', 'marco.neri@email.it', 'Citofono non funzionante, chiamare al telefono'),
|
||||||
('Giulia', 'Ferrari', 'Viale Venezia 101', 'Brescia', 'BS', '3332223344', 'giulia.ferrari@email.it', 'Ritiro abituale presso ufficio'),
|
('Giulia', 'Ferrari', 'Viale Venezia 101', 'Brescia', 'BS', '3332223344', 'giulia.ferrari@email.it', 'Ritiro abituale presso ufficio'),
|
||||||
('Paolo', 'Romano', 'Via Manzoni 3', 'Como', 'CO', '3339988776', 'paolo.romano@email.it', 'Richiede firma del destinatario');
|
('Paolo', 'Romano', 'Via Manzoni 3', 'Como', 'CO', '3339988776', 'paolo.romano@email.it', 'Richiede firma del destinatario');
|
||||||
|
|
||||||
-- ------------------------------------------------------------
|
-- ------------------------------------------------------------
|
||||||
-- Consegne
|
-- Consegne
|
||||||
-- ClienteID: 1=Mario, 2=Laura, 3=Marco, 4=Giulia, 5=Paolo
|
-- ClienteID: 1=Mario, 2=Laura, 3=Marco, 4=Giulia, 5=Paolo
|
||||||
-- ------------------------------------------------------------
|
|
||||||
-- Date dinamiche: compatibili con i trigger di retroattività (>= CURDATE())
|
-- Date dinamiche: compatibili con i trigger di retroattività (>= CURDATE())
|
||||||
-- DataRitiro e DataConsegna sono indipendenti; almeno una delle due è obbligatoria.
|
-- DataRitiro e DataConsegna sono indipendenti; almeno una delle due è obbligatoria.
|
||||||
-- Esempi: solo ritiro (CNSG2406), solo consegna (CNSG5522), entrambe (CNSG9001).
|
-- ------------------------------------------------------------
|
||||||
INSERT INTO consegna (ClienteID, DataRitiro, DataConsegna, Stato, ChiaveConsegna) VALUES
|
INSERT INTO consegna (ClienteID, DataRitiro, DataConsegna, Stato, ChiaveConsegna) VALUES
|
||||||
(1, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 2 DAY), 'in deposito', 'CNSG9001'),
|
(1, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 2 DAY), 'in deposito', 'CNSG9001'), -- ritiro e consegna
|
||||||
(2, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 1 DAY), 'in consegna', 'CNSG3344'),
|
(2, NULL, DATE_ADD(CURDATE(), INTERVAL 1 DAY), 'in consegna', 'CNSG3344'), -- solo consegna
|
||||||
(3, CURDATE(), NULL, 'da ritirare', 'CNSG2406'),
|
(3, CURDATE(), NULL, 'da ritirare', 'CNSG2406'), -- solo ritiro
|
||||||
(4, DATE_ADD(CURDATE(), INTERVAL 5 DAY), DATE_ADD(CURDATE(), INTERVAL 2 DAY), 'in giacenza', 'CNSG7788'),
|
(4, DATE_ADD(CURDATE(), INTERVAL 5 DAY), DATE_ADD(CURDATE(), INTERVAL 2 DAY), 'in giacenza', 'CNSG7788'), -- ritiro e consegna (ordine libero)
|
||||||
(5, NULL, DATE_ADD(CURDATE(), INTERVAL 1 DAY), 'in deposito', 'CNSG5522'),
|
(5, NULL, DATE_ADD(CURDATE(), INTERVAL 1 DAY), 'in deposito', 'CNSG5522'), -- solo consegna
|
||||||
(1, DATE_ADD(CURDATE(), INTERVAL 1 DAY), DATE_ADD(CURDATE(), INTERVAL 3 DAY), 'da ritirare', 'CNSG9876'),
|
(1, DATE_ADD(CURDATE(), INTERVAL 1 DAY), NULL, 'da ritirare', 'CNSG9876'), -- solo ritiro
|
||||||
(2, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 2 DAY), 'in consegna', 'CNSG1122');
|
(2, CURDATE(), DATE_ADD(CURDATE(), INTERVAL 2 DAY), 'in consegna', 'CNSG1122'); -- ritiro e consegna
|
||||||
|
|
|
||||||
|
|
@ -166,23 +166,6 @@ router.put("/:id", validateBody(validateConsegnaUpdate), async (req, res) => {
|
||||||
values.push(updates.clienteId);
|
values.push(updates.clienteId);
|
||||||
}
|
}
|
||||||
|
|
||||||
const mergedRitiro =
|
|
||||||
updates.dataRitiro !== undefined
|
|
||||||
? updates.dataRitiro
|
|
||||||
: formatDate(existing.DataRitiro);
|
|
||||||
const mergedConsegna =
|
|
||||||
updates.dataConsegna !== undefined
|
|
||||||
? updates.dataConsegna
|
|
||||||
: formatDate(existing.DataConsegna);
|
|
||||||
|
|
||||||
if (!mergedRitiro && !mergedConsegna) {
|
|
||||||
res.status(400).json({
|
|
||||||
error: "Inserire almeno una data di ritiro o di consegna",
|
|
||||||
fields: { _form: "Inserire almeno una data di ritiro o di consegna" },
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await pool.execute<ResultSetHeader>(
|
await pool.execute<ResultSetHeader>(
|
||||||
`UPDATE consegna SET ${setClauses.join(", ")} WHERE ConsegnaID = ?`,
|
`UPDATE consegna SET ${setClauses.join(", ")} WHERE ConsegnaID = ?`,
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,8 @@ export type ValidationResult<T> =
|
||||||
const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
||||||
|
|
||||||
export function normalizeString(value: unknown): string {
|
export function normalizeString(value: unknown): string {
|
||||||
return value?.toString().trim() ?? "";
|
if (value == null) return "";
|
||||||
|
return value.toString().trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
export function normalizeEmail(value: unknown): string {
|
export function normalizeEmail(value: unknown): string {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue