From 009e238c302d44c0648c6350b7fc4667c0f59949 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Mon, 28 Oct 2024 14:26:45 -0500 Subject: [PATCH] Identify purchases user in session reducer --- src/state/purchases/identifyUser/index.ts | 11 +++++++++++ src/state/purchases/identifyUser/index.web.ts | 2 ++ src/state/session/reducer.ts | 2 ++ 3 files changed, 15 insertions(+) create mode 100644 src/state/purchases/identifyUser/index.ts create mode 100644 src/state/purchases/identifyUser/index.web.ts diff --git a/src/state/purchases/identifyUser/index.ts b/src/state/purchases/identifyUser/index.ts new file mode 100644 index 0000000000..5e37be0625 --- /dev/null +++ b/src/state/purchases/identifyUser/index.ts @@ -0,0 +1,11 @@ +import Purchases from 'react-native-purchases' + +import {SessionAccount} from '#/state/session/types' + +export function identifyUser(account: SessionAccount) { + Purchases.logIn(account.did) + // TODO is this ever not defined? + if (account.email) { + Purchases.setEmail(account.email) + } +} diff --git a/src/state/purchases/identifyUser/index.web.ts b/src/state/purchases/identifyUser/index.web.ts new file mode 100644 index 0000000000..b0343fd345 --- /dev/null +++ b/src/state/purchases/identifyUser/index.web.ts @@ -0,0 +1,2 @@ +// no-op on web +export function identifyUser() {} diff --git a/src/state/session/reducer.ts b/src/state/session/reducer.ts index 22ba47162a..0460bd90ec 100644 --- a/src/state/session/reducer.ts +++ b/src/state/session/reducer.ts @@ -1,5 +1,6 @@ import {AtpSessionEvent} from '@atproto/api' +import {identifyUser as identifyPurchasesUser} from '#/state/purchases/identifyUser' import {createPublicAgent} from './agent' import {wrapSessionReducerForLogging} from './logging' import {SessionAccount} from './types' @@ -118,6 +119,7 @@ let reducer = (state: State, action: Action): State => { } case 'switched-to-account': { const {newAccount, newAgent} = action + identifyPurchasesUser(newAccount) return { accounts: [ newAccount,