mirror of
https://github.com/rustmailer/bichon.git
synced 2026-08-03 07:48:34 +02:00
fix: batch size validation
This commit is contained in:
@@ -39,7 +39,7 @@ pub struct AccountCreateRequest {
|
||||
pub folder_limit: Option<u32>,
|
||||
#[oai(validator(minimum(value = "10")))]
|
||||
pub sync_interval_min: Option<i64>,
|
||||
#[oai(validator(minimum(value = "30"), maximum(value = "200")))]
|
||||
#[oai(validator(minimum(value = "10"), maximum(value = "200")))]
|
||||
pub sync_batch_size: Option<u32>,
|
||||
pub use_proxy: Option<u64>,
|
||||
pub use_dangerous: bool,
|
||||
@@ -145,7 +145,7 @@ pub struct AccountUpdateRequest {
|
||||
/// Incremental sync interval (seconds)
|
||||
#[oai(validator(minimum(value = "10")))]
|
||||
pub sync_interval_min: Option<i64>,
|
||||
#[oai(validator(minimum(value = "30"), maximum(value = "200")))]
|
||||
#[oai(validator(minimum(value = "10"), maximum(value = "200")))]
|
||||
pub sync_batch_size: Option<u32>,
|
||||
/// Optional proxy ID for establishing the connection to external APIs (e.g., Gmail, Outlook).
|
||||
/// - If `None` or not provided, the client will connect directly to the API server.
|
||||
|
||||
@@ -132,10 +132,10 @@ const getAccountSchema = (isEdit: boolean, t: (key: string) => string) =>
|
||||
.optional(),
|
||||
sync_interval_min: z.number({ invalid_type_error: t('validation.incrementalSyncMustBeNumber') }).int().min(10, { message: t('validation.incrementalSyncMustBeAtLeast10') }),
|
||||
sync_batch_size: z
|
||||
.number({ invalid_type_error: t('validation.incrementalSyncMustBeNumber') })
|
||||
.number({ invalid_type_error: t('validation.singleRequestBatchSizeMustBeNumber') })
|
||||
.int()
|
||||
.min(30, { message: t('validation.incrementalSyncMustBeAtLeast10') })
|
||||
.max(200, { message: t('validation.incrementalSyncMustBeAtLeast10') }),
|
||||
.min(10, { message: t('validation.singleRequestBatchSizeTooSmall') })
|
||||
.max(200, { message: t('validation.singleRequestBatchSizeTooLarge') }),
|
||||
});
|
||||
|
||||
type Step = {
|
||||
@@ -180,7 +180,7 @@ const defaultValues: Account = {
|
||||
date_before: undefined,
|
||||
folder_limit: undefined,
|
||||
sync_interval_min: 10,
|
||||
sync_batch_size: 50,
|
||||
sync_batch_size: 30,
|
||||
};
|
||||
|
||||
const emptyImap: ImapConfig = {
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "يجب أن يكون حد المجلد 100 على الأقل",
|
||||
"incrementalSyncMustBeNumber": "يجب أن يكون فاصل المزامنة التزايدية رقمًا",
|
||||
"incrementalSyncMustBeAtLeast10": "يجب أن يكون فاصل المزامنة التزايدية 10 دقائق على الأقل",
|
||||
"pleaseEnterUsernameOrEmail": "الرجاء إدخال اسم المستخدم أو البريد الإلكتروني الخاص بك"
|
||||
"pleaseEnterUsernameOrEmail": "الرجاء إدخال اسم المستخدم أو البريد الإلكتروني الخاص بك",
|
||||
"singleRequestBatchSizeMustBeNumber": "يجب أن يكون حجم الدُفعة رقماً",
|
||||
"singleRequestBatchSizeTooSmall": "يجب أن يكون حجم الدُفعة على الأقل 10",
|
||||
"singleRequestBatchSizeTooLarge": "يجب أن يكون حجم الدُفعة على الأكثر 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "لم يتم العثور على نتائج",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "Mappegrænse skal være mindst 100",
|
||||
"incrementalSyncMustBeNumber": "Inkrementelt synkroniseringsinterval skal være et tal",
|
||||
"incrementalSyncMustBeAtLeast10": "Inkrementelt synkroniseringsinterval skal være mindst 10 minutter",
|
||||
"pleaseEnterUsernameOrEmail": "Indtast dit brugernavn eller din e-mailadresse"
|
||||
"pleaseEnterUsernameOrEmail": "Indtast dit brugernavn eller din e-mailadresse",
|
||||
"singleRequestBatchSizeMustBeNumber": "Batch‑størrelse skal være et tal",
|
||||
"singleRequestBatchSizeTooSmall": "Batch‑størrelse skal være mindst 10",
|
||||
"singleRequestBatchSizeTooLarge": "Batch‑størrelse skal være højst 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "Ingen resultater fundet",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "Das Ordnerlimit muss mindestens 100 betragen",
|
||||
"incrementalSyncMustBeNumber": "Das inkrementelle Synchronisierungsintervall muss eine Zahl sein",
|
||||
"incrementalSyncMustBeAtLeast10": "Das inkrementelle Synchronisierungsintervall muss mindestens 10 Minuten betragen",
|
||||
"pleaseEnterUsernameOrEmail": "Bitte geben Sie Ihren Benutzernamen oder Ihre E-Mail-Adresse ein"
|
||||
"pleaseEnterUsernameOrEmail": "Bitte geben Sie Ihren Benutzernamen oder Ihre E-Mail-Adresse ein",
|
||||
"singleRequestBatchSizeMustBeNumber": "Die Stapelgröße muss eine Zahl sein",
|
||||
"singleRequestBatchSizeTooSmall": "Die Stapelgröße muss mindestens 10 sein",
|
||||
"singleRequestBatchSizeTooLarge": "Die Stapelgröße darf höchstens 200 sein"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "Keine Ergebnisse gefunden",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "Folder limit must be at least 100",
|
||||
"incrementalSyncMustBeNumber": "Incremental sync interval must be a number",
|
||||
"incrementalSyncMustBeAtLeast10": "Incremental sync interval must be at least 10 minutes",
|
||||
"pleaseEnterUsernameOrEmail": "Please enter your username or email"
|
||||
"pleaseEnterUsernameOrEmail": "Please enter your username or email",
|
||||
"singleRequestBatchSizeMustBeNumber": "Batch size must be a number",
|
||||
"singleRequestBatchSizeTooSmall": "Batch size must be at least 10",
|
||||
"singleRequestBatchSizeTooLarge": "Batch size must be at most 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "No results found",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "El límite de carpetas debe ser de al menos 100",
|
||||
"incrementalSyncMustBeNumber": "El intervalo de sincronización incremental debe ser un número",
|
||||
"incrementalSyncMustBeAtLeast10": "El intervalo de sincronización incremental debe ser de al menos 10 minutos",
|
||||
"pleaseEnterUsernameOrEmail": "Por favor, introduzca su nombre de usuario o correo electrónico"
|
||||
"pleaseEnterUsernameOrEmail": "Por favor, introduzca su nombre de usuario o correo electrónico",
|
||||
"singleRequestBatchSizeMustBeNumber": "El tamaño del lote debe ser un número",
|
||||
"singleRequestBatchSizeTooSmall": "El tamaño del lote debe ser al menos 10",
|
||||
"singleRequestBatchSizeTooLarge": "El tamaño del lote debe ser como máximo 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "No se encontraron resultados",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "Kansiorajan on oltava vähintään 100",
|
||||
"incrementalSyncMustBeNumber": "Lisäävän synkronoinnin välin on oltava numero",
|
||||
"incrementalSyncMustBeAtLeast10": "Lisäävän synkronoinnin välin on oltava vähintään 10 minuuttia",
|
||||
"pleaseEnterUsernameOrEmail": "Ole hyvä ja anna käyttäjänimesi tai sähköpostiosoitteesi"
|
||||
"pleaseEnterUsernameOrEmail": "Ole hyvä ja anna käyttäjänimesi tai sähköpostiosoitteesi",
|
||||
"singleRequestBatchSizeMustBeNumber": "Eräkoko tulee olla numero",
|
||||
"singleRequestBatchSizeTooSmall": "Eräkoko tulee olla vähintään 10",
|
||||
"singleRequestBatchSizeTooLarge": "Eräkoko tulee olla enintään 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "Ei tuloksia löydy",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "La limite de dossiers doit être d'au moins 100",
|
||||
"incrementalSyncMustBeNumber": "L'intervalle de synchronisation incrémentielle doit être un nombre",
|
||||
"incrementalSyncMustBeAtLeast10": "L'intervalle de synchronisation incrémentielle doit être d'au moins 10 minutes",
|
||||
"pleaseEnterUsernameOrEmail": "Veuillez entrer votre nom d'utilisateur ou votre courriel"
|
||||
"pleaseEnterUsernameOrEmail": "Veuillez entrer votre nom d'utilisateur ou votre courriel",
|
||||
"singleRequestBatchSizeMustBeNumber": "La taille du lot doit être un nombre",
|
||||
"singleRequestBatchSizeTooSmall": "La taille du lot doit être au moins 10",
|
||||
"singleRequestBatchSizeTooLarge": "La taille du lot doit être au plus 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "Aucun résultat trouvé",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "Il limite di cartelle deve essere almeno 100",
|
||||
"incrementalSyncMustBeNumber": "L'intervallo di sincronizzazione incrementale deve essere un numero",
|
||||
"incrementalSyncMustBeAtLeast10": "L'intervallo di sincronizzazione incrementale deve essere di almeno 10 minuti",
|
||||
"pleaseEnterUsernameOrEmail": "Inserisci il tuo nome utente o email"
|
||||
"pleaseEnterUsernameOrEmail": "Inserisci il tuo nome utente o email",
|
||||
"singleRequestBatchSizeMustBeNumber": "La dimensione del batch deve essere un numero",
|
||||
"singleRequestBatchSizeTooSmall": "La dimensione del batch deve essere almeno 10",
|
||||
"singleRequestBatchSizeTooLarge": "La dimensione del batch deve essere al massimo 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "Nessun risultato trovato",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "フォルダーの制限は100以上である必要があります",
|
||||
"incrementalSyncMustBeNumber": "増分同期間隔は数値である必要があります",
|
||||
"incrementalSyncMustBeAtLeast10": "増分同期間隔は10分以上である必要があります",
|
||||
"pleaseEnterUsernameOrEmail": "ユーザー名またはメールアドレスを入力してください"
|
||||
"pleaseEnterUsernameOrEmail": "ユーザー名またはメールアドレスを入力してください",
|
||||
"singleRequestBatchSizeMustBeNumber": "バッチサイズは数値でなければなりません",
|
||||
"singleRequestBatchSizeTooSmall": "バッチサイズは最低でも10でなければなりません",
|
||||
"singleRequestBatchSizeTooLarge": "バッチサイズは最大でも200でなければなりません"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "結果が見つかりませんでした",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "폴더 제한은 최소 100 이상이어야 합니다",
|
||||
"incrementalSyncMustBeNumber": "증분 동기화 간격은 숫자여야 합니다",
|
||||
"incrementalSyncMustBeAtLeast10": "증분 동기화 간격은 최소 10분 이상이어야 합니다",
|
||||
"pleaseEnterUsernameOrEmail": "사용자 이름 또는 이메일을 입력하세요"
|
||||
"pleaseEnterUsernameOrEmail": "사용자 이름 또는 이메일을 입력하세요",
|
||||
"singleRequestBatchSizeMustBeNumber": "배치 크기는 숫자여야 합니다",
|
||||
"singleRequestBatchSizeTooSmall": "배치 크기는 최소 10이어야 합니다",
|
||||
"singleRequestBatchSizeTooLarge": "배치 크기는 최대 200이어야 합니다"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "검색 결과 없음",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "Mappenlimiet moet ten minste 100 zijn",
|
||||
"incrementalSyncMustBeNumber": "Incrementaal sync interval moet een nummer zijn",
|
||||
"incrementalSyncMustBeAtLeast10": "Incrementaal sync interval moet ten minste 10 minuten zijn",
|
||||
"pleaseEnterUsernameOrEmail": "Voer alstublieft uw gebruikersnaam of e-mailadres in"
|
||||
"pleaseEnterUsernameOrEmail": "Voer alstublieft uw gebruikersnaam of e-mailadres in",
|
||||
"singleRequestBatchSizeMustBeNumber": "Batch‑grootte moet een nummer zijn",
|
||||
"singleRequestBatchSizeTooSmall": "Batch‑grootte moet ten minste 10 zijn",
|
||||
"singleRequestBatchSizeTooLarge": "Batch‑grootte moet hoogstens 200 zijn"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "Geen resultaten gevonden",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "Mappegrense må være minst 100",
|
||||
"incrementalSyncMustBeNumber": "Intervall for inkrementell synkronisering må være et tall",
|
||||
"incrementalSyncMustBeAtLeast10": "Intervall for inkrementell synkronisering må være minst 10 minutter",
|
||||
"pleaseEnterUsernameOrEmail": "Skriv inn brukernavn eller e-postadresse"
|
||||
"pleaseEnterUsernameOrEmail": "Skriv inn brukernavn eller e-postadresse",
|
||||
"singleRequestBatchSizeMustBeNumber": "Batchstørrelse må være et tall",
|
||||
"singleRequestBatchSizeTooSmall": "Batchstørrelse må være minst 10",
|
||||
"singleRequestBatchSizeTooLarge": "Batchstørrelse må være maksimalt 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "Ingen resultater funnet",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "Limit folderów musi być liczbą nie mniejszą niż 100",
|
||||
"incrementalSyncMustBeNumber": "Przyrostowy interwał synchronizacji musi być liczbą",
|
||||
"incrementalSyncMustBeAtLeast10": "Przyrostowy interwał synchronizacji musi wynosić co najmniej 10 minut",
|
||||
"pleaseEnterUsernameOrEmail": "Proszę podać nazwę użytkownika lub adres e-mail"
|
||||
"pleaseEnterUsernameOrEmail": "Proszę podać nazwę użytkownika lub adres e-mail",
|
||||
"singleRequestBatchSizeMustBeNumber": "Rozmiar partii musi być liczbą",
|
||||
"singleRequestBatchSizeTooSmall": "Rozmiar partii musi wynosić co najmniej 10",
|
||||
"singleRequestBatchSizeTooLarge": "Rozmiar partii może wynosić maksymalnie 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "Brak wyników",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "O Limite de Pasta deve ser pelo menos 100",
|
||||
"incrementalSyncMustBeNumber": "O Intervalo de Sincronização Incremental deve ser um número",
|
||||
"incrementalSyncMustBeAtLeast10": "O Intervalo de Sincronização Incremental deve ser de pelo menos 10 minutos",
|
||||
"pleaseEnterUsernameOrEmail": "Por favor, digite seu nome de usuário ou e-mail"
|
||||
"pleaseEnterUsernameOrEmail": "Por favor, digite seu nome de usuário ou e-mail",
|
||||
"singleRequestBatchSizeMustBeNumber": "O tamanho do lote deve ser um número",
|
||||
"singleRequestBatchSizeTooSmall": "O tamanho do lote deve ser pelo menos 10",
|
||||
"singleRequestBatchSizeTooLarge": "O tamanho do lote deve ser no máximo 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "Nenhum resultado encontrado",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "Лимит папки должен быть не менее 100",
|
||||
"incrementalSyncMustBeNumber": "Интервал инкрементальной синхронизации должен быть числом",
|
||||
"incrementalSyncMustBeAtLeast10": "Интервал инкрементальной синхронизации должен быть не менее 10 минут",
|
||||
"pleaseEnterUsernameOrEmail": "Пожалуйста, введите ваше имя пользователя или адрес электронной почты"
|
||||
"pleaseEnterUsernameOrEmail": "Пожалуйста, введите ваше имя пользователя или адрес электронной почты",
|
||||
"singleRequestBatchSizeMustBeNumber": "Размер пакета должен быть числом",
|
||||
"singleRequestBatchSizeTooSmall": "Размер пакета должен быть не менее 10",
|
||||
"singleRequestBatchSizeTooLarge": "Размер пакета должен быть не более 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "Результатов не найдено",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "Mappgräns måste vara minst 100",
|
||||
"incrementalSyncMustBeNumber": "Intervall för inkrementell synkronisering måste vara ett tal",
|
||||
"incrementalSyncMustBeAtLeast10": "Intervall för inkrementell synkronisering måste vara minst 10 minuter",
|
||||
"pleaseEnterUsernameOrEmail": "Vänligen ange ditt användarnamn eller din e-postadress"
|
||||
"pleaseEnterUsernameOrEmail": "Vänligen ange ditt användarnamn eller din e-postadress",
|
||||
"singleRequestBatchSizeMustBeNumber": "Batchstorlek måste vara ett tal",
|
||||
"singleRequestBatchSizeTooSmall": "Batchstorlek måste vara minst 10",
|
||||
"singleRequestBatchSizeTooLarge": "Batchstorlek måste vara högst 200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "Inga resultat hittades",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "資料夾限制必須至少為 100",
|
||||
"incrementalSyncMustBeNumber": "增量同步間隔必須是數字",
|
||||
"incrementalSyncMustBeAtLeast10": "增量同步間隔必須至少為 10 分鐘",
|
||||
"pleaseEnterUsernameOrEmail": "請輸入您的使用者名稱或電子郵件"
|
||||
"pleaseEnterUsernameOrEmail": "請輸入您的使用者名稱或電子郵件",
|
||||
"singleRequestBatchSizeMustBeNumber": "批次大小必須是數字",
|
||||
"singleRequestBatchSizeTooSmall": "批次大小必須至少為10",
|
||||
"singleRequestBatchSizeTooLarge": "批次大小必須最多為200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "查無結果",
|
||||
|
||||
@@ -938,7 +938,10 @@
|
||||
"folderLimitMustBeAtLeast100": "文件夹限制必须至少为 100",
|
||||
"incrementalSyncMustBeNumber": "增量同步间隔必须是数字",
|
||||
"incrementalSyncMustBeAtLeast10": "增量同步间隔必须至少为 10 分钟",
|
||||
"pleaseEnterUsernameOrEmail": "请输入您的用户名或邮箱"
|
||||
"pleaseEnterUsernameOrEmail": "请输入您的用户名或邮箱",
|
||||
"singleRequestBatchSizeMustBeNumber": "批大小必须是数字",
|
||||
"singleRequestBatchSizeTooSmall": "批大小必须至少为10",
|
||||
"singleRequestBatchSizeTooLarge": "批大小必须最多为200"
|
||||
},
|
||||
"table": {
|
||||
"noResults": "未找到结果",
|
||||
|
||||
Reference in New Issue
Block a user