ryoji-s 2 лет назад
Родитель
Сommit
f5f526deaf

+ 2 - 2
apps/app/src/components/Me/DisassociateModal.tsx

@@ -1,6 +1,6 @@
 import React, { useCallback } from 'react';
 
-import type { IExternalAccount } from '@growi/core';
+import type { IExternalAccountHasId } from '@growi/core';
 import { useTranslation } from 'next-i18next';
 import {
   Modal,
@@ -15,7 +15,7 @@ import { usePersonalSettings, useSWRxPersonalExternalAccounts } from '~/stores/p
 type Props = {
   isOpen: boolean,
   onClose: () => void,
-  accountForDisassociate: IExternalAccount,
+  accountForDisassociate: IExternalAccountHasId,
 }
 
 

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

@@ -491,7 +491,7 @@ module.exports = (crowi) => {
     }
 
     if (!isEnabled) {
-      const isSetupStrategiesHasAdmin = await checkSetupStrategiesHasAdmin(crowi, setupStrategies);
+      const isSetupStrategiesHasAdmin = await checkSetupStrategiesHasAdmin(setupStrategies);
 
       // Return an error when disabling an strategy when there are no setup strategies with admin-enabled login
       if (!isSetupStrategiesHasAdmin) {

+ 2 - 2
apps/app/src/stores/personal-settings.tsx

@@ -1,4 +1,4 @@
-import type { IExternalAccount, IExternalAuthProviderType } from '@growi/core';
+import type { IExternalAccountHasId, IExternalAuthProviderType } from '@growi/core';
 import { useTranslation } from 'next-i18next';
 import useSWR, { SWRConfiguration, SWRResponse } from 'swr';
 
@@ -103,7 +103,7 @@ export const usePersonalSettings = (config?: SWRConfiguration): SWRResponse<IUse
   };
 };
 
-export const useSWRxPersonalExternalAccounts = (): SWRResponse<IExternalAccount[], Error> => {
+export const useSWRxPersonalExternalAccounts = (): SWRResponse<IExternalAccountHasId[], Error> => {
   return useSWR(
     '/personal-setting/external-accounts',
     endpoint => apiv3Get(endpoint).then(response => response.data.externalAccounts),

+ 4 - 2
packages/core/src/interfaces/external-account.ts

@@ -1,4 +1,5 @@
 import type { Ref } from './common';
+import type { HasObjectId } from './has-object-id';
 import type { IUser } from './user';
 
 export const IExternalAuthProviderType = {
@@ -11,9 +12,10 @@ export const IExternalAuthProviderType = {
 
 export type IExternalAuthProviderType = typeof IExternalAuthProviderType[keyof typeof IExternalAuthProviderType]
 
-export type IExternalAccount<ID = string> = {
-  _id: ID,
+export type IExternalAccount = {
   providerType: IExternalAuthProviderType,
   accountId: string,
   user: Ref<IUser>,
 }
+
+export type IExternalAccountHasId = IExternalAccount & HasObjectId