@streamlayer/sdk-web-api 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,12 +1,20 @@
1
1
  {
2
2
  "name": "@streamlayer/sdk-web-api",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.js",
6
6
  "typings": "./src/index.d.ts",
7
7
  "files": [
8
8
  "src/"
9
9
  ],
10
+ "exports": {
11
+ ".": "./src/index.js",
12
+ "./queries/*": {
13
+ "types": "./src/grpc/queries/*.d.ts",
14
+ "import": "./src/grpc/queries/*.js",
15
+ "default": "./src/grpc/queries/*.js"
16
+ }
17
+ },
10
18
  "dependencies": {
11
19
  "@bufbuild/connect": "*",
12
20
  "@bufbuild/connect-web": "*",
@@ -2,4 +2,4 @@ import { ReadableAtom } from 'nanostores';
2
2
  import { Transport } from '../transport';
3
3
  export { $user } from './user';
4
4
  export declare const $retrieveEventId: ($providerStreamId: ReadableAtom<string>, transport: Transport) => import("@nanostores/query").FetcherStore<string, any>;
5
- export declare const $streamSettings: (slStreamId: string, transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings, any>;
5
+ export declare const $streamSettings: (slStreamId: ReadableAtom<string>, transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").StreamSettings, any>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/event.ts"],"sourcesContent":["import { nanoquery } from '@nanostores/query'\nimport { ReadableAtom } from 'nanostores'\nimport { Events } from '@streamlayer/sl-eslib/sports/events/events_connect'\nimport { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\n\nimport { Transport } from '../transport'\n\nexport { $user } from './user'\n\nconst [createFetcherStore] = nanoquery()\n\nexport const $retrieveEventId = ($providerStreamId: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Events, {\n method: 'retrieveEventId',\n params: [$providerStreamId],\n })\n\n return createFetcherStore(queryKey, {\n fetcher: async (_: string, __: string, id: string) => {\n if (!id) {\n return ''\n }\n\n const res = await client.retrieveEventId({\n id,\n })\n\n return (res.data?.id as unknown as string) || ''\n },\n })\n}\n\nexport const $streamSettings = (slStreamId: string, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'getStream', params: [slStreamId] })\n\n return createFetcherStore(queryKey, {\n fetcher: async (_: string, __: string, id: string) => {\n const res = await client.getStream({\n id,\n })\n\n return res.data?.attributes\n },\n })\n}\n"],"names":["nanoquery","Events","Client","$user","createFetcherStore","$retrieveEventId","$providerStreamId","transport","client","queryKey","createPromiseClient","method","params","fetcher","_","__","id","res","retrieveEventId","data","$streamSettings","slStreamId","getStream","attributes"],"mappings":"AAAA,SAASA,SAAS,QAAQ,oBAAmB;AAE7C,SAASC,MAAM,QAAQ,qDAAoD;AAC3E,SAASC,MAAM,QAAQ,0DAAyD;AAIhF,SAASC,KAAK,QAAQ,SAAQ;AAE9B,MAAM,CAACC,mBAAmB,GAAGJ;AAE7B,OAAO,MAAMK,mBAAmB,CAACC,mBAAyCC;IACxE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACT,QAAQ;QACjEU,QAAQ;QACRC,QAAQ;YAACN;SAAkB;IAC7B;IAEA,OAAOF,mBAAmBK,UAAU;QAClCI,SAAS,OAAOC,GAAWC,IAAYC;YACrC,IAAI,CAACA,IAAI;gBACP,OAAO;YACT;YAEA,MAAMC,MAAM,MAAMT,OAAOU,eAAe,CAAC;gBACvCF;YACF;YAEA,OAAO,CAACC,IAAIE,IAAI,EAAEH,EAAuB,KAAK;QAChD;IACF;AACF,EAAC;AAED,OAAO,MAAMI,kBAAkB,CAACC,YAAoBd;IAClD,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACR,QAAQ;QAAES,QAAQ;QAAaC,QAAQ;YAACS;SAAW;IAAC;IAE/G,OAAOjB,mBAAmBK,UAAU;QAClCI,SAAS,OAAOC,GAAWC,IAAYC;YACrC,MAAMC,MAAM,MAAMT,OAAOc,SAAS,CAAC;gBACjCN;YACF;YAEA,OAAOC,IAAIE,IAAI,EAAEI;QACnB;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/event.ts"],"sourcesContent":["import { nanoquery } from '@nanostores/query'\nimport { ReadableAtom } from 'nanostores'\nimport { Events } from '@streamlayer/sl-eslib/sports/events/events_connect'\nimport { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\n\nimport { Transport } from '../transport'\n\nexport { $user } from './user'\n\nconst [createFetcherStore] = nanoquery()\n\nexport const $retrieveEventId = ($providerStreamId: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Events, {\n method: 'retrieveEventId',\n params: [$providerStreamId],\n })\n\n return createFetcherStore(queryKey, {\n fetcher: async (_: string, __: string, id: string) => {\n if (!id) {\n return ''\n }\n\n const res = await client.retrieveEventId({\n id,\n })\n\n return (res.data?.id as unknown as string) || ''\n },\n })\n}\n\nexport const $streamSettings = (slStreamId: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'getStream', params: [slStreamId] })\n\n return createFetcherStore(queryKey, {\n fetcher: async (_: string, __: string, id: string) => {\n const res = await client.getStream({\n id,\n })\n\n return res.data?.attributes\n },\n })\n}\n"],"names":["nanoquery","Events","Client","$user","createFetcherStore","$retrieveEventId","$providerStreamId","transport","client","queryKey","createPromiseClient","method","params","fetcher","_","__","id","res","retrieveEventId","data","$streamSettings","slStreamId","getStream","attributes"],"mappings":"AAAA,SAASA,SAAS,QAAQ,oBAAmB;AAE7C,SAASC,MAAM,QAAQ,qDAAoD;AAC3E,SAASC,MAAM,QAAQ,0DAAyD;AAIhF,SAASC,KAAK,QAAQ,SAAQ;AAE9B,MAAM,CAACC,mBAAmB,GAAGJ;AAE7B,OAAO,MAAMK,mBAAmB,CAACC,mBAAyCC;IACxE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACT,QAAQ;QACjEU,QAAQ;QACRC,QAAQ;YAACN;SAAkB;IAC7B;IAEA,OAAOF,mBAAmBK,UAAU;QAClCI,SAAS,OAAOC,GAAWC,IAAYC;YACrC,IAAI,CAACA,IAAI;gBACP,OAAO;YACT;YAEA,MAAMC,MAAM,MAAMT,OAAOU,eAAe,CAAC;gBACvCF;YACF;YAEA,OAAO,CAACC,IAAIE,IAAI,EAAEH,EAAuB,KAAK;QAChD;IACF;AACF,EAAC;AAED,OAAO,MAAMI,kBAAkB,CAACC,YAAkCd;IAChE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACR,QAAQ;QAAES,QAAQ;QAAaC,QAAQ;YAACS;SAAW;IAAC;IAE/G,OAAOjB,mBAAmBK,UAAU;QAClCI,SAAS,OAAOC,GAAWC,IAAYC;YACrC,MAAMC,MAAM,MAAMT,OAAOc,SAAS,CAAC;gBACjCN;YACF;YAEA,OAAOC,IAAIE,IAAI,EAAEI;QACnB;IACF;AACF,EAAC"}
@@ -1,4 +1,21 @@
1
+ import { ReadableAtom } from 'nanostores';
1
2
  import { Transport } from '../transport';
2
3
  export { $user } from './user';
3
- export declare const $organizationSettings: (transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").OrganizationSettings, any>;
4
- export declare const $organizationAdvertising: (transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising, any>;
4
+ export declare const $organizationSettings: ($enabled: ReadableAtom<string>, transport: Transport) => import("@nanostores/query").FetcherStore<{
5
+ id: string;
6
+ overlays: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").SdkOverlay[];
7
+ buttonIcon: string;
8
+ tinodeHost: string;
9
+ audience: string;
10
+ name: string;
11
+ provider: string;
12
+ primaryColor: string;
13
+ secondaryColor: string;
14
+ moderationPrimaryColor: string;
15
+ linkShareIcon: string;
16
+ linkShareText: string;
17
+ brandDefaults?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").BrandDefaults;
18
+ pub?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").JWK;
19
+ getstream?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").GetStreamSettingsClient;
20
+ }, any>;
21
+ export declare const $organizationAdvertising: ($enabled: ReadableAtom<string>, transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising, any>;
@@ -2,20 +2,29 @@ import { nanoquery } from '@nanostores/query';
2
2
  import { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect';
3
3
  export { $user } from './user';
4
4
  const [createFetcherStore] = nanoquery();
5
- export const $organizationSettings = (transport)=>{
5
+ export const $organizationSettings = ($enabled, transport)=>{
6
6
  const { client, queryKey } = transport.createPromiseClient(Client, {
7
- method: 'getOrganization'
7
+ method: 'getOrganization',
8
+ params: [
9
+ $enabled
10
+ ]
8
11
  });
9
12
  return createFetcherStore(queryKey, {
10
13
  fetcher: async ()=>{
11
14
  const res = await client.getOrganization({});
12
- return res.data?.attributes;
15
+ return res.data ? {
16
+ ...res.data.attributes,
17
+ id: res.data.id
18
+ } : null;
13
19
  }
14
20
  });
15
21
  };
16
- export const $organizationAdvertising = (transport)=>{
22
+ export const $organizationAdvertising = ($enabled, transport)=>{
17
23
  const { client, queryKey } = transport.createPromiseClient(Client, {
18
- method: 'getOrganizationAdvertising'
24
+ method: 'getOrganizationAdvertising',
25
+ params: [
26
+ $enabled
27
+ ]
19
28
  });
20
29
  return createFetcherStore(queryKey, {
21
30
  fetcher: async ()=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/organization.ts"],"sourcesContent":["import { nanoquery } from '@nanostores/query'\nimport { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\n\nimport { Transport } from '../transport'\n\nexport { $user } from './user'\n\nconst [createFetcherStore] = nanoquery()\n\nexport const $organizationSettings = (transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'getOrganization' })\n\n return createFetcherStore(queryKey, {\n fetcher: async () => {\n const res = await client.getOrganization({})\n\n return res.data?.attributes\n },\n })\n}\n\nexport const $organizationAdvertising = (transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'getOrganizationAdvertising' })\n\n return createFetcherStore(queryKey, {\n fetcher: async () => {\n const res = await client.getOrganizationAdvertising({})\n\n return res.data?.attributes\n },\n })\n}\n"],"names":["nanoquery","Client","$user","createFetcherStore","$organizationSettings","transport","client","queryKey","createPromiseClient","method","fetcher","res","getOrganization","data","attributes","$organizationAdvertising","getOrganizationAdvertising"],"mappings":"AAAA,SAASA,SAAS,QAAQ,oBAAmB;AAC7C,SAASC,MAAM,QAAQ,0DAAyD;AAIhF,SAASC,KAAK,QAAQ,SAAQ;AAE9B,MAAM,CAACC,mBAAmB,GAAGH;AAE7B,OAAO,MAAMI,wBAAwB,CAACC;IACpC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACP,QAAQ;QAAEQ,QAAQ;IAAkB;IAE/F,OAAON,mBAAmBI,UAAU;QAClCG,SAAS;YACP,MAAMC,MAAM,MAAML,OAAOM,eAAe,CAAC,CAAC;YAE1C,OAAOD,IAAIE,IAAI,EAAEC;QACnB;IACF;AACF,EAAC;AAED,OAAO,MAAMC,2BAA2B,CAACV;IACvC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACP,QAAQ;QAAEQ,QAAQ;IAA6B;IAE1G,OAAON,mBAAmBI,UAAU;QAClCG,SAAS;YACP,MAAMC,MAAM,MAAML,OAAOU,0BAA0B,CAAC,CAAC;YAErD,OAAOL,IAAIE,IAAI,EAAEC;QACnB;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/organization.ts"],"sourcesContent":["import { nanoquery } from '@nanostores/query'\nimport { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\nimport { ReadableAtom } from 'nanostores'\n\nimport { Transport } from '../transport'\n\nexport { $user } from './user'\n\nconst [createFetcherStore] = nanoquery()\n\nexport const $organizationSettings = ($enabled: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'getOrganization', params: [$enabled] })\n\n return createFetcherStore(queryKey, {\n fetcher: async () => {\n const res = await client.getOrganization({})\n\n return res.data\n ? {\n ...res.data.attributes,\n id: res.data.id,\n }\n : null\n },\n })\n}\n\nexport const $organizationAdvertising = ($enabled: ReadableAtom<string>, transport: Transport) => {\n const { client, queryKey } = transport.createPromiseClient(Client, {\n method: 'getOrganizationAdvertising',\n params: [$enabled],\n })\n\n return createFetcherStore(queryKey, {\n fetcher: async () => {\n const res = await client.getOrganizationAdvertising({})\n\n return res.data?.attributes\n },\n })\n}\n"],"names":["nanoquery","Client","$user","createFetcherStore","$organizationSettings","$enabled","transport","client","queryKey","createPromiseClient","method","params","fetcher","res","getOrganization","data","attributes","id","$organizationAdvertising","getOrganizationAdvertising"],"mappings":"AAAA,SAASA,SAAS,QAAQ,oBAAmB;AAC7C,SAASC,MAAM,QAAQ,0DAAyD;AAKhF,SAASC,KAAK,QAAQ,SAAQ;AAE9B,MAAM,CAACC,mBAAmB,GAAGH;AAE7B,OAAO,MAAMI,wBAAwB,CAACC,UAAgCC;IACpE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACR,QAAQ;QAAES,QAAQ;QAAmBC,QAAQ;YAACN;SAAS;IAAC;IAEnH,OAAOF,mBAAmBK,UAAU;QAClCI,SAAS;YACP,MAAMC,MAAM,MAAMN,OAAOO,eAAe,CAAC,CAAC;YAE1C,OAAOD,IAAIE,IAAI,GACX;gBACE,GAAGF,IAAIE,IAAI,CAACC,UAAU;gBACtBC,IAAIJ,IAAIE,IAAI,CAACE,EAAE;YACjB,IACA;QACN;IACF;AACF,EAAC;AAED,OAAO,MAAMC,2BAA2B,CAACb,UAAgCC;IACvE,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAGF,UAAUG,mBAAmB,CAACR,QAAQ;QACjES,QAAQ;QACRC,QAAQ;YAACN;SAAS;IACpB;IAEA,OAAOF,mBAAmBK,UAAU;QAClCI,SAAS;YACP,MAAMC,MAAM,MAAMN,OAAOY,0BAA0B,CAAC,CAAC;YAErD,OAAON,IAAIE,IAAI,EAAEC;QACnB;IACF;AACF,EAAC"}
@@ -1,9 +1,13 @@
1
1
  import { ReadableAtom } from 'nanostores';
2
+ import type { BypassAuthRequest, BypassAuthResponse } from '@streamlayer/sl-eslib/users/users_pb';
3
+ import { PlainMessage } from '@bufbuild/protobuf';
2
4
  import { Transport } from '../transport';
3
- export declare const $user: ($userKey: ReadableAtom<string>, $userToken: ReadableAtom<string>, transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/users/users_pb").BypassAuthResponse | {
4
- meta: {
5
- jwt: string;
6
- };
7
- data?: import("@streamlayer/sl-eslib/users/users_common_pb").User;
8
- }, any>;
5
+ export declare const $user: ($userToken: ReadableAtom<string>, transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/users/users_pb").MeResponse, any>;
6
+ export declare const $bypassLogin: (transport: Transport) => import("@nanostores/query").MutatorStore<PlainMessage<BypassAuthRequest>, PlainMessage<BypassAuthResponse>, any>;
7
+ export declare const bypassAuth: (transport: Transport, params: {
8
+ userKey?: string;
9
+ schema?: string;
10
+ init?: boolean;
11
+ }) => Promise<BypassAuthResponse>;
9
12
  export declare const $userSettings: ($userToken: ReadableAtom<string>, transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/client/client_pb").ClientSettings, any>;
13
+ export declare const register: (transport: Transport, phone: string) => Promise<import("@streamlayer/sl-eslib/users/users_pb").RegisterResponse>;
@@ -1,45 +1,45 @@
1
1
  import { nanoquery } from '@nanostores/query';
2
2
  import { Users } from '@streamlayer/sl-eslib/users/users_connect';
3
3
  import { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect';
4
- const [createFetcherStore] = nanoquery();
4
+ const [createFetcherStore, createMutatorStore] = nanoquery();
5
5
  // user query
6
6
  // cache user
7
7
  // invalidate token
8
8
  // login
9
9
  // save token
10
10
  // called on update user key
11
- export const $user = ($userKey, $userToken, transport)=>{
11
+ export const $user = ($userToken, transport)=>{
12
12
  const { queryKey, client } = transport.createPromiseClient(Users, {
13
- method: 'bypassAuth',
13
+ method: 'me',
14
14
  params: [
15
- $userKey
15
+ $userToken
16
16
  ]
17
17
  });
18
18
  return createFetcherStore(queryKey, {
19
- fetcher: async (_, __, userKey)=>{
20
- // if user token exist, try to validate and refresh user data
21
- // otherwise clear invalid login token
22
- // and relogin
23
- if ($userToken.get()) {
24
- try {
25
- const response = await client.me({});
26
- return {
27
- ...response,
28
- meta: {
29
- jwt: $userToken.get()
30
- }
31
- };
32
- } catch (err) {
33
- console.log('invalid token, relogin...');
34
- }
35
- }
36
- return client.bypassAuth({
37
- userKey,
38
- schema: 'streamlayer'
39
- });
40
- }
19
+ fetcher: ()=>client.me({})
20
+ });
21
+ };
22
+ export const $bypassLogin = (transport)=>{
23
+ const { client, queryKeyStr } = transport.createPromiseClient(Users, {
24
+ method: 'bypassAuth'
25
+ });
26
+ return createMutatorStore(async ({ data: { userKey, schema, init }, getCacheUpdater })=>{
27
+ const [updateCache] = getCacheUpdater(queryKeyStr);
28
+ const user = await client.bypassAuth({
29
+ userKey,
30
+ schema,
31
+ init
32
+ });
33
+ updateCache(user);
34
+ return user;
41
35
  });
42
36
  };
37
+ export const bypassAuth = (transport, params)=>{
38
+ const { client } = transport.createPromiseClient(Users, {
39
+ method: 'bypassAuth'
40
+ });
41
+ return client.bypassAuth(params);
42
+ };
43
43
  export const $userSettings = ($userToken, transport)=>{
44
44
  const { client, queryKey } = transport.createPromiseClient(Client, {
45
45
  method: 'get',
@@ -54,5 +54,13 @@ export const $userSettings = ($userToken, transport)=>{
54
54
  }
55
55
  });
56
56
  };
57
+ export const register = (transport, phone)=>{
58
+ const { client } = transport.createPromiseClient(Users, {
59
+ method: 'register'
60
+ });
61
+ return client.register({
62
+ id: phone
63
+ });
64
+ };
57
65
 
58
66
  //# sourceMappingURL=user.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/user.ts"],"sourcesContent":["import { nanoquery } from '@nanostores/query'\nimport { ReadableAtom } from 'nanostores'\nimport { Users } from '@streamlayer/sl-eslib/users/users_connect'\nimport { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\n\nimport { Transport } from '../transport'\n\nconst [createFetcherStore] = nanoquery()\n\n// user query\n// cache user\n// invalidate token\n// login\n// save token\n// called on update user key\nexport const $user = (\n $userKey: ReadableAtom<string>, // user key from host\n $userToken: ReadableAtom<string>, // sl user token\n transport: Transport,\n) => {\n const { queryKey, client } = transport.createPromiseClient(Users, { method: 'bypassAuth', params: [$userKey] })\n\n return createFetcherStore(queryKey, {\n fetcher: async (_, __, userKey: string) => {\n // if user token exist, try to validate and refresh user data\n // otherwise clear invalid login token\n // and relogin\n if ($userToken.get()) {\n try {\n const response = await client.me({})\n\n return {\n ...response,\n meta: {\n jwt: $userToken.get(),\n },\n }\n } catch (err) {\n console.log('invalid token, relogin...')\n }\n }\n\n return client.bypassAuth({\n userKey,\n schema: 'streamlayer',\n })\n },\n })\n}\n\nexport const $userSettings = (\n $userToken: ReadableAtom<string>, // sl user token\n transport: Transport,\n) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'get', params: [$userToken] })\n\n return createFetcherStore(queryKey, {\n fetcher: async () => {\n const data = await client.get({})\n\n return data.data?.attributes\n },\n })\n}\n"],"names":["nanoquery","Users","Client","createFetcherStore","$user","$userKey","$userToken","transport","queryKey","client","createPromiseClient","method","params","fetcher","_","__","userKey","get","response","me","meta","jwt","err","console","log","bypassAuth","schema","$userSettings","data","attributes"],"mappings":"AAAA,SAASA,SAAS,QAAQ,oBAAmB;AAE7C,SAASC,KAAK,QAAQ,4CAA2C;AACjE,SAASC,MAAM,QAAQ,0DAAyD;AAIhF,MAAM,CAACC,mBAAmB,GAAGH;AAE7B,aAAa;AACb,aAAa;AACb,mBAAmB;AACnB,QAAQ;AACR,aAAa;AACb,4BAA4B;AAC5B,OAAO,MAAMI,QAAQ,CACnBC,UACAC,YACAC;IAEA,MAAM,EAAEC,QAAQ,EAAEC,MAAM,EAAE,GAAGF,UAAUG,mBAAmB,CAACT,OAAO;QAAEU,QAAQ;QAAcC,QAAQ;YAACP;SAAS;IAAC;IAE7G,OAAOF,mBAAmBK,UAAU;QAClCK,SAAS,OAAOC,GAAGC,IAAIC;YACrB,6DAA6D;YAC7D,sCAAsC;YACtC,cAAc;YACd,IAAIV,WAAWW,GAAG,IAAI;gBACpB,IAAI;oBACF,MAAMC,WAAW,MAAMT,OAAOU,EAAE,CAAC,CAAC;oBAElC,OAAO;wBACL,GAAGD,QAAQ;wBACXE,MAAM;4BACJC,KAAKf,WAAWW,GAAG;wBACrB;oBACF;gBACF,EAAE,OAAOK,KAAK;oBACZC,QAAQC,GAAG,CAAC;gBACd;YACF;YAEA,OAAOf,OAAOgB,UAAU,CAAC;gBACvBT;gBACAU,QAAQ;YACV;QACF;IACF;AACF,EAAC;AAED,OAAO,MAAMC,gBAAgB,CAC3BrB,YACAC;IAEA,MAAM,EAAEE,MAAM,EAAED,QAAQ,EAAE,GAAGD,UAAUG,mBAAmB,CAACR,QAAQ;QAAES,QAAQ;QAAOC,QAAQ;YAACN;SAAW;IAAC;IAEzG,OAAOH,mBAAmBK,UAAU;QAClCK,SAAS;YACP,MAAMe,OAAO,MAAMnB,OAAOQ,GAAG,CAAC,CAAC;YAE/B,OAAOW,KAAKA,IAAI,EAAEC;QACpB;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../../../packages/sdk-web-api/src/grpc/queries/user.ts"],"sourcesContent":["import { nanoquery } from '@nanostores/query'\nimport { ReadableAtom } from 'nanostores'\nimport { Users } from '@streamlayer/sl-eslib/users/users_connect'\nimport type { BypassAuthRequest, BypassAuthResponse } from '@streamlayer/sl-eslib/users/users_pb'\nimport { Client } from '@streamlayer/sl-eslib/sdkSettings/client/client_connect'\nimport { PlainMessage } from '@bufbuild/protobuf'\n\nimport { Transport } from '../transport'\n\nconst [createFetcherStore, createMutatorStore] = nanoquery()\n\n// user query\n// cache user\n// invalidate token\n// login\n// save token\n// called on update user key\nexport const $user = ($userToken: ReadableAtom<string>, transport: Transport) => {\n const { queryKey, client } = transport.createPromiseClient(Users, { method: 'me', params: [$userToken] })\n\n return createFetcherStore(queryKey, {\n fetcher: () => client.me({}),\n })\n}\n\nexport const $bypassLogin = (transport: Transport) => {\n const { client, queryKeyStr } = transport.createPromiseClient(Users, { method: 'bypassAuth' })\n\n return createMutatorStore<PlainMessage<BypassAuthRequest>, PlainMessage<BypassAuthResponse>>(\n async ({ data: { userKey, schema, init }, getCacheUpdater }) => {\n const [updateCache] = getCacheUpdater(queryKeyStr)\n const user = await client.bypassAuth({ userKey, schema, init })\n\n updateCache(user)\n\n return user\n },\n )\n}\n\nexport const bypassAuth = (transport: Transport, params: { userKey?: string; schema?: string; init?: boolean }) => {\n const { client } = transport.createPromiseClient(Users, { method: 'bypassAuth' })\n\n return client.bypassAuth(params)\n}\n\nexport const $userSettings = (\n $userToken: ReadableAtom<string>, // sl user token\n transport: Transport,\n) => {\n const { client, queryKey } = transport.createPromiseClient(Client, { method: 'get', params: [$userToken] })\n\n return createFetcherStore(queryKey, {\n fetcher: async () => {\n const data = await client.get({})\n\n return data.data?.attributes\n },\n })\n}\n\nexport const register = (transport: Transport, phone: string) => {\n const { client } = transport.createPromiseClient(Users, { method: 'register' })\n\n return client.register({ id: phone })\n}\n"],"names":["nanoquery","Users","Client","createFetcherStore","createMutatorStore","$user","$userToken","transport","queryKey","client","createPromiseClient","method","params","fetcher","me","$bypassLogin","queryKeyStr","data","userKey","schema","init","getCacheUpdater","updateCache","user","bypassAuth","$userSettings","get","attributes","register","phone","id"],"mappings":"AAAA,SAASA,SAAS,QAAQ,oBAAmB;AAE7C,SAASC,KAAK,QAAQ,4CAA2C;AAEjE,SAASC,MAAM,QAAQ,0DAAyD;AAKhF,MAAM,CAACC,oBAAoBC,mBAAmB,GAAGJ;AAEjD,aAAa;AACb,aAAa;AACb,mBAAmB;AACnB,QAAQ;AACR,aAAa;AACb,4BAA4B;AAC5B,OAAO,MAAMK,QAAQ,CAACC,YAAkCC;IACtD,MAAM,EAAEC,QAAQ,EAAEC,MAAM,EAAE,GAAGF,UAAUG,mBAAmB,CAACT,OAAO;QAAEU,QAAQ;QAAMC,QAAQ;YAACN;SAAW;IAAC;IAEvG,OAAOH,mBAAmBK,UAAU;QAClCK,SAAS,IAAMJ,OAAOK,EAAE,CAAC,CAAC;IAC5B;AACF,EAAC;AAED,OAAO,MAAMC,eAAe,CAACR;IAC3B,MAAM,EAAEE,MAAM,EAAEO,WAAW,EAAE,GAAGT,UAAUG,mBAAmB,CAACT,OAAO;QAAEU,QAAQ;IAAa;IAE5F,OAAOP,mBACL,OAAO,EAAEa,MAAM,EAAEC,OAAO,EAAEC,MAAM,EAAEC,IAAI,EAAE,EAAEC,eAAe,EAAE;QACzD,MAAM,CAACC,YAAY,GAAGD,gBAAgBL;QACtC,MAAMO,OAAO,MAAMd,OAAOe,UAAU,CAAC;YAAEN;YAASC;YAAQC;QAAK;QAE7DE,YAAYC;QAEZ,OAAOA;IACT;AAEJ,EAAC;AAED,OAAO,MAAMC,aAAa,CAACjB,WAAsBK;IAC/C,MAAM,EAAEH,MAAM,EAAE,GAAGF,UAAUG,mBAAmB,CAACT,OAAO;QAAEU,QAAQ;IAAa;IAE/E,OAAOF,OAAOe,UAAU,CAACZ;AAC3B,EAAC;AAED,OAAO,MAAMa,gBAAgB,CAC3BnB,YACAC;IAEA,MAAM,EAAEE,MAAM,EAAED,QAAQ,EAAE,GAAGD,UAAUG,mBAAmB,CAACR,QAAQ;QAAES,QAAQ;QAAOC,QAAQ;YAACN;SAAW;IAAC;IAEzG,OAAOH,mBAAmBK,UAAU;QAClCK,SAAS;YACP,MAAMI,OAAO,MAAMR,OAAOiB,GAAG,CAAC,CAAC;YAE/B,OAAOT,KAAKA,IAAI,EAAEU;QACpB;IACF;AACF,EAAC;AAED,OAAO,MAAMC,WAAW,CAACrB,WAAsBsB;IAC7C,MAAM,EAAEpB,MAAM,EAAE,GAAGF,UAAUG,mBAAmB,CAACT,OAAO;QAAEU,QAAQ;IAAW;IAE7E,OAAOF,OAAOmB,QAAQ,CAAC;QAAEE,IAAID;IAAM;AACrC,EAAC"}
@@ -33,6 +33,7 @@ export declare class Transport {
33
33
  }) => {
34
34
  client: PromiseClient<T>;
35
35
  queryKey: ((string | number) | import("nanostores").ReadableAtom<void | (string | number)>)[];
36
+ queryKeyStr: string;
36
37
  };
37
38
  setSdkKey: (sdkKey: string) => void;
38
39
  setAuth: (token: string) => void;
@@ -37,7 +37,8 @@ const initialStore = {
37
37
  ];
38
38
  return {
39
39
  client,
40
- queryKey
40
+ queryKey,
41
+ queryKeyStr: queryKey.toString()
41
42
  };
42
43
  };
43
44
  this.setSdkKey = (sdkKey)=>{
@@ -84,7 +85,7 @@ const initialStore = {
84
85
  this.initInterceptors();
85
86
  this.clients = new Map();
86
87
  this.transport = createGrpcWebTransport({
87
- baseUrl: process.env.GRPC_HOST,
88
+ baseUrl: process.env.NX_GRPC_HOST || 'https://grpc-web.next.streamlayer.io:443',
88
89
  interceptors: this.interceptors,
89
90
  useBinaryFormat: true
90
91
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../packages/sdk-web-api/src/grpc/transport.ts"],"sourcesContent":["import { MapStore, createMapStore } from '@streamlayer/sdk-web-interfaces'\n\nimport { createRouterTransport, ConnectRouter } from '@connectrpc/connect'\nimport { Interceptor, createPromiseClient, PromiseClient, UnaryRequest, StreamRequest } from '@bufbuild/connect'\nimport type { ServiceType } from '@bufbuild/protobuf'\nimport { createGrpcWebTransport } from '@bufbuild/connect-web'\nimport type { KeyInput } from '@nanostores/query'\n\ntype KnownHeaders = {\n authorization?: string\n sdk?: string\n} & Record<string, string>\n\nconst initialStore: KnownHeaders = {\n sdk: process.env.SDK_KEY,\n}\n\nexport type GrpcTransport = Transport['transport']\n\ntype ReservedHeaders = 'sdk' | 'authorization'\ntype ExcludeReservedHeaders<T> = ReservedHeaders extends T ? never : T & T extends ReservedHeaders ? never : T\n\ndeclare global {\n interface Window {\n __GRPC_DEVTOOLS_EXTENSION__?: () => import('@bufbuild/connect').Interceptor\n }\n}\n\n/**\n * transport wrapper, initialize grpc transport, store headers and connect interceptors\n */\nexport class Transport {\n public readonly transport: ReturnType<typeof createGrpcWebTransport>\n protected interceptors: Interceptor[] = []\n private readonly $headers: MapStore<KnownHeaders>\n private clients: Map<keyof ServiceType['methods'], PromiseClient<ServiceType>>\n\n constructor() {\n this.$headers = new MapStore<KnownHeaders>(createMapStore(initialStore))\n this.initInterceptors()\n this.clients = new Map()\n\n this.transport = createGrpcWebTransport({\n baseUrl: process.env.GRPC_HOST,\n interceptors: this.interceptors,\n useBinaryFormat: true,\n })\n }\n\n registerInterceptor = (interceptor: Interceptor) => {\n this.interceptors.push(interceptor)\n }\n\n removeInterceptor = (interceptor: Interceptor) => {\n this.interceptors = this.interceptors.filter((i) => i !== interceptor)\n }\n\n getClient = <T extends ServiceType>(service: T): PromiseClient<T> => {\n const serviceName = service.typeName\n\n if (this.clients.has(serviceName)) {\n return this.clients.get(serviceName) as PromiseClient<T>\n }\n\n const client = createPromiseClient(service, this.transport)\n\n this.clients.set(serviceName, client)\n\n return client\n }\n\n createPromiseClient = <T extends ServiceType>(\n service: T,\n { params = [], method }: { params?: KeyInput; method: keyof T['methods'] },\n ) => {\n const client = this.getClient(service)\n\n const methodName = service.methods[method].name\n const queryKey = [\n service.typeName,\n methodName.charAt(0).toLowerCase() + methodName.slice(1),\n ...(Array.isArray(params) ? params : [params]),\n ]\n\n return { client, queryKey }\n }\n\n setSdkKey = (sdkKey: string) => {\n this.$headers.setValue('sdk', sdkKey)\n }\n\n setAuth = (token: string) => {\n this.$headers.setValue('authorization', token)\n }\n\n setHeader = <T extends keyof KnownHeaders = string>(name: ExcludeReservedHeaders<T>, value: string) =>\n this.$headers.setValue<string>(name, value)\n\n getHeader = (name: keyof KnownHeaders) => this.$headers.getValue(name)\n\n getHeaders = () => this.$headers.getValues()\n\n initInterceptors = () => {\n if (this.interceptors.length !== 0) {\n return\n }\n\n const auth: Interceptor = (next) => async (req) => {\n const headers = this.$headers.getValues()\n\n for (const header in headers) {\n req.header.set(header, headers[header])\n }\n try {\n return await next(req)\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log({ err }, 'catch err') // logout and something like this\n\n throw err\n }\n }\n\n this.interceptors.push(auth)\n\n if (window.__GRPC_DEVTOOLS_EXTENSION__) {\n this.interceptors.push(window.__GRPC_DEVTOOLS_EXTENSION__())\n } else {\n window.addEventListener('grpc_devtools_loaded', () => {\n if (window.__GRPC_DEVTOOLS_EXTENSION__) {\n this.interceptors.push(window.__GRPC_DEVTOOLS_EXTENSION__())\n }\n })\n }\n }\n}\n\nexport class MockTransport extends Transport {\n public declare transport: ReturnType<typeof createRouterTransport>\n public calls: Array<UnaryRequest | StreamRequest>\n\n constructor(transport: (router: ConnectRouter) => void) {\n super()\n\n this.calls = []\n this.interceptors.push((next) => (req) => {\n this.calls.push(req)\n\n return next(req)\n })\n this.transport = createRouterTransport(transport, {\n transport: {\n interceptors: this.interceptors,\n },\n })\n }\n}\n"],"names":["MapStore","createMapStore","createRouterTransport","createPromiseClient","createGrpcWebTransport","initialStore","sdk","process","env","SDK_KEY","Transport","constructor","interceptors","registerInterceptor","interceptor","push","removeInterceptor","filter","i","getClient","service","serviceName","typeName","clients","has","get","client","transport","set","params","method","methodName","methods","name","queryKey","charAt","toLowerCase","slice","Array","isArray","setSdkKey","sdkKey","$headers","setValue","setAuth","token","setHeader","value","getHeader","getValue","getHeaders","getValues","initInterceptors","length","auth","next","req","headers","header","err","console","log","window","__GRPC_DEVTOOLS_EXTENSION__","addEventListener","Map","baseUrl","GRPC_HOST","useBinaryFormat","MockTransport","calls"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../packages/sdk-web-api/src/grpc/transport.ts"],"sourcesContent":["import { MapStore, createMapStore } from '@streamlayer/sdk-web-interfaces'\n\nimport { createRouterTransport, ConnectRouter } from '@connectrpc/connect'\nimport { Interceptor, createPromiseClient, PromiseClient, UnaryRequest, StreamRequest } from '@bufbuild/connect'\nimport type { ServiceType } from '@bufbuild/protobuf'\nimport { createGrpcWebTransport } from '@bufbuild/connect-web'\nimport type { KeyInput } from '@nanostores/query'\n\ntype KnownHeaders = {\n authorization?: string\n sdk?: string\n} & Record<string, string>\n\nconst initialStore: KnownHeaders = {\n sdk: process.env.SDK_KEY,\n}\n\nexport type GrpcTransport = Transport['transport']\n\ntype ReservedHeaders = 'sdk' | 'authorization'\ntype ExcludeReservedHeaders<T> = ReservedHeaders extends T ? never : T & T extends ReservedHeaders ? never : T\n\ndeclare global {\n interface Window {\n __GRPC_DEVTOOLS_EXTENSION__?: () => import('@bufbuild/connect').Interceptor\n }\n}\n\n/**\n * transport wrapper, initialize grpc transport, store headers and connect interceptors\n */\nexport class Transport {\n public readonly transport: ReturnType<typeof createGrpcWebTransport>\n protected interceptors: Interceptor[] = []\n private readonly $headers: MapStore<KnownHeaders>\n private clients: Map<keyof ServiceType['methods'], PromiseClient<ServiceType>>\n\n constructor() {\n this.$headers = new MapStore<KnownHeaders>(createMapStore(initialStore))\n this.initInterceptors()\n this.clients = new Map()\n\n this.transport = createGrpcWebTransport({\n baseUrl: process.env.NX_GRPC_HOST || 'https://grpc-web.next.streamlayer.io:443',\n interceptors: this.interceptors,\n useBinaryFormat: true,\n })\n }\n\n registerInterceptor = (interceptor: Interceptor) => {\n this.interceptors.push(interceptor)\n }\n\n removeInterceptor = (interceptor: Interceptor) => {\n this.interceptors = this.interceptors.filter((i) => i !== interceptor)\n }\n\n getClient = <T extends ServiceType>(service: T): PromiseClient<T> => {\n const serviceName = service.typeName\n\n if (this.clients.has(serviceName)) {\n return this.clients.get(serviceName) as PromiseClient<T>\n }\n\n const client = createPromiseClient(service, this.transport)\n\n this.clients.set(serviceName, client)\n\n return client\n }\n\n createPromiseClient = <T extends ServiceType>(\n service: T,\n { params = [], method }: { params?: KeyInput; method: keyof T['methods'] },\n ) => {\n const client = this.getClient(service)\n\n const methodName = service.methods[method].name\n const queryKey = [\n service.typeName,\n methodName.charAt(0).toLowerCase() + methodName.slice(1),\n ...(Array.isArray(params) ? params : [params]),\n ]\n\n return { client, queryKey, queryKeyStr: queryKey.toString() }\n }\n\n setSdkKey = (sdkKey: string) => {\n this.$headers.setValue('sdk', sdkKey)\n }\n\n setAuth = (token: string) => {\n this.$headers.setValue('authorization', token)\n }\n\n setHeader = <T extends keyof KnownHeaders = string>(name: ExcludeReservedHeaders<T>, value: string) =>\n this.$headers.setValue<string>(name, value)\n\n getHeader = (name: keyof KnownHeaders) => this.$headers.getValue(name)\n\n getHeaders = () => this.$headers.getValues()\n\n initInterceptors = () => {\n if (this.interceptors.length !== 0) {\n return\n }\n\n const auth: Interceptor = (next) => async (req) => {\n const headers = this.$headers.getValues()\n\n for (const header in headers) {\n req.header.set(header, headers[header])\n }\n try {\n return await next(req)\n } catch (err) {\n // eslint-disable-next-line no-console\n console.log({ err }, 'catch err') // logout and something like this\n\n throw err\n }\n }\n\n this.interceptors.push(auth)\n\n if (window.__GRPC_DEVTOOLS_EXTENSION__) {\n this.interceptors.push(window.__GRPC_DEVTOOLS_EXTENSION__())\n } else {\n window.addEventListener('grpc_devtools_loaded', () => {\n if (window.__GRPC_DEVTOOLS_EXTENSION__) {\n this.interceptors.push(window.__GRPC_DEVTOOLS_EXTENSION__())\n }\n })\n }\n }\n}\n\nexport class MockTransport extends Transport {\n public declare transport: ReturnType<typeof createRouterTransport>\n public calls: Array<UnaryRequest | StreamRequest>\n\n constructor(transport: (router: ConnectRouter) => void) {\n super()\n\n this.calls = []\n this.interceptors.push((next) => (req) => {\n this.calls.push(req)\n\n return next(req)\n })\n this.transport = createRouterTransport(transport, {\n transport: {\n interceptors: this.interceptors,\n },\n })\n }\n}\n"],"names":["MapStore","createMapStore","createRouterTransport","createPromiseClient","createGrpcWebTransport","initialStore","sdk","process","env","SDK_KEY","Transport","constructor","interceptors","registerInterceptor","interceptor","push","removeInterceptor","filter","i","getClient","service","serviceName","typeName","clients","has","get","client","transport","set","params","method","methodName","methods","name","queryKey","charAt","toLowerCase","slice","Array","isArray","queryKeyStr","toString","setSdkKey","sdkKey","$headers","setValue","setAuth","token","setHeader","value","getHeader","getValue","getHeaders","getValues","initInterceptors","length","auth","next","req","headers","header","err","console","log","window","__GRPC_DEVTOOLS_EXTENSION__","addEventListener","Map","baseUrl","NX_GRPC_HOST","useBinaryFormat","MockTransport","calls"],"mappings":"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"}