@textrp/briij-js-sdk 43.1.0 → 43.2.1

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.
@@ -0,0 +1,24 @@
1
+ import type { BriijClient } from "./client.ts";
2
+ export interface McreditPackage {
3
+ id: number;
4
+ name: string;
5
+ description?: string;
6
+ credits_amount: number;
7
+ price_usd_cents: number;
8
+ sort_order?: number;
9
+ is_active?: boolean;
10
+ }
11
+ export declare class CreditsClient {
12
+ private matrixClient;
13
+ constructor(matrixClient: BriijClient);
14
+ /**
15
+ * Public endpoint: Get packages available for purchase
16
+ */
17
+ getPackages(): Promise<McreditPackage[]>;
18
+ /**
19
+ * Admin only: Get all packages (including inactive) for admin UI
20
+ * Uses the current Matrix access token for authentication
21
+ */
22
+ getAdminPackages(): Promise<McreditPackage[]>;
23
+ }
24
+ //# sourceMappingURL=credits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credits.d.ts","sourceRoot":"","sources":["../src/credits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,WAAW;IAE7C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAgB9C;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CAqBpD"}
package/lib/credits.js ADDED
@@ -0,0 +1,53 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ export class CreditsClient {
3
+ constructor(matrixClient) {
4
+ this.matrixClient = matrixClient;
5
+ }
6
+
7
+ /**
8
+ * Public endpoint: Get packages available for purchase
9
+ */
10
+ getPackages() {
11
+ var _this = this;
12
+ return _asyncToGenerator(function* () {
13
+ var baseUrl = _this.matrixClient.getHomeserverUrl();
14
+ var response = yield fetch("".concat(baseUrl, "/_briij/credits"), {
15
+ method: "GET",
16
+ headers: {
17
+ "Content-Type": "application/json"
18
+ }
19
+ });
20
+ if (!response.ok) {
21
+ throw new Error("Failed to fetch mCredits packages: ".concat(response.status));
22
+ }
23
+ return response.json();
24
+ })();
25
+ }
26
+
27
+ /**
28
+ * Admin only: Get all packages (including inactive) for admin UI
29
+ * Uses the current Matrix access token for authentication
30
+ */
31
+ getAdminPackages() {
32
+ var _this2 = this;
33
+ return _asyncToGenerator(function* () {
34
+ var baseUrl = _this2.matrixClient.getHomeserverUrl();
35
+ var accessToken = _this2.matrixClient.getAccessToken();
36
+ var response = yield fetch("".concat(baseUrl, "/_briij/admin/credits/packages"), {
37
+ method: "GET",
38
+ headers: {
39
+ "Content-Type": "application/json",
40
+ Authorization: "Bearer ".concat(accessToken)
41
+ }
42
+ });
43
+ if (!response.ok) {
44
+ if (response.status === 403) {
45
+ throw new Error("Admin access required");
46
+ }
47
+ throw new Error("Failed to fetch admin packages: ".concat(response.status));
48
+ }
49
+ return response.json();
50
+ })();
51
+ }
52
+ }
53
+ //# sourceMappingURL=credits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credits.js","names":["CreditsClient","constructor","matrixClient","getPackages","_this","_asyncToGenerator","baseUrl","getHomeserverUrl","response","fetch","concat","method","headers","ok","Error","status","json","getAdminPackages","_this2","accessToken","getAccessToken","Authorization"],"sources":["../src/credits.ts"],"sourcesContent":["import type { BriijClient } from \"./client.ts\";\n\nexport interface McreditPackage {\n id: number;\n name: string;\n description?: string;\n credits_amount: number;\n price_usd_cents: number;\n sort_order?: number;\n is_active?: boolean;\n}\n\nexport class CreditsClient {\n constructor(private matrixClient: BriijClient) {}\n\n /**\n * Public endpoint: Get packages available for purchase\n */\n async getPackages(): Promise<McreditPackage[]> {\n const baseUrl = this.matrixClient.getHomeserverUrl();\n const response = await fetch(`${baseUrl}/_briij/credits`, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch mCredits packages: ${response.status}`);\n }\n\n return response.json();\n }\n\n /**\n * Admin only: Get all packages (including inactive) for admin UI\n * Uses the current Matrix access token for authentication\n */\n async getAdminPackages(): Promise<McreditPackage[]> {\n const baseUrl = this.matrixClient.getHomeserverUrl();\n const accessToken = this.matrixClient.getAccessToken();\n\n const response = await fetch(`${baseUrl}/_briij/admin/credits/packages`, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${accessToken}`,\n },\n });\n\n if (!response.ok) {\n if (response.status === 403) {\n throw new Error(\"Admin access required\");\n }\n throw new Error(`Failed to fetch admin packages: ${response.status}`);\n }\n\n return response.json();\n }\n}\n"],"mappings":";AAYA,OAAO,MAAMA,aAAa,CAAC;EACzBC,WAAWA,CAASC,YAAyB,EAAE;IAAA,KAA3BA,YAAyB,GAAzBA,YAAyB;EAAG;;EAEhD;AACF;AACA;EACQC,WAAWA,CAAA,EAA8B;IAAA,IAAAC,KAAA;IAAA,OAAAC,iBAAA;MAC7C,IAAMC,OAAO,GAAGF,KAAI,CAACF,YAAY,CAACK,gBAAgB,CAAC,CAAC;MACpD,IAAMC,QAAQ,SAASC,KAAK,IAAAC,MAAA,CAAIJ,OAAO,sBAAmB;QACxDK,MAAM,EAAE,KAAK;QACbC,OAAO,EAAE;UACP,cAAc,EAAE;QAClB;MACF,CAAC,CAAC;MAEF,IAAI,CAACJ,QAAQ,CAACK,EAAE,EAAE;QAChB,MAAM,IAAIC,KAAK,uCAAAJ,MAAA,CAAuCF,QAAQ,CAACO,MAAM,CAAE,CAAC;MAC1E;MAEA,OAAOP,QAAQ,CAACQ,IAAI,CAAC,CAAC;IAAC;EACzB;;EAEA;AACF;AACA;AACA;EACQC,gBAAgBA,CAAA,EAA8B;IAAA,IAAAC,MAAA;IAAA,OAAAb,iBAAA;MAClD,IAAMC,OAAO,GAAGY,MAAI,CAAChB,YAAY,CAACK,gBAAgB,CAAC,CAAC;MACpD,IAAMY,WAAW,GAAGD,MAAI,CAAChB,YAAY,CAACkB,cAAc,CAAC,CAAC;MAEtD,IAAMZ,QAAQ,SAASC,KAAK,IAAAC,MAAA,CAAIJ,OAAO,qCAAkC;QACvEK,MAAM,EAAE,KAAK;QACbC,OAAO,EAAE;UACP,cAAc,EAAE,kBAAkB;UAClCS,aAAa,YAAAX,MAAA,CAAYS,WAAW;QACtC;MACF,CAAC,CAAC;MAEF,IAAI,CAACX,QAAQ,CAACK,EAAE,EAAE;QAChB,IAAIL,QAAQ,CAACO,MAAM,KAAK,GAAG,EAAE;UAC3B,MAAM,IAAID,KAAK,CAAC,uBAAuB,CAAC;QAC1C;QACA,MAAM,IAAIA,KAAK,oCAAAJ,MAAA,CAAoCF,QAAQ,CAACO,MAAM,CAAE,CAAC;MACvE;MAEA,OAAOP,QAAQ,CAACQ,IAAI,CAAC,CAAC;IAAC;EACzB;AACF","ignoreList":[]}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import * as briij from "./briij.ts";
2
2
  export * from "./briij.ts";
3
+ export * from "./credits";
4
+ export { CreditsClient } from "./credits";
3
5
  export default briij;
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAOpC,cAAc,YAAY,CAAC;AAC3B,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAOpC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,eAAe,KAAK,CAAC"}
package/lib/index.js CHANGED
@@ -20,5 +20,7 @@ if (globalThis.__briij_js_sdk_entrypoint) {
20
20
  }
21
21
  globalThis.__briij_js_sdk_entrypoint = true;
22
22
  export * from "./briij.js";
23
+ export * from "./credits";
24
+ export { CreditsClient } from "./credits";
23
25
  export default briij;
24
26
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["briij","globalThis","__briij_js_sdk_entrypoint","Error"],"sources":["../src/index.ts"],"sourcesContent":["/*\nCopyright 2019 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport * as briij from \"./briij.ts\";\n\nif (globalThis.__briij_js_sdk_entrypoint) {\n throw new Error(\"Multiple briij-js-sdk entrypoints detected!\");\n}\nglobalThis.__briij_js_sdk_entrypoint = true;\n\nexport * from \"./briij.ts\";\nexport default briij;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,KAAK,MAAM,YAAY;AAEnC,IAAIC,UAAU,CAACC,yBAAyB,EAAE;EACtC,MAAM,IAAIC,KAAK,CAAC,6CAA6C,CAAC;AAClE;AACAF,UAAU,CAACC,yBAAyB,GAAG,IAAI;AAE3C,cAAc,YAAY;AAC1B,eAAeF,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["briij","globalThis","__briij_js_sdk_entrypoint","Error","CreditsClient"],"sources":["../src/index.ts"],"sourcesContent":["/*\nCopyright 2019 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport * as briij from \"./briij.ts\";\n\nif (globalThis.__briij_js_sdk_entrypoint) {\n throw new Error(\"Multiple briij-js-sdk entrypoints detected!\");\n}\nglobalThis.__briij_js_sdk_entrypoint = true;\n\nexport * from \"./briij.ts\";\nexport * from \"./credits\";\nexport { CreditsClient } from \"./credits\";\nexport default briij;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,KAAK,MAAM,YAAY;AAEnC,IAAIC,UAAU,CAACC,yBAAyB,EAAE;EACtC,MAAM,IAAIC,KAAK,CAAC,6CAA6C,CAAC;AAClE;AACAF,UAAU,CAACC,yBAAyB,GAAG,IAAI;AAE3C,cAAc,YAAY;AAC1B,cAAc,WAAW;AACzB,SAASE,aAAa,QAAQ,WAAW;AACzC,eAAeJ,KAAK","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@textrp/briij-js-sdk",
3
- "version": "43.1.0",
3
+ "version": "43.2.1",
4
4
  "description": "Briij Client-Server SDK for JavaScript and TypeScript",
5
5
  "engines": {
6
6
  "node": ">=22.0.0"
package/src/client.ts CHANGED
@@ -302,6 +302,13 @@ export interface IKeysUploadResponse {
302
302
  export interface ICreateClientOpts {
303
303
  baseUrl: string;
304
304
 
305
+ /**
306
+ * Optional override for Briij legacy endpoints mounted at the homeserver root
307
+ * (for example `/my-address` and `/my-features/...`).
308
+ * Use this when `baseUrl` points to a local proxy origin.
309
+ */
310
+ legacyApiBaseUrl?: string;
311
+
305
312
  idBaseUrl?: string;
306
313
 
307
314
  /**
@@ -1293,6 +1300,7 @@ export class BriijClient extends TypedEventEmitter<EmittedEvents, ClientEventHan
1293
1300
  public iceCandidatePoolSize = 0; // XXX: Intended private, used in code.
1294
1301
  public idBaseUrl?: string;
1295
1302
  public baseUrl: string;
1303
+ private legacyApiBaseUrl?: string;
1296
1304
  public readonly isVoipWithNoMediaAllowed;
1297
1305
  public disableVoip: boolean;
1298
1306
 
@@ -1375,6 +1383,7 @@ export class BriijClient extends TypedEventEmitter<EmittedEvents, ClientEventHan
1375
1383
  opts.idBaseUrl = utils.ensureNoTrailingSlash(opts.idBaseUrl);
1376
1384
 
1377
1385
  this.baseUrl = opts.baseUrl;
1386
+ this.legacyApiBaseUrl = utils.ensureNoTrailingSlash(opts.legacyApiBaseUrl);
1378
1387
  this.idBaseUrl = opts.idBaseUrl;
1379
1388
  this.identityServer = opts.identityServer;
1380
1389
 
@@ -6226,7 +6235,7 @@ export class BriijClient extends TypedEventEmitter<EmittedEvents, ClientEventHan
6226
6235
  "/my-address",
6227
6236
  undefined,
6228
6237
  { address: matrixUserId },
6229
- { prefix: "" },
6238
+ { prefix: "", baseUrl: this.getLegacyApiBaseUrl() },
6230
6239
  );
6231
6240
  }
6232
6241
 
@@ -6243,7 +6252,18 @@ export class BriijClient extends TypedEventEmitter<EmittedEvents, ClientEventHan
6243
6252
  $walletAddress: walletAddress,
6244
6253
  $network: network,
6245
6254
  });
6246
- return this.http.authedRequest(Method.Get, path, undefined, undefined, { prefix: "" });
6255
+ return this.http.authedRequest(Method.Get, path, undefined, undefined, {
6256
+ prefix: "",
6257
+ baseUrl: this.getLegacyApiBaseUrl(),
6258
+ });
6259
+ }
6260
+
6261
+ private getLegacyApiBaseUrl(): string {
6262
+ return (
6263
+ this.legacyApiBaseUrl ??
6264
+ utils.ensureNoTrailingSlash(this.xrplTrustConfig?.homeserverBaseUrl) ??
6265
+ this.baseUrl
6266
+ );
6247
6267
  }
6248
6268
 
6249
6269
  /**
package/src/credits.ts ADDED
@@ -0,0 +1,60 @@
1
+ import type { BriijClient } from "./client.ts";
2
+
3
+ export interface McreditPackage {
4
+ id: number;
5
+ name: string;
6
+ description?: string;
7
+ credits_amount: number;
8
+ price_usd_cents: number;
9
+ sort_order?: number;
10
+ is_active?: boolean;
11
+ }
12
+
13
+ export class CreditsClient {
14
+ constructor(private matrixClient: BriijClient) {}
15
+
16
+ /**
17
+ * Public endpoint: Get packages available for purchase
18
+ */
19
+ async getPackages(): Promise<McreditPackage[]> {
20
+ const baseUrl = this.matrixClient.getHomeserverUrl();
21
+ const response = await fetch(`${baseUrl}/_briij/credits`, {
22
+ method: "GET",
23
+ headers: {
24
+ "Content-Type": "application/json",
25
+ },
26
+ });
27
+
28
+ if (!response.ok) {
29
+ throw new Error(`Failed to fetch mCredits packages: ${response.status}`);
30
+ }
31
+
32
+ return response.json();
33
+ }
34
+
35
+ /**
36
+ * Admin only: Get all packages (including inactive) for admin UI
37
+ * Uses the current Matrix access token for authentication
38
+ */
39
+ async getAdminPackages(): Promise<McreditPackage[]> {
40
+ const baseUrl = this.matrixClient.getHomeserverUrl();
41
+ const accessToken = this.matrixClient.getAccessToken();
42
+
43
+ const response = await fetch(`${baseUrl}/_briij/admin/credits/packages`, {
44
+ method: "GET",
45
+ headers: {
46
+ "Content-Type": "application/json",
47
+ Authorization: `Bearer ${accessToken}`,
48
+ },
49
+ });
50
+
51
+ if (!response.ok) {
52
+ if (response.status === 403) {
53
+ throw new Error("Admin access required");
54
+ }
55
+ throw new Error(`Failed to fetch admin packages: ${response.status}`);
56
+ }
57
+
58
+ return response.json();
59
+ }
60
+ }
package/src/index.ts CHANGED
@@ -22,4 +22,6 @@ if (globalThis.__briij_js_sdk_entrypoint) {
22
22
  globalThis.__briij_js_sdk_entrypoint = true;
23
23
 
24
24
  export * from "./briij.ts";
25
+ export * from "./credits";
26
+ export { CreditsClient } from "./credits";
25
27
  export default briij;