@cocreate/users 1.35.0 → 1.36.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/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ # [1.36.0](https://github.com/CoCreate-app/CoCreate-users/compare/v1.35.1...v1.36.0) (2024-02-15)
2
+
3
+
4
+ ### Features
5
+
6
+ * get _id of invitee ([0d92cd9](https://github.com/CoCreate-app/CoCreate-users/commit/0d92cd920189bb80de7dffcf7778340540c5f12e))
7
+
8
+ ## [1.35.1](https://github.com/CoCreate-app/CoCreate-users/compare/v1.35.0...v1.35.1) (2024-02-13)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * dispatch userInvite event if succesful ([17510a4](https://github.com/CoCreate-app/CoCreate-users/commit/17510a450d145b2f9f36ba7c418963aa58c47875))
14
+ * updating users ([5e25fcb](https://github.com/CoCreate-app/CoCreate-users/commit/5e25fcbab8992854758109c786730097b65251c5))
15
+
1
16
  # [1.35.0](https://github.com/CoCreate-app/CoCreate-users/compare/v1.34.2...v1.35.0) (2024-02-13)
2
17
 
3
18
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocreate/users",
3
- "version": "1.35.0",
3
+ "version": "1.36.0",
4
4
  "description": "A simple users component in vanilla javascript. Easily configured using HTML5 attributes and/or JavaScript API.",
5
5
  "keywords": [
6
6
  "users",
package/src/client.js CHANGED
@@ -268,6 +268,9 @@ const CoCreateUser = {
268
268
  }
269
269
 
270
270
  Crud.socket.send(request).then((response) => {
271
+ if (response.success)
272
+ document.dispatchEvent(new CustomEvent('inviteUser'));
273
+
271
274
  render({
272
275
  selector: "[template*='inviteUser']",
273
276
  data: [{
@@ -304,15 +307,14 @@ const CoCreateUser = {
304
307
 
305
308
  if (data.success)
306
309
  document.dispatchEvent(new CustomEvent('acceptInvite'));
307
- else
308
- render({
309
- selector: "[template*='acceptInvite']",
310
- data: [{
311
- type: 'acceptInvite',
312
- message: data.message,
313
- success: data.success,
314
- }]
315
- });
310
+ render({
311
+ selector: "[template*='acceptInvite']",
312
+ data: [{
313
+ type: 'acceptInvite',
314
+ message: data.message,
315
+ success: data.success,
316
+ }]
317
+ });
316
318
  },
317
319
 
318
320
 
package/src/server.js CHANGED
@@ -160,6 +160,8 @@ class CoCreateUser {
160
160
  const inviteId = this.crud.ObjectId().toString()
161
161
  let socket = data.socket
162
162
  delete data.socket
163
+ let uid = data.uid
164
+ delete data.uid
163
165
 
164
166
  data.method = 'object.update'
165
167
  data.array = "users"
@@ -167,6 +169,21 @@ class CoCreateUser {
167
169
 
168
170
  data = await this.crud.send(data)
169
171
 
172
+ let invitee = await this.crud.send({
173
+ method: 'object.read',
174
+ array: 'users',
175
+ $filter: {
176
+ query: { email: data.email },
177
+ limit: 1
178
+ },
179
+ organization_id: data.organization_id
180
+ })
181
+
182
+ if (invitee.object[0]) {
183
+ invitee = invitee.object[0]._id
184
+ } else
185
+ invitee = ''
186
+
170
187
  let htmlBody = `
171
188
  <html>
172
189
  <head>
@@ -177,12 +194,12 @@ class CoCreateUser {
177
194
 
178
195
  <p>You have been invited to join ${data.name} on Yellow Oracle.</p>
179
196
 
180
- <p><a href="${data.origin}${data.path}?email=${data.email}&token=${inviteId}&user_id=${data.user_id}&name=${data.name}" style="color: #ffffff; background-color: #FFD700; padding: 10px 20px; text-decoration: none; border-radius: 5px;">Accept Your Invitation</a></p>
197
+ <p><a href="${data.origin}${data.path}?email=${data.email}&token=${inviteId}&user_id=${invitee}&name=${data.name}" style="color: #ffffff; background-color: #FFD700; padding: 10px 20px; text-decoration: none; border-radius: 5px;">Accept Your Invitation</a></p>
181
198
 
182
199
  <p>Please note, this invitation link will expire in 48 hours. We encourage you to accept it soon to begin your journey with ${data.name} on Yellow Oracle.</p>
183
200
 
184
201
  <p>If the button above doesn't work, you can copy and paste the following URL into your web browser:</p>
185
- <p><a href="${data.origin}${data.path}?email=${data.email}&token=${inviteId}&user_id=${data.user_id}&name=${data.name}">${data.origin}${data.path}?email=${data.email}&token=${inviteId}&user_id=${data.user_id}&name=${data.name}</a></p>
202
+ <p><a href="${data.origin}${data.path}?email=${data.email}&token=${inviteId}&user_id=${invitee}&name=${data.name}">${data.origin}${data.path}?email=${data.email}&token=${inviteId}&user_id=${invitee}&name=${data.name}</a></p>
186
203
 
187
204
  <p>If you received this invitation by mistake or have any questions, please don't hesitate to get in touch with our support team at <a href="mailto:support@${data.hostname}">support@${data.hostname}</a>.</p>
188
205
 
@@ -216,7 +233,7 @@ class CoCreateUser {
216
233
  success: true,
217
234
  message: "Succesfully sent invite",
218
235
  organization_id: data.organization_id,
219
- uid: data.uid
236
+ uid
220
237
  }
221
238
 
222
239
  this.wsManager.send(response)
@@ -237,6 +254,11 @@ class CoCreateUser {
237
254
  return
238
255
  }
239
256
 
257
+ let socket = data.socket
258
+ delete data.socket
259
+ let uid = data.uid
260
+ delete data.uid
261
+
240
262
  data.method = 'object.update'
241
263
  data.array = "users"
242
264
  data.object = { '$pull.invitations': data.token, '$pull.members': data.email }
@@ -248,21 +270,22 @@ class CoCreateUser {
248
270
  data = await this.crud.send(data)
249
271
 
250
272
  let response = {
251
- socket: data.socket,
273
+ socket,
252
274
  host: data.host,
253
275
  method: 'acceptInvite',
254
276
  success: false,
255
277
  message: "Token is invalid or has expired",
256
278
  organization_id: data.organization_id,
257
- uid: data.uid
279
+ uid
258
280
  }
259
281
 
260
282
  for (let object of data.object) {
261
283
  if (object._id) {
262
284
  delete data.$filter
285
+ data.socket = socket
263
286
  data.object = { _id: object._id, '$addToSet.members': data.user_id }
264
287
  data = await this.crud.send(data)
265
-
288
+ this.crud.send({ method: 'object.update', array: 'users', object: { _id: data.user_id, memberAccount: object._id, subscription: '6571fe530c48ef6970900a82' } })
266
289
  response.success = true
267
290
  response.message = "Invite Accepted"
268
291
  break