diff --git a/frontend/src/components/admin/notification/NotificationSetting.vue b/frontend/src/components/admin/notification/NotificationSetting.vue
index b3907e48..022762fe 100644
--- a/frontend/src/components/admin/notification/NotificationSetting.vue
+++ b/frontend/src/components/admin/notification/NotificationSetting.vue
@@ -63,6 +63,7 @@ const submitForm = async (values) => {
title: 'Success',
description: 'Settings updated successfully'
})
+ await getNotificationSettings()
} catch (error) {
emitter.emit(EMITTER_EVENTS.SHOW_TOAST, {
title: 'Error',
diff --git a/frontend/src/components/admin/notification/NotificationSettingForm.vue b/frontend/src/components/admin/notification/NotificationSettingForm.vue
index f401c52f..f3aed12d 100644
--- a/frontend/src/components/admin/notification/NotificationSettingForm.vue
+++ b/frontend/src/components/admin/notification/NotificationSettingForm.vue
@@ -1,145 +1,153 @@
-
+
+
\ No newline at end of file
+
diff --git a/frontend/src/components/admin/notification/formSchema.js b/frontend/src/components/admin/notification/formSchema.js
index d06c2bba..160969ac 100644
--- a/frontend/src/components/admin/notification/formSchema.js
+++ b/frontend/src/components/admin/notification/formSchema.js
@@ -3,11 +3,16 @@ import { isGoDuration } from '@/utils/strings';
export const smtpConfigSchema = z.object({
enabled: z.boolean().describe('Enabled status').default(false),
- username: z.string().describe('SMTP username').email(),
- host: z.string().describe('SMTP host').default('smtp.gmail.com'),
+ username: z.string().describe('SMTP username').email().nonempty({
+ message: "SMTP username is required"
+ }),
+ host: z.string().describe('SMTP host').nonempty({
+ message: "SMTP host is required"
+ }),
port: z
.number({
- invalid_type_error: 'Port must be a number.'
+ invalid_type_error: 'Port must be a number.',
+ required_error: 'Port is required.'
})
.min(1, {
message: 'Port must be at least 1.'
@@ -17,16 +22,18 @@ export const smtpConfigSchema = z.object({
})
.describe('SMTP port')
.default(587),
- password: z.string().describe('SMTP password').default(''),
+ password: z.string().describe('SMTP password').nonempty({
+ message: "SMTP password is required"
+ }),
max_conns: z
.number({
- invalid_type_error: 'Must be a number.'
+ invalid_type_error: 'Must be a number.',
+ required_error: 'Maximum connections is required.'
})
.min(1, {
message: 'Maximum connections must be at least 1.'
})
- .describe('Maximum concurrent connections')
- .default(2),
+ .describe('Maximum concurrent connections'),
idle_timeout: z
.string()
.describe('Idle timeout duration')
@@ -43,12 +50,14 @@ export const smtpConfigSchema = z.object({
.default('5s'),
auth_protocol: z
.enum(['plain', 'login', 'cram', 'none'])
- .describe('Authentication protocol')
- .default('plain'),
- email_address: z.string().describe('Email address'),
+ .describe('Authentication protocol'),
+ email_address: z.string().describe('Email address').email().nonempty({
+ message: "Email address is required"
+ }),
max_msg_retries: z
.number({
- invalid_type_error: 'Must be a number.'
+ invalid_type_error: 'Must be a number.',
+ required_error: 'Maximum message retries is required.'
})
.min(0, {
message: 'Max message retries must be at least 0.'