diff --git a/plugins/HelperFunctions.js b/plugins/HelperFunctions.js index 5181c5f..e69de29 100644 --- a/plugins/HelperFunctions.js +++ b/plugins/HelperFunctions.js @@ -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 -} \ No newline at end of file diff --git a/plugins/resServer.js b/plugins/resServer.js index 7c4257f..bd861f0 100644 --- a/plugins/resServer.js +++ b/plugins/resServer.js @@ -309,450 +309,6 @@ module.exports._sr = { 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'], supportedVideoFormats: ['mp4', 'wmv'] }