This commit is contained in:
Mr Swift
2024-04-27 20:24:22 +03:30
parent d0b51c7019
commit 309ce78926
2 changed files with 0 additions and 535 deletions
-91
View File
@@ -1,91 +0,0 @@
const checkValidations = validationResult => {
return (req, res, next) => {
const errors = validationResult(req)
if (!errors.isEmpty()) {
const msg = {}
errors.errors.forEach(err => {
msg[err.path] = err.msg
});
res.status(422).json(msg)
} else next()
}
}
function filterDatesWithinDays(data, days, status) {
const currentDate = new Date();
const sevenDaysAgo = new Date(currentDate.getTime() - days * 24 * 60 * 60 * 1000);
if (status) {
return data.orders.filter(item => {
const itemDate = new Date(item.orderDate);
return itemDate >= sevenDaysAgo && itemDate <= currentDate && item.status == status;
});
} else {
return data.orders.filter(item => {
const itemDate = new Date(item.orderDate);
return itemDate >= sevenDaysAgo && itemDate <= currentDate;
});
}
}
function filterWithStatus(data, status) {
return data.orders.filter(item => {
return item.status == status;
});
}
const sumProductsById = (data) => {
const sumArray = [];
const map = {};
data.forEach(item => {
item.products.forEach(pd=>{
const productId = pd.product.uid;
const product = pd.product;
const price = pd.price;
if (!map[productId]) {
map[productId] = { product, total: 0, quantity: 0 };
sumArray.push(map[productId]);
}
map[productId].total += price;
map[productId].quantity = product.stockQuantity;
})
});
return (sumArray.sort((a, b) => a - b)).slice(0, 5);
};
function filterQuantityHigh3(data) {
return data.products.filter(item => {
return item.stockQuantity > 0
});
}
function filterQuantityLow3(data) {
return data.products.filter(item => {
return item.stockQuantity <= 3
});
}
function filterZeroStock(data) {
return data.products.filter(item => {
return item.stockQuantity == 0
});
}
module.exports = {
filterDatesWithinDays,
sumProductsById,
filterWithStatus,
filterQuantityHigh3,
filterQuantityLow3,
filterZeroStock,
checkValidations
}
-444
View File
@@ -309,450 +309,6 @@ module.exports._sr = {
flv: 'Only flv format is acceptable' flv: 'Only flv format is acceptable'
} }
}, },
de: {
required: {
token: 'Token is required',
field: 'This field is required',
// developer validations
remember_me: 'Remember_me-Parameter erforderlich',
// registration validations
name: 'Name eingeben',
first_name: 'Name eingeben',
last_name: 'Nachnamen eingeben',
national_code: 'Nationaler Code ist erforderlich',
email: 'Email eingeben',
email_personal: 'Persönliche E-Mail ist erforderlich',
email_company: 'Für juristische Personen ist eine Unternehmens-E-Mail erforderlich',
company_name: 'Geben Sie den Firmennamen ein, wenn Sie eine juristische Person sind',
username: 'Geben Sie den Benutzernamen ein',
phone_number: 'Telefonnummer eingeben',
password: 'Passwort eingeben',
birthdate: 'Enter birthdate',
// addressing validations
country: 'Land eingeben',
province: 'Stadt betreten',
city: 'Stadt betreten',
address: 'Adresse eingeben',
postal_code: 'Postleitzahl eingeben',
plaque: 'Plakette eingeben',
receiver_first_name: 'Empfängername eingeben',
receiver_last_name: 'Nachname des Empfängers eingeben',
receiver_mobile: 'Handynummer des Empfängers eingebenr',
// global (post - gallery - ...)
title: 'Titel eingeben',
caption: 'Beschriftung eingeben',
description: 'Beschreibung eingeben',
category: 'Kategorie wählen',
image: 'Bild ist erforderlich',
cover: 'Bild ist erforderlich Abdeckung ist erforderlich',
file: 'Datei ist erforderlich',
message: 'Nachricht schreiben',
quantity: 'Menge eingeben',
date: 'Enter date',
reason: 'Grund auswählen',
question: 'Schreibe die Frage',
answer: 'Schreibe die Antwort',
price: 'Enter Price',
type: 'Select type',
discount_code: 'Enter discount code',
discount_amount: 'Enter discount amount',
discount_expire_date: 'Specify discount code expiration date',
user_id: 'Select user',
video: 'Video is required'
},
format: {
phone_number: 'Telefonnummernformat falsch',
email: 'E-Mail-Format nicht korrekt',
number: 'Wert muss Nummer sein',
boolean: 'Wert muss Boolescher Wert sein',
image: 'Photo format is not acceptable',
video: 'Video format is not acceptable',
national_code: 'Nationales Codeformat ist nicht korrekt'
},
min_char: {
min2: 'Mindestens 2 Zeichen',
min4: 'Mindestens 4 Zeichen',
min8: 'Mindestens 8 Zeichen',
min10: 'Mindestens 10 Zeichen',
min20: 'Mindestens 20 Zeichen',
min30: 'Mindestens 30 Zeichen',
min40: 'Mindestens 40 Zeichen',
min50: 'Mindestens 50 Zeichen',
min60: 'Mindestens 60 Zeichen',
min100: 'Mindestens 100 Zeichen',
min120: 'Mindestens 120 Zeichen',
min150: 'Mindestens 150 Zeichen',
min200: 'Mindestens 200 Zeichen',
data_size: 'Akzeptable Mindestgröße: ',
image_width_size: 'Mindestbreite: ',
image_height_size: 'Mindesthöhe: '
},
max_char: {
max4: 'Maximal 4 Zeichen',
max8: 'Maximal 8 Zeichen',
max10: 'Maximal 10 Zeichen',
max15: 'Maximal 15 Zeichen',
max20: 'Maximal 20 Zeichen',
max30: 'Maximal 30 Zeichen',
max40: 'Maximal 40 Zeichen',
max50: 'Maximal 50 Zeichen',
max60: 'Maximal 60 Zeichen',
max100: 'Maximal 100 Zeichen',
max120: 'Maximal 120 Zeichen',
max150: 'Maximal 150 Zeichen',
max200: 'Maximal 200 Zeichen',
data_size: 'Maximal zulässige Größe: ',
image_width_size: 'Maximale Breite: ',
image_height_size: 'Maximale Höhe: '
},
not_found: {
user_id: 'Es gibt keinen Benutzer mit diesem Profil',
admin_id: 'Es gibt keinen Administrator mit diesem Profil',
order_id: 'Es gibt keine Bestellung mit diesem Profil',
item_id: 'Es gibt keinen Artikel mit dieser Spezifikation',
password: 'Passwort oder ID ist falsch'
},
duplicated: {
username: 'Dieser Benutzername existiert bereits',
email: 'Diese E-Mail existiert bereits',
name: 'Name ist doppelt',
title: 'Titel ist doppelt',
phone_number: 'Phone number already exists'
},
response: {
logged_in: 'Sie sind angemeldet',
not_logged_in: 'Sie sind nicht angemeldet',
logged_out: 'Sie sind abgemeldet',
unauthenticated: 'nicht authentifiziert',
recovery_link: 'Wiederherstellungslink gesendet',
success_save: 'Erfolgreich gespeichert',
success_remove: 'Erfolgreich entfernt',
cart_empty: 'Warenkorb ist leer',
ready_has_address: 'Hat bereits Adresse',
activation_code: 'Activation code sent to you',
activation_email: 'Activation email sent to you',
expired_reset_link: 'Der aktuelle Reset-Pass-Link ist abgelaufen',
email_not_confirmed: 'Bestätigen Sie zuerst Ihre E-Mail, der Aktivierungslink wurde bereits an Sie gesendet.',
expired_activation_link: 'Dieser Aktivierungslink ist abgelaufen',
success_activation: 'Ihr Konto wurde erfolgreich aktiviert',
passwords_not_match: 'Passwörter sind nicht dasselbe',
problem: 'Es gibt ein Problem, bitte versuchen Sie es erneut.',
latinChar: 'Please write in Latin letters',
persianChar: 'Please write in Persian letters',
whiteSpace: 'There should be no space between letters and words'
},
file_types: {
jpg: 'Nur das jpg-Format ist akzeptabel',
png: 'Nur das png-Format ist akzeptabel',
gif: 'Nur das gif-Format ist akzeptabel',
pdf: 'Nur das PDF-Format ist akzeptabel',
txt: 'Nur das txt-Format ist akzeptabel',
log: 'Nur das log-Format ist akzeptabel',
mp3: 'Nur das mp3-Format ist akzeptabel',
ogg: 'Nur das ogg-Format ist akzeptabel',
wmv: 'Nur das wmv-Format ist akzeptabel',
mp4: 'Nur das mp4-Format ist akzeptabel',
mov: 'Nur das mov-Format ist akzeptabel',
mkv: 'Nur das mkv-Format ist akzeptabel',
flv: 'Nur das flv-Format ist akzeptabel'
}
},
tr: {
required: {
token: 'Token is required',
field: 'This field is required',
// geliştirici doğrulamaları
Remember_me: 'Remember_me parametresi gerekli',
// kayıt doğrulamaları
name: 'Adı girin',
first_name: 'Adı girin',
last_name: 'Soyadı girin',
national_code: 'Nationaler Kodu erforderlich',
email: 'E-posta girin',
email_personal: 'Kişisel e-posta gereklidir',
email_company: 'Tüzel kişiler için şirket e-postası gereklidir',
company_name: 'Tüzel kişiyseniz şirket adını girin',
username: 'Kullanıcı adını girin',
phone_number: 'Telefon numarasını girin',
password: 'Şifre girin',
birthdate: 'Enter birthdate',
// doğrulamaları adresleme
country: 'Ülke girin',
province: 'İl girin',
city: 'Şehir girin',
address: 'Adres girin',
postal_code: 'Posta kodunu girin',
plaque: 'Plak girin',
receiver_first_name: 'Alıcı adını girin',
receiver_last_name: 'Alıcının soyadını girin',
receiver_mobile: 'Alıcının cep telefonu numarasını girin',
// global (post - galeri - ...)
title: 'Başlığı girin',
caption: 'Başlık girin',
description: 'Açıklama girin',
category: 'Kategori seçin',
image: 'Resim gerekli',
cover: 'Kapak gereklidir',
file: 'Dosya gerekli',
message: 'Mesaj yaz',
quantity: 'Miktar girin',
date: 'Enter date',
reason: 'Nedeni seçin',
question: 'Soruyu yazın',
answer: 'Cevabı yaz',
price: 'Enter Price',
type: 'Select type',
discount_code: 'Enter discount code',
discount_amount: 'Enter discount amount',
discount_expire_date: 'Specify discount code expiration date',
user_id: 'Select user',
video: 'Video is required'
},
format: {
phone_number: 'Telefon numarası biçimi yanlış',
email: 'E-posta formatı doğru değil',
number: 'Değer sayı olmalıdır',
boolean: 'Değer Boole olmalıdır',
image: 'Photo format is not acceptable',
video: 'Video format is not acceptable',
national_code: 'Ulusal kod formatı doğru değil'
},
min_char: {
min2: 'En az 2 karakter',
min4: 'En az 4 karakter',
min8: 'En az 8 karakter',
min10: 'En az 10 karakter',
min20: 'En az 20 karakter',
min30: 'En az 30 karakter',
min40: 'En az 40 karakter',
min50: 'En az 50 karakter',
min60: 'En az 60 karakter',
min100: 'En az 100 karakter',
min120: 'En az 120 karakter',
min150: 'En az 150 karakter',
min200: 'En az 200 karakter',
data_size: 'Kabul edilebilir minimum boyut: ',
image_width_size: 'Minimum genişlik: ',
image_height_size: 'Minimum yükseklik: '
},
max_char: {
max4: 'Maksimum 4 karakter',
max8: 'Maksimum 8 karakter',
max10: 'Maksimum 10 karakter',
max15: 'Maksimum 15 karakter',
max20: 'Maksimum 20 karakter',
max30: 'Maksimum 30 karakter',
max40: 'Maksimum 40 karakter',
max50: 'Maksimum 50 karakter',
max60: 'Maksimum 60 karakter',
max100: 'Maksimum 100 karakter',
max120: 'Maksimum 120 karakter',
max150: 'Maksimum 150 karakter',
max200: 'Maksimum 200 karakter',
data_size: 'Kabul edilebilir maksimum boyut: ',
image_width_size: 'Maksimum genişlik: ',
image_height_size: 'Maksimum yükseklik: '
},
not_found: {
user_id: 'Bu profile sahip kullanıcı yok',
admin_id: 'Bu profile sahip yönetici yok',
order_id: 'Bu profilde sipariş yok',
item_id: 'Bu spesifikasyona sahip hiçbir öğe yok',
password: 'Şifre veya kimlik yanlış'
},
duplicated: {
username: 'Bu kullanıcı adı zaten mevcut',
email: 'Bu email zaten var',
name: 'Ad çift',
title: 'Başlık yineleniyor',
phone_number: 'Phone number already exists'
},
response: {
logged_in: 'Giriş yaptınız',
not_logged_in: 'Giriş yapmadınız',
logged_out: 'Çıkış yaptınız',
unauthenticated: 'unauthenticated',
recovery_link: 'Kurtarma bağlantısı gönderildi',
success_save: 'Başarıyla kaydedildi',
success_remove: 'Başarıyla kaldırıldı',
cart_empty: 'Sepet boş',
already_has_address: 'Zaten adresi var',
activation_code: 'Activation code sent to you',
activation_email: 'Activation email sent to you',
expired_reset_link: 'Mevcut sıfırlama geçiş bağlantısının süresi doldu',
email_not_confirmed: 'Önce e-postanızı onaylayın, aktivasyon bağlantısı size zaten gönderildi.',
expired_activation_link: 'Bu aktivasyon bağlantısının süresi doldu',
success_activation: 'Hesabınız başarıyla etkinleştirildi',
passwords_not_match: 'Şifreler aynı değil',
problem: 'Bir sorun var, lütfen tekrar deneyin.',
latinChar: 'Please write in Latin letters',
persianChar: 'Please write in Persian letters',
whiteSpace: 'There should be no space between letters and words'
},
file_types: {
jpg: 'Yalnızca jpg formatı kabul edilebilir',
png: 'Sadece png formatı kabul edilebilir',
gif: 'Yalnızca gif formatı kabul edilebilir',
pdf: 'Yalnızca pdf formatı kabul edilebilir',
txt: 'Yalnızca txt formatı kabul edilebilir',
log: 'Yalnızca log formatı kabul edilebilir',
mp3: 'Yalnızca mp3 formatı kabul edilebilir',
ogg: 'Yalnızca ogg formatı kabul edilebilir',
wmv: 'Yalnızca wmv formatı kabul edilebilir',
mp4: 'Yalnızca mp4 formatı kabul edilebilir',
mov: 'Yalnızca mov formatı kabul edilebilir',
mkv: 'Yalnızca mkv formatı kabul edilebilir',
flv: 'Yalnızca flv biçimi kabul edilebilir'
}
},
it: {
required: {
token: 'Token is required',
field: 'This field is required',
// convalide dello sviluppatore
Remember_me: 'Remember_me parameter required',
// convalide della registrazione
name: 'Inserisci nome',
first_name: 'Inserisci nome',
last_name: 'Inserisci il cognome',
national_code: 'Il codice Nationaler è comune',
email: 'Enter email',
email_personal: "L'email personale è obbligatoria",
email_company: "L'email aziendale è obbligatoria per le persone giuridiche",
company_name: "Inserisci il nome dell'azienda se sei una persona giuridica",
username: 'Inserisci nome utente',
phone_number: 'Inserisci numero di telefono',
password: 'Inserisci password',
birthdate: 'Enter birthdate',
// indirizzamento delle convalide
country: 'Inserisci paese',
province: 'Inserisci provincia',
city: 'Inserisci città',
address: 'Inserisci indirizzo',
postal_code: 'Inserisci codice postale',
plaque: 'Inserisci targa',
receiver_first_name: 'Inserisci il nome del destinatario',
receiver_last_name: 'Inserisci il cognome del destinatario',
receiver_mobile: 'Inserisci il numero di cellulare del destinatario',
// globale (post - gallery - ...)
title: 'Inserisci titolo',
caption: 'Inserisci didascalia',
description: 'Inserisci descrizione',
category: 'Seleziona categoria',
image: "L'immagine è obbligatoria",
cover: 'Cover is required',
file: 'Il file è obbligatorio',
message: 'Scrivi messaggio',
quantity: 'Inserisci quantità',
date: 'Enter date',
reason: 'Seleziona motivo',
question: 'Scrivi la domanda',
answer: 'Scrivi la risposta',
price: 'Enter Price',
type: 'Select type',
discount_code: 'Enter discount code',
discount_amount: 'Enter discount amount',
discount_expire_date: 'Specify discount code expiration date',
user_id: 'Select user',
video: 'Video is required'
},
format: {
phone_number: 'Formato del numero di telefono non corretto',
email: 'Formato email non corretto',
number: 'Il valore deve essere un numero',
boolean: 'Il valore deve essere booleano',
image: 'Photo format is not acceptable',
video: 'Video format is not acceptable',
national_code: 'Il formato del codice nazionale non è corretto'
},
min_char: {
min2: 'Almeno 2 caratteri',
min4: 'Almeno 4 caratteri',
min8: 'Almeno 8 caratteri',
min10: 'Almeno 10 caratteri',
min20: 'Almeno 20 caratteri',
min30: 'Almeno 30 caratteri',
min40: 'Almeno 40 caratteri',
min50: 'Almeno 50 caratteri',
min60: 'Almeno 60 caratteri',
min100: 'Almeno 100 caratteri',
min120: 'Almeno 120 caratteri',
min150: 'Almeno 150 caratteri',
min200: 'Almeno 200 caratteri',
data_size: 'Dimensione minima accettabile: ',
image_width_size: 'Larghezza minima: ',
image_height_size: 'Altezza minima: '
},
max_char: {
max4: 'Massimo 4 caratteri',
max8: 'Massimo 8 caratteri',
max10: 'Massimo 10 caratteri',
max15: 'Massimo 15 caratteri',
max20: 'Massimo 20 caratteri',
max30: 'Massimo 30 caratteri',
max40: 'Massimo 40 caratteri',
max50: 'Massimo 50 caratteri',
max60: 'Massimo 60 caratteri',
max100: 'Massimo 100 caratteri',
max120: 'Massimo 120 caratteri',
max150: 'Massimo 150 caratteri',
max200: 'Massimo 200 caratteri',
data_size: 'Dimensione massima accettabile: ',
image_width_size: 'Larghezza massima: ',
image_height_size: 'Altezza massima: '
},
not_found: {
user_id: 'Nessun utente con questo profilo',
admin_id: 'Nessun amministratore con questo profilo',
order_id: 'Nessun ordine con questo profilo',
item_id: 'Nessun articolo con questa specifica',
password: "La password o l'ID non sono corretti"
},
duplicated: {
username: 'Questo nome utente esiste già',
email: 'Questa email esiste già',
name: 'Il nome è duplicato',
title: 'Il titolo è duplicato',
phone_number: 'Phone number already exists'
},
response: {
logged_in: "Hai effettuato l'accesso",
not_logged_in: 'Non sei loggato',
logged_out: 'Sei disconnesso',
unauthenticated: 'unauthenticated',
recovery_link: 'Link di ripristino inviato',
success_save: 'Salvataggio riuscito',
success_remove: 'Rimosso con successo',
cart_empty: 'Il carrello è vuoto',
already_has_address: 'Ha già indirizzo',
activation_code: 'Activation code sent to you',
activation_email: 'Activation email sent to you',
expired_reset_link: "L'attuale link del passaggio di reimpostazione è scaduto",
email_not_confirmed: 'Conferma prima la tua email, il link di attivazione ti è già stato inviato.',
expired_activation_link: 'Questo link di attivazione è scaduto',
success_activation: 'Il tuo account è stato attivato con successo',
passwords_not_match: 'Le password non sono le stesse',
problem: 'Si è verificato un problema, riprova.',
latinChar: 'Please write in Latin letters',
persianChar: 'Please write in Persian letters',
whiteSpace: 'There should be no space between letters and words'
},
file_types: {
jpg: 'È accettabile solo il formato jpg',
png: 'È accettabile solo il formato png',
gif: 'È accettabile solo il formato GIF',
pdf: 'È accettabile solo il formato pdf',
txt: 'È accettabile solo il formato txt',
log: 'È accettabile solo il formato log',
mp3: 'È accettabile solo il formato mp3',
ogg: 'È accettabile solo il formato ogg',
wmv: 'È accettabile solo il formato wmv',
mp4: 'È accettabile solo il formato mp4',
mov: 'È accettabile solo il formato mov',
mkv: 'È accettabile solo il formato mkv',
flv: 'È accettabile solo il formato flv'
}
},
supportedImageFormats: ['jpg', 'jpeg', 'png', 'svg', 'svg+xml', 'webp'], supportedImageFormats: ['jpg', 'jpeg', 'png', 'svg', 'svg+xml', 'webp'],
supportedVideoFormats: ['mp4', 'wmv'] supportedVideoFormats: ['mp4', 'wmv']
} }