Skip to content

Commit

Permalink
Merge pull request #498 from magiclabs/jerryliu-sc-75641-lazer-reques…
Browse files Browse the repository at this point in the history
…t-showsettings-page-mfa

Jerryliu sc 75641 lazer request showsettings page mfa
  • Loading branch information
Ethella authored Apr 20, 2023
2 parents a467ae2 + 1b43447 commit b0e93ca
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 45 deletions.
4 changes: 3 additions & 1 deletion packages/@magic-sdk/provider/src/modules/user.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
GenerateIdTokenConfiguration,
UpdateEmailConfiguration,
RecoverAccountConfiguration,
ShowSettingsConfiguration,
} from '@magic-sdk/types';
import { BaseModule } from './base-module';
import { createJsonRpcRequestPayload } from '../core/json-rpc';
Expand Down Expand Up @@ -65,9 +66,10 @@ export class UserModule extends BaseModule {
return this.request<boolean>(requestPayload);
}

public showSettings() {
public showSettings(configuration?: ShowSettingsConfiguration) {
const requestPayload = createJsonRpcRequestPayload(
this.sdk.testMode ? MagicPayloadMethod.UserSettingsTestMode : MagicPayloadMethod.UserSettings,
[configuration],
);
return this.request<MagicUserMetadata>(requestPayload);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import browserEnv from '@ikscodes/browser-env';
import { DeepLinkPage } from '@magic-sdk/types/src/core/deep-link-pages';
import { createMagicSDK, createMagicSDKTestMode } from '../../../factories';
import { isPromiEvent } from '../../../../src/util';

Expand All @@ -14,7 +15,7 @@ test('Generate JSON RPC request payload with method `magic_auth_settings`', asyn

const requestPayload = magic.user.request.mock.calls[0][0];
expect(requestPayload.method).toBe('magic_auth_settings');
expect(requestPayload.params).toEqual([]);
expect(requestPayload.params).toEqual([undefined]);
});

test('If `testMode` is enabled, testing-specific RPC method is used', async () => {
Expand All @@ -25,7 +26,18 @@ test('If `testMode` is enabled, testing-specific RPC method is used', async () =

const requestPayload = magic.user.request.mock.calls[0][0];
expect(requestPayload.method).toBe('magic_auth_settings_testing_mode');
expect(requestPayload.params).toEqual([]);
expect(requestPayload.params).toEqual([undefined]);
});

test('Generate JSON RPC request payload with method `magic_auth_settings`', async () => {
const magic = createMagicSDK();
magic.user.request = jest.fn();

magic.user.showSettings({ page: DeepLinkPage.MFA });

const requestPayload = magic.user.request.mock.calls[0][0];
expect(requestPayload.method).toBe('magic_auth_settings');
expect(requestPayload.params).toEqual([{ page: 'mfa' }]);
});

test('method should return a PromiEvent', () => {
Expand Down
3 changes: 3 additions & 0 deletions packages/@magic-sdk/types/src/core/deep-link-pages.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export enum DeepLinkPage {
MFA = 'mfa',
}
9 changes: 9 additions & 0 deletions packages/@magic-sdk/types/src/modules/user-types.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { DeepLinkPage } from '../core/deep-link-pages';

export interface GetIdTokenConfiguration {
/**
* The number of seconds until the generated ID token will expire.
Expand Down Expand Up @@ -53,3 +55,10 @@ export interface RecoverAccountConfiguration {
*/
email: string;
}

export interface ShowSettingsConfiguration {
/**
* deep linking destination
*/
page: DeepLinkPage;
}
84 changes: 42 additions & 42 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2731,55 +2731,55 @@ __metadata:
version: 0.0.0-use.local
resolution: "@magic-ext/algorand@workspace:packages/@magic-ext/algorand"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/avalanche@workspace:packages/@magic-ext/avalanche":
version: 0.0.0-use.local
resolution: "@magic-ext/avalanche@workspace:packages/@magic-ext/avalanche"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/bitcoin@workspace:packages/@magic-ext/bitcoin":
version: 0.0.0-use.local
resolution: "@magic-ext/bitcoin@workspace:packages/@magic-ext/bitcoin"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/conflux@workspace:packages/@magic-ext/conflux":
version: 0.0.0-use.local
resolution: "@magic-ext/conflux@workspace:packages/@magic-ext/conflux"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/cosmos@workspace:packages/@magic-ext/cosmos":
version: 0.0.0-use.local
resolution: "@magic-ext/cosmos@workspace:packages/@magic-ext/cosmos"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/ed25519@workspace:packages/@magic-ext/ed25519":
version: 0.0.0-use.local
resolution: "@magic-ext/ed25519@workspace:packages/@magic-ext/ed25519"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/flow@workspace:packages/@magic-ext/flow":
version: 0.0.0-use.local
resolution: "@magic-ext/flow@workspace:packages/@magic-ext/flow"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
"@onflow/fcl": 0.0.41
"@onflow/types": 0.0.3
peerDependencies:
Expand All @@ -2792,34 +2792,34 @@ __metadata:
version: 0.0.0-use.local
resolution: "@magic-ext/harmony@workspace:packages/@magic-ext/harmony"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/icon@workspace:packages/@magic-ext/icon":
version: 0.0.0-use.local
resolution: "@magic-ext/icon@workspace:packages/@magic-ext/icon"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/near@workspace:packages/@magic-ext/near":
version: 0.0.0-use.local
resolution: "@magic-ext/near@workspace:packages/@magic-ext/near"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/oauth@^10.2.0, @magic-ext/oauth@workspace:packages/@magic-ext/oauth":
"@magic-ext/oauth@^11.0.0, @magic-ext/oauth@workspace:packages/@magic-ext/oauth":
version: 0.0.0-use.local
resolution: "@magic-ext/oauth@workspace:packages/@magic-ext/oauth"
dependencies:
"@magic-sdk/types": ^14.2.0
"@magic-sdk/types": ^15.0.0
"@types/crypto-js": ~3.1.47
crypto-js: ^3.3.0
magic-sdk: ^16.2.0
magic-sdk: ^17.0.0
languageName: unknown
linkType: soft

Expand All @@ -2835,15 +2835,15 @@ __metadata:
version: 0.0.0-use.local
resolution: "@magic-ext/polkadot@workspace:packages/@magic-ext/polkadot"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/react-native-bare-oauth@workspace:packages/@magic-ext/react-native-bare-oauth":
version: 0.0.0-use.local
resolution: "@magic-ext/react-native-bare-oauth@workspace:packages/@magic-ext/react-native-bare-oauth"
dependencies:
"@magic-sdk/react-native-bare": ^17.3.0
"@magic-sdk/react-native-bare": ^18.0.0
"@magic-sdk/types": ^10.0.1
"@types/crypto-js": ~3.1.47
crypto-js: ^3.3.0
Expand All @@ -2859,7 +2859,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@magic-ext/react-native-expo-oauth@workspace:packages/@magic-ext/react-native-expo-oauth"
dependencies:
"@magic-sdk/react-native-expo": ^17.3.0
"@magic-sdk/react-native-expo": ^18.0.0
"@magic-sdk/types": ^10.0.0
"@types/crypto-js": ~3.1.47
crypto-js: ^3.3.0
Expand All @@ -2874,56 +2874,56 @@ __metadata:
version: 0.0.0-use.local
resolution: "@magic-ext/solana@workspace:packages/@magic-ext/solana"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/taquito@workspace:packages/@magic-ext/taquito":
version: 0.0.0-use.local
resolution: "@magic-ext/taquito@workspace:packages/@magic-ext/taquito"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/terra@workspace:packages/@magic-ext/terra":
version: 0.0.0-use.local
resolution: "@magic-ext/terra@workspace:packages/@magic-ext/terra"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/tezos@workspace:packages/@magic-ext/tezos":
version: 0.0.0-use.local
resolution: "@magic-ext/tezos@workspace:packages/@magic-ext/tezos"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/webauthn@workspace:packages/@magic-ext/webauthn":
version: 0.0.0-use.local
resolution: "@magic-ext/webauthn@workspace:packages/@magic-ext/webauthn"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-ext/zilliqa@workspace:packages/@magic-ext/zilliqa":
version: 0.0.0-use.local
resolution: "@magic-ext/zilliqa@workspace:packages/@magic-ext/zilliqa"
dependencies:
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/commons": ^13.0.0
languageName: unknown
linkType: soft

"@magic-sdk/commons@^12.2.0, @magic-sdk/commons@workspace:packages/@magic-sdk/commons":
"@magic-sdk/commons@^13.0.0, @magic-sdk/commons@workspace:packages/@magic-sdk/commons":
version: 0.0.0-use.local
resolution: "@magic-sdk/commons@workspace:packages/@magic-sdk/commons"
dependencies:
"@magic-sdk/provider": ^16.2.0
"@magic-sdk/types": ^14.2.0
"@magic-sdk/provider": ^17.0.0
"@magic-sdk/types": ^15.0.0
peerDependencies:
"@magic-sdk/provider": ">=4.3.0"
"@magic-sdk/types": ">=3.1.1"
Expand All @@ -2947,17 +2947,17 @@ __metadata:
"@babel/core": ^7.9.6
"@babel/plugin-proposal-optional-chaining": ^7.9.0
"@babel/runtime": ^7.9.6
"@magic-ext/oauth": ^10.2.0
magic-sdk: ^16.2.0
"@magic-ext/oauth": ^11.0.0
magic-sdk: ^17.0.0
languageName: unknown
linkType: soft

"@magic-sdk/provider@^16.2.0, @magic-sdk/provider@workspace:packages/@magic-sdk/provider":
"@magic-sdk/provider@^17.0.0, @magic-sdk/provider@workspace:packages/@magic-sdk/provider":
version: 0.0.0-use.local
resolution: "@magic-sdk/provider@workspace:packages/@magic-sdk/provider"
dependencies:
"@babel/plugin-transform-modules-commonjs": ^7.9.6
"@magic-sdk/types": ^14.2.0
"@magic-sdk/types": ^15.0.0
"@peculiar/webcrypto": ^1.1.7
eventemitter3: ^4.0.4
localforage: ^1.7.4
Expand All @@ -2982,17 +2982,17 @@ __metadata:
languageName: node
linkType: hard

"@magic-sdk/react-native-bare@^17.3.0, @magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare":
"@magic-sdk/react-native-bare@^18.0.0, @magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare":
version: 0.0.0-use.local
resolution: "@magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare"
dependencies:
"@aveq-research/localforage-asyncstorage-driver": ^3.0.1
"@babel/core": ^7.15.0
"@babel/plugin-transform-flow-strip-types": ^7.14.5
"@babel/runtime": ~7.10.4
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/provider": ^16.2.0
"@magic-sdk/types": ^14.2.0
"@magic-sdk/commons": ^13.0.0
"@magic-sdk/provider": ^17.0.0
"@magic-sdk/types": ^15.0.0
"@react-native-async-storage/async-storage": ^1.15.5
"@types/lodash": ^4.14.158
buffer: ~5.6.0
Expand All @@ -3018,17 +3018,17 @@ __metadata:
languageName: unknown
linkType: soft

"@magic-sdk/react-native-expo@^17.3.0, @magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo":
"@magic-sdk/react-native-expo@^18.0.0, @magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo":
version: 0.0.0-use.local
resolution: "@magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo"
dependencies:
"@aveq-research/localforage-asyncstorage-driver": ^3.0.1
"@babel/core": ^7.15.0
"@babel/plugin-transform-flow-strip-types": ^7.14.5
"@babel/runtime": ~7.10.4
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/provider": ^16.2.0
"@magic-sdk/types": ^14.2.0
"@magic-sdk/commons": ^13.0.0
"@magic-sdk/provider": ^17.0.0
"@magic-sdk/types": ^15.0.0
"@react-native-async-storage/async-storage": ^1.15.5
"@types/lodash": ^4.14.158
buffer: ~5.6.0
Expand All @@ -3054,7 +3054,7 @@ __metadata:
languageName: unknown
linkType: soft

"@magic-sdk/types@^14.2.0, @magic-sdk/types@workspace:packages/@magic-sdk/types":
"@magic-sdk/types@^15.0.0, @magic-sdk/types@workspace:packages/@magic-sdk/types":
version: 0.0.0-use.local
resolution: "@magic-sdk/types@workspace:packages/@magic-sdk/types"
languageName: unknown
Expand Down Expand Up @@ -12308,16 +12308,16 @@ fsevents@^2.3.2:
languageName: unknown
linkType: soft

"magic-sdk@^16.2.0, magic-sdk@workspace:packages/magic-sdk":
"magic-sdk@^17.0.0, magic-sdk@workspace:packages/magic-sdk":
version: 0.0.0-use.local
resolution: "magic-sdk@workspace:packages/magic-sdk"
dependencies:
"@babel/core": ^7.9.6
"@babel/plugin-proposal-optional-chaining": ^7.9.0
"@babel/runtime": ^7.9.6
"@magic-sdk/commons": ^12.2.0
"@magic-sdk/provider": ^16.2.0
"@magic-sdk/types": ^14.2.0
"@magic-sdk/commons": ^13.0.0
"@magic-sdk/provider": ^17.0.0
"@magic-sdk/types": ^15.0.0
localforage: ^1.7.4
localforage-driver-memory: ^1.0.5
languageName: unknown
Expand Down

0 comments on commit b0e93ca

Please sign in to comment.