@streamlayer/sdk-web-core
Advanced tools
Comparing version 0.18.2 to 0.19.0
import { AbstractAuthenticationProvider } from '@streamlayer/sdk-web-interfaces'; | ||
import { Transport } from '@streamlayer/sdk-web-api'; | ||
import { CoreStore } from '../../store/store'; | ||
import { DeepLinkContext } from '../../deepLink'; | ||
/** | ||
@@ -11,6 +12,7 @@ * An authorization service manages user access by providing login, logout, | ||
private readonly $coreStore; | ||
private readonly deepLink; | ||
private readonly transport; | ||
private readonly bypassLogin; | ||
constructor(store: CoreStore, transport: Transport); | ||
me: () => Promise<import("@streamlayer/sl-eslib/users/users_common_pb").User | undefined>; | ||
constructor(store: CoreStore, transport: Transport, deepLink: DeepLinkContext); | ||
me: () => Promise<(import("@streamlayer/sl-eslib/users/users_common_pb").User & import("@streamlayer/sl-eslib/users/users_common_pb").User) | undefined>; | ||
/** | ||
@@ -23,3 +25,3 @@ * Login user by token and schema. | ||
login: (schema: string, userKey: string) => Promise<string>; | ||
isAuthenticated: () => Promise<import("@streamlayer/sl-eslib/users/users_common_pb").User | undefined>; | ||
isAuthenticated: () => Promise<(import("@streamlayer/sl-eslib/users/users_common_pb").User & import("@streamlayer/sl-eslib/users/users_common_pb").User) | undefined>; | ||
/** | ||
@@ -26,0 +28,0 @@ * Logout user. Clears the all user data from the store. |
@@ -11,7 +11,9 @@ import { AbstractAuthenticationProvider } from '@streamlayer/sdk-web-interfaces'; | ||
$coreStore; | ||
deepLink; | ||
transport; | ||
bypassLogin; | ||
constructor(store, transport) { | ||
constructor(store, transport, deepLink) { | ||
super(); | ||
this.$coreStore = store; | ||
this.deepLink = deepLink; | ||
this.transport = transport; | ||
@@ -34,3 +36,10 @@ this.bypassLogin = queries.bypassLogin(this.transport); | ||
this.$coreStore.getValues().userKey.setValue(userKey); | ||
const user = await this.bypassLogin({ schema, userKey, init: false }); | ||
const inviterKey = this.deepLink.getDeepLinkData()?.friendId; | ||
console.log('inviterKey', inviterKey); | ||
const user = await this.bypassLogin({ | ||
schema, | ||
userKey, | ||
inviterKey, | ||
init: false, | ||
}); | ||
const token = user.meta?.jwt; | ||
@@ -41,2 +50,6 @@ const userId = user.data?.id; | ||
} | ||
console.log('user', user); | ||
if (user.meta?.inviterKey) { | ||
this.deepLink.deepLinkUsed(user.meta.inviterKey); | ||
} | ||
this.$coreStore.getValues().user.getStore().mutate(user); | ||
@@ -43,0 +56,0 @@ this.saveUser(token, userId); |
@@ -10,3 +10,3 @@ import { CoreStatus } from '../store/store'; | ||
export const bypass = (instance, opts, done) => { | ||
instance.auth = new BypassAuth(instance.store, instance.transport); | ||
instance.auth = new BypassAuth(instance.store, instance.transport, instance.deepLink); | ||
instance.stores.status.listen((status) => { | ||
@@ -13,0 +13,0 @@ if (status === CoreStatus.READY) { |
import { StreamLayerContext } from '@streamlayer/sdk-web-interfaces'; | ||
export { bypass, storage } from './auth'; | ||
export { store } from './store'; | ||
export { deepLink, DEEP_LINK_PREFIX, DEEP_LINK_USER_ID, DEEP_LINK_EVENT_ID } from './deepLink'; | ||
import './store'; | ||
@@ -5,0 +6,0 @@ import './auth'; |
import { CoreStatus } from './store/store'; | ||
export { bypass, storage } from './auth'; | ||
export { store } from './store'; | ||
export { deepLink, DEEP_LINK_PREFIX, DEEP_LINK_USER_ID, DEEP_LINK_EVENT_ID } from './deepLink'; | ||
import './store'; | ||
@@ -5,0 +6,0 @@ import './auth'; |
import { SingleStore, ApiStore } from '@streamlayer/sdk-web-interfaces'; | ||
import { Transport } from '@streamlayer/sdk-web-api'; | ||
import type { BypassAuthResponse } from '@streamlayer/sl-eslib/users/users_pb'; | ||
export declare enum CoreStatus { | ||
@@ -16,3 +17,3 @@ DISABLED = "disabled", | ||
readonly streamSettings: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined, any>>; | ||
readonly user: ApiStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined, any>>; | ||
readonly user: ApiStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse & BypassAuthResponse, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse & BypassAuthResponse, any>>; | ||
readonly userKey: SingleStore<unknown, import("nanostores").WritableAtom<string | undefined>>; | ||
@@ -19,0 +20,0 @@ readonly userToken: SingleStore<unknown, import("nanostores").WritableAtom<string | undefined>>; |
@@ -56,3 +56,3 @@ import type { OrganizationAdvertising, StreamSettings, OrganizationSettings, User, UserSettings } from '@streamlayer/sdk-web-types'; | ||
readonly streamSettings: import("@streamlayer/sdk-web-interfaces").ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings | undefined, any>>; | ||
readonly user: import("@streamlayer/sdk-web-interfaces").ApiStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse | undefined, any>>; | ||
readonly user: import("@streamlayer/sdk-web-interfaces").ApiStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse & import("@streamlayer/sl-eslib/users/users_pb").BypassAuthResponse, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse & import("@streamlayer/sl-eslib/users/users_pb").BypassAuthResponse, any>>; | ||
readonly userKey: import("@streamlayer/sdk-web-interfaces").SingleStore<unknown, import("nanostores").WritableAtom<string | undefined>>; | ||
@@ -59,0 +59,0 @@ readonly userToken: import("@streamlayer/sdk-web-interfaces").SingleStore<unknown, import("nanostores").WritableAtom<string | undefined>>; |
@@ -8,8 +8,8 @@ { | ||
"@nanostores/query": "^0.2.8", | ||
"@streamlayer/sl-eslib": "^5.64.1", | ||
"@streamlayer/sl-eslib": "^5.66.0", | ||
"nanostores": "^0.9.5", | ||
"@streamlayer/sdk-web-api": "^0.20.1", | ||
"@streamlayer/sdk-web-interfaces": "^0.20.1", | ||
"@streamlayer/sdk-web-storage": "^0.3.12", | ||
"@streamlayer/sdk-web-types": "^0.21.1" | ||
"@streamlayer/sdk-web-api": "^0.21.0", | ||
"@streamlayer/sdk-web-interfaces": "^0.20.2", | ||
"@streamlayer/sdk-web-storage": "^0.4.0", | ||
"@streamlayer/sdk-web-types": "^0.22.0" | ||
}, | ||
@@ -43,3 +43,3 @@ "exports": { | ||
}, | ||
"version": "0.18.2", | ||
"version": "0.19.0", | ||
"type": "module", | ||
@@ -46,0 +46,0 @@ "main": "./lib/index.js", |
40333
22
898