@varius.io/framework 13.5.15 → 13.6.2

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.
@@ -5,9 +5,9 @@ const uri_1 = require("../utils/uri");
5
5
  const logger = require("../utils/logger");
6
6
  const util_1 = require("util");
7
7
  const client_iot_data_plane_1 = require("@aws-sdk/client-iot-data-plane");
8
- let endpoint = process.env.IOT_ENDPOINT || "mqtt://a2vynx3tl4xt93-ats.iot.us-east-1.amazonaws.com";
9
- if (!endpoint.includes("mqtt"))
10
- endpoint = `mqtt://${endpoint}`;
8
+ let endpoint = process.env.IOT_ENDPOINT || "https://a2vynx3tl4xt93-ats.iot.us-east-1.amazonaws.com";
9
+ if (!endpoint.includes("https"))
10
+ endpoint = `https://${endpoint}`;
11
11
  const iotdata = new client_iot_data_plane_1.IoTDataPlaneClient({
12
12
  endpoint,
13
13
  });
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/services/events.ts"],"names":[],"mappings":";;;AAAA,sCAA2E;AAC3E,0CAA0C;AAC1C,+BAAkC;AAClC,0EAAoF;AAGpF,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,uDAAuD,CAAA;AAElG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC7B,QAAQ,GAAG,UAAU,QAAQ,EAAE,CAAA;AAEhC,MAAM,OAAO,GAAG,IAAI,0CAAkB,CAAC;IACtC,QAAQ;CACR,CAAC,CAAC;AAWH,8EAA8E;AACvE,KAAK,UAAU,OAAO,CAAC,KAAa,EAAE,UAAkB,EAAE,IAAa,EAAE,OAAyB,EAAE,IAAS;IAClH,MAAM,WAAW,GAAG,IAAA,eAAS,EAAC,gBAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC9D,MAAM,GAAG,GAAQ;QAChB,UAAU,EAAE,IAAA,0BAAoB,EAAC,WAAW,CAAC,CAAC,UAAU;QACxD,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,MAAM;QACb,GAAG,IAAI;KACP,CAAC;IAEF,IAAI,KAAK,CAAA;IACT,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACjB,KAAK,GAAG,kBAAkB,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;KAC7E;SAAM;QACN,KAAK,GAAG,kBAAkB,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;KAC/D;IACD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAG;QACd,KAAK;QACL,OAAO,EAAG,IAAI,kBAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACvD,GAAG,EAAE,CAAC;KACN,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO,MAAM,OAAO,CAAC,IAAI,CAAE,IAAI,sCAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AA1BD,0BA0BC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/services/events.ts"],"names":[],"mappings":";;;AAAA,sCAA2E;AAC3E,0CAA0C;AAC1C,+BAAkC;AAClC,0EAAoF;AAGpF,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,wDAAwD,CAAA;AAEnG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC9B,QAAQ,GAAG,WAAW,QAAQ,EAAE,CAAA;AAEjC,MAAM,OAAO,GAAG,IAAI,0CAAkB,CAAC;IACtC,QAAQ;CACR,CAAC,CAAC;AAWH,8EAA8E;AACvE,KAAK,UAAU,OAAO,CAAC,KAAa,EAAE,UAAkB,EAAE,IAAa,EAAE,OAAyB,EAAE,IAAS;IAClH,MAAM,WAAW,GAAG,IAAA,eAAS,EAAC,gBAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC9D,MAAM,GAAG,GAAQ;QAChB,UAAU,EAAE,IAAA,0BAAoB,EAAC,WAAW,CAAC,CAAC,UAAU;QACxD,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,MAAM;QACb,GAAG,IAAI;KACP,CAAC;IAEF,IAAI,KAAK,CAAA;IACT,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACjB,KAAK,GAAG,kBAAkB,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;KAC7E;SAAM;QACN,KAAK,GAAG,kBAAkB,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;KAC/D;IACD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAG;QACd,KAAK;QACL,OAAO,EAAG,IAAI,kBAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACvD,GAAG,EAAE,CAAC;KACN,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO,MAAM,OAAO,CAAC,IAAI,CAAE,IAAI,sCAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AA1BD,0BA0BC"}
@@ -26,7 +26,8 @@ import * as kinesis from "./kinesis";
26
26
  import * as scheduler from "./scheduler";
27
27
  import * as events from "./events";
28
28
  import * as workers from "./workers";
29
+ import * as matrix from "./matrix";
29
30
  import analyticsdb from "./analyticsdb";
30
- export { analytics, analyticsdb, atomicCounter, blockv, oldBlockv, billing, businesses, cloudfront, distribution, iot, nonce, merchants, pg, points, prizes, scheduler, secret, sns, sqs, studio, ws, kong, user, api, kinesis, viewers, events, // replaces IoT
31
+ export { analytics, analyticsdb, atomicCounter, blockv, oldBlockv, billing, businesses, cloudfront, distribution, iot, nonce, matrix, merchants, pg, points, prizes, scheduler, secret, sns, sqs, studio, ws, kong, user, api, kinesis, viewers, events, // replaces IoT
31
32
  loyalty, workers };
32
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,EACN,SAAS,EACT,WAAW,EACX,aAAa,EACb,MAAM,EACN,SAAS,EACT,OAAO,EACP,UAAU,EACV,UAAU,EAEV,YAAY,EACZ,GAAG,EACH,KAAK,EACL,SAAS,EACT,EAAE,EACF,MAAM,EACN,MAAM,EACN,SAAS,EACT,MAAM,EACN,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,IAAI,EACJ,IAAI,EAEJ,GAAG,EACH,OAAO,EACP,OAAO,EACP,MAAM,EAAE,eAAe;AACvB,OAAO,EACP,OAAO,EACP,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,EACN,SAAS,EACT,WAAW,EACX,aAAa,EACb,MAAM,EACN,SAAS,EACT,OAAO,EACP,UAAU,EACV,UAAU,EAEV,YAAY,EACZ,GAAG,EACH,KAAK,EACL,MAAM,EACN,SAAS,EACT,EAAE,EACF,MAAM,EACN,MAAM,EACN,SAAS,EACT,MAAM,EACN,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,IAAI,EACJ,IAAI,EAEJ,GAAG,EACH,OAAO,EACP,OAAO,EACP,MAAM,EAAE,eAAe;AACvB,OAAO,EACP,OAAO,EACP,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.workers = exports.loyalty = exports.events = exports.viewers = exports.kinesis = exports.api = exports.user = exports.kong = exports.ws = exports.studio = exports.sqs = exports.sns = exports.secret = exports.scheduler = exports.prizes = exports.points = exports.pg = exports.merchants = exports.nonce = exports.iot = exports.distribution = exports.cloudfront = exports.businesses = exports.billing = exports.oldBlockv = exports.blockv = exports.atomicCounter = exports.analyticsdb = exports.analytics = void 0;
3
+ exports.workers = exports.loyalty = exports.events = exports.viewers = exports.kinesis = exports.api = exports.user = exports.kong = exports.ws = exports.studio = exports.sqs = exports.sns = exports.secret = exports.scheduler = exports.prizes = exports.points = exports.pg = exports.merchants = exports.matrix = exports.nonce = exports.iot = exports.distribution = exports.cloudfront = exports.businesses = exports.billing = exports.oldBlockv = exports.blockv = exports.atomicCounter = exports.analyticsdb = exports.analytics = void 0;
4
4
  const sns = require("./sns");
5
5
  exports.sns = sns;
6
6
  const sqs = require("./sqs");
@@ -59,6 +59,8 @@ const events = require("./events");
59
59
  exports.events = events;
60
60
  const workers = require("./workers");
61
61
  exports.workers = workers;
62
+ const matrix = require("./matrix");
63
+ exports.matrix = matrix;
62
64
  const analyticsdb_1 = require("./analyticsdb");
63
65
  exports.analyticsdb = analyticsdb_1.default;
64
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAmD5B,kBAAG;AAlDJ,6BAA6B;AAmD5B,kBAAG;AAlDJ,mCAAmC;AAmDlC,wBAAM;AAlDP,mCAAmC;AAiClC,wBAAM;AAhCP,0CAA0C;AAiCzC,8BAAS;AAhCV,yCAAyC;AA4BxC,8BAAS;AA3BV,6BAA6B;AAqC5B,kBAAG;AApCJ,mCAAmC;AA2ClC,wBAAM;AA1CP,2CAA2C;AAgC1C,gCAAU;AA/BX,2BAA2B;AA6C1B,gBAAE;AA5CH,yCAA4B;AAoC3B,aApCM,kBAAE,CAoCN;AAnCH,iCAAiC;AAiChC,sBAAK;AAhCN,kDAAkD;AAuBjD,sCAAa;AAtBd,sCAAsC;AACtC,qCAAqC;AAwBpC,0BAAO;AAvBR,2CAA2C;AAwB1C,gCAAU;AAvBX,qCAAqC;AA4CpC,0BAAO;AA3CR,+CAA+C;AAyB9C,oCAAY;AAxBb,mCAAmC;AA8BlC,wBAAM;AA7BP,mCAAmC;AA4BlC,wBAAM;AA3BP,qCAAqC;AA0CpC,0BAAO;AAzCR,yCAAyC;AAwBxC,8BAAS;AAvBV,+BAA+B;AAiC9B,oBAAI;AAhCL,+BAA+B;AAiC9B,oBAAI;AAhCL,4CAA4C;AAC5C,6BAA6B;AAiC5B,kBAAG;AAhCJ,qCAAqC;AAiCpC,0BAAO;AAhCR,yCAAyC;AAsBxC,8BAAS;AArBV,mCAAmC;AAiClC,wBAAM;AAhCP,qCAAqC;AAkCpC,0BAAO;AAjCR,+CAAwC;AAIvC,sBAJM,qBAAW,CAIN"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAqD5B,kBAAG;AApDJ,6BAA6B;AAqD5B,kBAAG;AApDJ,mCAAmC;AAqDlC,wBAAM;AApDP,mCAAmC;AAkClC,wBAAM;AAjCP,0CAA0C;AAkCzC,8BAAS;AAjCV,yCAAyC;AA6BxC,8BAAS;AA5BV,6BAA6B;AAsC5B,kBAAG;AArCJ,mCAAmC;AA6ClC,wBAAM;AA5CP,2CAA2C;AAiC1C,gCAAU;AAhCX,2BAA2B;AA+C1B,gBAAE;AA9CH,yCAA4B;AAsC3B,aAtCM,kBAAE,CAsCN;AArCH,iCAAiC;AAkChC,sBAAK;AAjCN,kDAAkD;AAwBjD,sCAAa;AAvBd,sCAAsC;AACtC,qCAAqC;AAyBpC,0BAAO;AAxBR,2CAA2C;AAyB1C,gCAAU;AAxBX,qCAAqC;AA8CpC,0BAAO;AA7CR,+CAA+C;AA0B9C,oCAAY;AAzBb,mCAAmC;AAgClC,wBAAM;AA/BP,mCAAmC;AA8BlC,wBAAM;AA7BP,qCAAqC;AA4CpC,0BAAO;AA3CR,yCAAyC;AA0BxC,8BAAS;AAzBV,+BAA+B;AAmC9B,oBAAI;AAlCL,+BAA+B;AAmC9B,oBAAI;AAlCL,4CAA4C;AAC5C,6BAA6B;AAmC5B,kBAAG;AAlCJ,qCAAqC;AAmCpC,0BAAO;AAlCR,yCAAyC;AAwBxC,8BAAS;AAvBV,mCAAmC;AAmClC,wBAAM;AAlCP,qCAAqC;AAoCpC,0BAAO;AAnCR,mCAAmC;AAgBlC,wBAAM;AAfP,+CAAwC;AAIvC,sBAJM,qBAAW,CAIN"}
@@ -0,0 +1,53 @@
1
+ /// <reference types="node" />
2
+ declare type LoginResponse = {
3
+ user_id: string;
4
+ access_token: string;
5
+ home_server: string;
6
+ device_id?: string;
7
+ well_known: {
8
+ "m.homeserver": {
9
+ base_url: string;
10
+ };
11
+ };
12
+ };
13
+ export declare function exchangeToken(accessToken: string): Promise<LoginResponse>;
14
+ export interface MatrixRoom {
15
+ room_id: string;
16
+ name: string;
17
+ topic: string;
18
+ canonical_alias: string;
19
+ num_joined_members?: number;
20
+ join_rule: string;
21
+ world_readable: boolean;
22
+ guest_can_join: boolean;
23
+ avatar_url?: string;
24
+ }
25
+ export declare enum RoomVisibility {
26
+ public = "public",
27
+ invite = "invite"
28
+ }
29
+ export interface AddRoomRequest {
30
+ name: string;
31
+ topic?: string;
32
+ alias: string;
33
+ avatar_url?: string;
34
+ visibility?: RoomVisibility;
35
+ }
36
+ export interface UpdateRoomRequest {
37
+ name?: string;
38
+ avatar_url?: string;
39
+ alias?: string;
40
+ visibility?: RoomVisibility;
41
+ }
42
+ export declare function addRoom(accessToken: string, type: string, room: Partial<MatrixRoom>, creationContent?: {
43
+ [key: string]: string;
44
+ }): Promise<string>;
45
+ export declare function updateRoom(businessId: string, roomId: string, room: UpdateRoomRequest): Promise<void>;
46
+ export declare function sendRoomEvent(accessToken: string, roomId: string, event: string, stateKey: string, content: any): Promise<void>;
47
+ export declare function addRoomAlias(accessToken: string, roomId: string, roomAlias: string): Promise<void>;
48
+ export declare function deleteRoomAlias(accessToken: string, roomAlias: string): Promise<void>;
49
+ export declare function createMedia(accessToken: string): Promise<URL>;
50
+ export declare function uploadMedia(accessToken: string, contentUri: URL, contentType: string, file: Buffer): Promise<void>;
51
+ export declare function joinRoom(accessToken: string, roomId: string): Promise<void>;
52
+ export {};
53
+ //# sourceMappingURL=matrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/services/matrix.ts"],"names":[],"mappings":";AAYA,aAAK,aAAa,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE;QACR,cAAc,EAAE;YACZ,QAAQ,EAAE,MAAM,CAAA;SACnB,CAAA;KACJ,CAAA;CACJ,CAAA;AAGD,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAS/E;AAeD,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,oBAAY,cAAc;IACtB,MAAM,WAAW;IACpB,MAAM,WAAW;CAMjB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,cAAc,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,cAAc,CAAA;CAC9B;AAED,wBAAsB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiCzJ;AAGD,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC3G;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAMrH;AAED,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBASxF;AAED,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAO3E;AAED,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAQnE;AAED,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAOxG;AAED,wBAAsB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAMjE"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.joinRoom = exports.uploadMedia = exports.createMedia = exports.deleteRoomAlias = exports.addRoomAlias = exports.sendRoomEvent = exports.updateRoom = exports.addRoom = exports.RoomVisibility = exports.exchangeToken = void 0;
4
+ const axios_1 = require("axios");
5
+ const studio_1 = require("./studio");
6
+ const __1 = require("..");
7
+ const NodeCache = require("node-cache");
8
+ const { MATRIX_API_BASE, MATRIX_DOMAIN } = process.env;
9
+ const ax = axios_1.default.create({
10
+ baseURL: MATRIX_API_BASE,
11
+ });
12
+ const tokenCache = new NodeCache({ stdTTL: 5 * 60 /* 5 mins */, checkperiod: 20 });
13
+ async function exchangeToken(accessToken) {
14
+ return await (0, studio_1.memo)(tokenCache, accessToken, async () => {
15
+ const { data } = await ax.post(`/_matrix/client/v3/login`, {
16
+ type: "org.matrix.login.jwt",
17
+ token: accessToken
18
+ });
19
+ return data;
20
+ });
21
+ }
22
+ exports.exchangeToken = exchangeToken;
23
+ const ownerTokenCache = new NodeCache({ stdTTL: 5 * 60 /* 5 mins */, checkperiod: 20 });
24
+ async function getOwnerMatrixToken(userId) {
25
+ const token = await (0, studio_1.memo)(ownerTokenCache, userId, async () => {
26
+ const { access_token: clientCredentialsToken } = await __1.services.user.getClientCredentialsToken("profile");
27
+ const ownerToken = await __1.services.user.getUserImpersonationToken(clientCredentialsToken, userId);
28
+ const { access_token } = await exchangeToken(ownerToken);
29
+ return access_token;
30
+ });
31
+ return token.toString();
32
+ }
33
+ var RoomVisibility;
34
+ (function (RoomVisibility) {
35
+ RoomVisibility["public"] = "public";
36
+ RoomVisibility["invite"] = "invite";
37
+ // These are not currently used
38
+ // knock = "knock",
39
+ // restricted = "restricted",
40
+ // knock_restricted = "knock_restricted",
41
+ })(RoomVisibility = exports.RoomVisibility || (exports.RoomVisibility = {}));
42
+ async function addRoom(accessToken, type, room, creationContent) {
43
+ let contentUri = undefined;
44
+ if (room.avatar_url) {
45
+ const { data, headers } = await axios_1.default.get(room.avatar_url);
46
+ contentUri = await createMedia(accessToken);
47
+ await uploadMedia(accessToken, contentUri, headers["content-type"], data);
48
+ }
49
+ const { data } = await ax.post(`/_matrix/client/v3/createRoom`, {
50
+ creation_content: {
51
+ type,
52
+ ...creationContent
53
+ },
54
+ initial_state: [
55
+ {
56
+ state_key: "",
57
+ type: "m.room.avatar",
58
+ content: {
59
+ url: contentUri
60
+ }
61
+ }
62
+ ],
63
+ name: room.name,
64
+ room_alias_name: room.canonical_alias,
65
+ topic: room.topic,
66
+ visibility: "public"
67
+ }, {
68
+ headers: {
69
+ "authorization": `Bearer ${accessToken}`,
70
+ }
71
+ });
72
+ return data.room_id;
73
+ }
74
+ exports.addRoom = addRoom;
75
+ async function updateRoom(businessId, roomId, room) {
76
+ if (!roomId)
77
+ return;
78
+ const business = await __1.services.businesses.get(businessId);
79
+ const accessToken = await getOwnerMatrixToken(business.ownerId);
80
+ if (room.name) {
81
+ await sendRoomEvent(accessToken, roomId, "m.room.name", "", {
82
+ name: room.name
83
+ });
84
+ }
85
+ if (room.alias) {
86
+ await addRoomAlias(accessToken, roomId, room.alias);
87
+ await deleteRoomAlias(accessToken, room.alias);
88
+ }
89
+ if (room.avatar_url) {
90
+ const { data, headers } = await axios_1.default.get(room.avatar_url);
91
+ const contentUri = await createMedia(accessToken);
92
+ await uploadMedia(accessToken, contentUri, headers["content-type"], data);
93
+ await sendRoomEvent(accessToken, roomId, "m.room.avatar", "", {
94
+ url: contentUri
95
+ });
96
+ }
97
+ if (room.visibility) {
98
+ await sendRoomEvent(accessToken, roomId, "m.room.join_rules", "", {
99
+ join_rule: room.visibility
100
+ });
101
+ }
102
+ }
103
+ exports.updateRoom = updateRoom;
104
+ async function sendRoomEvent(accessToken, roomId, event, stateKey, content) {
105
+ await ax.put(`/_matrix/client/v3/rooms/${roomId}/state/${event}/${stateKey}`, content, {
106
+ headers: {
107
+ "authorization": `Bearer ${accessToken}`,
108
+ }
109
+ });
110
+ }
111
+ exports.sendRoomEvent = sendRoomEvent;
112
+ async function addRoomAlias(accessToken, roomId, roomAlias) {
113
+ const alias = encodeURIComponent(`#${roomAlias}:${MATRIX_DOMAIN}`);
114
+ await ax.put(`/_matrix/client/v3/directory/room/${alias}`, {
115
+ "room_id": roomId
116
+ }, {
117
+ headers: {
118
+ "authorization": `Bearer ${accessToken}`,
119
+ }
120
+ });
121
+ }
122
+ exports.addRoomAlias = addRoomAlias;
123
+ async function deleteRoomAlias(accessToken, roomAlias) {
124
+ const alias = encodeURIComponent(`#${roomAlias}:${MATRIX_DOMAIN}`);
125
+ await ax.delete(`/_matrix/client/v3/directory/room/${alias}`, {
126
+ headers: {
127
+ "authorization": `Bearer ${accessToken}`,
128
+ }
129
+ });
130
+ }
131
+ exports.deleteRoomAlias = deleteRoomAlias;
132
+ async function createMedia(accessToken) {
133
+ const { data } = await ax.post(`/_matrix/media/v1/create`, undefined, {
134
+ headers: {
135
+ "authorization": `Bearer ${accessToken}`,
136
+ }
137
+ });
138
+ return new URL(data.content_uri);
139
+ }
140
+ exports.createMedia = createMedia;
141
+ async function uploadMedia(accessToken, contentUri, contentType, file) {
142
+ await ax.put(`/_matrix/media/v3/upload/${contentUri.host}/${contentUri.pathname}`, file, {
143
+ headers: {
144
+ "Content-Type": contentType,
145
+ "authorization": `Bearer ${accessToken}`,
146
+ }
147
+ });
148
+ }
149
+ exports.uploadMedia = uploadMedia;
150
+ async function joinRoom(accessToken, roomId) {
151
+ await ax.post(`/_matrix/client/v3/rooms/${roomId}/join`, undefined, {
152
+ headers: {
153
+ "authorization": `Bearer ${accessToken}`,
154
+ }
155
+ });
156
+ }
157
+ exports.joinRoom = joinRoom;
158
+ //# sourceMappingURL=matrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/services/matrix.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@varius.io/framework",
3
- "version": "13.5.15",
3
+ "version": "13.6.2",
4
4
  "main": "./build/index.js",
5
5
  "type": "./build/index.d.ts",
6
6
  "scripts": {