@casual-simulation/aux-records 3.2.3 → 3.2.4-alpha.5857788915
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/AuthController.d.ts +1 -5
- package/AuthController.js +1 -10
- package/AuthController.js.map +1 -1
- package/AuthStore.d.ts +0 -4
- package/MemoryRecordsStore.d.ts +22 -1
- package/MemoryRecordsStore.js +162 -1
- package/MemoryRecordsStore.js.map +1 -1
- package/PolicyController.d.ts +4 -1
- package/PolicyController.js +33 -8
- package/PolicyController.js.map +1 -1
- package/RecordsController.d.ts +168 -2
- package/RecordsController.js +450 -17
- package/RecordsController.js.map +1 -1
- package/RecordsHttpServer.d.ts +8 -0
- package/RecordsHttpServer.js +450 -8
- package/RecordsHttpServer.js.map +1 -1
- package/RecordsStore.d.ts +236 -5
- package/SubscriptionConfiguration.d.ts +8 -0
- package/SubscriptionController.d.ts +21 -6
- package/SubscriptionController.js +248 -67
- package/SubscriptionController.js.map +1 -1
- package/TestUtils.js +1 -1
- package/TestUtils.js.map +1 -1
- package/Utils.js +9 -0
- package/Utils.js.map +1 -1
- package/package.json +2 -2
package/RecordsController.js
CHANGED
|
@@ -11,6 +11,7 @@ import { toBase64String, fromBase64String } from './Utils';
|
|
|
11
11
|
import { hashHighEntropyPasswordWithSalt, hashPasswordWithSalt, } from '@casual-simulation/crypto';
|
|
12
12
|
import { randomBytes } from 'tweetnacl';
|
|
13
13
|
import { fromByteArray } from 'base64-js';
|
|
14
|
+
import { v4 as uuid } from 'uuid';
|
|
14
15
|
/**
|
|
15
16
|
* Defines a class that manages records and their keys.
|
|
16
17
|
*/
|
|
@@ -19,6 +20,116 @@ export class RecordsController {
|
|
|
19
20
|
this._store = store;
|
|
20
21
|
this._auth = auth;
|
|
21
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Creates a new record.
|
|
25
|
+
* @param request The request that should be used to create the record.
|
|
26
|
+
*/
|
|
27
|
+
createRecord(request) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
try {
|
|
30
|
+
if (!request.userId) {
|
|
31
|
+
return {
|
|
32
|
+
success: false,
|
|
33
|
+
errorCode: 'not_logged_in',
|
|
34
|
+
errorMessage: 'The user must be logged in in order to create a record.',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const record = yield this._store.getRecordByName(request.recordName);
|
|
38
|
+
if (record) {
|
|
39
|
+
if (record.name === request.userId &&
|
|
40
|
+
record.ownerId !== request.userId &&
|
|
41
|
+
request.ownerId === request.userId) {
|
|
42
|
+
console.log(`[RecordsController] [action: record.create recordName: ${record.name}, userId: ${request.userId}] Fixing record owner to match actual owner.`);
|
|
43
|
+
record.ownerId = request.userId;
|
|
44
|
+
record.studioId = null;
|
|
45
|
+
// Clear the hashes and re-create the salt so that access to the record is revoked for any record key that was created before.
|
|
46
|
+
record.secretHashes = [];
|
|
47
|
+
record.secretSalt = this._createSalt();
|
|
48
|
+
yield this._store.updateRecord(Object.assign({}, record));
|
|
49
|
+
return {
|
|
50
|
+
success: true,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
let existingStudioMembers = yield this._store.listStudioAssignments(record.name);
|
|
54
|
+
if (existingStudioMembers.length > 0 &&
|
|
55
|
+
record.studioId !== record.name &&
|
|
56
|
+
request.studioId === record.name) {
|
|
57
|
+
console.log(`[RecordsController] [action: record.create recordName: ${record.name}, userId: ${request.userId}, studioId: ${request.studioId}] Fixing record owner to match actual owner.`);
|
|
58
|
+
record.ownerId = null;
|
|
59
|
+
record.studioId = request.studioId;
|
|
60
|
+
// Clear the hashes and re-create the salt so that access to the record is revoked for any record key that was created before.
|
|
61
|
+
record.secretHashes = [];
|
|
62
|
+
record.secretSalt = this._createSalt();
|
|
63
|
+
yield this._store.updateRecord(Object.assign({}, record));
|
|
64
|
+
return {
|
|
65
|
+
success: true,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
success: false,
|
|
70
|
+
errorCode: 'record_already_exists',
|
|
71
|
+
errorMessage: 'A record with that name already exists.',
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
if (!request.ownerId && !request.studioId) {
|
|
75
|
+
return {
|
|
76
|
+
success: false,
|
|
77
|
+
errorCode: 'unacceptable_request',
|
|
78
|
+
errorMessage: 'You must provide an owner ID or a studio ID.',
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
if (request.ownerId) {
|
|
82
|
+
if (request.ownerId !== request.userId) {
|
|
83
|
+
return {
|
|
84
|
+
success: false,
|
|
85
|
+
errorCode: 'not_authorized',
|
|
86
|
+
errorMessage: 'You are not authorized to create a record for another user.',
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
console.log(`[RecordsController] [action: record.create recordName: ${request.recordName}, userId: ${request.userId}, ownerId: ${request.ownerId}] Creating record.`);
|
|
90
|
+
yield this._store.addRecord({
|
|
91
|
+
name: request.recordName,
|
|
92
|
+
ownerId: request.ownerId,
|
|
93
|
+
secretHashes: [],
|
|
94
|
+
secretSalt: this._createSalt(),
|
|
95
|
+
studioId: null,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
const assignments = yield this._store.listStudioAssignments(request.studioId, {
|
|
100
|
+
userId: request.userId,
|
|
101
|
+
role: 'admin',
|
|
102
|
+
});
|
|
103
|
+
if (assignments.length <= 0) {
|
|
104
|
+
return {
|
|
105
|
+
success: false,
|
|
106
|
+
errorCode: 'not_authorized',
|
|
107
|
+
errorMessage: 'You are not authorized to create a record for this studio.',
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
console.log(`[RecordsController] [action: record.create recordName: ${request.recordName}, userId: ${request.userId}, studioId: ${request.studioId}] Creating record.`);
|
|
111
|
+
yield this._store.addRecord({
|
|
112
|
+
name: request.recordName,
|
|
113
|
+
ownerId: null,
|
|
114
|
+
secretHashes: [],
|
|
115
|
+
secretSalt: this._createSalt(),
|
|
116
|
+
studioId: request.studioId,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
success: true,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
console.error('[RecordsController] [createRecord] An error occurred while creating a record:', err);
|
|
125
|
+
return {
|
|
126
|
+
success: false,
|
|
127
|
+
errorCode: 'server_error',
|
|
128
|
+
errorMessage: 'A server error occurred.',
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
22
133
|
/**
|
|
23
134
|
* Creates a new public record key for the given bucket name.
|
|
24
135
|
* @param name The name of the record.
|
|
@@ -27,6 +138,7 @@ export class RecordsController {
|
|
|
27
138
|
* @returns
|
|
28
139
|
*/
|
|
29
140
|
createPublicRecordKey(name, policy, userId) {
|
|
141
|
+
var _a;
|
|
30
142
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
143
|
try {
|
|
32
144
|
if (!userId) {
|
|
@@ -49,25 +161,53 @@ export class RecordsController {
|
|
|
49
161
|
};
|
|
50
162
|
}
|
|
51
163
|
if (record) {
|
|
52
|
-
if (record.ownerId !== userId && name !== userId) {
|
|
53
|
-
return {
|
|
54
|
-
success: false,
|
|
55
|
-
errorCode: 'unauthorized_to_create_record_key',
|
|
56
|
-
errorMessage: 'Another user has already created this record.',
|
|
57
|
-
errorReason: 'record_owned_by_different_user',
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
console.log(`[RecordsController] [action: recordKey.create recordName: ${name}, userId: ${userId}] Creating record key.`);
|
|
61
164
|
if (name === userId) {
|
|
62
165
|
// The user is not currently the owner of their own record.
|
|
63
166
|
// This is an issue that needs to be fixed because users should always own the record that has the same name as their ID.
|
|
64
167
|
console.log(`[RecordsController] [action: recordKey.create recordName: ${name}, userId: ${userId}] Fixing record owner to match actual owner.`);
|
|
65
168
|
record.ownerId = userId;
|
|
169
|
+
record.studioId = null;
|
|
66
170
|
// Clear the hashes and re-create the salt so that access to the record is revoked for any record key that was created before.
|
|
67
171
|
record.secretHashes = [];
|
|
68
172
|
record.secretSalt = this._createSalt();
|
|
69
173
|
yield this._store.updateRecord(Object.assign({}, record));
|
|
70
174
|
}
|
|
175
|
+
else {
|
|
176
|
+
let existingStudioMembers = yield this._store.listStudioAssignments(name);
|
|
177
|
+
if (existingStudioMembers.length > 0 &&
|
|
178
|
+
record.studioId !== name) {
|
|
179
|
+
// The studio is not currently the owner of their own record.
|
|
180
|
+
// This is an issue that needs to be fixed because studios should always own the record that has the same name as their ID.
|
|
181
|
+
console.log(`[RecordsController] [action: recordKey.create recordName: ${name}, userId: ${userId}, studioId: ${name}] Fixing record owner to match actual owner.`);
|
|
182
|
+
record.ownerId = null;
|
|
183
|
+
record.studioId = record.name;
|
|
184
|
+
// Clear the hashes and re-create the salt so that access to the record is revoked for any record key that was created before.
|
|
185
|
+
record.secretHashes = [];
|
|
186
|
+
record.secretSalt = this._createSalt();
|
|
187
|
+
yield this._store.updateRecord(Object.assign({}, record));
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
if (record.ownerId !== userId && name !== userId) {
|
|
191
|
+
let valid = false;
|
|
192
|
+
if (record.studioId) {
|
|
193
|
+
const assignments = yield this._store.listStudioAssignments(record.studioId, {
|
|
194
|
+
userId: userId,
|
|
195
|
+
role: 'admin',
|
|
196
|
+
});
|
|
197
|
+
if (assignments.length > 0) {
|
|
198
|
+
valid = true;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (!valid) {
|
|
202
|
+
return {
|
|
203
|
+
success: false,
|
|
204
|
+
errorCode: 'unauthorized_to_create_record_key',
|
|
205
|
+
errorMessage: 'Another user has already created this record.',
|
|
206
|
+
errorReason: 'record_owned_by_different_user',
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
console.log(`[RecordsController] [action: recordKey.create recordName: ${name}, userId: ${userId}] Creating record key.`);
|
|
71
211
|
const passwordBytes = randomBytes(16);
|
|
72
212
|
const password = fromByteArray(passwordBytes); // convert to human-readable string
|
|
73
213
|
const salt = record.secretSalt;
|
|
@@ -76,7 +216,7 @@ export class RecordsController {
|
|
|
76
216
|
recordName: name,
|
|
77
217
|
secretHash: passwordHash,
|
|
78
218
|
policy: policy !== null && policy !== void 0 ? policy : DEFAULT_RECORD_KEY_POLICY,
|
|
79
|
-
creatorId: record.ownerId,
|
|
219
|
+
creatorId: (_a = record.ownerId) !== null && _a !== void 0 ? _a : userId,
|
|
80
220
|
});
|
|
81
221
|
return {
|
|
82
222
|
success: true,
|
|
@@ -105,6 +245,7 @@ export class RecordsController {
|
|
|
105
245
|
yield this._store.addRecord({
|
|
106
246
|
name,
|
|
107
247
|
ownerId: userId,
|
|
248
|
+
studioId: null,
|
|
108
249
|
secretHashes: [],
|
|
109
250
|
secretSalt: salt,
|
|
110
251
|
});
|
|
@@ -122,11 +263,11 @@ export class RecordsController {
|
|
|
122
263
|
}
|
|
123
264
|
}
|
|
124
265
|
catch (err) {
|
|
125
|
-
console.error(err);
|
|
266
|
+
console.error('[RecordsController] [createPublicRecordKey] An error occurred while creating a public record key:', err);
|
|
126
267
|
return {
|
|
127
268
|
success: false,
|
|
128
269
|
errorCode: 'server_error',
|
|
129
|
-
errorMessage:
|
|
270
|
+
errorMessage: 'A server error occurred.',
|
|
130
271
|
errorReason: 'server_error',
|
|
131
272
|
};
|
|
132
273
|
}
|
|
@@ -234,11 +375,11 @@ export class RecordsController {
|
|
|
234
375
|
}
|
|
235
376
|
}
|
|
236
377
|
catch (err) {
|
|
237
|
-
console.error(err);
|
|
378
|
+
console.error('[RecordsController] [validatePublicRecordKey] An error occurred while creating a public record key:', err);
|
|
238
379
|
return {
|
|
239
380
|
success: false,
|
|
240
381
|
errorCode: 'server_error',
|
|
241
|
-
errorMessage:
|
|
382
|
+
errorMessage: 'A server error occurred.',
|
|
242
383
|
};
|
|
243
384
|
}
|
|
244
385
|
});
|
|
@@ -258,6 +399,7 @@ export class RecordsController {
|
|
|
258
399
|
yield this._store.addRecord({
|
|
259
400
|
name,
|
|
260
401
|
ownerId: userId,
|
|
402
|
+
studioId: null,
|
|
261
403
|
secretHashes: [],
|
|
262
404
|
secretSalt: this._createSalt(),
|
|
263
405
|
});
|
|
@@ -265,6 +407,25 @@ export class RecordsController {
|
|
|
265
407
|
success: true,
|
|
266
408
|
recordName: name,
|
|
267
409
|
ownerId: userId,
|
|
410
|
+
studioId: null,
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
let studioMembers = yield this._store.listStudioAssignments(name);
|
|
414
|
+
if (studioMembers.length > 0) {
|
|
415
|
+
console.log(`[RecordsController] [validateRecordName recordName: ${name}, userId: ${userId}, studioId: ${name}] Creating record for studio.`);
|
|
416
|
+
yield this._store.addRecord({
|
|
417
|
+
name,
|
|
418
|
+
ownerId: null,
|
|
419
|
+
studioId: name,
|
|
420
|
+
secretHashes: [],
|
|
421
|
+
secretSalt: this._createSalt(),
|
|
422
|
+
});
|
|
423
|
+
return {
|
|
424
|
+
success: true,
|
|
425
|
+
recordName: name,
|
|
426
|
+
ownerId: null,
|
|
427
|
+
studioId: name,
|
|
428
|
+
studioMembers,
|
|
268
429
|
};
|
|
269
430
|
}
|
|
270
431
|
return {
|
|
@@ -285,24 +446,44 @@ export class RecordsController {
|
|
|
285
446
|
record.secretSalt = this._createSalt();
|
|
286
447
|
yield this._store.updateRecord(Object.assign({}, record));
|
|
287
448
|
}
|
|
449
|
+
let existingStudioMembers = yield this._store.listStudioAssignments(name);
|
|
450
|
+
if (existingStudioMembers.length > 0 &&
|
|
451
|
+
record.studioId !== name &&
|
|
452
|
+
record.ownerId !== null) {
|
|
453
|
+
console.log(`[RecordsController] [validateRecordName recordName: ${name}, userId: ${userId}, studioId: ${name}] Fixing record studio to match actual studio.`);
|
|
454
|
+
record.ownerId = null;
|
|
455
|
+
record.studioId = name;
|
|
456
|
+
record.secretHashes = [];
|
|
457
|
+
record.secretSalt = this._createSalt();
|
|
458
|
+
yield this._store.updateRecord(Object.assign({}, record));
|
|
459
|
+
}
|
|
460
|
+
let studioMembers = undefined;
|
|
461
|
+
if (existingStudioMembers.length > 0) {
|
|
462
|
+
studioMembers = existingStudioMembers;
|
|
463
|
+
}
|
|
464
|
+
else if (record.studioId) {
|
|
465
|
+
studioMembers = yield this._store.listStudioAssignments(record.studioId);
|
|
466
|
+
}
|
|
288
467
|
return {
|
|
289
468
|
success: true,
|
|
290
469
|
recordName: name,
|
|
291
470
|
ownerId: record.ownerId,
|
|
471
|
+
studioId: record.studioId,
|
|
472
|
+
studioMembers,
|
|
292
473
|
};
|
|
293
474
|
}
|
|
294
475
|
catch (err) {
|
|
295
|
-
console.error(err);
|
|
476
|
+
console.error('[RecordsController] [validateRecordName] An error occurred while creating a public record key:', err);
|
|
296
477
|
return {
|
|
297
478
|
success: false,
|
|
298
479
|
errorCode: 'server_error',
|
|
299
|
-
errorMessage:
|
|
480
|
+
errorMessage: 'A server error occurred.',
|
|
300
481
|
};
|
|
301
482
|
}
|
|
302
483
|
});
|
|
303
484
|
}
|
|
304
485
|
/**
|
|
305
|
-
* Gets the list of records that the user with the given ID
|
|
486
|
+
* Gets the list of records that the user with the given ID has access to.
|
|
306
487
|
* @param userId The ID of the user.
|
|
307
488
|
*/
|
|
308
489
|
listRecords(userId) {
|
|
@@ -331,6 +512,258 @@ export class RecordsController {
|
|
|
331
512
|
}
|
|
332
513
|
});
|
|
333
514
|
}
|
|
515
|
+
/**
|
|
516
|
+
* Gets the list of records in the given studio that the user with the given ID has access to.
|
|
517
|
+
* @param studioId The ID of the studio.
|
|
518
|
+
* @param userId The ID of the user that is currently logged in.
|
|
519
|
+
*/
|
|
520
|
+
listStudioRecords(studioId, userId) {
|
|
521
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
522
|
+
try {
|
|
523
|
+
if (!this._store.listRecordsByStudioIdAndUserId) {
|
|
524
|
+
return {
|
|
525
|
+
success: false,
|
|
526
|
+
errorCode: 'not_supported',
|
|
527
|
+
errorMessage: 'This operation is not supported.',
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
const records = yield this._store.listRecordsByStudioIdAndUserId(studioId, userId);
|
|
531
|
+
return {
|
|
532
|
+
success: true,
|
|
533
|
+
records: records,
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
catch (err) {
|
|
537
|
+
console.log('[RecordsController] [listStudioRecords] Error listing records: ', err);
|
|
538
|
+
return {
|
|
539
|
+
success: false,
|
|
540
|
+
errorCode: 'server_error',
|
|
541
|
+
errorMessage: 'A server error occurred.',
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
});
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Attempts to create a new studio. That is, an entity that can be used to group records.
|
|
548
|
+
* @param studioName The name of the studio.
|
|
549
|
+
* @param userId The ID of the user that is creating the studio.
|
|
550
|
+
*/
|
|
551
|
+
createStudio(studioName, userId) {
|
|
552
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
553
|
+
try {
|
|
554
|
+
const studioId = uuid();
|
|
555
|
+
yield this._store.createStudioForUser({
|
|
556
|
+
id: studioId,
|
|
557
|
+
displayName: studioName,
|
|
558
|
+
}, userId);
|
|
559
|
+
return {
|
|
560
|
+
success: true,
|
|
561
|
+
studioId: studioId,
|
|
562
|
+
};
|
|
563
|
+
}
|
|
564
|
+
catch (err) {
|
|
565
|
+
console.error('[RecordsController] [createStudio] An error occurred while creating a studio:', err);
|
|
566
|
+
return {
|
|
567
|
+
success: false,
|
|
568
|
+
errorCode: 'server_error',
|
|
569
|
+
errorMessage: 'A server error occurred.',
|
|
570
|
+
};
|
|
571
|
+
}
|
|
572
|
+
});
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* Gets the list of studios that the user with the given ID has access to.
|
|
576
|
+
* @param userId The ID of the user.
|
|
577
|
+
*/
|
|
578
|
+
listStudios(userId) {
|
|
579
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
580
|
+
try {
|
|
581
|
+
const studios = yield this._store.listStudiosForUser(userId);
|
|
582
|
+
return {
|
|
583
|
+
success: true,
|
|
584
|
+
studios: studios.map((s) => ({
|
|
585
|
+
studioId: s.studioId,
|
|
586
|
+
displayName: s.displayName,
|
|
587
|
+
role: s.role,
|
|
588
|
+
isPrimaryContact: s.isPrimaryContact,
|
|
589
|
+
})),
|
|
590
|
+
};
|
|
591
|
+
}
|
|
592
|
+
catch (err) {
|
|
593
|
+
console.error('[RecordsController] [listStudios] An error occurred while listing studios:', err);
|
|
594
|
+
return {
|
|
595
|
+
success: false,
|
|
596
|
+
errorCode: 'server_error',
|
|
597
|
+
errorMessage: 'A server error occurred.',
|
|
598
|
+
};
|
|
599
|
+
}
|
|
600
|
+
});
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Gets the list of members in a studio.
|
|
604
|
+
* @param studioId The ID of the studio.
|
|
605
|
+
* @param userId The ID of the user that is currently logged in.
|
|
606
|
+
*/
|
|
607
|
+
listStudioMembers(studioId, userId) {
|
|
608
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
609
|
+
try {
|
|
610
|
+
const members = yield this._store.listStudioAssignments(studioId);
|
|
611
|
+
const userAssignment = members.find((m) => m.userId === userId);
|
|
612
|
+
if (!userAssignment) {
|
|
613
|
+
return {
|
|
614
|
+
success: false,
|
|
615
|
+
errorCode: 'not_authorized',
|
|
616
|
+
errorMessage: 'You are not authorized to access this studio.',
|
|
617
|
+
};
|
|
618
|
+
}
|
|
619
|
+
if (userAssignment.role === 'admin') {
|
|
620
|
+
return {
|
|
621
|
+
success: true,
|
|
622
|
+
members: members.map((m) => ({
|
|
623
|
+
studioId: m.studioId,
|
|
624
|
+
userId: m.userId,
|
|
625
|
+
isPrimaryContact: m.isPrimaryContact,
|
|
626
|
+
role: m.role,
|
|
627
|
+
user: {
|
|
628
|
+
id: m.user.id,
|
|
629
|
+
name: m.user.name,
|
|
630
|
+
email: m.user.email,
|
|
631
|
+
phoneNumber: m.user.phoneNumber,
|
|
632
|
+
},
|
|
633
|
+
})),
|
|
634
|
+
};
|
|
635
|
+
}
|
|
636
|
+
return {
|
|
637
|
+
success: true,
|
|
638
|
+
members: members.map((m) => ({
|
|
639
|
+
studioId: m.studioId,
|
|
640
|
+
userId: m.userId,
|
|
641
|
+
isPrimaryContact: m.isPrimaryContact,
|
|
642
|
+
role: m.role,
|
|
643
|
+
user: {
|
|
644
|
+
id: m.user.id,
|
|
645
|
+
name: m.user.name,
|
|
646
|
+
},
|
|
647
|
+
})),
|
|
648
|
+
};
|
|
649
|
+
}
|
|
650
|
+
catch (err) {
|
|
651
|
+
console.error('[RecordsController] [listStudioMembers] An error occurred while listing studio members:', err);
|
|
652
|
+
return {
|
|
653
|
+
success: false,
|
|
654
|
+
errorCode: 'server_error',
|
|
655
|
+
errorMessage: 'A server error occurred.',
|
|
656
|
+
};
|
|
657
|
+
}
|
|
658
|
+
});
|
|
659
|
+
}
|
|
660
|
+
addStudioMember(request) {
|
|
661
|
+
var _a;
|
|
662
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
663
|
+
try {
|
|
664
|
+
if (!request.userId) {
|
|
665
|
+
return {
|
|
666
|
+
success: false,
|
|
667
|
+
errorCode: 'not_logged_in',
|
|
668
|
+
errorMessage: 'You must be logged in to add a studio member.',
|
|
669
|
+
};
|
|
670
|
+
}
|
|
671
|
+
const list = yield this._store.listStudioAssignments(request.studioId, {
|
|
672
|
+
userId: request.userId,
|
|
673
|
+
role: 'admin',
|
|
674
|
+
});
|
|
675
|
+
if (list.length <= 0) {
|
|
676
|
+
return {
|
|
677
|
+
success: false,
|
|
678
|
+
errorCode: 'not_authorized',
|
|
679
|
+
errorMessage: 'You are not authorized to perform this operation.',
|
|
680
|
+
};
|
|
681
|
+
}
|
|
682
|
+
let addedUserId = null;
|
|
683
|
+
if (request.addedUserId) {
|
|
684
|
+
addedUserId = request.addedUserId;
|
|
685
|
+
}
|
|
686
|
+
else if (request.addedEmail || request.addedPhoneNumber) {
|
|
687
|
+
const addedUser = yield this._auth.findUserByAddress((_a = request.addedEmail) !== null && _a !== void 0 ? _a : request.addedPhoneNumber, request.addedEmail ? 'email' : 'phone');
|
|
688
|
+
if (!addedUser) {
|
|
689
|
+
return {
|
|
690
|
+
success: false,
|
|
691
|
+
errorCode: 'user_not_found',
|
|
692
|
+
errorMessage: 'The user was not able to be found.',
|
|
693
|
+
};
|
|
694
|
+
}
|
|
695
|
+
addedUserId = addedUser.id;
|
|
696
|
+
}
|
|
697
|
+
else {
|
|
698
|
+
return {
|
|
699
|
+
success: false,
|
|
700
|
+
errorCode: 'unacceptable_request',
|
|
701
|
+
errorMessage: 'You must provide an email, phone number, or user ID to add a studio member.',
|
|
702
|
+
};
|
|
703
|
+
}
|
|
704
|
+
yield this._store.addStudioAssignment({
|
|
705
|
+
studioId: request.studioId,
|
|
706
|
+
userId: addedUserId,
|
|
707
|
+
isPrimaryContact: false,
|
|
708
|
+
role: request.role,
|
|
709
|
+
});
|
|
710
|
+
return {
|
|
711
|
+
success: true,
|
|
712
|
+
};
|
|
713
|
+
}
|
|
714
|
+
catch (err) {
|
|
715
|
+
console.error('[RecordsController] [addStudioMember] An error occurred while adding a studio member:', err);
|
|
716
|
+
return {
|
|
717
|
+
success: false,
|
|
718
|
+
errorCode: 'server_error',
|
|
719
|
+
errorMessage: 'A server error occurred.',
|
|
720
|
+
};
|
|
721
|
+
}
|
|
722
|
+
});
|
|
723
|
+
}
|
|
724
|
+
removeStudioMember(request) {
|
|
725
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
726
|
+
try {
|
|
727
|
+
if (!request.userId) {
|
|
728
|
+
return {
|
|
729
|
+
success: false,
|
|
730
|
+
errorCode: 'not_logged_in',
|
|
731
|
+
errorMessage: 'You must be logged in to remove a studio member.',
|
|
732
|
+
};
|
|
733
|
+
}
|
|
734
|
+
if (request.userId === request.removedUserId) {
|
|
735
|
+
return {
|
|
736
|
+
success: false,
|
|
737
|
+
errorCode: 'not_authorized',
|
|
738
|
+
errorMessage: 'You are not authorized to perform this operation.',
|
|
739
|
+
};
|
|
740
|
+
}
|
|
741
|
+
const list = yield this._store.listStudioAssignments(request.studioId, {
|
|
742
|
+
userId: request.userId,
|
|
743
|
+
role: 'admin',
|
|
744
|
+
});
|
|
745
|
+
if (list.length <= 0) {
|
|
746
|
+
return {
|
|
747
|
+
success: false,
|
|
748
|
+
errorCode: 'not_authorized',
|
|
749
|
+
errorMessage: 'You are not authorized to perform this operation.',
|
|
750
|
+
};
|
|
751
|
+
}
|
|
752
|
+
yield this._store.removeStudioAssignment(request.studioId, request.removedUserId);
|
|
753
|
+
return {
|
|
754
|
+
success: true,
|
|
755
|
+
};
|
|
756
|
+
}
|
|
757
|
+
catch (err) {
|
|
758
|
+
console.error('[RecordsController] [removeStudioMember] An error occurred while removing a studio member:', err);
|
|
759
|
+
return {
|
|
760
|
+
success: false,
|
|
761
|
+
errorCode: 'server_error',
|
|
762
|
+
errorMessage: 'A server error occurred.',
|
|
763
|
+
};
|
|
764
|
+
}
|
|
765
|
+
});
|
|
766
|
+
}
|
|
334
767
|
_createSalt() {
|
|
335
768
|
return fromByteArray(randomBytes(16));
|
|
336
769
|
}
|
package/RecordsController.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordsController.js","sourceRoot":"","sources":["RecordsController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RecordsController.js","sourceRoot":"","sources":["RecordsController.ts"],"names":[],"mappings":"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"}
|