feat(admin): add discover resource manager

pull/100/head
moonrailgun 2 years ago
parent e507aaee9d
commit 54c2676d23

@ -1567,8 +1567,8 @@ importers:
specifier: workspace:^
version: link:../packages/sdk
tushan:
specifier: ^0.2.36
version: 0.2.36(prop-types@15.8.1)(ts-node@10.9.1)
specifier: ^0.2.37
version: 0.2.37(prop-types@15.8.1)(ts-node@10.9.1)
vite-express:
specifier: 0.8.0
version: 0.8.0(patch_hash=u6touqej4dt3zxnslnszarl7vq)(express@4.18.2)(vite@4.2.0)
@ -33966,8 +33966,8 @@ packages:
domino: 2.1.6
dev: false
/tushan@0.2.36(prop-types@15.8.1)(ts-node@10.9.1):
resolution: {integrity: sha512-ij4yi75TFSGREa4zMn6va2E+Wg/vGKbrEDL7cgoTN9tgtQ3E3csAHQBKOTFhQody2C/CMWH3SU0+/8eQQhE2mw==}
/tushan@0.2.37(prop-types@15.8.1)(ts-node@10.9.1):
resolution: {integrity: sha512-q/imSg1CnvRCD8Q99ueqbjlGS0uFW21fRNVlgwIvG8YEtfQYntOdBZE6gs1xqxWD9qOLInWFDpkcplE2LJR/SA==}
dependencies:
'@arco-design/web-react': 2.49.2(@types/react@18.0.20)(react-dom@18.2.0)(react@18.2.0)
'@tanstack/react-query': 4.29.3(react-dom@18.2.0)(react@18.2.0)

@ -29,7 +29,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"tailchat-server-sdk": "workspace:^",
"tushan": "^0.2.36",
"tushan": "^0.2.37",
"vite-express": "0.8.0"
},
"devDependencies": {

@ -1,4 +1,5 @@
import {
Category,
createTextField,
CustomRoute,
jsonServerProvider,
@ -7,6 +8,7 @@ import {
Tushan,
} from 'tushan';
import {
IconCompass,
IconDashboard,
IconEmail,
IconFile,
@ -20,7 +22,13 @@ import {
} from 'tushan/icon';
import { authHTTPClient, authProvider } from './auth';
import { Dashboard } from './components/Dashboard';
import { fileFields, groupFields, mailFields, messageFields } from './fields';
import {
discoverFields,
fileFields,
groupFields,
mailFields,
messageFields,
} from './fields';
import { i18n } from './i18n';
import { UserList } from './resources/user';
import { CacheManager } from './routes/cache';
@ -100,6 +108,19 @@ function App() {
list={<ListTable fields={mailFields} />}
/>
<Category name="plugins">
<Resource
name="p_discover"
icon={<IconCompass />}
list={
<ListTable
fields={discoverFields}
action={{ create: true, detail: true, delete: true }}
/>
}
/>
</Category>
<CustomRoute name="network" icon={<IconWifi />}>
<TailchatNetwork />
</CustomRoute>

@ -158,3 +158,23 @@ export const mailFields = [
createTextField('error'),
createDateTimeField('createdAt'),
];
export const discoverFields = [
createReferenceField('groupId', {
reference: 'groups',
displayField: 'name',
}),
createBooleanField('active', {
edit: {
default: true,
},
}),
createNumberField('order', {
edit: {
default: 0,
},
list: {
sort: true,
},
}),
];

@ -9,6 +9,16 @@ export const i18n: TushanContextProps['i18n'] = {
label: 'English',
translation: {
...i18nEnTranslation,
resources: {
p_discover: {
name: 'Discover',
fields: {
groupId: 'Group ID',
active: 'Is Active',
order: 'Order',
},
},
},
custom: {
action: {
resetPassword: 'Reset Password',
@ -154,6 +164,14 @@ export const i18n: TushanContextProps['i18n'] = {
createdAt: '创建时间',
},
},
p_discover: {
name: '探索',
fields: {
groupId: '群组ID',
active: '是否活跃',
order: '排序',
},
},
system: {
name: '系统设置',
},
@ -170,6 +188,9 @@ export const i18n: TushanContextProps['i18n'] = {
name: '系统通知',
},
},
category: {
plugins: '插件',
},
custom: {
action: {
resetPassword: '重置密码',

@ -253,5 +253,12 @@ router.use(
auth(),
raExpressMongoose(require('../../../../models/user/mail').default)
);
router.use(
'/p_discover',
auth(),
raExpressMongoose(
require('../../../../plugins/com.msgbyte.discover/models/discover').default
)
);
export { router as apiRouter };

Loading…
Cancel
Save