mirror of
https://github.com/logto-io/logto.git
synced 2024-12-16 20:26:19 -05:00
fix(core,connector): use isProduction as email service feature switch (#4135)
* fix(core,connector): use isProduction as email service feature switch * refactor(core): reorg code --------- Co-authored-by: Gao Sun <gao@silverhand.io>
This commit is contained in:
parent
04cf242e48
commit
c79fda5355
2 changed files with 19 additions and 3 deletions
|
@ -1,3 +1,5 @@
|
|||
import { getEnv } from '@silverhand/essentials';
|
||||
|
||||
import type { ConnectorMetadata } from '@logto/connector-kit';
|
||||
import { ConnectorConfigFormItemType } from '@logto/connector-kit';
|
||||
|
||||
|
@ -102,6 +104,9 @@ export const scope = ['send:email'];
|
|||
|
||||
export const defaultTimeout = 5000;
|
||||
|
||||
export const emailEndpoint = '/services/mails';
|
||||
/** @deprecated Will be replaced by `/services/mails` soon. */
|
||||
export const demoEmailEndpoint = '/services/send-email';
|
||||
export const emailEndpoint =
|
||||
getEnv('NODE_ENV') === 'production' ? demoEmailEndpoint : '/services/mails';
|
||||
|
||||
export const usageEndpoint = '/services/mails/usage';
|
||||
|
|
|
@ -8,6 +8,7 @@ import { connectorDirectory } from '@logto/cli/lib/constants.js';
|
|||
import { getConnectorPackagesFromDirectory } from '@logto/cli/lib/utils.js';
|
||||
import {
|
||||
demoConnectorIds,
|
||||
serviceConnectorIds,
|
||||
ConnectorType,
|
||||
type EmailConnector,
|
||||
type SmsConnector,
|
||||
|
@ -27,6 +28,14 @@ export const isPasswordlessLogtoConnector = (
|
|||
): connector is LogtoConnector<EmailConnector | SmsConnector> =>
|
||||
connector.type !== ConnectorType.Social;
|
||||
|
||||
/**
|
||||
* Treat Logto service connectors as demo connectors in production since they are not available
|
||||
* for public use yet.
|
||||
*/
|
||||
const isDemoConnector = (connectorId: string) =>
|
||||
demoConnectorIds.includes(connectorId) ||
|
||||
(EnvSet.values.isProduction && serviceConnectorIds.includes(connectorId));
|
||||
|
||||
export const transpileLogtoConnector = async (
|
||||
connector: LogtoConnector,
|
||||
extraInfo?: ConnectorResponse['extraInfo']
|
||||
|
@ -40,7 +49,8 @@ export const transpileLogtoConnector = async (
|
|||
);
|
||||
const { dbEntry, metadata, type } = connector;
|
||||
const { config, connectorId: id } = dbEntry;
|
||||
const isDemo = demoConnectorIds.includes(id);
|
||||
|
||||
const isDemo = isDemoConnector(id);
|
||||
|
||||
return {
|
||||
type,
|
||||
|
@ -61,7 +71,8 @@ export const transpileConnectorFactory = ({
|
|||
return {
|
||||
type,
|
||||
...metadata,
|
||||
isDemo: demoConnectorIds.includes(metadata.id),
|
||||
/** Temporarily block entering Logto email connector as well until this feature is ready for prod. */
|
||||
isDemo: isDemoConnector(metadata.id),
|
||||
};
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue