@comapeo/core 3.0.0 → 3.1.1
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/errors.d.ts +16 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/generated/rpc.d.ts +47 -0
- package/dist/generated/rpc.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/invite/invite-api.d.ts +4 -5
- package/dist/invite/invite-api.d.ts.map +1 -1
- package/dist/local-peers.d.ts +31 -0
- package/dist/local-peers.d.ts.map +1 -1
- package/dist/mapeo-manager.d.ts +30 -22
- package/dist/mapeo-manager.d.ts.map +1 -1
- package/dist/mapeo-project.d.ts +40 -2
- package/dist/mapeo-project.d.ts.map +1 -1
- package/dist/member-api.d.ts +15 -1
- package/dist/member-api.d.ts.map +1 -1
- package/dist/roles.d.ts +4 -3
- package/dist/roles.d.ts.map +1 -1
- package/dist/schema/client.d.ts +26 -3
- package/dist/schema/client.d.ts.map +1 -1
- package/dist/sync/sync-api.d.ts +4 -1
- package/dist/sync/sync-api.d.ts.map +1 -1
- package/drizzle/client/0002_brief_demogoblin.sql +2 -0
- package/drizzle/client/meta/0002_snapshot.json +220 -0
- package/drizzle/client/meta/_journal.json +7 -0
- package/package.json +3 -3
- package/src/errors.js +32 -0
- package/src/generated/rpc.d.ts +47 -0
- package/src/generated/rpc.js +241 -3
- package/src/generated/rpc.ts +280 -1
- package/src/invite/invite-api.js +15 -3
- package/src/local-peers.js +199 -1
- package/src/mapeo-manager.js +60 -20
- package/src/mapeo-project.js +21 -3
- package/src/member-api.js +94 -14
- package/src/roles.js +37 -0
- package/src/schema/client.js +3 -2
- package/src/sync/sync-api.js +6 -2
package/src/generated/rpc.js
CHANGED
|
@@ -85,6 +85,36 @@ export function deviceInfo_DeviceTypeToNumber(object) {
|
|
|
85
85
|
return -1;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
export var DeviceInfo_RPCFeatures = {
|
|
89
|
+
features_unspecified: "features_unspecified",
|
|
90
|
+
ack: "ack",
|
|
91
|
+
UNRECOGNIZED: "UNRECOGNIZED",
|
|
92
|
+
};
|
|
93
|
+
export function deviceInfo_RPCFeaturesFromJSON(object) {
|
|
94
|
+
switch (object) {
|
|
95
|
+
case 0:
|
|
96
|
+
case "features_unspecified":
|
|
97
|
+
return DeviceInfo_RPCFeatures.features_unspecified;
|
|
98
|
+
case 1:
|
|
99
|
+
case "ack":
|
|
100
|
+
return DeviceInfo_RPCFeatures.ack;
|
|
101
|
+
case -1:
|
|
102
|
+
case "UNRECOGNIZED":
|
|
103
|
+
default:
|
|
104
|
+
return DeviceInfo_RPCFeatures.UNRECOGNIZED;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export function deviceInfo_RPCFeaturesToNumber(object) {
|
|
108
|
+
switch (object) {
|
|
109
|
+
case DeviceInfo_RPCFeatures.features_unspecified:
|
|
110
|
+
return 0;
|
|
111
|
+
case DeviceInfo_RPCFeatures.ack:
|
|
112
|
+
return 1;
|
|
113
|
+
case DeviceInfo_RPCFeatures.UNRECOGNIZED:
|
|
114
|
+
default:
|
|
115
|
+
return -1;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
88
118
|
function createBaseInvite() {
|
|
89
119
|
return { inviteId: Buffer.alloc(0), projectInviteId: Buffer.alloc(0), projectName: "", invitorName: "" };
|
|
90
120
|
}
|
|
@@ -109,6 +139,12 @@ export var Invite = {
|
|
|
109
139
|
if (message.invitorName !== "") {
|
|
110
140
|
writer.uint32(50).string(message.invitorName);
|
|
111
141
|
}
|
|
142
|
+
if (message.projectColor !== undefined) {
|
|
143
|
+
writer.uint32(58).string(message.projectColor);
|
|
144
|
+
}
|
|
145
|
+
if (message.projectDescription !== undefined) {
|
|
146
|
+
writer.uint32(66).string(message.projectDescription);
|
|
147
|
+
}
|
|
112
148
|
return writer;
|
|
113
149
|
},
|
|
114
150
|
decode: function (input, length) {
|
|
@@ -154,6 +190,18 @@ export var Invite = {
|
|
|
154
190
|
}
|
|
155
191
|
message.invitorName = reader.string();
|
|
156
192
|
continue;
|
|
193
|
+
case 7:
|
|
194
|
+
if (tag !== 58) {
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
message.projectColor = reader.string();
|
|
198
|
+
continue;
|
|
199
|
+
case 8:
|
|
200
|
+
if (tag !== 66) {
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
message.projectDescription = reader.string();
|
|
204
|
+
continue;
|
|
157
205
|
}
|
|
158
206
|
if ((tag & 7) === 4 || tag === 0) {
|
|
159
207
|
break;
|
|
@@ -166,7 +214,7 @@ export var Invite = {
|
|
|
166
214
|
return Invite.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
167
215
|
},
|
|
168
216
|
fromPartial: function (object) {
|
|
169
|
-
var _a, _b, _c, _d, _e, _f;
|
|
217
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
170
218
|
var message = createBaseInvite();
|
|
171
219
|
message.inviteId = (_a = object.inviteId) !== null && _a !== void 0 ? _a : Buffer.alloc(0);
|
|
172
220
|
message.projectInviteId = (_b = object.projectInviteId) !== null && _b !== void 0 ? _b : Buffer.alloc(0);
|
|
@@ -174,6 +222,8 @@ export var Invite = {
|
|
|
174
222
|
message.roleName = (_d = object.roleName) !== null && _d !== void 0 ? _d : undefined;
|
|
175
223
|
message.roleDescription = (_e = object.roleDescription) !== null && _e !== void 0 ? _e : undefined;
|
|
176
224
|
message.invitorName = (_f = object.invitorName) !== null && _f !== void 0 ? _f : "";
|
|
225
|
+
message.projectColor = (_g = object.projectColor) !== null && _g !== void 0 ? _g : undefined;
|
|
226
|
+
message.projectDescription = (_h = object.projectDescription) !== null && _h !== void 0 ? _h : undefined;
|
|
177
227
|
return message;
|
|
178
228
|
},
|
|
179
229
|
};
|
|
@@ -336,7 +386,7 @@ export var ProjectJoinDetails = {
|
|
|
336
386
|
},
|
|
337
387
|
};
|
|
338
388
|
function createBaseDeviceInfo() {
|
|
339
|
-
return { name: "" };
|
|
389
|
+
return { name: "", features: [] };
|
|
340
390
|
}
|
|
341
391
|
export var DeviceInfo = {
|
|
342
392
|
encode: function (message, writer) {
|
|
@@ -347,6 +397,12 @@ export var DeviceInfo = {
|
|
|
347
397
|
if (message.deviceType !== undefined) {
|
|
348
398
|
writer.uint32(16).int32(deviceInfo_DeviceTypeToNumber(message.deviceType));
|
|
349
399
|
}
|
|
400
|
+
writer.uint32(26).fork();
|
|
401
|
+
for (var _i = 0, _a = message.features; _i < _a.length; _i++) {
|
|
402
|
+
var v = _a[_i];
|
|
403
|
+
writer.int32(deviceInfo_RPCFeaturesToNumber(v));
|
|
404
|
+
}
|
|
405
|
+
writer.ldelim();
|
|
350
406
|
return writer;
|
|
351
407
|
},
|
|
352
408
|
decode: function (input, length) {
|
|
@@ -368,6 +424,19 @@ export var DeviceInfo = {
|
|
|
368
424
|
}
|
|
369
425
|
message.deviceType = deviceInfo_DeviceTypeFromJSON(reader.int32());
|
|
370
426
|
continue;
|
|
427
|
+
case 3:
|
|
428
|
+
if (tag === 24) {
|
|
429
|
+
message.features.push(deviceInfo_RPCFeaturesFromJSON(reader.int32()));
|
|
430
|
+
continue;
|
|
431
|
+
}
|
|
432
|
+
if (tag === 26) {
|
|
433
|
+
var end2 = reader.uint32() + reader.pos;
|
|
434
|
+
while (reader.pos < end2) {
|
|
435
|
+
message.features.push(deviceInfo_RPCFeaturesFromJSON(reader.int32()));
|
|
436
|
+
}
|
|
437
|
+
continue;
|
|
438
|
+
}
|
|
439
|
+
break;
|
|
371
440
|
}
|
|
372
441
|
if ((tag & 7) === 4 || tag === 0) {
|
|
373
442
|
break;
|
|
@@ -380,10 +449,179 @@ export var DeviceInfo = {
|
|
|
380
449
|
return DeviceInfo.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
381
450
|
},
|
|
382
451
|
fromPartial: function (object) {
|
|
383
|
-
var _a, _b;
|
|
452
|
+
var _a, _b, _c;
|
|
384
453
|
var message = createBaseDeviceInfo();
|
|
385
454
|
message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
|
|
386
455
|
message.deviceType = (_b = object.deviceType) !== null && _b !== void 0 ? _b : undefined;
|
|
456
|
+
message.features = ((_c = object.features) === null || _c === void 0 ? void 0 : _c.map(function (e) { return e; })) || [];
|
|
457
|
+
return message;
|
|
458
|
+
},
|
|
459
|
+
};
|
|
460
|
+
function createBaseInviteAck() {
|
|
461
|
+
return { inviteId: Buffer.alloc(0) };
|
|
462
|
+
}
|
|
463
|
+
export var InviteAck = {
|
|
464
|
+
encode: function (message, writer) {
|
|
465
|
+
if (writer === void 0) { writer = _m0.Writer.create(); }
|
|
466
|
+
if (message.inviteId.length !== 0) {
|
|
467
|
+
writer.uint32(10).bytes(message.inviteId);
|
|
468
|
+
}
|
|
469
|
+
return writer;
|
|
470
|
+
},
|
|
471
|
+
decode: function (input, length) {
|
|
472
|
+
var reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
473
|
+
var end = length === undefined ? reader.len : reader.pos + length;
|
|
474
|
+
var message = createBaseInviteAck();
|
|
475
|
+
while (reader.pos < end) {
|
|
476
|
+
var tag = reader.uint32();
|
|
477
|
+
switch (tag >>> 3) {
|
|
478
|
+
case 1:
|
|
479
|
+
if (tag !== 10) {
|
|
480
|
+
break;
|
|
481
|
+
}
|
|
482
|
+
message.inviteId = reader.bytes();
|
|
483
|
+
continue;
|
|
484
|
+
}
|
|
485
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
486
|
+
break;
|
|
487
|
+
}
|
|
488
|
+
reader.skipType(tag & 7);
|
|
489
|
+
}
|
|
490
|
+
return message;
|
|
491
|
+
},
|
|
492
|
+
create: function (base) {
|
|
493
|
+
return InviteAck.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
494
|
+
},
|
|
495
|
+
fromPartial: function (object) {
|
|
496
|
+
var _a;
|
|
497
|
+
var message = createBaseInviteAck();
|
|
498
|
+
message.inviteId = (_a = object.inviteId) !== null && _a !== void 0 ? _a : Buffer.alloc(0);
|
|
499
|
+
return message;
|
|
500
|
+
},
|
|
501
|
+
};
|
|
502
|
+
function createBaseInviteCancelAck() {
|
|
503
|
+
return { inviteId: Buffer.alloc(0) };
|
|
504
|
+
}
|
|
505
|
+
export var InviteCancelAck = {
|
|
506
|
+
encode: function (message, writer) {
|
|
507
|
+
if (writer === void 0) { writer = _m0.Writer.create(); }
|
|
508
|
+
if (message.inviteId.length !== 0) {
|
|
509
|
+
writer.uint32(10).bytes(message.inviteId);
|
|
510
|
+
}
|
|
511
|
+
return writer;
|
|
512
|
+
},
|
|
513
|
+
decode: function (input, length) {
|
|
514
|
+
var reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
515
|
+
var end = length === undefined ? reader.len : reader.pos + length;
|
|
516
|
+
var message = createBaseInviteCancelAck();
|
|
517
|
+
while (reader.pos < end) {
|
|
518
|
+
var tag = reader.uint32();
|
|
519
|
+
switch (tag >>> 3) {
|
|
520
|
+
case 1:
|
|
521
|
+
if (tag !== 10) {
|
|
522
|
+
break;
|
|
523
|
+
}
|
|
524
|
+
message.inviteId = reader.bytes();
|
|
525
|
+
continue;
|
|
526
|
+
}
|
|
527
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
528
|
+
break;
|
|
529
|
+
}
|
|
530
|
+
reader.skipType(tag & 7);
|
|
531
|
+
}
|
|
532
|
+
return message;
|
|
533
|
+
},
|
|
534
|
+
create: function (base) {
|
|
535
|
+
return InviteCancelAck.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
536
|
+
},
|
|
537
|
+
fromPartial: function (object) {
|
|
538
|
+
var _a;
|
|
539
|
+
var message = createBaseInviteCancelAck();
|
|
540
|
+
message.inviteId = (_a = object.inviteId) !== null && _a !== void 0 ? _a : Buffer.alloc(0);
|
|
541
|
+
return message;
|
|
542
|
+
},
|
|
543
|
+
};
|
|
544
|
+
function createBaseInviteResponseAck() {
|
|
545
|
+
return { inviteId: Buffer.alloc(0) };
|
|
546
|
+
}
|
|
547
|
+
export var InviteResponseAck = {
|
|
548
|
+
encode: function (message, writer) {
|
|
549
|
+
if (writer === void 0) { writer = _m0.Writer.create(); }
|
|
550
|
+
if (message.inviteId.length !== 0) {
|
|
551
|
+
writer.uint32(10).bytes(message.inviteId);
|
|
552
|
+
}
|
|
553
|
+
return writer;
|
|
554
|
+
},
|
|
555
|
+
decode: function (input, length) {
|
|
556
|
+
var reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
557
|
+
var end = length === undefined ? reader.len : reader.pos + length;
|
|
558
|
+
var message = createBaseInviteResponseAck();
|
|
559
|
+
while (reader.pos < end) {
|
|
560
|
+
var tag = reader.uint32();
|
|
561
|
+
switch (tag >>> 3) {
|
|
562
|
+
case 1:
|
|
563
|
+
if (tag !== 10) {
|
|
564
|
+
break;
|
|
565
|
+
}
|
|
566
|
+
message.inviteId = reader.bytes();
|
|
567
|
+
continue;
|
|
568
|
+
}
|
|
569
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
570
|
+
break;
|
|
571
|
+
}
|
|
572
|
+
reader.skipType(tag & 7);
|
|
573
|
+
}
|
|
574
|
+
return message;
|
|
575
|
+
},
|
|
576
|
+
create: function (base) {
|
|
577
|
+
return InviteResponseAck.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
578
|
+
},
|
|
579
|
+
fromPartial: function (object) {
|
|
580
|
+
var _a;
|
|
581
|
+
var message = createBaseInviteResponseAck();
|
|
582
|
+
message.inviteId = (_a = object.inviteId) !== null && _a !== void 0 ? _a : Buffer.alloc(0);
|
|
583
|
+
return message;
|
|
584
|
+
},
|
|
585
|
+
};
|
|
586
|
+
function createBaseProjectJoinDetailsAck() {
|
|
587
|
+
return { inviteId: Buffer.alloc(0) };
|
|
588
|
+
}
|
|
589
|
+
export var ProjectJoinDetailsAck = {
|
|
590
|
+
encode: function (message, writer) {
|
|
591
|
+
if (writer === void 0) { writer = _m0.Writer.create(); }
|
|
592
|
+
if (message.inviteId.length !== 0) {
|
|
593
|
+
writer.uint32(10).bytes(message.inviteId);
|
|
594
|
+
}
|
|
595
|
+
return writer;
|
|
596
|
+
},
|
|
597
|
+
decode: function (input, length) {
|
|
598
|
+
var reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
599
|
+
var end = length === undefined ? reader.len : reader.pos + length;
|
|
600
|
+
var message = createBaseProjectJoinDetailsAck();
|
|
601
|
+
while (reader.pos < end) {
|
|
602
|
+
var tag = reader.uint32();
|
|
603
|
+
switch (tag >>> 3) {
|
|
604
|
+
case 1:
|
|
605
|
+
if (tag !== 10) {
|
|
606
|
+
break;
|
|
607
|
+
}
|
|
608
|
+
message.inviteId = reader.bytes();
|
|
609
|
+
continue;
|
|
610
|
+
}
|
|
611
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
612
|
+
break;
|
|
613
|
+
}
|
|
614
|
+
reader.skipType(tag & 7);
|
|
615
|
+
}
|
|
616
|
+
return message;
|
|
617
|
+
},
|
|
618
|
+
create: function (base) {
|
|
619
|
+
return ProjectJoinDetailsAck.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
620
|
+
},
|
|
621
|
+
fromPartial: function (object) {
|
|
622
|
+
var _a;
|
|
623
|
+
var message = createBaseProjectJoinDetailsAck();
|
|
624
|
+
message.inviteId = (_a = object.inviteId) !== null && _a !== void 0 ? _a : Buffer.alloc(0);
|
|
387
625
|
return message;
|
|
388
626
|
},
|
|
389
627
|
};
|
package/src/generated/rpc.ts
CHANGED
|
@@ -9,6 +9,8 @@ export interface Invite {
|
|
|
9
9
|
roleName?: string | undefined;
|
|
10
10
|
roleDescription?: string | undefined;
|
|
11
11
|
invitorName: string;
|
|
12
|
+
projectColor?: string | undefined;
|
|
13
|
+
projectDescription?: string | undefined;
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
export interface InviteCancel {
|
|
@@ -76,6 +78,7 @@ export interface ProjectJoinDetails {
|
|
|
76
78
|
export interface DeviceInfo {
|
|
77
79
|
name: string;
|
|
78
80
|
deviceType?: DeviceInfo_DeviceType | undefined;
|
|
81
|
+
features: DeviceInfo_RPCFeatures[];
|
|
79
82
|
}
|
|
80
83
|
|
|
81
84
|
export const DeviceInfo_DeviceType = {
|
|
@@ -125,6 +128,57 @@ export function deviceInfo_DeviceTypeToNumber(object: DeviceInfo_DeviceType): nu
|
|
|
125
128
|
}
|
|
126
129
|
}
|
|
127
130
|
|
|
131
|
+
export const DeviceInfo_RPCFeatures = {
|
|
132
|
+
features_unspecified: "features_unspecified",
|
|
133
|
+
ack: "ack",
|
|
134
|
+
UNRECOGNIZED: "UNRECOGNIZED",
|
|
135
|
+
} as const;
|
|
136
|
+
|
|
137
|
+
export type DeviceInfo_RPCFeatures = typeof DeviceInfo_RPCFeatures[keyof typeof DeviceInfo_RPCFeatures];
|
|
138
|
+
|
|
139
|
+
export function deviceInfo_RPCFeaturesFromJSON(object: any): DeviceInfo_RPCFeatures {
|
|
140
|
+
switch (object) {
|
|
141
|
+
case 0:
|
|
142
|
+
case "features_unspecified":
|
|
143
|
+
return DeviceInfo_RPCFeatures.features_unspecified;
|
|
144
|
+
case 1:
|
|
145
|
+
case "ack":
|
|
146
|
+
return DeviceInfo_RPCFeatures.ack;
|
|
147
|
+
case -1:
|
|
148
|
+
case "UNRECOGNIZED":
|
|
149
|
+
default:
|
|
150
|
+
return DeviceInfo_RPCFeatures.UNRECOGNIZED;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export function deviceInfo_RPCFeaturesToNumber(object: DeviceInfo_RPCFeatures): number {
|
|
155
|
+
switch (object) {
|
|
156
|
+
case DeviceInfo_RPCFeatures.features_unspecified:
|
|
157
|
+
return 0;
|
|
158
|
+
case DeviceInfo_RPCFeatures.ack:
|
|
159
|
+
return 1;
|
|
160
|
+
case DeviceInfo_RPCFeatures.UNRECOGNIZED:
|
|
161
|
+
default:
|
|
162
|
+
return -1;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export interface InviteAck {
|
|
167
|
+
inviteId: Buffer;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export interface InviteCancelAck {
|
|
171
|
+
inviteId: Buffer;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export interface InviteResponseAck {
|
|
175
|
+
inviteId: Buffer;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export interface ProjectJoinDetailsAck {
|
|
179
|
+
inviteId: Buffer;
|
|
180
|
+
}
|
|
181
|
+
|
|
128
182
|
function createBaseInvite(): Invite {
|
|
129
183
|
return { inviteId: Buffer.alloc(0), projectInviteId: Buffer.alloc(0), projectName: "", invitorName: "" };
|
|
130
184
|
}
|
|
@@ -149,6 +203,12 @@ export const Invite = {
|
|
|
149
203
|
if (message.invitorName !== "") {
|
|
150
204
|
writer.uint32(50).string(message.invitorName);
|
|
151
205
|
}
|
|
206
|
+
if (message.projectColor !== undefined) {
|
|
207
|
+
writer.uint32(58).string(message.projectColor);
|
|
208
|
+
}
|
|
209
|
+
if (message.projectDescription !== undefined) {
|
|
210
|
+
writer.uint32(66).string(message.projectDescription);
|
|
211
|
+
}
|
|
152
212
|
return writer;
|
|
153
213
|
},
|
|
154
214
|
|
|
@@ -201,6 +261,20 @@ export const Invite = {
|
|
|
201
261
|
|
|
202
262
|
message.invitorName = reader.string();
|
|
203
263
|
continue;
|
|
264
|
+
case 7:
|
|
265
|
+
if (tag !== 58) {
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
message.projectColor = reader.string();
|
|
270
|
+
continue;
|
|
271
|
+
case 8:
|
|
272
|
+
if (tag !== 66) {
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
message.projectDescription = reader.string();
|
|
277
|
+
continue;
|
|
204
278
|
}
|
|
205
279
|
if ((tag & 7) === 4 || tag === 0) {
|
|
206
280
|
break;
|
|
@@ -221,6 +295,8 @@ export const Invite = {
|
|
|
221
295
|
message.roleName = object.roleName ?? undefined;
|
|
222
296
|
message.roleDescription = object.roleDescription ?? undefined;
|
|
223
297
|
message.invitorName = object.invitorName ?? "";
|
|
298
|
+
message.projectColor = object.projectColor ?? undefined;
|
|
299
|
+
message.projectDescription = object.projectDescription ?? undefined;
|
|
224
300
|
return message;
|
|
225
301
|
},
|
|
226
302
|
};
|
|
@@ -396,7 +472,7 @@ export const ProjectJoinDetails = {
|
|
|
396
472
|
};
|
|
397
473
|
|
|
398
474
|
function createBaseDeviceInfo(): DeviceInfo {
|
|
399
|
-
return { name: "" };
|
|
475
|
+
return { name: "", features: [] };
|
|
400
476
|
}
|
|
401
477
|
|
|
402
478
|
export const DeviceInfo = {
|
|
@@ -407,6 +483,11 @@ export const DeviceInfo = {
|
|
|
407
483
|
if (message.deviceType !== undefined) {
|
|
408
484
|
writer.uint32(16).int32(deviceInfo_DeviceTypeToNumber(message.deviceType));
|
|
409
485
|
}
|
|
486
|
+
writer.uint32(26).fork();
|
|
487
|
+
for (const v of message.features) {
|
|
488
|
+
writer.int32(deviceInfo_RPCFeaturesToNumber(v));
|
|
489
|
+
}
|
|
490
|
+
writer.ldelim();
|
|
410
491
|
return writer;
|
|
411
492
|
},
|
|
412
493
|
|
|
@@ -431,6 +512,23 @@ export const DeviceInfo = {
|
|
|
431
512
|
|
|
432
513
|
message.deviceType = deviceInfo_DeviceTypeFromJSON(reader.int32());
|
|
433
514
|
continue;
|
|
515
|
+
case 3:
|
|
516
|
+
if (tag === 24) {
|
|
517
|
+
message.features.push(deviceInfo_RPCFeaturesFromJSON(reader.int32()));
|
|
518
|
+
|
|
519
|
+
continue;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
if (tag === 26) {
|
|
523
|
+
const end2 = reader.uint32() + reader.pos;
|
|
524
|
+
while (reader.pos < end2) {
|
|
525
|
+
message.features.push(deviceInfo_RPCFeaturesFromJSON(reader.int32()));
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
continue;
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
break;
|
|
434
532
|
}
|
|
435
533
|
if ((tag & 7) === 4 || tag === 0) {
|
|
436
534
|
break;
|
|
@@ -447,6 +545,187 @@ export const DeviceInfo = {
|
|
|
447
545
|
const message = createBaseDeviceInfo();
|
|
448
546
|
message.name = object.name ?? "";
|
|
449
547
|
message.deviceType = object.deviceType ?? undefined;
|
|
548
|
+
message.features = object.features?.map((e) => e) || [];
|
|
549
|
+
return message;
|
|
550
|
+
},
|
|
551
|
+
};
|
|
552
|
+
|
|
553
|
+
function createBaseInviteAck(): InviteAck {
|
|
554
|
+
return { inviteId: Buffer.alloc(0) };
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
export const InviteAck = {
|
|
558
|
+
encode(message: InviteAck, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
559
|
+
if (message.inviteId.length !== 0) {
|
|
560
|
+
writer.uint32(10).bytes(message.inviteId);
|
|
561
|
+
}
|
|
562
|
+
return writer;
|
|
563
|
+
},
|
|
564
|
+
|
|
565
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): InviteAck {
|
|
566
|
+
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
567
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
568
|
+
const message = createBaseInviteAck();
|
|
569
|
+
while (reader.pos < end) {
|
|
570
|
+
const tag = reader.uint32();
|
|
571
|
+
switch (tag >>> 3) {
|
|
572
|
+
case 1:
|
|
573
|
+
if (tag !== 10) {
|
|
574
|
+
break;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
message.inviteId = reader.bytes() as Buffer;
|
|
578
|
+
continue;
|
|
579
|
+
}
|
|
580
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
581
|
+
break;
|
|
582
|
+
}
|
|
583
|
+
reader.skipType(tag & 7);
|
|
584
|
+
}
|
|
585
|
+
return message;
|
|
586
|
+
},
|
|
587
|
+
|
|
588
|
+
create<I extends Exact<DeepPartial<InviteAck>, I>>(base?: I): InviteAck {
|
|
589
|
+
return InviteAck.fromPartial(base ?? ({} as any));
|
|
590
|
+
},
|
|
591
|
+
fromPartial<I extends Exact<DeepPartial<InviteAck>, I>>(object: I): InviteAck {
|
|
592
|
+
const message = createBaseInviteAck();
|
|
593
|
+
message.inviteId = object.inviteId ?? Buffer.alloc(0);
|
|
594
|
+
return message;
|
|
595
|
+
},
|
|
596
|
+
};
|
|
597
|
+
|
|
598
|
+
function createBaseInviteCancelAck(): InviteCancelAck {
|
|
599
|
+
return { inviteId: Buffer.alloc(0) };
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
export const InviteCancelAck = {
|
|
603
|
+
encode(message: InviteCancelAck, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
604
|
+
if (message.inviteId.length !== 0) {
|
|
605
|
+
writer.uint32(10).bytes(message.inviteId);
|
|
606
|
+
}
|
|
607
|
+
return writer;
|
|
608
|
+
},
|
|
609
|
+
|
|
610
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): InviteCancelAck {
|
|
611
|
+
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
612
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
613
|
+
const message = createBaseInviteCancelAck();
|
|
614
|
+
while (reader.pos < end) {
|
|
615
|
+
const tag = reader.uint32();
|
|
616
|
+
switch (tag >>> 3) {
|
|
617
|
+
case 1:
|
|
618
|
+
if (tag !== 10) {
|
|
619
|
+
break;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
message.inviteId = reader.bytes() as Buffer;
|
|
623
|
+
continue;
|
|
624
|
+
}
|
|
625
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
626
|
+
break;
|
|
627
|
+
}
|
|
628
|
+
reader.skipType(tag & 7);
|
|
629
|
+
}
|
|
630
|
+
return message;
|
|
631
|
+
},
|
|
632
|
+
|
|
633
|
+
create<I extends Exact<DeepPartial<InviteCancelAck>, I>>(base?: I): InviteCancelAck {
|
|
634
|
+
return InviteCancelAck.fromPartial(base ?? ({} as any));
|
|
635
|
+
},
|
|
636
|
+
fromPartial<I extends Exact<DeepPartial<InviteCancelAck>, I>>(object: I): InviteCancelAck {
|
|
637
|
+
const message = createBaseInviteCancelAck();
|
|
638
|
+
message.inviteId = object.inviteId ?? Buffer.alloc(0);
|
|
639
|
+
return message;
|
|
640
|
+
},
|
|
641
|
+
};
|
|
642
|
+
|
|
643
|
+
function createBaseInviteResponseAck(): InviteResponseAck {
|
|
644
|
+
return { inviteId: Buffer.alloc(0) };
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
export const InviteResponseAck = {
|
|
648
|
+
encode(message: InviteResponseAck, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
649
|
+
if (message.inviteId.length !== 0) {
|
|
650
|
+
writer.uint32(10).bytes(message.inviteId);
|
|
651
|
+
}
|
|
652
|
+
return writer;
|
|
653
|
+
},
|
|
654
|
+
|
|
655
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): InviteResponseAck {
|
|
656
|
+
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
657
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
658
|
+
const message = createBaseInviteResponseAck();
|
|
659
|
+
while (reader.pos < end) {
|
|
660
|
+
const tag = reader.uint32();
|
|
661
|
+
switch (tag >>> 3) {
|
|
662
|
+
case 1:
|
|
663
|
+
if (tag !== 10) {
|
|
664
|
+
break;
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
message.inviteId = reader.bytes() as Buffer;
|
|
668
|
+
continue;
|
|
669
|
+
}
|
|
670
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
671
|
+
break;
|
|
672
|
+
}
|
|
673
|
+
reader.skipType(tag & 7);
|
|
674
|
+
}
|
|
675
|
+
return message;
|
|
676
|
+
},
|
|
677
|
+
|
|
678
|
+
create<I extends Exact<DeepPartial<InviteResponseAck>, I>>(base?: I): InviteResponseAck {
|
|
679
|
+
return InviteResponseAck.fromPartial(base ?? ({} as any));
|
|
680
|
+
},
|
|
681
|
+
fromPartial<I extends Exact<DeepPartial<InviteResponseAck>, I>>(object: I): InviteResponseAck {
|
|
682
|
+
const message = createBaseInviteResponseAck();
|
|
683
|
+
message.inviteId = object.inviteId ?? Buffer.alloc(0);
|
|
684
|
+
return message;
|
|
685
|
+
},
|
|
686
|
+
};
|
|
687
|
+
|
|
688
|
+
function createBaseProjectJoinDetailsAck(): ProjectJoinDetailsAck {
|
|
689
|
+
return { inviteId: Buffer.alloc(0) };
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
export const ProjectJoinDetailsAck = {
|
|
693
|
+
encode(message: ProjectJoinDetailsAck, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
694
|
+
if (message.inviteId.length !== 0) {
|
|
695
|
+
writer.uint32(10).bytes(message.inviteId);
|
|
696
|
+
}
|
|
697
|
+
return writer;
|
|
698
|
+
},
|
|
699
|
+
|
|
700
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): ProjectJoinDetailsAck {
|
|
701
|
+
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
702
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
703
|
+
const message = createBaseProjectJoinDetailsAck();
|
|
704
|
+
while (reader.pos < end) {
|
|
705
|
+
const tag = reader.uint32();
|
|
706
|
+
switch (tag >>> 3) {
|
|
707
|
+
case 1:
|
|
708
|
+
if (tag !== 10) {
|
|
709
|
+
break;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
message.inviteId = reader.bytes() as Buffer;
|
|
713
|
+
continue;
|
|
714
|
+
}
|
|
715
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
716
|
+
break;
|
|
717
|
+
}
|
|
718
|
+
reader.skipType(tag & 7);
|
|
719
|
+
}
|
|
720
|
+
return message;
|
|
721
|
+
},
|
|
722
|
+
|
|
723
|
+
create<I extends Exact<DeepPartial<ProjectJoinDetailsAck>, I>>(base?: I): ProjectJoinDetailsAck {
|
|
724
|
+
return ProjectJoinDetailsAck.fromPartial(base ?? ({} as any));
|
|
725
|
+
},
|
|
726
|
+
fromPartial<I extends Exact<DeepPartial<ProjectJoinDetailsAck>, I>>(object: I): ProjectJoinDetailsAck {
|
|
727
|
+
const message = createBaseProjectJoinDetailsAck();
|
|
728
|
+
message.inviteId = object.inviteId ?? Buffer.alloc(0);
|
|
450
729
|
return message;
|
|
451
730
|
},
|
|
452
731
|
};
|
package/src/invite/invite-api.js
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
InviteSendError,
|
|
13
13
|
} from '../errors.js'
|
|
14
14
|
|
|
15
|
+
/** @import { ProjectToAddDetails } from '../mapeo-manager.js' */
|
|
15
16
|
/** @import { MapBuffers } from '../types.js' */
|
|
16
17
|
/**
|
|
17
18
|
* @import {
|
|
@@ -45,7 +46,7 @@ import {
|
|
|
45
46
|
*/
|
|
46
47
|
|
|
47
48
|
/**
|
|
48
|
-
* @typedef {(projectDetails:
|
|
49
|
+
* @typedef {(projectDetails: ProjectToAddDetails) => Promise<string>} AddProjectQuery
|
|
49
50
|
*/
|
|
50
51
|
|
|
51
52
|
/**
|
|
@@ -119,7 +120,13 @@ export class InviteApi extends TypedEmitter {
|
|
|
119
120
|
* @param {InviteRpcMessage} inviteRpcMessage
|
|
120
121
|
*/
|
|
121
122
|
#handleNewInvite(peerId, inviteRpcMessage) {
|
|
122
|
-
const {
|
|
123
|
+
const {
|
|
124
|
+
inviteId,
|
|
125
|
+
projectInviteId,
|
|
126
|
+
projectName,
|
|
127
|
+
projectColor,
|
|
128
|
+
projectDescription,
|
|
129
|
+
} = inviteRpcMessage
|
|
123
130
|
const invite = { ...inviteRpcMessage, receivedAt: Date.now() }
|
|
124
131
|
|
|
125
132
|
this.#l.log('Received invite %h from %S', inviteId, peerId)
|
|
@@ -149,7 +156,12 @@ export class InviteApi extends TypedEmitter {
|
|
|
149
156
|
return this.rpc.sendInviteResponse(peerId, { decision, inviteId })
|
|
150
157
|
}),
|
|
151
158
|
addProject: fromPromise(async ({ input: projectDetails }) => {
|
|
152
|
-
return this.#addProject({
|
|
159
|
+
return this.#addProject({
|
|
160
|
+
...projectDetails,
|
|
161
|
+
projectName,
|
|
162
|
+
projectColor,
|
|
163
|
+
projectDescription,
|
|
164
|
+
})
|
|
153
165
|
}),
|
|
154
166
|
},
|
|
155
167
|
guards: {
|