Quellcode durchsuchen

add AiAssistantScopeType

Shun Miyazawa vor 1 Jahr
Ursprung
Commit
c9517ee18a

+ 4 - 4
apps/app/src/features/openai/client/components/AiAssistant/AiAssistantManagementModal/AiAssistantManagementEditShare.tsx

@@ -4,7 +4,7 @@ import {
   ModalBody, Input, Label,
   ModalBody, Input, Label,
 } from 'reactstrap';
 } from 'reactstrap';
 
 
-import { AiAssistantAccessScope, AiAssistantShareScope } from '~/features/openai/interfaces/ai-assistant';
+import { AiAssistantAccessScope, AiAssistantShareScope, AiAssistantScopeType } from '~/features/openai/interfaces/ai-assistant';
 import type { PopulatedGrantedGroup } from '~/interfaces/page-grant';
 import type { PopulatedGrantedGroup } from '~/interfaces/page-grant';
 
 
 import { AccessScopeDropdown } from './AccessScopeDropdown';
 import { AccessScopeDropdown } from './AccessScopeDropdown';
@@ -18,7 +18,7 @@ type Props = {
   selectedShareScope: AiAssistantShareScope,
   selectedShareScope: AiAssistantShareScope,
   selectedAccessScope: AiAssistantAccessScope,
   selectedAccessScope: AiAssistantAccessScope,
   onSelectUserGroup: (userGroup: PopulatedGrantedGroup) => void,
   onSelectUserGroup: (userGroup: PopulatedGrantedGroup) => void,
-  onSelectScope: (accessScope: AiAssistantAccessScope | AiAssistantShareScope, scopeType?: 'Access' | 'Share') => void,
+  onSelectScope: (accessScope: AiAssistantAccessScope | AiAssistantShareScope, scopeType?: AiAssistantScopeType) => void,
 }
 }
 
 
 export const AiAssistantManagementEditShare = (props: Props): JSX.Element => {
 export const AiAssistantManagementEditShare = (props: Props): JSX.Element => {
@@ -43,14 +43,14 @@ export const AiAssistantManagementEditShare = (props: Props): JSX.Element => {
   }, [onSelectScope]);
   }, [onSelectScope]);
 
 
   const selectAccessScopeHandler = useCallback((accessScope: AiAssistantAccessScope) => {
   const selectAccessScopeHandler = useCallback((accessScope: AiAssistantAccessScope) => {
-    onSelectScope(accessScope, 'Access');
+    onSelectScope(accessScope, AiAssistantScopeType.ACCESS);
     if (accessScope === AiAssistantAccessScope.GROUPS) {
     if (accessScope === AiAssistantAccessScope.GROUPS) {
       setIsUserGroupSelectorOpen(true);
       setIsUserGroupSelectorOpen(true);
     }
     }
   }, [onSelectScope]);
   }, [onSelectScope]);
 
 
   const selectShareScopeHandler = useCallback((shareScope: AiAssistantShareScope) => {
   const selectShareScopeHandler = useCallback((shareScope: AiAssistantShareScope) => {
-    onSelectScope(shareScope, 'Share');
+    onSelectScope(shareScope, AiAssistantScopeType.SHARE);
     if (shareScope === AiAssistantShareScope.GROUPS) {
     if (shareScope === AiAssistantShareScope.GROUPS) {
       setIsUserGroupSelectorOpen(true);
       setIsUserGroupSelectorOpen(true);
     }
     }

+ 4 - 4
apps/app/src/features/openai/client/components/AiAssistant/AiAssistantManagementModal/AiAssistantManagementModal.tsx

@@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next';
 import { Modal, TabContent, TabPane } from 'reactstrap';
 import { Modal, TabContent, TabPane } from 'reactstrap';
 
 
 import { toastError, toastSuccess } from '~/client/util/toastr';
 import { toastError, toastSuccess } from '~/client/util/toastr';
-import { AiAssistantAccessScope, AiAssistantShareScope } from '~/features/openai/interfaces/ai-assistant';
+import { AiAssistantAccessScope, AiAssistantShareScope, AiAssistantScopeType } from '~/features/openai/interfaces/ai-assistant';
 import type { IPageForItem } from '~/interfaces/page';
 import type { IPageForItem } from '~/interfaces/page';
 import type { PopulatedGrantedGroup } from '~/interfaces/page-grant';
 import type { PopulatedGrantedGroup } from '~/interfaces/page-grant';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
@@ -65,12 +65,12 @@ const AiAssistantManagementModalSubstance = (): JSX.Element => {
   /*
   /*
   *  For AiAssistantManagementEditShare methods
   *  For AiAssistantManagementEditShare methods
   */
   */
-  const selectScopeHandler = useCallback((accessScope: AiAssistantAccessScope | AiAssistantShareScope, scopeType?: 'Access' | 'Share') => {
-    if (scopeType === 'Access') {
+  const selectScopeHandler = useCallback((accessScope: AiAssistantAccessScope | AiAssistantShareScope, scopeType?: AiAssistantScopeType) => {
+    if (scopeType === AiAssistantScopeType.ACCESS) {
       setSelectedAccessScope(accessScope);
       setSelectedAccessScope(accessScope);
       return;
       return;
     }
     }
-    if (scopeType === 'Share') {
+    if (scopeType === AiAssistantScopeType.SHARE) {
       setSelectedShareScope(accessScope);
       setSelectedShareScope(accessScope);
       return;
       return;
     }
     }

+ 6 - 0
apps/app/src/features/openai/interfaces/ai-assistant.ts

@@ -5,6 +5,11 @@ import type { VectorStore } from '../server/models/vector-store';
 /*
 /*
 *  Objects
 *  Objects
 */
 */
+export const AiAssistantScopeType = {
+  ACCESS: 'Access',
+  SHARE: 'Share',
+} as const;
+
 export const AiAssistantShareScope = {
 export const AiAssistantShareScope = {
   PUBLIC_ONLY: 'publicOnly',
   PUBLIC_ONLY: 'publicOnly',
   OWNER: 'owner',
   OWNER: 'owner',
@@ -20,6 +25,7 @@ export const AiAssistantAccessScope = {
 /*
 /*
 *  Interfaces
 *  Interfaces
 */
 */
+export type AiAssistantScopeType = typeof AiAssistantScopeType[keyof typeof AiAssistantScopeType];
 export type AiAssistantShareScope = typeof AiAssistantShareScope[keyof typeof AiAssistantShareScope];
 export type AiAssistantShareScope = typeof AiAssistantShareScope[keyof typeof AiAssistantShareScope];
 export type AiAssistantAccessScope = typeof AiAssistantAccessScope[keyof typeof AiAssistantAccessScope];
 export type AiAssistantAccessScope = typeof AiAssistantAccessScope[keyof typeof AiAssistantAccessScope];