diff --git a/server/admin-next/src/client/App.tsx b/server/admin-next/src/client/App.tsx
index 99986a56..221bf31e 100644
--- a/server/admin-next/src/client/App.tsx
+++ b/server/admin-next/src/client/App.tsx
@@ -8,6 +8,7 @@ import {
} from 'tushan';
import {
IconDashboard,
+ IconEmail,
IconFile,
IconMessage,
IconSettings,
@@ -16,7 +17,13 @@ import {
IconWifi,
} from 'tushan/icon';
import { authProvider } from './auth';
-import { fileFields, groupFields, messageFields, userFields } from './fields';
+import {
+ fileFields,
+ groupFields,
+ mailFields,
+ messageFields,
+ userFields,
+} from './fields';
import { httpClient } from './request';
import { TailchatNetwork } from './routes/network';
import { SocketIOAdmin } from './routes/socketio';
@@ -105,6 +112,13 @@ function App() {
}
/>
+ }
+ list={}
+ />
+
}>
diff --git a/server/admin-next/src/client/fields.ts b/server/admin-next/src/client/fields.ts
index a210e8f2..60da5708 100644
--- a/server/admin-next/src/client/fields.ts
+++ b/server/admin-next/src/client/fields.ts
@@ -129,3 +129,15 @@ export const fileFields = [
createTextField('userId'),
createDateTimeField('createdAt'),
];
+
+export const mailFields = [
+ createTextField('userId'),
+ createTextField('host'),
+ createTextField('port'),
+ createTextField('port'),
+ createTextField('secure'),
+ createTextField('is_success'),
+ createTextField('data'),
+ createTextField('error'),
+ createDateTimeField('createdAt'),
+];
diff --git a/server/admin-next/src/server/router/api.ts b/server/admin-next/src/server/router/api.ts
index 898f85bf..9e347775 100644
--- a/server/admin-next/src/server/router/api.ts
+++ b/server/admin-next/src/server/router/api.ts
@@ -86,5 +86,10 @@ router.use(
q: ['objectName'],
})
);
+router.use(
+ '/mail',
+ auth(),
+ raExpressMongoose(require('../../../../models/user/mail').default)
+);
export { router as apiRouter };