Browse Source

refs 125405: move external user group reelated files to features

Futa Arai 2 years ago
parent
commit
69a0ac7b88

+ 1 - 1
apps/app/src/components/Admin/UserGroup/UserGroupPage.tsx

@@ -5,11 +5,11 @@ import { useTranslation } from 'react-i18next';
 
 
 import { apiv3Delete, apiv3Post, apiv3Put } from '~/client/util/apiv3-client';
 import { apiv3Delete, apiv3Post, apiv3Put } from '~/client/util/apiv3-client';
 import { toastSuccess, toastError } from '~/client/util/toastr';
 import { toastSuccess, toastError } from '~/client/util/toastr';
+import { ExternalGroupManagement } from '~/features/external-user-group/client/components/ExternalUserGroup/ExternalUserGroupManagement';
 import { IUserGroup, IUserGroupHasId } from '~/interfaces/user';
 import { IUserGroup, IUserGroupHasId } from '~/interfaces/user';
 import { useIsAclEnabled } from '~/stores/context';
 import { useIsAclEnabled } from '~/stores/context';
 import { useSWRxUserGroupList, useSWRxChildUserGroupList, useSWRxUserGroupRelationList } from '~/stores/user-group';
 import { useSWRxUserGroupList, useSWRxChildUserGroupList, useSWRxUserGroupRelationList } from '~/stores/user-group';
 
 
-import { ExternalGroupManagement } from './ExternalUserGroup/ExternalUserGroupManagement';
 
 
 const UserGroupDeleteModal = dynamic(() => import('./UserGroupDeleteModal').then(mod => mod.UserGroupDeleteModal), { ssr: false });
 const UserGroupDeleteModal = dynamic(() => import('./UserGroupDeleteModal').then(mod => mod.UserGroupDeleteModal), { ssr: false });
 const UserGroupModal = dynamic(() => import('./UserGroupModal').then(mod => mod.UserGroupModal), { ssr: false });
 const UserGroupModal = dynamic(() => import('./UserGroupModal').then(mod => mod.UserGroupModal), { ssr: false });

+ 1 - 1
apps/app/src/components/Admin/UserGroup/ExternalUserGroup/ExternalUserGroupEditModal.tsx → apps/app/src/features/external-user-group/client/components/ExternalUserGroup/ExternalUserGroupEditModal.tsx

@@ -7,7 +7,7 @@ import {
   Modal, ModalHeader, ModalBody, ModalFooter,
   Modal, ModalHeader, ModalBody, ModalFooter,
 } from 'reactstrap';
 } from 'reactstrap';
 
 
-import { IExternalUserGroupHasId } from '~/interfaces/external-user-group';
+import { IExternalUserGroupHasId } from '~/features/external-user-group/interfaces/external-user-group';
 
 
 type Props = {
 type Props = {
   externalUserGroup?: IExternalUserGroupHasId,
   externalUserGroup?: IExternalUserGroupHasId,

+ 8 - 4
apps/app/src/components/Admin/UserGroup/ExternalUserGroup/ExternalUserGroupManagement.tsx → apps/app/src/features/external-user-group/client/components/ExternalUserGroup/ExternalUserGroupManagement.tsx

@@ -7,13 +7,17 @@ import { TabContent, TabPane } from 'reactstrap';
 
 
 import { apiv3Delete, apiv3Put } from '~/client/util/apiv3-client';
 import { apiv3Delete, apiv3Put } from '~/client/util/apiv3-client';
 import { toastError, toastSuccess } from '~/client/util/toastr';
 import { toastError, toastSuccess } from '~/client/util/toastr';
+import { UserGroupDeleteModal } from '~/components/Admin/UserGroup/UserGroupDeleteModal';
+import { UserGroupTable } from '~/components/Admin/UserGroup/UserGroupTable';
 import CustomNav from '~/components/CustomNavigation/CustomNav';
 import CustomNav from '~/components/CustomNavigation/CustomNav';
-import { IExternalUserGroupHasId } from '~/interfaces/external-user-group';
+import {
+  useSWRxChildExternalUserGroupList,
+  useSWRxExternalUserGroupList,
+  useSWRxExternalUserGroupRelationList,
+} from '~/features/external-user-group/client/stores/external-user-group';
+import { IExternalUserGroupHasId } from '~/features/external-user-group/interfaces/external-user-group';
 import { useIsAclEnabled } from '~/stores/context';
 import { useIsAclEnabled } from '~/stores/context';
-import { useSWRxChildExternalUserGroupList, useSWRxExternalUserGroupList, useSWRxExternalUserGroupRelationList } from '~/stores/external-user-group';
 
 
-import { UserGroupDeleteModal } from '../UserGroupDeleteModal';
-import { UserGroupTable } from '../UserGroupTable';
 
 
 import { ExternalUserGroupEditModal } from './ExternalUserGroupEditModal';
 import { ExternalUserGroupEditModal } from './ExternalUserGroupEditModal';
 import { LdapGroupManagement } from './LdapGroupManagement';
 import { LdapGroupManagement } from './LdapGroupManagement';

+ 0 - 0
apps/app/src/components/Admin/UserGroup/ExternalUserGroup/LdapGroupManagement.tsx → apps/app/src/features/external-user-group/client/components/ExternalUserGroup/LdapGroupManagement.tsx


+ 1 - 1
apps/app/src/components/Admin/UserGroup/ExternalUserGroup/LdapGroupSyncSettingsForm.tsx → apps/app/src/features/external-user-group/client/components/ExternalUserGroup/LdapGroupSyncSettingsForm.tsx

@@ -6,8 +6,8 @@ import { useTranslation } from 'react-i18next';
 
 
 import { apiv3Put } from '~/client/util/apiv3-client';
 import { apiv3Put } from '~/client/util/apiv3-client';
 import { toastError, toastSuccess } from '~/client/util/toastr';
 import { toastError, toastSuccess } from '~/client/util/toastr';
+import { useSWRxLdapGroupSyncSettings } from '~/features/external-user-group/client/stores/external-user-group';
 import { LdapGroupMembershipAttributeType, LdapGroupSyncSettings } from '~/features/external-user-group/interfaces/external-user-group';
 import { LdapGroupMembershipAttributeType, LdapGroupSyncSettings } from '~/features/external-user-group/interfaces/external-user-group';
-import { useSWRxLdapGroupSyncSettings } from '~/stores/external-user-group';
 
 
 export const LdapGroupSyncSettingsForm: FC = () => {
 export const LdapGroupSyncSettingsForm: FC = () => {
   const { t } = useTranslation('admin');
   const { t } = useTranslation('admin');

+ 8 - 9
apps/app/src/components/Admin/ExternalUserGroupDetail/ExternalUserGroupDetail.tsx → apps/app/src/features/external-user-group/client/components/ExternalUserGroupDetail/ExternalUserGroupDetail.tsx

@@ -11,22 +11,21 @@ import {
   apiv3Put, apiv3Delete,
   apiv3Put, apiv3Delete,
 } from '~/client/util/apiv3-client';
 } from '~/client/util/apiv3-client';
 import { toastSuccess, toastError } from '~/client/util/toastr';
 import { toastSuccess, toastError } from '~/client/util/toastr';
-import { IExternalUserGroupHasId } from '~/interfaces/external-user-group';
-import { useIsAclEnabled } from '~/stores/context';
+import { UserGroupDeleteModal } from '~/components/Admin/UserGroup/UserGroupDeleteModal';
+import { UserGroupTable } from '~/components/Admin/UserGroup/UserGroupTable';
+import styles from '~/components/Admin/UserGroupDetail/UserGroupDetailPage.module.scss';
+import { UserGroupUserTable } from '~/components/Admin/UserGroupDetail/UserGroupUserTable';
+import { ExternalUserGroupEditModal } from '~/features/external-user-group/client/components/ExternalUserGroup/ExternalUserGroupEditModal';
 import {
 import {
   useSWRxAncestorExternalUserGroups,
   useSWRxAncestorExternalUserGroups,
   useSWRxChildExternalUserGroupList, useSWRxExternalUserGroup, useSWRxExternalUserGroupRelationList, useSWRxExternalUserGroupRelations,
   useSWRxChildExternalUserGroupList, useSWRxExternalUserGroup, useSWRxExternalUserGroupRelationList, useSWRxExternalUserGroupRelations,
-} from '~/stores/external-user-group';
-
+} from '~/features/external-user-group/client/stores/external-user-group';
+import { IExternalUserGroupHasId } from '~/features/external-user-group/interfaces/external-user-group';
+import { useIsAclEnabled } from '~/stores/context';
 
 
-import { ExternalUserGroupEditModal } from '../UserGroup/ExternalUserGroup/ExternalUserGroupEditModal';
-import { UserGroupDeleteModal } from '../UserGroup/UserGroupDeleteModal';
-import { UserGroupTable } from '../UserGroup/UserGroupTable';
-import { UserGroupUserTable } from '../UserGroupDetail/UserGroupUserTable';
 
 
 import { ExternalUserGroupEditForm } from './ExternalUserGroupEditForm';
 import { ExternalUserGroupEditForm } from './ExternalUserGroupEditForm';
 
 
-import styles from '../UserGroupDetail/UserGroupDetailPage.module.scss';
 
 
 type Props = {
 type Props = {
   externalUserGroupId: string,
   externalUserGroupId: string,

+ 1 - 1
apps/app/src/components/Admin/ExternalUserGroupDetail/ExternalUserGroupEditForm.tsx → apps/app/src/features/external-user-group/client/components/ExternalUserGroupDetail/ExternalUserGroupEditForm.tsx

@@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next';
 
 
 import { apiv3Put } from '~/client/util/apiv3-client';
 import { apiv3Put } from '~/client/util/apiv3-client';
 import { toastError, toastSuccess } from '~/client/util/toastr';
 import { toastError, toastSuccess } from '~/client/util/toastr';
-import { IExternalUserGroupHasId } from '~/interfaces/external-user-group';
+import { IExternalUserGroupHasId } from '~/features/external-user-group/interfaces/external-user-group';
 
 
 type Props = {
 type Props = {
   externalUserGroup: IExternalUserGroupHasId,
   externalUserGroup: IExternalUserGroupHasId,

+ 0 - 0
apps/app/src/stores/external-user-group.ts → apps/app/src/features/external-user-group/client/stores/external-user-group.ts


+ 5 - 5
apps/app/src/server/routes/apiv3/external-user-group-relation.ts → apps/app/src/features/external-user-group/server/routes/apiv3/external-user-group-relation.ts

@@ -1,24 +1,24 @@
 import { ErrorV3 } from '@growi/core';
 import { ErrorV3 } from '@growi/core';
 import { Router, Request } from 'express';
 import { Router, Request } from 'express';
 
 
+import ExternalUserGroupRelation from '~/features/external-user-group/server/models/external-user-group-relation';
 import Crowi from '~/server/crowi';
 import Crowi from '~/server/crowi';
-import ExternalUserGroupRelation from '~/server/models/external-user-group-relation';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
 
 
-import { ApiV3Response } from './interfaces/apiv3-response';
+import { ApiV3Response } from '../../../../../server/routes/apiv3/interfaces/apiv3-response';
 
 
 const logger = loggerFactory('growi:routes:apiv3:user-group-relation'); // eslint-disable-line no-unused-vars
 const logger = loggerFactory('growi:routes:apiv3:user-group-relation'); // eslint-disable-line no-unused-vars
 
 
 const express = require('express');
 const express = require('express');
 const { query } = require('express-validator');
 const { query } = require('express-validator');
 
 
-const { serializeUserGroupRelationSecurely } = require('../../models/serializers/user-group-relation-serializer');
+const { serializeUserGroupRelationSecurely } = require('~/server/models/serializers/user-group-relation-serializer');
 
 
 const router = express.Router();
 const router = express.Router();
 
 
 module.exports = (crowi: Crowi): Router => {
 module.exports = (crowi: Crowi): Router => {
-  const loginRequiredStrictly = require('../../middlewares/login-required')(crowi);
-  const adminRequired = require('../../middlewares/admin-required')(crowi);
+  const loginRequiredStrictly = require('~/server/middlewares/login-required')(crowi);
+  const adminRequired = require('~/server/middlewares/admin-required')(crowi);
 
 
   const validators = {
   const validators = {
     list: [
     list: [

+ 1 - 1
apps/app/src/pages/admin/external-user-group-detail/[externalUserGroupId].page.tsx

@@ -6,7 +6,7 @@ import dynamic from 'next/dynamic';
 import Head from 'next/head';
 import Head from 'next/head';
 import { useRouter } from 'next/router';
 import { useRouter } from 'next/router';
 
 
-import ExternalUserGroupDetailPage from '~/components/Admin/ExternalUserGroupDetail/ExternalUserGroupDetail';
+import ExternalUserGroupDetailPage from '~/features/external-user-group/client/components/ExternalUserGroupDetail/ExternalUserGroupDetail';
 import { CrowiRequest } from '~/interfaces/crowi-request';
 import { CrowiRequest } from '~/interfaces/crowi-request';
 import { CommonProps, generateCustomTitle } from '~/pages/utils/commons';
 import { CommonProps, generateCustomTitle } from '~/pages/utils/commons';
 import { useIsAclEnabled, useCurrentUser } from '~/stores/context';
 import { useIsAclEnabled, useCurrentUser } from '~/stores/context';

+ 1 - 1
apps/app/src/server/routes/apiv3/index.js

@@ -77,7 +77,7 @@ module.exports = (crowi, app) => {
   router.use('/personal-setting', require('./personal-setting')(crowi));
   router.use('/personal-setting', require('./personal-setting')(crowi));
 
 
   router.use('/user-group-relations', require('./user-group-relation')(crowi));
   router.use('/user-group-relations', require('./user-group-relation')(crowi));
-  router.use('/external-user-group-relations', require('./external-user-group-relation')(crowi));
+  router.use('/external-user-group-relations', require('~/features/external-user-group/server/routes/apiv3/external-user-group-relation')(crowi));
 
 
   router.use('/statistics', require('./statistics')(crowi));
   router.use('/statistics', require('./statistics')(crowi));
 
 

+ 2 - 2
apps/app/src/server/service/user-group.ts

@@ -1,10 +1,10 @@
 import mongoose from 'mongoose';
 import mongoose from 'mongoose';
 
 
 
 
+import ExternalUserGroup from '~/features/external-user-group/server/models/external-user-group';
+import ExternalUserGroupRelation from '~/features/external-user-group/server/models/external-user-group-relation';
 import { IUser } from '~/interfaces/user';
 import { IUser } from '~/interfaces/user';
 import { ObjectIdLike } from '~/server/interfaces/mongoose-utils';
 import { ObjectIdLike } from '~/server/interfaces/mongoose-utils';
-import ExternalUserGroup from '~/server/models/external-user-group';
-import ExternalUserGroupRelation from '~/server/models/external-user-group-relation';
 import UserGroup from '~/server/models/user-group';
 import UserGroup from '~/server/models/user-group';
 import { excludeTestIdsFromTargetIds, isIncludesObjectId } from '~/server/util/compare-objectId';
 import { excludeTestIdsFromTargetIds, isIncludesObjectId } from '~/server/util/compare-objectId';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';