comty.js 0.62.1 → 0.63.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/dist/index.js CHANGED
@@ -67,8 +67,6 @@ if (globalThis.isServerMode) {
67
67
  if (sessionToken) {
68
68
  config.headers["Authorization"] =
69
69
  `${globalThis.isServerMode ? "Server" : "Bearer"} ${sessionToken}`
70
- } else {
71
- console.warn("Making a request with no session token")
72
70
  }
73
71
  }
74
72
 
@@ -0,0 +1,21 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _request = require('../../request'); var _request2 = _interopRequireDefault(_request);
2
+
3
+ class EventsModel {
4
+ static async getFeatured() {
5
+ const { data } = await _request2.default.call(void 0, {
6
+ method: "GET",
7
+ url: "/featured/events",
8
+ })
9
+
10
+ return data
11
+ }
12
+
13
+ static async data(id) {
14
+ const { data } = await _request2.default.call(void 0, {
15
+ method: "GET",
16
+ url: `/events/${id}/data`,
17
+ })
18
+
19
+ return data
20
+ }
21
+ } exports.default = EventsModel;
@@ -1,8 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);
2
2
  var _session = require('../session'); var _session2 = _interopRequireDefault(_session);
3
- //import User from "comty.js/models/user"
3
+ var _user = require('../user'); var _user2 = _interopRequireDefault(_user);
4
+ var _src = require('linebridge-client/src');
5
+ //import { RTEngineClient } from "../../../../linebridge/client/src"
4
6
 
5
- async function injectUserData(list) {
7
+ async function injectUserDataOnList(list) {
6
8
  if (!Array.isArray(list)) {
7
9
  return list
8
10
  }
@@ -11,7 +13,24 @@ async function injectUserData(list) {
11
13
  return item.user_id
12
14
  })
13
15
 
14
- //const users = await User.data(user_ids.join(","))
16
+ let users = await _user2.default.data({
17
+ user_id: user_ids.join(","),
18
+ basic: true,
19
+ })
20
+
21
+ if (!Array.isArray(users)) {
22
+ users = [users]
23
+ }
24
+
25
+ const userMap = new Map(users.map((user) => [user._id, user]))
26
+
27
+ list = list.map((item) => {
28
+ const user = userMap.get(item.user_id)
29
+ return {
30
+ ...item,
31
+ user: user,
32
+ }
33
+ })
15
34
 
16
35
  return list
17
36
  }
@@ -47,6 +66,19 @@ async function injectUserData(list) {
47
66
  }
48
67
  }
49
68
 
69
+ static async getStream(stream_id) {
70
+ if (!stream_id) {
71
+ return null
72
+ }
73
+
74
+ const { data } = await Streaming.base({
75
+ method: "get",
76
+ url: `/streaming/${stream_id}`,
77
+ })
78
+
79
+ return data
80
+ }
81
+
50
82
  static async getOwnProfiles() {
51
83
  const { data } = await Streaming.base({
52
84
  method: "get",
@@ -69,14 +101,11 @@ async function injectUserData(list) {
69
101
  return data
70
102
  }
71
103
 
72
- static async getStream({ profile_id }) {
73
- if (!profile_id) {
74
- return null
75
- }
76
-
104
+ static async createOrUpdateProfile(update) {
77
105
  const { data } = await Streaming.base({
78
- method: "get",
79
- url: `/streaming/${profile_id}`,
106
+ method: "put",
107
+ url: `/streaming/profiles/self`,
108
+ data: update,
80
109
  })
81
110
 
82
111
  return data
@@ -95,22 +124,7 @@ async function injectUserData(list) {
95
124
  return data
96
125
  }
97
126
 
98
- static async createOrUpdateStream(update) {
99
- const { data } = await Streaming.base({
100
- method: "put",
101
- url: `/streaming/profiles/self`,
102
- data: update,
103
- })
104
-
105
- return data
106
- }
107
-
108
- static async getConnectionStatus({ profile_id }) {
109
- console.warn("getConnectionStatus() | Not implemented")
110
- return false
111
- }
112
-
113
- static async getLivestreamsList({ limit, offset } = {}) {
127
+ static async list({ limit, offset } = {}) {
114
128
  let { data } = await Streaming.base({
115
129
  method: "get",
116
130
  url: "/streaming/list",
@@ -120,17 +134,41 @@ async function injectUserData(list) {
120
134
  },
121
135
  })
122
136
 
123
- data = await injectUserData(data)
137
+ data = await injectUserDataOnList(data)
124
138
 
125
139
  return data
126
140
  }
127
141
 
128
- static async getLivestreamData(livestream_id) {
129
- const { data } = await Streaming.base({
130
- method: "get",
131
- url: `/streaming/${livestream_id}`,
142
+ static async createStreamWebsocket(stream_id, params = {}) {
143
+ if (!stream_id) {
144
+ console.error("stream_id is required")
145
+ return null
146
+ }
147
+
148
+ const client = new (0, _src.RTEngineClient)({
149
+ ...params,
150
+ url: Streaming.apiHostname,
151
+ token: _session2.default.token,
132
152
  })
133
153
 
134
- return data
154
+ client._destroy = client.destroy
155
+
156
+ client.destroy = () => {
157
+ client.emit("stream:leave", stream_id)
158
+
159
+ if (typeof client._destroy === "function") {
160
+ client._destroy()
161
+ }
162
+ }
163
+
164
+ client.requestState = async () => {
165
+ return await client.call("stream:state", stream_id)
166
+ }
167
+
168
+ client.on("connected", () => {
169
+ client.emit("stream:join", stream_id)
170
+ })
171
+
172
+ return client
135
173
  }
136
174
  } Streaming.__initStatic(); exports.default = Streaming;
package/dist/ws.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _remotes = require('./remotes'); var _remotes2 = _interopRequireDefault(_remotes);
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _remotes = require('./remotes'); var _remotes2 = _interopRequireDefault(_remotes);
2
2
  var _withStorage = require('./helpers/withStorage'); var _withStorage2 = _interopRequireDefault(_withStorage);
3
3
 
4
4
  var _socketioclient = require('socket.io-client');
@@ -98,10 +98,10 @@ class WebsocketManager {
98
98
  return null
99
99
  }
100
100
 
101
- if (
102
- socket.connected === true &&
103
- typeof socket.disconnect === "function"
104
- ) {
101
+ const isConnected =
102
+ socket.connected === true || _optionalChain([socket, 'access', _ => _.state, 'optionalAccess', _2 => _2.connected]) === true
103
+
104
+ if (isConnected && typeof socket.disconnect === "function") {
105
105
  await socket.disconnect()
106
106
  }
107
107
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "comty.js",
3
- "version": "0.62.1",
3
+ "version": "0.63.0",
4
4
  "main": "./dist/index.js",
5
5
  "description": "Official Comty API for JavaScript",
6
6
  "homepage": "https://github.com/ragestudio/comty.js",
@@ -18,7 +18,7 @@
18
18
  "js-cookie": "^3.0.5",
19
19
  "jsonwebtoken": "^9.0.0",
20
20
  "jwt-decode": "^4.0.0",
21
- "linebridge-client": "^1.0.0",
21
+ "linebridge-client": "^1.1.0",
22
22
  "luxon": "^3.6.0",
23
23
  "socket.io-client": "^4.8.1"
24
24
  },