Files
directus/app/src/modules/users/index.ts
2021-09-30 14:14:14 -04:00

52 lines
1014 B
TypeScript

import { defineModule } from '@directus/shared/utils';
import Collection from './routes/collection.vue';
import Item from './routes/item.vue';
export default defineModule({
id: 'users',
name: '$t:user_directory',
icon: 'people_alt',
routes: [
{
name: 'users-collection',
path: '',
component: Collection,
},
{
name: 'users-item',
path: ':primaryKey',
component: Item,
props: true,
},
{
path: 'roles',
redirect: '/users',
},
{
name: 'roles-collection',
path: 'roles/:role',
component: Collection,
props: true,
},
{
name: 'roles-item-add',
path: 'roles/:role/+',
component: Item,
props: (route) => ({
primaryKey: '+',
role: route.params.role,
}),
},
],
preRegisterCheck(user, permissions) {
const admin = user.role.admin_access;
if (admin) return true;
const permission = permissions.find(
(permission) => permission.collection === 'directus_users' && permission.action === 'read'
);
return !!permission;
},
});