@opexa/portal-sdk 0.59.123 → 0.59.125

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.
@@ -39,5 +39,5 @@ function callIfFn(value, ...args) {
39
39
  }
40
40
 
41
41
  export { callIfFn, gql, statusCodeToOperationError };
42
- //# sourceMappingURL=chunk-ROBGEUSE.js.map
43
- //# sourceMappingURL=chunk-ROBGEUSE.js.map
42
+ //# sourceMappingURL=chunk-WVFSGB7Y.js.map
43
+ //# sourceMappingURL=chunk-WVFSGB7Y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/gql.ts","../src/utils/status-code-to-operation-error.ts","../src/utils/call-if-fn.ts"],"names":[],"mappings":";AAAO,SAAS,GAAA,CAAI,YAAkC,MAAA,EAAmB;AACxE,EAAA,IAAI,MAAA,GAAS,EAAA;AAEb,EAAA,KAAA,MAAW,CAAC,KAAA,EAAO,MAAM,CAAA,IAAK,OAAA,CAAQ,SAAQ,EAAG;AAChD,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,EAAA,CAAG,KAAK,CAAA,IAAK,EAAA;AAElC,IAAA,MAAA,GAAS,CAAA,EAAG,MAAM,CAAA,EAAG,MAAM,GAAG,KAAK,CAAA,CAAA;AAAA,EACpC;AAEA,EAAA,OAAO,OAAO,IAAA,EAAK;AACpB;;;ACRO,SAAS,0BAAA,CACf,OACA,OAAA,EAC4B;AAC5B,EAAA,MAAM,CAAA,GAAI,UAAU,KAAK,CAAA,GAAI,UAAU,KAAK,CAAA,GAAI,UAAU,GAAG,CAAA;AAE7D,EAAA,OAAO;AAAA,IACN,MAAM,CAAA,CAAE,IAAA;AAAA,IACR,OAAA,EAAS,WAAW,CAAA,CAAE;AAAA,GACvB;AACD;AAEA,IAAM,SAAA,GAAuD;AAAA,EAC5D,GAAA,EAAK,EAAE,IAAA,EAAM,gBAAA,EAAkB,SAAS,aAAA,EAAc;AAAA,EACtD,GAAA,EAAK,EAAE,IAAA,EAAM,kBAAA,EAAoB,SAAS,cAAA,EAAe;AAAA,EACzD,GAAA,EAAK,EAAE,IAAA,EAAM,eAAA,EAAiB,SAAS,WAAA,EAAY;AAAA,EACnD,GAAA,EAAK,EAAE,IAAA,EAAM,cAAA,EAAgB,SAAS,WAAA,EAAY;AAAA,EAClD,GAAA,EAAK,EAAE,IAAA,EAAM,oBAAA,EAAsB,SAAS,iBAAA,EAAkB;AAAA,EAC9D,GAAA,EAAK,EAAE,IAAA,EAAM,qBAAA,EAAuB,SAAS,mBAAA,EAAoB;AAAA,EACjE,GAAA,EAAK,EAAE,IAAA,EAAM,yBAAA,EAA2B,SAAS,uBAAA;AAClD,CAAA;;;ACtBA,SAAS,WACR,KAAA,EACuC;AACvC,EAAA,OAAO,OAAO,KAAA,KAAU,UAAA;AACzB;AAEO,SAAS,QAAA,CACf,UACG,IAAA,EACF;AACD,EAAA,IAAI,UAAA,CAAyB,KAAK,CAAA,EAAG;AACpC,IAAA,OAAO,KAAA,CAAM,GAAG,IAAI,CAAA;AAAA,EACrB,CAAA,MAAO;AACN,IAAA,OAAO,KAAA;AAAA,EACR;AACD","file":"chunk-WVFSGB7Y.js","sourcesContent":["export function gql(strings: TemplateStringsArray, ...values: unknown[]) {\r\n\tlet result = '';\r\n\r\n\tfor (const [index, string] of strings.entries()) {\r\n\t\tconst value = values.at(index) ?? '';\r\n\r\n\t\tresult = `${result}${string}${value}`;\r\n\t}\r\n\r\n\treturn result.trim();\r\n}\r\n","import type { HttpError, OperationError } from '../types/index.js';\r\n\r\nexport function statusCodeToOperationError(\r\n\tvalue: number,\r\n\tmessage?: string,\r\n): OperationError<HttpError> {\r\n\tconst e = ERROR_MAP[value] ? ERROR_MAP[value] : ERROR_MAP[500];\r\n\r\n\treturn {\r\n\t\tname: e.name,\r\n\t\tmessage: message ?? e.message,\r\n\t};\r\n}\r\n\r\nconst ERROR_MAP: Record<number, OperationError<HttpError>> = {\r\n\t400: { name: 'HttpBadRequest', message: 'Bad Request' },\r\n\t401: { name: 'HttpUnauthorized', message: 'Unauthorized' },\r\n\t403: { name: 'HttpForbidden', message: 'Forbidden' },\r\n\t404: { name: 'HttpNotFound', message: 'Not Found' },\r\n\t408: { name: 'HttpRequestTimeout', message: 'Request Timeout' },\r\n\t429: { name: 'HttpTooManyRequests', message: 'Too Many Requests' },\r\n\t500: { name: 'HttpInternalServerError', message: 'Internal Server Error' },\r\n};\r\n","function isFunction<Return, Args = never>(\r\n\tvalue: unknown | ((...args: Args[]) => Return),\r\n): value is (...args: Args[]) => Return {\r\n\treturn typeof value === 'function';\r\n}\r\n\r\nexport function callIfFn<Return, Args = never>(\r\n\tvalue: Return | ((...args: Args[]) => Return),\r\n\t...args: Args[]\r\n) {\r\n\tif (isFunction<Return, Args>(value)) {\r\n\t\treturn value(...args);\r\n\t} else {\r\n\t\treturn value;\r\n\t}\r\n}\r\n"]}
package/dist/index.cjs CHANGED
@@ -34,6 +34,16 @@ function gql(strings, ...values) {
34
34
  }
35
35
 
36
36
  // src/services/queries.ts
37
+ var GENERATE_OUTBOUND_SINGLE_SIGN_ON_REDIRECT_URL_MUTATION = gql`
38
+ mutation GenerateOutboundSingleSignOnRedirectUrl(
39
+ $input: GenerateOutboundSingleSignOnRedirectUrlInput!
40
+ ) {
41
+ generateOutboundSingleSignOnRedirectUrl(input: $input) {
42
+ token
43
+ url
44
+ }
45
+ }
46
+ `;
37
47
  var FILE_FRAGMENT = gql`
38
48
  fragment FileFragment on File {
39
49
  id
@@ -3525,6 +3535,29 @@ var WALLET_GAMES_BY_NAME_QUERY = gql`
3525
3535
  }
3526
3536
  }
3527
3537
  `;
3538
+ var WALLET_GAME_CARDS_BY_NAME_QUERY = gql`
3539
+ query WalletGameCardsByName(
3540
+ $search: String!
3541
+ $first: Int
3542
+ $filter: _GameFilterInput
3543
+ ) {
3544
+ _gamesByName(search: $search, first: $first, filter: $filter) {
3545
+ id
3546
+ reference
3547
+ name
3548
+ displayName
3549
+ type
3550
+ provider
3551
+ status
3552
+ hidden
3553
+ hasFreeBet
3554
+ hasJackpot
3555
+ image {
3556
+ url
3557
+ }
3558
+ }
3559
+ }
3560
+ `;
3528
3561
  var GAME_GROUPS_QUERY = gql`
3529
3562
  query GameGroups(
3530
3563
  $first: Int
@@ -4851,11 +4884,25 @@ var ERROR_MAP = {
4851
4884
  // src/services/auth.service.ts
4852
4885
  var AuthService = class {
4853
4886
  url;
4887
+ graphqlClient;
4854
4888
  options;
4855
4889
  constructor(config) {
4856
4890
  this.url = config.url;
4891
+ this.graphqlClient = config.graphqlClient;
4857
4892
  this.options = config.fetchOptions ?? {};
4858
4893
  }
4894
+ async generateOutboundSingleSignOnRedirectUrl(variables) {
4895
+ if (!this.graphqlClient) {
4896
+ return {
4897
+ ok: false,
4898
+ error: {
4899
+ name: "UnknownError",
4900
+ message: "Something went wrong"
4901
+ }
4902
+ };
4903
+ }
4904
+ return await this.graphqlClient.request(GENERATE_OUTBOUND_SINGLE_SIGN_ON_REDIRECT_URL_MUTATION, variables);
4905
+ }
4859
4906
  get headers() {
4860
4907
  const headers = new Headers(this.options.headers);
4861
4908
  headers.append("Accept", "application/json, text/plain");
@@ -7005,6 +7052,20 @@ var WalletService = class {
7005
7052
  data: res.data._gamesByName
7006
7053
  };
7007
7054
  }
7055
+ async _gameCardsByName(variables) {
7056
+ const res = await this.client.request(WALLET_GAME_CARDS_BY_NAME_QUERY, variables);
7057
+ if (!res.ok) return res;
7058
+ if (!res.data._gamesByName) {
7059
+ return {
7060
+ ok: false,
7061
+ error: {
7062
+ name: "UnknownError",
7063
+ message: "Something went wrong."
7064
+ }
7065
+ };
7066
+ }
7067
+ return { ok: true, data: res.data._gamesByName };
7068
+ }
7008
7069
  async cabinetWithdrawal(variables) {
7009
7070
  const res = await this.client.request(CABINET_WITHDRAWAL_QUERY, variables);
7010
7071
  return res.ok ? { ok: res.ok, data: res.data.node } : res;
@@ -8761,6 +8822,7 @@ var Transformer = class {
8761
8822
  transactionRecord: this.transactionRecord.bind(this),
8762
8823
  game: this.game.bind(this),
8763
8824
  _games: this._games.bind(this),
8825
+ _gamesByName: this._gamesByName.bind(this),
8764
8826
  gameGroup: this.gameGroup.bind(this),
8765
8827
  gameGroups: this.gameGroups.bind(this),
8766
8828
  gameSession: this.gameSession.bind(this),
@@ -9976,6 +10038,12 @@ var Transformer = class {
9976
10038
  endCursor: data.pageInfo.endCursor ?? void 0
9977
10039
  };
9978
10040
  }
10041
+ _gamesByName(data) {
10042
+ return data.flatMap((node) => {
10043
+ const game = this.walletGame(node);
10044
+ return game ? [game] : [];
10045
+ });
10046
+ }
9979
10047
  gameGroup(data) {
9980
10048
  return {
9981
10049
  ...data,
@@ -10707,6 +10775,10 @@ var Sdk = class {
10707
10775
  );
10708
10776
  const authService = new AuthService({
10709
10777
  url: authUrl,
10778
+ graphqlClient: new GraphQLClient(
10779
+ `${authUrl}/graphql`,
10780
+ graphqlClientConfig
10781
+ ),
10710
10782
  fetchOptions: {
10711
10783
  headers: {
10712
10784
  Role: "MEMBER",
@@ -11142,6 +11214,18 @@ var Sdk = class {
11142
11214
  if (!res1.ok) return res1;
11143
11215
  return { ok: true, data: res1.data.token };
11144
11216
  }
11217
+ async generateOutboundSingleSignOnRedirectUrl(input) {
11218
+ const res = await this.authService.generateOutboundSingleSignOnRedirectUrl({
11219
+ input: {
11220
+ partner: input.partner
11221
+ }
11222
+ });
11223
+ if (!res.ok) return res;
11224
+ return {
11225
+ ok: true,
11226
+ data: res.data.generateOutboundSingleSignOnRedirectUrl
11227
+ };
11228
+ }
11145
11229
  /*
11146
11230
  *=============================================
11147
11231
  * SITE
@@ -12425,6 +12509,18 @@ var Sdk = class {
12425
12509
  data: this.transformer.transform._games(res.data)
12426
12510
  };
12427
12511
  }
12512
+ /**
12513
+ * Searches the Wallet-backed platform catalog by name in relevance order.
12514
+ * The backend currently caps results at 20 and does not provide pagination.
12515
+ */
12516
+ async _gamesByName(input) {
12517
+ const res = await this.walletService._gameCardsByName(input);
12518
+ if (!res.ok) return res;
12519
+ return {
12520
+ ok: true,
12521
+ data: this.transformer.transform._gamesByName(res.data)
12522
+ };
12523
+ }
12428
12524
  async gameGroups(input) {
12429
12525
  const res = await this.walletService.gameGroups(input);
12430
12526
  if (!res.ok) return res;