0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2025-03-24 22:41:28 -05:00

refactor(core): rename phone signInMethod to sms (#2252)

Co-authored-by: Xiao Yijun <xiaoyijun@silverhand.io>
This commit is contained in:
simeng-li 2022-10-26 14:47:13 +08:00 committed by GitHub
parent 244cc3ef57
commit b5512b9213
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 58 additions and 58 deletions

View file

@ -6,15 +6,15 @@ export const signInIdentifiers = Object.values(SignInIdentifier);
export const requiredVerifySignUpIdentifiers = [
SignUpIdentifier.Email,
SignUpIdentifier.Phone,
SignUpIdentifier.EmailOrPhone,
SignUpIdentifier.Sms,
SignUpIdentifier.EmailOrSms,
];
export const signUpToSignInIdentifierMapping: { [key in SignUpIdentifier]: SignInIdentifier[] } = {
[SignUpIdentifier.Username]: [SignInIdentifier.Username],
[SignUpIdentifier.Email]: [SignInIdentifier.Email],
[SignUpIdentifier.Phone]: [SignInIdentifier.Phone],
[SignUpIdentifier.EmailOrPhone]: [SignInIdentifier.Email, SignInIdentifier.Phone],
[SignUpIdentifier.Sms]: [SignInIdentifier.Sms],
[SignUpIdentifier.EmailOrSms]: [SignInIdentifier.Email, SignInIdentifier.Sms],
[SignUpIdentifier.None]: [],
};
@ -23,8 +23,8 @@ export const signUpIdentifierToRequiredConnectorMapping: {
} = {
[SignUpIdentifier.Username]: [],
[SignUpIdentifier.Email]: [ConnectorType.Email],
[SignUpIdentifier.Phone]: [ConnectorType.Sms],
[SignUpIdentifier.EmailOrPhone]: [ConnectorType.Email, ConnectorType.Sms],
[SignUpIdentifier.Sms]: [ConnectorType.Sms],
[SignUpIdentifier.EmailOrSms]: [ConnectorType.Email, ConnectorType.Sms],
[SignUpIdentifier.None]: [],
};
@ -33,5 +33,5 @@ export const signInIdentifierToRequiredConnectorMapping: {
} = {
[SignInIdentifier.Username]: [],
[SignInIdentifier.Email]: [ConnectorType.Email],
[SignInIdentifier.Phone]: [ConnectorType.Sms],
[SignInIdentifier.Sms]: [ConnectorType.Sms],
};

View file

@ -55,7 +55,7 @@ export const mockSignInExperience: SignInExperience = {
isPasswordPrimary: true,
},
{
identifier: SignInIdentifier.Phone,
identifier: SignInIdentifier.Sms,
password: true,
verificationCode: true,
isPasswordPrimary: true,

View file

@ -26,14 +26,14 @@ describe('validate sign-in', () => {
},
{
...mockSignInMethod,
identifier: SignInIdentifier.Phone,
identifier: SignInIdentifier.Sms,
verificationCode: true,
},
],
},
{
...mockSignUp,
identifier: SignUpIdentifier.EmailOrPhone,
identifier: SignUpIdentifier.EmailOrSms,
password: false,
verify: true,
},
@ -95,7 +95,7 @@ describe('validate sign-in', () => {
methods: [
{
...mockSignInMethod,
identifier: SignInIdentifier.Phone,
identifier: SignInIdentifier.Sms,
},
],
},
@ -119,7 +119,7 @@ describe('validate sign-in', () => {
methods: [
{
...mockSignInMethod,
identifier: SignInIdentifier.Phone,
identifier: SignInIdentifier.Sms,
},
],
},
@ -173,7 +173,7 @@ describe('validate sign-in', () => {
},
{
...mockSignUp,
identifier: SignUpIdentifier.Phone,
identifier: SignUpIdentifier.Sms,
},
enabledConnectors
);
@ -197,7 +197,7 @@ describe('validate sign-in', () => {
},
{
...mockSignUp,
identifier: SignUpIdentifier.EmailOrPhone,
identifier: SignUpIdentifier.EmailOrSms,
},
enabledConnectors
);

View file

@ -21,7 +21,7 @@ export const validateSignIn = (
);
}
if (signIn.methods.some(({ identifier }) => identifier === SignInIdentifier.Phone)) {
if (signIn.methods.some(({ identifier }) => identifier === SignInIdentifier.Sms)) {
assertThat(
enabledConnectors.some((item) => item.type === ConnectorType.Sms),
new RequestError({
@ -54,9 +54,9 @@ export const validateSignIn = (
break;
}
case SignUpIdentifier.Phone: {
case SignUpIdentifier.Sms: {
assertThat(
signIn.methods.some(({ identifier }) => identifier === SignInIdentifier.Phone),
signIn.methods.some(({ identifier }) => identifier === SignInIdentifier.Sms),
new RequestError({
code: 'sign_in_experiences.miss_sign_up_identifier_in_sign_in',
})
@ -65,10 +65,10 @@ export const validateSignIn = (
break;
}
case SignUpIdentifier.EmailOrPhone: {
case SignUpIdentifier.EmailOrSms: {
assertThat(
signIn.methods.some(({ identifier }) => identifier === SignInIdentifier.Email) &&
signIn.methods.some(({ identifier }) => identifier === SignInIdentifier.Phone),
signIn.methods.some(({ identifier }) => identifier === SignInIdentifier.Sms),
new RequestError({
code: 'sign_in_experiences.miss_sign_up_identifier_in_sign_in',
})

View file

@ -22,7 +22,7 @@ describe('validate sign-up', () => {
test('should throw when there is no enabled email connector and identifier is email or phone', async () => {
expect(() => {
validateSignUp({ ...mockSignUp, identifier: SignUpIdentifier.EmailOrPhone }, []);
validateSignUp({ ...mockSignUp, identifier: SignUpIdentifier.EmailOrSms }, []);
}).toMatchError(
new RequestError({
code: 'sign_in_experiences.enabled_connector_not_found',
@ -33,7 +33,7 @@ describe('validate sign-up', () => {
test('should throw when there is no enabled sms connector and identifier is phone', async () => {
expect(() => {
validateSignUp({ ...mockSignUp, identifier: SignUpIdentifier.Phone }, []);
validateSignUp({ ...mockSignUp, identifier: SignUpIdentifier.Sms }, []);
}).toMatchError(
new RequestError({
code: 'sign_in_experiences.enabled_connector_not_found',
@ -44,7 +44,7 @@ describe('validate sign-up', () => {
test('should throw when there is no enabled email connector and identifier is email or phone', async () => {
expect(() => {
validateSignUp({ ...mockSignUp, identifier: SignUpIdentifier.EmailOrPhone }, [
validateSignUp({ ...mockSignUp, identifier: SignUpIdentifier.EmailOrSms }, [
mockAliyunDmConnector,
]);
}).toMatchError(
@ -99,7 +99,7 @@ describe('validate sign-up', () => {
test('should throw when identifier is email or phone', async () => {
expect(() => {
validateSignUp(
{ ...mockSignUp, identifier: SignUpIdentifier.EmailOrPhone, verify: false },
{ ...mockSignUp, identifier: SignUpIdentifier.EmailOrSms, verify: false },
enabledConnectors
);
}).toMatchError(

View file

@ -8,7 +8,7 @@ import assertThat from '@/utils/assert-that';
export const validateSignUp = (signUp: SignUp, enabledConnectors: LogtoConnector[]) => {
if (
signUp.identifier === SignUpIdentifier.Email ||
signUp.identifier === SignUpIdentifier.EmailOrPhone
signUp.identifier === SignUpIdentifier.EmailOrSms
) {
assertThat(
enabledConnectors.some((item) => item.type === ConnectorType.Email),
@ -20,8 +20,8 @@ export const validateSignUp = (signUp: SignUp, enabledConnectors: LogtoConnector
}
if (
signUp.identifier === SignUpIdentifier.Phone ||
signUp.identifier === SignUpIdentifier.EmailOrPhone
signUp.identifier === SignUpIdentifier.Sms ||
signUp.identifier === SignUpIdentifier.EmailOrSms
) {
assertThat(
enabledConnectors.some((item) => item.type === ConnectorType.Sms),
@ -42,7 +42,7 @@ export const validateSignUp = (signUp: SignUp, enabledConnectors: LogtoConnector
}
if (
[SignUpIdentifier.Phone, SignUpIdentifier.Email, SignUpIdentifier.EmailOrPhone].includes(
[SignUpIdentifier.Sms, SignUpIdentifier.Email, SignUpIdentifier.EmailOrSms].includes(
signUp.identifier
)
) {

View file

@ -31,7 +31,7 @@ export const smsSignInAction = <StateT, ContextT extends WithLogContext, Respons
assertThat(
signInExperience.signIn.methods.some(
({ identifier, verificationCode }) =>
identifier === SignInIdentifier.Phone && verificationCode
identifier === SignInIdentifier.Sms && verificationCode
),
new RequestError({
code: 'user.sign_in_method_not_enabled',
@ -117,8 +117,8 @@ export const smsRegisterAction = <StateT, ContextT extends WithLogContext, Respo
return async (ctx, next) => {
const signInExperience = await findDefaultSignInExperience();
assertThat(
signInExperience.signUp.identifier === SignUpIdentifier.Phone ||
signInExperience.signUp.identifier === SignUpIdentifier.EmailOrPhone,
signInExperience.signUp.identifier === SignUpIdentifier.Sms ||
signInExperience.signUp.identifier === SignUpIdentifier.EmailOrSms,
new RequestError({
code: 'user.sign_up_method_not_enabled',
status: 422,
@ -159,7 +159,7 @@ export const emailRegisterAction = <StateT, ContextT extends WithLogContext, Res
const signInExperience = await findDefaultSignInExperience();
assertThat(
signInExperience.signUp.identifier === SignUpIdentifier.Email ||
signInExperience.signUp.identifier === SignUpIdentifier.EmailOrPhone,
signInExperience.signUp.identifier === SignUpIdentifier.EmailOrSms,
new RequestError({
code: 'user.sign_up_method_not_enabled',
status: 422,

View file

@ -656,7 +656,7 @@ describe('session -> passwordlessRoutes', () => {
...mockSignInExperience,
signUp: {
...mockSignInExperience.signUp,
identifier: SignUpIdentifier.Phone,
identifier: SignUpIdentifier.Sms,
},
});
});
@ -895,7 +895,7 @@ describe('session -> passwordlessRoutes', () => {
...mockSignInExperience,
signUp: {
...mockSignInExperience.signUp,
identifier: SignUpIdentifier.Phone,
identifier: SignUpIdentifier.Sms,
},
});

View file

@ -153,7 +153,7 @@ describe('sessionRoutes', () => {
methods: [
{
...mockSignInMethod,
identifier: SignInIdentifier.Phone,
identifier: SignInIdentifier.Sms,
password: false,
},
],

View file

@ -121,7 +121,7 @@ describe('email passwordless flow', () => {
describe('sms passwordless flow', () => {
beforeAll(async () => {
await setUpConnector(mockSmsConnectorId, mockSmsConnectorConfig);
await setSignUpIdentifier(SignUpIdentifier.Phone);
await setSignUpIdentifier(SignUpIdentifier.Sms);
});
// Since we can not create a sms register user throw admin. Have to run the register then sign-in concurrently.

View file

@ -41,9 +41,9 @@ const sign_in_exp = {
sign_up_and_sign_in: {
identifiers: 'Sign up identifiers',
identifiers_email: 'Email address',
identifiers_phone: 'Phone number',
identifiers_sms: 'Phone number',
identifiers_username: 'Username',
identifiers_email_or_phone: 'Email address or phone number',
identifiers_email_or_sms: 'Email address or phone number',
identifiers_none: 'None',
sign_up: {
title: 'SIGN UP',

View file

@ -43,9 +43,9 @@ const sign_in_exp = {
sign_up_and_sign_in: {
identifiers: 'Sign up identifiers', // UNTRANSLATED
identifiers_email: 'Email address', // UNTRANSLATED
identifiers_phone: 'Phone number', // UNTRANSLATED
identifiers_sms: 'Phone number', // UNTRANSLATED
identifiers_username: 'Username', // UNTRANSLATED
identifiers_email_or_phone: 'Email address or phone number', // UNTRANSLATED
identifiers_email_or_sms: 'Email address or phone number', // UNTRANSLATED
identifiers_none: 'None', // UNTRANSLATED
sign_up: {
title: 'SIGN UP', // UNTRANSLATED

View file

@ -38,9 +38,9 @@ const sign_in_exp = {
sign_up_and_sign_in: {
identifiers: 'Sign up identifiers', // UNTRANSLATED
identifiers_email: 'Email address', // UNTRANSLATED
identifiers_phone: 'Phone number', // UNTRANSLATED
identifiers_sms: 'Phone number', // UNTRANSLATED
identifiers_username: 'Username', // UNTRANSLATED
identifiers_email_or_phone: 'Email address or phone number', // UNTRANSLATED
identifiers_email_or_sms: 'Email address or phone number', // UNTRANSLATED
identifiers_none: 'None', // UNTRANSLATED
sign_up: {
title: 'SIGN UP', // UNTRANSLATED

View file

@ -41,9 +41,9 @@ const sign_in_exp = {
sign_up_and_sign_in: {
identifiers: 'Sign up identifiers', // UNTRANSLATED
identifiers_email: 'Email address', // UNTRANSLATED
identifiers_phone: 'Phone number', // UNTRANSLATED
identifiers_sms: 'Phone number', // UNTRANSLATED
identifiers_username: 'Username', // UNTRANSLATED
identifiers_email_or_phone: 'Email address or phone number', // UNTRANSLATED
identifiers_email_or_sms: 'Email address or phone number', // UNTRANSLATED
identifiers_none: 'None', // UNTRANSLATED
sign_up: {
title: 'SIGN UP', // UNTRANSLATED

View file

@ -42,9 +42,9 @@ const sign_in_exp = {
sign_up_and_sign_in: {
identifiers: 'Sign up identifiers', // UNTRANSLATED
identifiers_email: 'Email address', // UNTRANSLATED
identifiers_phone: 'Phone number', // UNTRANSLATED
identifiers_sms: 'Phone number', // UNTRANSLATED
identifiers_username: 'Username', // UNTRANSLATED
identifiers_email_or_phone: 'Email address or phone number', // UNTRANSLATED
identifiers_email_or_sms: 'Email address or phone number', // UNTRANSLATED
identifiers_none: 'None', // UNTRANSLATED
sign_up: {
title: 'SIGN UP', // UNTRANSLATED

View file

@ -39,9 +39,9 @@ const sign_in_exp = {
sign_up_and_sign_in: {
identifiers: 'Sign up identifiers', // UNTRANSLATED
identifiers_email: 'Email address', // UNTRANSLATED
identifiers_phone: 'Phone number', // UNTRANSLATED
identifiers_sms: 'Phone number', // UNTRANSLATED
identifiers_username: 'Username', // UNTRANSLATED
identifiers_email_or_phone: 'Email address or phone number', // UNTRANSLATED
identifiers_email_or_sms: 'Email address or phone number', // UNTRANSLATED
identifiers_none: 'None', // UNTRANSLATED
sign_up: {
title: 'SIGN UP', // UNTRANSLATED

View file

@ -1,6 +1,6 @@
import { sql } from 'slonik';
import { AlterationScript } from '../lib/types/alteration';
import type { AlterationScript } from '../lib/types/alteration';
enum SignInMethodState {
Primary = 'primary',
@ -26,15 +26,15 @@ type SignInExperience = {
enum SignUpIdentifier {
Email = 'email',
Phone = 'phone',
Sms = 'sms',
Username = 'username',
EmailOrPhone = 'emailOrPhone',
EmailOrSms = 'emailOrSms',
None = 'none',
}
enum SignInIdentifier {
Email = 'email',
Phone = 'phone',
Sms = 'Sms',
Username = 'username',
}
@ -65,7 +65,7 @@ const parseSignInMethodToSignInIdentifier = (
}
if (method === SignInMethodKey.Sms) {
return SignInIdentifier.Phone;
return SignInIdentifier.Sms;
}
};
@ -79,7 +79,7 @@ const parseSignInMethodToSignUpIdentifier = (method?: SignInMethodKey): SignUpId
}
if (method === SignInMethodKey.Sms) {
return SignUpIdentifier.Phone;
return SignUpIdentifier.Sms;
}
return SignUpIdentifier.None;

View file

@ -152,9 +152,9 @@ export type SignInMethods = z.infer<typeof signInMethodsGuard>;
export enum SignUpIdentifier {
Email = 'email',
Phone = 'phone',
Sms = 'sms',
Username = 'username',
EmailOrPhone = 'emailOrPhone',
EmailOrSms = 'emailOrSms',
None = 'none',
}
@ -168,7 +168,7 @@ export type SignUp = z.infer<typeof signUpGuard>;
export enum SignInIdentifier {
Email = 'email',
Phone = 'phone',
Sms = 'sms',
Username = 'username',
}

View file

@ -50,7 +50,7 @@ export const defaultSignInExperience: Readonly<CreateSignInExperience> = {
isPasswordPrimary: false,
},
{
identifier: SignInIdentifier.Phone,
identifier: SignInIdentifier.Sms,
password: true,
verificationCode: true,
isPasswordPrimary: false,

View file

@ -201,7 +201,7 @@ export const mockSignInExperience: SignInExperience = {
isPasswordPrimary: true,
},
{
identifier: SignInIdentifier.Phone,
identifier: SignInIdentifier.Sms,
password: true,
verificationCode: false,
isPasswordPrimary: true,