@bwi-mentorspaces/application-utils-npm 0.0.6 → 0.0.9

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.
Files changed (122) hide show
  1. package/chat/index.d.ts +36 -36
  2. package/chat/index.js +58 -58
  3. package/chat/stream/enum/index.d.ts +33 -27
  4. package/chat/stream/enum/index.js +41 -34
  5. package/chat/stream/enum/index.js.map +1 -1
  6. package/chat/stream/index.d.ts +9 -9
  7. package/chat/stream/index.js +17 -17
  8. package/chat/stream/models/_/channel.data.d.ts +19 -19
  9. package/chat/stream/models/_/channel.data.js +2 -2
  10. package/chat/stream/models/_/channel.member.d.ts +14 -14
  11. package/chat/stream/models/_/channel.member.js +11 -11
  12. package/chat/stream/models/_/channel.response.d.ts +8 -8
  13. package/chat/stream/models/_/channel.response.js +2 -2
  14. package/chat/stream/models/_/event.data.d.ts +16 -0
  15. package/chat/stream/models/_/event.data.js +4 -0
  16. package/chat/stream/models/_/event.data.js.map +1 -0
  17. package/chat/stream/models/_/message.response.d.ts +8 -8
  18. package/chat/stream/models/_/message.response.js +2 -2
  19. package/chat/stream/models/_/stream.config.d.ts +22 -22
  20. package/chat/stream/models/_/stream.config.js +2 -2
  21. package/chat/stream/models/_/user.response.d.ts +8 -8
  22. package/chat/stream/models/_/user.response.js +2 -2
  23. package/chat/stream/models/index.d.ts +9 -7
  24. package/chat/stream/models/index.js +5 -5
  25. package/chat/stream/models/index.js.map +1 -1
  26. package/chat/stream/stream.api.d.ts +63 -63
  27. package/chat/stream/stream.api.js +76 -76
  28. package/chat/stream/stream.auth.d.ts +70 -70
  29. package/chat/stream/stream.auth.js +80 -80
  30. package/chat/stream/stream.base.d.ts +56 -56
  31. package/chat/stream/stream.base.js +93 -93
  32. package/chat/stream/stream.channel.d.ts +132 -118
  33. package/chat/stream/stream.channel.js +306 -285
  34. package/chat/stream/stream.channel.js.map +1 -1
  35. package/chat/stream/stream.error.d.ts +19 -19
  36. package/chat/stream/stream.error.js +17 -17
  37. package/chat/stream/stream.member.d.ts +75 -75
  38. package/chat/stream/stream.member.js +175 -175
  39. package/chat/stream/stream.message.d.ts +59 -59
  40. package/chat/stream/stream.message.js +112 -112
  41. package/chat/stream/stream.user.d.ts +49 -49
  42. package/chat/stream/stream.user.js +90 -90
  43. package/core/_/api-error.d.ts +24 -24
  44. package/core/_/api-error.js +21 -21
  45. package/core/_/api-response.d.ts +25 -25
  46. package/core/_/api-response.js +21 -21
  47. package/core/_/cors-headers.d.ts +16 -16
  48. package/core/_/cors-headers.js +32 -32
  49. package/core/_/model.d.ts +39 -31
  50. package/core/_/model.js +2 -2
  51. package/core/_/service-request.d.ts +66 -66
  52. package/core/_/service-request.js +104 -104
  53. package/core/_/service-request.js.map +1 -1
  54. package/core/index.d.ts +10 -10
  55. package/core/index.js +11 -11
  56. package/coverage/coverage-final.json +4 -0
  57. package/deployment/_/serverless.d.ts +26 -26
  58. package/deployment/_/serverless.js +43 -43
  59. package/deployment/index.d.ts +2 -2
  60. package/deployment/index.js +5 -5
  61. package/endpoint-test-factory/_/test-factory.d.ts +45 -45
  62. package/endpoint-test-factory/_/test-factory.js +91 -91
  63. package/endpoint-test-factory/index.d.ts +2 -2
  64. package/endpoint-test-factory/index.js +5 -5
  65. package/enums/index.d.ts +92 -92
  66. package/enums/index.js +2 -2
  67. package/jest.config.d.ts +12 -0
  68. package/jest.config.js +16 -0
  69. package/jest.config.js.map +1 -0
  70. package/meet/index.d.ts +36 -36
  71. package/meet/index.js +58 -58
  72. package/meet/tests/unit/twilio/twilio.room.test.d.ts +1 -0
  73. package/meet/tests/unit/twilio/twilio.room.test.js +33 -0
  74. package/meet/tests/unit/twilio/twilio.room.test.js.map +1 -0
  75. package/meet/twilio/enum/index.d.ts +6 -6
  76. package/meet/twilio/enum/index.js +10 -10
  77. package/meet/twilio/index.d.ts +5 -5
  78. package/meet/twilio/index.js +11 -11
  79. package/meet/twilio/models/_/room.data.d.ts +6 -6
  80. package/meet/twilio/models/_/room.data.js +2 -2
  81. package/meet/twilio/models/_/twilio.config.d.ts +29 -29
  82. package/meet/twilio/models/_/twilio.config.js +2 -2
  83. package/meet/twilio/models/index.d.ts +3 -3
  84. package/meet/twilio/models/index.js +2 -2
  85. package/meet/twilio/twilio.api.d.ts +28 -28
  86. package/meet/twilio/twilio.api.js +45 -45
  87. package/meet/twilio/twilio.auth.d.ts +55 -55
  88. package/meet/twilio/twilio.auth.js +83 -83
  89. package/meet/twilio/twilio.base.d.ts +41 -41
  90. package/meet/twilio/twilio.base.js +53 -53
  91. package/meet/twilio/twilio.room.d.ts +58 -46
  92. package/meet/twilio/twilio.room.js +141 -124
  93. package/meet/twilio/twilio.room.js.map +1 -1
  94. package/package.json +64 -57
  95. package/swagger/_/swagger.config.d.ts +21 -21
  96. package/swagger/_/swagger.config.js +2 -2
  97. package/swagger/_/swagger.d.ts +37 -37
  98. package/swagger/_/swagger.js +78 -78
  99. package/swagger/index.d.ts +3 -3
  100. package/swagger/index.js +5 -5
  101. package/types/index.d.ts +19 -19
  102. package/types/index.js +2 -2
  103. package/utils/_/encoder.d.ts +19 -19
  104. package/utils/_/encoder.js +27 -27
  105. package/utils/_/encryptor.d.ts +26 -26
  106. package/utils/_/encryptor.js +67 -67
  107. package/utils/_/hasher.d.ts +25 -25
  108. package/utils/_/hasher.js +63 -63
  109. package/utils/_/object-mapper.d.ts +12 -12
  110. package/utils/_/object-mapper.js +22 -22
  111. package/utils/_/string-formatter.d.ts +34 -34
  112. package/utils/_/string-formatter.js +49 -49
  113. package/utils/_/utc-date.d.ts +35 -35
  114. package/utils/_/utc-date.js +84 -84
  115. package/utils/index.d.ts +7 -7
  116. package/utils/index.js +15 -15
  117. package/validators/_/checker.d.ts +62 -62
  118. package/validators/_/checker.js +98 -98
  119. package/validators/_/regex.d.ts +98 -98
  120. package/validators/_/regex.js +142 -142
  121. package/validators/index.d.ts +3 -3
  122. package/validators/index.js +7 -7
@@ -1,286 +1,307 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.StreamChannel = void 0;
13
- const utils_1 = require("../../utils");
14
- const stream_base_1 = require("./stream.base");
15
- /**
16
- * A class that provides methods to manage StreamAPI Channel
17
- */
18
- class StreamChannel extends stream_base_1.StreamBase {
19
- // properties
20
- /**
21
- * Stream channel constructor
22
- *
23
- * @param {StreamAuth} auth Auth class
24
- * @param {StreamChat} server Stream API server
25
- */
26
- constructor(auth, server) {
27
- super();
28
- super.auth = auth;
29
- super.server = server;
30
- }
31
- // methods
32
- /**
33
- * Create channel
34
- *
35
- * @param {IChannelData} data channel data object
36
- * @returns {ChannelAPIResponse} channel object response
37
- */
38
- create(data) {
39
- const _super = Object.create(null, {
40
- server: { get: () => super.server }
41
- });
42
- return __awaiter(this, void 0, void 0, function* () {
43
- return _super.server
44
- .channel(data.type, data.channelId, {
45
- name: data.name,
46
- created_by_id: data.createdById,
47
- subType: data.subType ? data.subType.toString() : undefined,
48
- companyId: data.companyId ? data.companyId.toString() : undefined,
49
- topicRef: data.topicRef ? data.topicRef.toString() : undefined
50
- })
51
- .create();
52
- });
53
- }
54
- /**
55
- * Add new members into a specific channel.
56
- *
57
- * @param {IChannelData} data channel data object
58
- * @returns {Promise<boolean>} promise of the result to add members
59
- */
60
- addMembers(data) {
61
- const _super = Object.create(null, {
62
- getChannelById: { get: () => super.getChannelById }
63
- });
64
- return __awaiter(this, void 0, void 0, function* () {
65
- //Retrieve the channel
66
- const rChannel = yield _super.getChannelById.call(this, data.channelId);
67
- if (rChannel && rChannel.length > 0) {
68
- //get the channel from the response
69
- const channel = rChannel[0];
70
- //retrieve the data for members
71
- const existingMemberCount = channel.data.member_count;
72
- //Create the message if is necessary
73
- let message = undefined;
74
- //Add message text if is necessary
75
- if (data.inviteMessage !== undefined) {
76
- message = { text: data.inviteMessage, user_id: channel.data.created_by["id"] };
77
- }
78
- //Send the invite request to stream
79
- const r = yield channel.inviteMembers(data.members, message);
80
- //check the result
81
- if (existingMemberCount == r.members.length) {
82
- // error, did not add members
83
- return false;
84
- }
85
- //Members invited successfully
86
- return true;
87
- }
88
- else {
89
- return false;
90
- }
91
- });
92
- }
93
- /**
94
- * Check if exist a channel with specific members
95
- *
96
- * @param {IChannelData} data channel data object
97
- * @returns {Promise<Channel[]>} channel response
98
- */
99
- getByMembers(data) {
100
- const _super = Object.create(null, {
101
- server: { get: () => super.server }
102
- });
103
- return __awaiter(this, void 0, void 0, function* () {
104
- //Create the filter
105
- const filter = { type: data.type, members: { $eq: data.members } };
106
- //Create the sort
107
- const sort = [{ last_message_at: -1 }];
108
- //return the result of the querying
109
- return _super.server.queryChannels(filter, sort);
110
- });
111
- }
112
- /**
113
- * Get channel by filter
114
- *
115
- * @param {ChannelFilters} filter filter parameters
116
- * @param {ChannelSort} sort sort parameters
117
- * @param {ChannelOptions} options options parameter
118
- * @returns {Promise<Channel[]>} channel response
119
- */
120
- getChannel(filter, sort, options) {
121
- const _super = Object.create(null, {
122
- server: { get: () => super.server }
123
- });
124
- return __awaiter(this, void 0, void 0, function* () {
125
- return _super.server.queryChannels(filter, sort, options);
126
- });
127
- }
128
- /**
129
- * Allow to partial update some fields on stream channel
130
- *
131
- * @param {IChannelData} data channel data object
132
- * @returns {Promise<UpdateChannelAPIResponse>} channel object response
133
- */
134
- updateChannel(data) {
135
- const _super = Object.create(null, {
136
- getChannelById: { get: () => super.getChannelById }
137
- });
138
- return __awaiter(this, void 0, void 0, function* () {
139
- //Retrieve the channel
140
- const rChannel = yield _super.getChannelById.call(this, data.channelId);
141
- if (rChannel && rChannel.length > 0) {
142
- //get the channel from the response
143
- const channel = rChannel[0];
144
- const partialObj = utils_1.ObjectMapper.keyValueMapper(data);
145
- //check if this is a recovery channel request
146
- if (data.frozen === false && data.disabled === false) {
147
- //hide the channel for the current members
148
- for (const member in channel.state.members) {
149
- yield channel.show(member);
150
- }
151
- }
152
- return channel.updatePartial({ set: partialObj });
153
- }
154
- });
155
- }
156
- /**
157
- * This will be delete a specific channel from Stream
158
- *
159
- * @param {string} channelId channel id of the channel
160
- * @param {boolean} isHard is Hard delete
161
- * @returns {Promise<boolean>} promise of the result to delete channel
162
- */
163
- deleteChannel(channelId, isHard = false) {
164
- const _super = Object.create(null, {
165
- getChannelById: { get: () => super.getChannelById }
166
- });
167
- return __awaiter(this, void 0, void 0, function* () {
168
- //Retrieve the channel
169
- const rChannel = yield _super.getChannelById.call(this, channelId);
170
- if (rChannel && rChannel.length > 0) {
171
- //get the channel from the response
172
- const channel = rChannel[0];
173
- let destroy = null;
174
- //define if is a hard delete request
175
- if (isHard) {
176
- // server-side delete hard
177
- destroy = yield channel.delete();
178
- }
179
- else {
180
- destroy = yield this.updateChannel({ channelId: channelId, frozen: true, disabled: true });
181
- //hide the channel for the current members
182
- for (const member in channel.state.members) {
183
- yield channel.hide(member);
184
- }
185
- }
186
- //Check the response
187
- if (!destroy.channel) {
188
- return false;
189
- }
190
- return true;
191
- }
192
- else {
193
- return false;
194
- }
195
- });
196
- }
197
- /**
198
- * Accept invited channel
199
- *
200
- * @param {string} channelId channel id of the channel
201
- * @param {string} userId user id from stream
202
- * @returns {boolean} true / false
203
- */
204
- acceptInvite(channelId, userId) {
205
- const _super = Object.create(null, {
206
- getChannelById: { get: () => super.getChannelById }
207
- });
208
- return __awaiter(this, void 0, void 0, function* () {
209
- let channelResponse;
210
- //Retrieve the channel
211
- const rChannel = yield _super.getChannelById.call(this, channelId);
212
- if (rChannel && rChannel.length > 0) {
213
- //get the channel from the response
214
- const channel = rChannel[0];
215
- //server-side accept invite
216
- const r = yield channel.acceptInvite({ user_id: userId });
217
- //Check the result
218
- if (r) {
219
- channelResponse = r;
220
- }
221
- }
222
- return channelResponse;
223
- });
224
- }
225
- /**
226
- * Reject invited channel
227
- *
228
- * @param {string} channelId channel id of the channel
229
- * @param {string} userId user id from stream
230
- * @returns {boolean} true / false
231
- */
232
- rejectInvite(channelId, userId) {
233
- const _super = Object.create(null, {
234
- getChannelById: { get: () => super.getChannelById }
235
- });
236
- return __awaiter(this, void 0, void 0, function* () {
237
- let channelResponse;
238
- //Retrieve the channel
239
- const rChannel = yield _super.getChannelById.call(this, channelId);
240
- if (rChannel && rChannel.length > 0) {
241
- //get the channel from the response
242
- const channel = rChannel[0];
243
- //server-side accept invite
244
- const r = yield channel.rejectInvite({ user_id: userId });
245
- //Archive the channel if user reject invite
246
- const ar = yield this.deleteChannel(channelId);
247
- //Check the result
248
- if (r && ar) {
249
- channelResponse = r;
250
- }
251
- }
252
- return channelResponse;
253
- });
254
- }
255
- /**
256
- * Sync a channel
257
- *
258
- * @param {IChannelData} data channel data
259
- * @returns {Promise<boolean>} promise of the type boolean
260
- */
261
- syncChannel(data) {
262
- const _super = Object.create(null, {
263
- getChannelById: { get: () => super.getChannelById }
264
- });
265
- return __awaiter(this, void 0, void 0, function* () {
266
- //Retrieve the channel
267
- const rChannel = yield _super.getChannelById.call(this, data.channelId);
268
- if (rChannel && rChannel.length > 0) {
269
- //get the channel from the response
270
- const channel = rChannel[0];
271
- //Update the channel
272
- const r = yield channel.update(data);
273
- //Check the result
274
- if (!r) {
275
- return false;
276
- }
277
- return true;
278
- }
279
- else {
280
- return false;
281
- }
282
- });
283
- }
284
- }
285
- exports.StreamChannel = StreamChannel;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.StreamChannel = void 0;
13
+ const utils_1 = require("../../utils");
14
+ const stream_base_1 = require("./stream.base");
15
+ /**
16
+ * A class that provides methods to manage StreamAPI Channel
17
+ */
18
+ class StreamChannel extends stream_base_1.StreamBase {
19
+ // properties
20
+ /**
21
+ * Stream channel constructor
22
+ *
23
+ * @param {StreamAuth} auth Auth class
24
+ * @param {StreamChat} server Stream API server
25
+ */
26
+ constructor(auth, server) {
27
+ super();
28
+ super.auth = auth;
29
+ super.server = server;
30
+ }
31
+ // methods
32
+ /**
33
+ * Create channel
34
+ *
35
+ * @param {IChannelData} data channel data object
36
+ * @returns {ChannelAPIResponse} channel object response
37
+ */
38
+ create(data) {
39
+ const _super = Object.create(null, {
40
+ server: { get: () => super.server }
41
+ });
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ return _super.server
44
+ .channel(data.type, data.channelId, {
45
+ name: data.name,
46
+ created_by_id: data.createdById,
47
+ subType: data.subType ? data.subType.toString() : undefined,
48
+ companyId: data.companyId ? data.companyId.toString() : undefined,
49
+ topicRef: data.topicRef ? data.topicRef.toString() : undefined
50
+ })
51
+ .create();
52
+ });
53
+ }
54
+ /**
55
+ * Send event to channel
56
+ *
57
+ * @param {string} channelId the channel id
58
+ * @param {IEventTypes} eventType the event type
59
+ * @param {string} user user responsible for sent the event
60
+ * @param {IEventTypesData} customData the data to send with the event
61
+ * @returns {Promise<EventAPIResponse<DefaultGenerics>>} channel object response
62
+ */
63
+ sendChannelEvent(channelId, eventType, user, customData) {
64
+ const _super = Object.create(null, {
65
+ getChannelById: { get: () => super.getChannelById }
66
+ });
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const rChannel = yield _super.getChannelById.call(this, channelId);
69
+ if (rChannel && rChannel.length > 0) {
70
+ const channel = rChannel[0];
71
+ return yield channel.sendEvent(Object.assign({ type: eventType, user }, customData));
72
+ }
73
+ });
74
+ }
75
+ /**
76
+ * Add new members into a specific channel.
77
+ *
78
+ * @param {IChannelData} data channel data object
79
+ * @returns {Promise<boolean>} promise of the result to add members
80
+ */
81
+ addMembers(data) {
82
+ const _super = Object.create(null, {
83
+ getChannelById: { get: () => super.getChannelById }
84
+ });
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ //Retrieve the channel
87
+ const rChannel = yield _super.getChannelById.call(this, data.channelId);
88
+ if (rChannel && rChannel.length > 0) {
89
+ //get the channel from the response
90
+ const channel = rChannel[0];
91
+ //retrieve the data for members
92
+ const existingMemberCount = channel.data.member_count;
93
+ //Create the message if is necessary
94
+ let message = undefined;
95
+ //Add message text if is necessary
96
+ if (data.inviteMessage !== undefined) {
97
+ message = { text: data.inviteMessage, user_id: channel.data.created_by["id"] };
98
+ }
99
+ //Send the invite request to stream
100
+ const r = yield channel.inviteMembers(data.members, message);
101
+ //check the result
102
+ if (existingMemberCount == r.members.length) {
103
+ // error, did not add members
104
+ return false;
105
+ }
106
+ //Members invited successfully
107
+ return true;
108
+ }
109
+ else {
110
+ return false;
111
+ }
112
+ });
113
+ }
114
+ /**
115
+ * Check if exist a channel with specific members
116
+ *
117
+ * @param {IChannelData} data channel data object
118
+ * @returns {Promise<Channel[]>} channel response
119
+ */
120
+ getByMembers(data) {
121
+ const _super = Object.create(null, {
122
+ server: { get: () => super.server }
123
+ });
124
+ return __awaiter(this, void 0, void 0, function* () {
125
+ //Create the filter
126
+ const filter = { type: data.type, members: { $eq: data.members } };
127
+ //Create the sort
128
+ const sort = [{ last_message_at: -1 }];
129
+ //return the result of the querying
130
+ return _super.server.queryChannels(filter, sort);
131
+ });
132
+ }
133
+ /**
134
+ * Get channel by filter
135
+ *
136
+ * @param {ChannelFilters} filter filter parameters
137
+ * @param {ChannelSort} sort sort parameters
138
+ * @param {ChannelOptions} options options parameter
139
+ * @returns {Promise<Channel[]>} channel response
140
+ */
141
+ getChannel(filter, sort, options) {
142
+ const _super = Object.create(null, {
143
+ server: { get: () => super.server }
144
+ });
145
+ return __awaiter(this, void 0, void 0, function* () {
146
+ return _super.server.queryChannels(filter, sort, options);
147
+ });
148
+ }
149
+ /**
150
+ * Allow to partial update some fields on stream channel
151
+ *
152
+ * @param {IChannelData} data channel data object
153
+ * @returns {Promise<UpdateChannelAPIResponse>} channel object response
154
+ */
155
+ updateChannel(data) {
156
+ const _super = Object.create(null, {
157
+ getChannelById: { get: () => super.getChannelById }
158
+ });
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ //Retrieve the channel
161
+ const rChannel = yield _super.getChannelById.call(this, data.channelId);
162
+ if (rChannel && rChannel.length > 0) {
163
+ //get the channel from the response
164
+ const channel = rChannel[0];
165
+ const partialObj = utils_1.ObjectMapper.keyValueMapper(data);
166
+ //check if this is a recovery channel request
167
+ if (data.frozen === false && data.disabled === false) {
168
+ //hide the channel for the current members
169
+ for (const member in channel.state.members) {
170
+ yield channel.show(member);
171
+ }
172
+ }
173
+ return channel.updatePartial({ set: partialObj });
174
+ }
175
+ });
176
+ }
177
+ /**
178
+ * This will be delete a specific channel from Stream
179
+ *
180
+ * @param {string} channelId channel id of the channel
181
+ * @param {boolean} isHard is Hard delete
182
+ * @returns {Promise<boolean>} promise of the result to delete channel
183
+ */
184
+ deleteChannel(channelId, isHard = false) {
185
+ const _super = Object.create(null, {
186
+ getChannelById: { get: () => super.getChannelById }
187
+ });
188
+ return __awaiter(this, void 0, void 0, function* () {
189
+ //Retrieve the channel
190
+ const rChannel = yield _super.getChannelById.call(this, channelId);
191
+ if (rChannel && rChannel.length > 0) {
192
+ //get the channel from the response
193
+ const channel = rChannel[0];
194
+ let destroy = null;
195
+ //define if is a hard delete request
196
+ if (isHard) {
197
+ // server-side delete hard
198
+ destroy = yield channel.delete();
199
+ }
200
+ else {
201
+ destroy = yield this.updateChannel({ channelId: channelId, frozen: true, disabled: true });
202
+ //hide the channel for the current members
203
+ for (const member in channel.state.members) {
204
+ yield channel.hide(member);
205
+ }
206
+ }
207
+ //Check the response
208
+ if (!destroy.channel) {
209
+ return false;
210
+ }
211
+ return true;
212
+ }
213
+ else {
214
+ return false;
215
+ }
216
+ });
217
+ }
218
+ /**
219
+ * Accept invited channel
220
+ *
221
+ * @param {string} channelId channel id of the channel
222
+ * @param {string} userId user id from stream
223
+ * @returns {boolean} true / false
224
+ */
225
+ acceptInvite(channelId, userId) {
226
+ const _super = Object.create(null, {
227
+ getChannelById: { get: () => super.getChannelById }
228
+ });
229
+ return __awaiter(this, void 0, void 0, function* () {
230
+ let channelResponse;
231
+ //Retrieve the channel
232
+ const rChannel = yield _super.getChannelById.call(this, channelId);
233
+ if (rChannel && rChannel.length > 0) {
234
+ //get the channel from the response
235
+ const channel = rChannel[0];
236
+ //server-side accept invite
237
+ const r = yield channel.acceptInvite({ user_id: userId });
238
+ //Check the result
239
+ if (r) {
240
+ channelResponse = r;
241
+ }
242
+ }
243
+ return channelResponse;
244
+ });
245
+ }
246
+ /**
247
+ * Reject invited channel
248
+ *
249
+ * @param {string} channelId channel id of the channel
250
+ * @param {string} userId user id from stream
251
+ * @returns {boolean} true / false
252
+ */
253
+ rejectInvite(channelId, userId) {
254
+ const _super = Object.create(null, {
255
+ getChannelById: { get: () => super.getChannelById }
256
+ });
257
+ return __awaiter(this, void 0, void 0, function* () {
258
+ let channelResponse;
259
+ //Retrieve the channel
260
+ const rChannel = yield _super.getChannelById.call(this, channelId);
261
+ if (rChannel && rChannel.length > 0) {
262
+ //get the channel from the response
263
+ const channel = rChannel[0];
264
+ //server-side accept invite
265
+ const r = yield channel.rejectInvite({ user_id: userId });
266
+ //Archive the channel if user reject invite
267
+ const ar = yield this.deleteChannel(channelId);
268
+ //Check the result
269
+ if (r && ar) {
270
+ channelResponse = r;
271
+ }
272
+ }
273
+ return channelResponse;
274
+ });
275
+ }
276
+ /**
277
+ * Sync a channel
278
+ *
279
+ * @param {IChannelData} data channel data
280
+ * @returns {Promise<boolean>} promise of the type boolean
281
+ */
282
+ syncChannel(data) {
283
+ const _super = Object.create(null, {
284
+ getChannelById: { get: () => super.getChannelById }
285
+ });
286
+ return __awaiter(this, void 0, void 0, function* () {
287
+ //Retrieve the channel
288
+ const rChannel = yield _super.getChannelById.call(this, data.channelId);
289
+ if (rChannel && rChannel.length > 0) {
290
+ //get the channel from the response
291
+ const channel = rChannel[0];
292
+ //Update the channel
293
+ const r = yield channel.update(data);
294
+ //Check the result
295
+ if (!r) {
296
+ return false;
297
+ }
298
+ return true;
299
+ }
300
+ else {
301
+ return false;
302
+ }
303
+ });
304
+ }
305
+ }
306
+ exports.StreamChannel = StreamChannel;
286
307
  //# sourceMappingURL=stream.channel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.channel.js","sourceRoot":"","sources":["../../../chat/stream/stream.channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.channel.js","sourceRoot":"","sources":["../../../chat/stream/stream.channel.ts"],"names":[],"mappings":"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"}