@kusinta/iot-schema 0.2.0-beta.26 → 0.2.0-beta.27
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/package.json +2 -1
- package/src/kusinta/iot/access/v1/roles_pb.d.ts +3 -1
- package/src/kusinta/iot/access/v1/roles_pb.js +3 -1
- package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +6 -0
- package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +3 -2
- package/src/kusinta/iot/space/v1/space_pb.d.ts +1 -1
- package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +14 -0
- package/src/kusinta/iot/webrtc/v1/app_token_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +9 -0
- package/src/kusinta/iot/webrtc/v1/envelope_pb.js +2 -1
- package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +21 -0
- package/src/kusinta/iot/webrtc/v1/invite_pb.js +1 -1
- package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +72 -7
- package/src/kusinta/iot/webrtc/v1/management_pb.js +2 -1
- package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +297 -0
- package/src/kusinta/iot/webrtc/v1/members_pb.js +78 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kusinta/iot-schema",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.27",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": ["src"],
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"./webrtc/command": "./src/kusinta/iot/webrtc/v1/command_pb.js",
|
|
35
35
|
"./webrtc/device-state": "./src/kusinta/iot/webrtc/v1/device_state_pb.js",
|
|
36
36
|
"./webrtc/invite": "./src/kusinta/iot/webrtc/v1/invite_pb.js",
|
|
37
|
+
"./webrtc/members": "./src/kusinta/iot/webrtc/v1/members_pb.js",
|
|
37
38
|
"./webrtc/management": "./src/kusinta/iot/webrtc/v1/management_pb.js",
|
|
38
39
|
"./webrtc/permission-push": "./src/kusinta/iot/webrtc/v1/permission_push_pb.js",
|
|
39
40
|
"./webrtc/setpoint-mode": "./src/kusinta/iot/webrtc/v1/setpoint_mode_pb.js",
|
|
@@ -236,7 +236,9 @@ export declare const PermissionActionSchema: GenEnum<PermissionAction>;
|
|
|
236
236
|
* who service the building get the service view above and no more. It does not keep the
|
|
237
237
|
* property owner or the administrator out by force — they hold the building's filing
|
|
238
238
|
* authority and the gateway itself — but it makes their seeing in a deliberate act on the
|
|
239
|
-
* home, such as filing themselves on it, rather than something handed out by default.
|
|
239
|
+
* home, such as filing themselves on it, rather than something handed out by default. Who
|
|
240
|
+
* lives where is the exception: they are shown every member and membership
|
|
241
|
+
* (webrtc.v1.ListGatewayMembers), since they remove a resident who moves out.
|
|
240
242
|
*
|
|
241
243
|
* A membership recorded with no relation, made before relations existed, sees no more than
|
|
242
244
|
* either relation would where it is held: on an apartment or a room, a home as service; on a
|
|
@@ -140,7 +140,9 @@ export const MembershipRelationSchema = /*@__PURE__*/
|
|
|
140
140
|
* who service the building get the service view above and no more. It does not keep the
|
|
141
141
|
* property owner or the administrator out by force — they hold the building's filing
|
|
142
142
|
* authority and the gateway itself — but it makes their seeing in a deliberate act on the
|
|
143
|
-
* home, such as filing themselves on it, rather than something handed out by default.
|
|
143
|
+
* home, such as filing themselves on it, rather than something handed out by default. Who
|
|
144
|
+
* lives where is the exception: they are shown every member and membership
|
|
145
|
+
* (webrtc.v1.ListGatewayMembers), since they remove a resident who moves out.
|
|
144
146
|
*
|
|
145
147
|
* A membership recorded with no relation, made before relations existed, sees no more than
|
|
146
148
|
* either relation would where it is held: on an apartment or a room, a home as service; on a
|
|
@@ -726,6 +726,12 @@ export declare const ReportServedSpacesResponseSchema: GenMessage<ReportServedSp
|
|
|
726
726
|
* administrator is also reported so, the api-server's record governs: their administration
|
|
727
727
|
* counts from the earlier of its own start and administrator_since.
|
|
728
728
|
*
|
|
729
|
+
* A member here is a user the gateway holds a membership or a role for, and no one else. The
|
|
730
|
+
* registering administrator is reported only when the gateway holds one of those for them —
|
|
731
|
+
* a membership, or ROLE_PROPERTY_OWNER they were given — and never with the
|
|
732
|
+
* ROLE_GATEWAY_ADMIN their token carries. That the gateway recognises them otherwise
|
|
733
|
+
* (webrtc.v1.MemberDetail.registering_admin) does not make them a member of this report.
|
|
734
|
+
*
|
|
729
735
|
* @generated from message kusinta.iot.reporting.v1.GatewayMember
|
|
730
736
|
*/
|
|
731
737
|
export declare type GatewayMember = Message<"kusinta.iot.reporting.v1.GatewayMember"> & {
|
|
@@ -328,8 +328,9 @@ export declare type RedeemInvite = Message<"kusinta.iot.signaling.v1.RedeemInvit
|
|
|
328
328
|
} | { case: undefined; value?: undefined };
|
|
329
329
|
|
|
330
330
|
/**
|
|
331
|
-
* The display name the user's token carries, for the join request it may make
|
|
332
|
-
*
|
|
331
|
+
* The display name the user's token carries, for the join request it may make, by the
|
|
332
|
+
* same rule as webrtc.v1.AppTokenClaims.name: the identity provider's display-name claim
|
|
333
|
+
* alone, never a username or an email address. May be empty.
|
|
333
334
|
*
|
|
334
335
|
* @generated from field: string display_name = 4;
|
|
335
336
|
*/
|
|
@@ -108,7 +108,7 @@ export declare type Space = Message<"kusinta.iot.space.v1.Space"> & {
|
|
|
108
108
|
* live with, and anyone filed on their home as service, since being filed on a home
|
|
109
109
|
* is an act on it its residents should see. Service reach from a building or floor
|
|
110
110
|
* above is not listed; webrtc.v1.PrivacyDisclosure tells them what kinds of party
|
|
111
|
-
* hold it, without
|
|
111
|
+
* hold it, and who, without saying where anyone lives;
|
|
112
112
|
* * anyone else sees none, residents of a building or floor included.
|
|
113
113
|
*
|
|
114
114
|
* @generated from field: repeated kusinta.iot.space.v1.SpaceMember members = 13;
|
|
@@ -117,6 +117,20 @@ export declare type AppTokenClaims = Message<"kusinta.iot.webrtc.v1.AppTokenClai
|
|
|
117
117
|
* @generated from field: kusinta.iot.webrtc.v1.Confirmation cnf = 7;
|
|
118
118
|
*/
|
|
119
119
|
cnf?: Confirmation | undefined;
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* The user's display name as the identity provider holds it, or empty. The issuer MUST
|
|
123
|
+
* take it from the provider's display-name claim alone and send it empty rather than
|
|
124
|
+
* fall back to a username, an email address or any other field, since a username is an
|
|
125
|
+
* email address wherever accounts log in by email. The gateway records it only to name the
|
|
126
|
+
* user to the people who may see who they are (MemberDetail.name, ServiceParty.names),
|
|
127
|
+
* and treats it as self-chosen: it removes control and format characters (bidirectional
|
|
128
|
+
* overrides among them) and keeps at most 80 Unicode code points. A validator accepts a
|
|
129
|
+
* token without it. Carried in the JWT as "name".
|
|
130
|
+
*
|
|
131
|
+
* @generated from field: string name = 8;
|
|
132
|
+
*/
|
|
133
|
+
name: string;
|
|
120
134
|
};
|
|
121
135
|
|
|
122
136
|
/**
|
|
@@ -10,7 +10,7 @@ import { file_kusinta_iot_access_v1_roles } from "../../access/v1/roles_pb.js";
|
|
|
10
10
|
* Describes the file kusinta/iot/webrtc/v1/app_token.proto.
|
|
11
11
|
*/
|
|
12
12
|
export const file_kusinta_iot_webrtc_v1_app_token = /*@__PURE__*/
|
|
13
|
-
fileDesc("
|
|
13
|
+
fileDesc("CiVrdXNpbnRhL2lvdC93ZWJydGMvdjEvYXBwX3Rva2VuLnByb3RvEhVrdXNpbnRhLmlvdC53ZWJydGMudjEi9QEKDkFwcFRva2VuQ2xhaW1zEgsKA2lzcxgBIAEoCRILCgNhdWQYAiABKAkSCwoDc3ViGAMgASgJEicKA2lhdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJwoDZXhwGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIqCgVyb2xlcxgGIAMoDjIbLmt1c2ludGEuaW90LmFjY2Vzcy52MS5Sb2xlEjAKA2NuZhgHIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db25maXJtYXRpb24SDAoEbmFtZRgIIAEoCSIgCgxDb25maXJtYXRpb24SEAoIeDV0X3MyNTYYASABKAlCAkgBYgZwcm90bzM", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_roles]);
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Describes the message kusinta.iot.webrtc.v1.AppTokenClaims.
|
|
@@ -11,6 +11,7 @@ import type { ManagementAck, ManagementRequest, PrivacyDisclosure, SpaceTree } f
|
|
|
11
11
|
import type { DeviceLink, DeviceLinkList } from "../../link/v1/link_pb.js";
|
|
12
12
|
import type { ApartmentClimateSummary, ClimateMode, RoomClimate, RoomClimateList, RoomHistory } from "../../climate/v1/climate_pb.js";
|
|
13
13
|
import type { IssuedInvite, SpaceInvites } from "./invite_pb.js";
|
|
14
|
+
import type { GatewayMembers } from "./members_pb.js";
|
|
14
15
|
import type { PairingErrorDetail, PairingWindow } from "../../common/v1/pairing_pb.js";
|
|
15
16
|
import type { BackendHealth, ConnectorKind, DeviceOwnershipType } from "../../common/v1/types_pb.js";
|
|
16
17
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
@@ -377,6 +378,14 @@ export declare type ManagementResult = Message<"kusinta.iot.webrtc.v1.Management
|
|
|
377
378
|
*/
|
|
378
379
|
value: SpaceInvites;
|
|
379
380
|
case: "spaceInvites";
|
|
381
|
+
} | {
|
|
382
|
+
/**
|
|
383
|
+
* list_gateway_members
|
|
384
|
+
*
|
|
385
|
+
* @generated from field: kusinta.iot.webrtc.v1.GatewayMembers gateway_members = 13;
|
|
386
|
+
*/
|
|
387
|
+
value: GatewayMembers;
|
|
388
|
+
case: "gatewayMembers";
|
|
380
389
|
} | { case: undefined; value?: undefined };
|
|
381
390
|
};
|
|
382
391
|
|
|
@@ -16,13 +16,14 @@ import { file_kusinta_iot_webrtc_v1_command } from "./command_pb.js";
|
|
|
16
16
|
import { file_kusinta_iot_webrtc_v1_device_state } from "./device_state_pb.js";
|
|
17
17
|
import { file_kusinta_iot_webrtc_v1_invite } from "./invite_pb.js";
|
|
18
18
|
import { file_kusinta_iot_webrtc_v1_management } from "./management_pb.js";
|
|
19
|
+
import { file_kusinta_iot_webrtc_v1_members } from "./members_pb.js";
|
|
19
20
|
import { file_kusinta_iot_webrtc_v1_permission_push } from "./permission_push_pb.js";
|
|
20
21
|
|
|
21
22
|
/**
|
|
22
23
|
* Describes the file kusinta/iot/webrtc/v1/envelope.proto.
|
|
23
24
|
*/
|
|
24
25
|
export const file_kusinta_iot_webrtc_v1_envelope = /*@__PURE__*/
|
|
25
|
-
fileDesc("
|
|
26
|
+
fileDesc("CiRrdXNpbnRhL2lvdC93ZWJydGMvdjEvZW52ZWxvcGUucHJvdG8SFWt1c2ludGEuaW90LndlYnJ0Yy52MSIGCgRQaW5nIgYKBFBvbmciIwoRSGFuZHNoYWtlUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIlwKDEFwcEhhbmRzaGFrZRILCgNqd3QYASABKAkSPwoUc3Vic2NyaWJlX2RldmljZV9pZHMYAiADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJJChBTdWJzY3JpYmVEZXZpY2VzEjUKCmRldmljZV9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJLChJVbnN1YnNjcmliZURldmljZXMSNQoKZGV2aWNlX2lkcxgBIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkIpMBChNSZWZ1c2VkU3Vic2NyaXB0aW9uEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjUKBGNvZGUYAiABKA4yJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yQ29kZRIPCgdtZXNzYWdlGAMgASgJIpoBCg9TdWJzY3JpcHRpb25BY2sSEwoLaW5fcmVwbHlfdG8YASABKAkSNQoKc3Vic2NyaWJlZBgCIAMoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjsKB3JlZnVzZWQYAyADKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVmdXNlZFN1YnNjcmlwdGlvbiLRAQoTUHJvcGVydHlSZWFkUmVxdWVzdBI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCgZ0YXJnZXQYByABKAsyIy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuQXR0cmlidXRlUmVmSgQIAhAHUg5hdHRyaWJ1dGVfbmFtZVIOY2x1c3Rlcl9pZF9oZXhSCmNsdXN0ZXJfaWRSC2VuZHBvaW50X2lkUhB2ZW5kb3JfZXh0ZW5zaW9uIswBCgxHYXRld2F5RXJyb3ISNQoEY29kZRgBIAEoDjInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5RXJyb3JDb2RlEg8KB21lc3NhZ2UYAiABKAkSQwoIbWV0YWRhdGEYAyADKAsyMS5rdXNpbnRhLmlvdC53ZWJydGMudjEuR2F0ZXdheUVycm9yLk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIpMGChBNYW5hZ2VtZW50UmVzdWx0EhMKC2luX3JlcGx5X3RvGAEgASgJEjQKBWVycm9yGAIgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkdhdGV3YXlFcnJvckgAEiwKBXNwYWNlGAMgASgLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2VIABI2CgpzcGFjZV90cmVlGAQgASgLMiAua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlVHJlZUgAEjMKA2FjaxgFIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50QWNrSAASNAoFbGlua3MYBiABKAsyIy5rdXNpbnRhLmlvdC5saW5rLnYxLkRldmljZUxpbmtMaXN0SAASQAoNcm9vbV9jbGltYXRlcxgHIAEoCzInLmt1c2ludGEuaW90LmNsaW1hdGUudjEuUm9vbUNsaW1hdGVMaXN0SAASOwoMcm9vbV9oaXN0b3J5GAggASgLMiMua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5Sb29tSGlzdG9yeUgAEkYKEnByaXZhY3lfZGlzY2xvc3VyZRgJIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcml2YWN5RGlzY2xvc3VyZUgAElQKGWFwYXJ0bWVudF9jbGltYXRlX3N1bW1hcnkYCiABKAsyLy5rdXNpbnRhLmlvdC5jbGltYXRlLnYxLkFwYXJ0bWVudENsaW1hdGVTdW1tYXJ5SAASPAoNaXNzdWVkX2ludml0ZRgLIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Jc3N1ZWRJbnZpdGVIABI8Cg1zcGFjZV9pbnZpdGVzGAwgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlNwYWNlSW52aXRlc0gAEkAKD2dhdGV3YXlfbWVtYmVycxgNIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HYXRld2F5TWVtYmVyc0gAQggKBnJlc3VsdCL7AQoMU3RhcnRQYWlyaW5nEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEjQKBndpbmRvdxgCIAEoCzIkLmt1c2ludGEuaW90LmNvbW1vbi52MS5QYWlyaW5nV2luZG93EjoKEGluaXRpYWxfc3BhY2VfaWQYAyABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEj0KCW93bmVyc2hpcBgEIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlIo8BCg5QYWlyaW5nU3RhcnRlZBITCgtpbl9yZXBseV90bxgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4CgVlcnJvchgDIAEoCzIpLmt1c2ludGEuaW90LmNvbW1vbi52MS5QYWlyaW5nRXJyb3JEZXRhaWwilwEKD1BhaXJpbmdGaW5pc2hlZBITCgtpbl9yZXBseV90bxgBIAEoCRI1CgpkZXZpY2VfaWRzGAIgAygLMiEua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuRGV2aWNlSWQSOAoFZXJyb3IYAyABKAsyKS5rdXNpbnRhLmlvdC5jb21tb24udjEuUGFpcmluZ0Vycm9yRGV0YWlsIk0KC0xpbmtDaGFuZ2VkEi0KBGxpbmsYASABKAsyHy5rdXNpbnRhLmlvdC5saW5rLnYxLkRldmljZUxpbmsSDwoHcmVtb3ZlZBgCIAEoCCKIAwoTQ29ubmVjdG9yRGVzY3JpcHRvchI6Cgxjb25uZWN0b3JfaWQYASABKAsyJC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Db25uZWN0b3JJZBIUCgxkaXNwbGF5X25hbWUYAiABKAkSIQoZc3VwcG9ydGVkX2RldmljZV90eXBlX2lkcxgDIAMoDRIYChBzdXBwb3J0c19wYWlyaW5nGAQgASgIEh0KFXN1cHBvcnRzX3Byb3Zpc2lvbmluZxgFIAEoCBIVCg1icm9rZXJzX2xpbmtzGAYgASgIEjIKBGtpbmQYByABKA4yJC5rdXNpbnRhLmlvdC5jb21tb24udjEuQ29ubmVjdG9yS2luZBITCgtkZXNjcmlwdGlvbhgIIAEoCRI8Cg5iYWNrZW5kX2hlYWx0aBgJIAEoCzIkLmt1c2ludGEuaW90LmNvbW1vbi52MS5CYWNrZW5kSGVhbHRoEiUKHXN1cHBvcnRzX2JhY2tlbmRfcmVpbml0aWFsaXplGAogASgIIlUKE0Nvbm5lY3RvcnNBbm5vdW5jZWQSPgoKY29ubmVjdG9ycxgBIAMoCzIqLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Db25uZWN0b3JEZXNjcmlwdG9yIkcKElJvb21DbGltYXRlQ2hhbmdlZBIxCgRyb29tGAEgASgLMiMua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5Sb29tQ2xpbWF0ZSJWChJDbGltYXRlTW9kZUNoYW5nZWQSMQoEbW9kZRgBIAEoCzIjLmt1c2ludGEuaW90LmNsaW1hdGUudjEuQ2xpbWF0ZU1vZGUSDQoFZW5kZWQYAiABKAgixgsKDkdhdGV3YXlNZXNzYWdlEhIKCm1lc3NhZ2VfaWQYASABKAkSKwoHc2VudF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRAoOc3RhdGVfc25hcHNob3QYAyABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGV2aWNlU3RhdGVTbmFwc2hvdEgAEkAKD3Byb3BlcnR5X3JlcG9ydBgEIAEoCzIlLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm9wZXJ0eVJlcG9ydEgAEkgKEXBlcm1pc3Npb25fdXBkYXRlGAUgASgLMisua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpdmVQZXJtaXNzaW9uVXBkYXRlSAASPgoOY29tbWFuZF9yZXN1bHQYBiABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29tbWFuZFJlc3VsdEgAEisKBHBvbmcYCCABKAsyGy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUG9uZ0gAEkYKEmhhbmRzaGFrZV9yZWplY3RlZBgJIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5IYW5kc2hha2VSZWplY3RlZEgAEjQKBWVycm9yGAogASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkdhdGV3YXlFcnJvckgAEkIKEHN1YnNjcmlwdGlvbl9hY2sYCyABKAsyJi5rdXNpbnRhLmlvdC53ZWJydGMudjEuU3Vic2NyaXB0aW9uQWNrSAASOgoMZGV2aWNlX2FkZGVkGAwgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZUFkZGVkSAASPgoOZGV2aWNlX3JlbW92ZWQYDSABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuRGV2aWNlUmVtb3ZlZEgAEkQKEW1hbmFnZW1lbnRfcmVzdWx0GA4gASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLk1hbmFnZW1lbnRSZXN1bHRIABJACg1kZXZpY2VfZXZlbnRzGBAgASgLMicua3VzaW50YS5pb3QuZGV2aWNlLnYxLkRldmljZUV2ZW50QmF0Y2hIABJACg9wYWlyaW5nX3N0YXJ0ZWQYESABKAsyJS5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGFpcmluZ1N0YXJ0ZWRIABJCChBwYWlyaW5nX2ZpbmlzaGVkGBIgASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLlBhaXJpbmdGaW5pc2hlZEgAEjoKDGxpbmtfY2hhbmdlZBgTIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaW5rQ2hhbmdlZEgAEkoKFGNvbm5lY3RvcnNfYW5ub3VuY2VkGBQgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLkNvbm5lY3RvcnNBbm5vdW5jZWRIABJJChRyb29tX2NsaW1hdGVfY2hhbmdlZBgVIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Sb29tQ2xpbWF0ZUNoYW5nZWRIABJJChRjbGltYXRlX21vZGVfY2hhbmdlZBgWIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5DbGltYXRlTW9kZUNoYW5nZWRIABJNChZzZXJ2aWNlX3N0YXR1c19jaGFuZ2VkGBcgASgLMisua3VzaW50YS5pb3Qud2VicnRjLnYxLlNlcnZpY2VTdGF0dXNDaGFuZ2VkSAASPAoNc3BhY2VfaW52aXRlcxgYIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TcGFjZUludml0ZXNIAEIJCgdwYXlsb2FkSgQIDxAQSgQIBxAIUhZhdHRyaWJ1dGVfd3JpdGVfcmVzdWx0Ug5wcm9wZXJ0eV9ldmVudCKDBQoKQXBwTWVzc2FnZRISCgptZXNzYWdlX2lkGAEgASgJEisKB3NlbnRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKCWhhbmRzaGFrZRgDIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BcHBIYW5kc2hha2VIABI3Cgdjb21tYW5kGAQgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLkRldmljZUNvbW1hbmRIABJCCgxyZWFkX3JlcXVlc3QYBSABKAsyKi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUHJvcGVydHlSZWFkUmVxdWVzdEgAEisKBHBpbmcYBiABKAsyGy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGluZ0gAEjwKCXN1YnNjcmliZRgHIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TdWJzY3JpYmVEZXZpY2VzSAASQAoLdW5zdWJzY3JpYmUYCCABKAsyKS5rdXNpbnRhLmlvdC53ZWJydGMudjEuVW5zdWJzY3JpYmVEZXZpY2VzSAASPgoKbWFuYWdlbWVudBgJIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NYW5hZ2VtZW50UmVxdWVzdEgAEkcKD2F0dHJpYnV0ZV93cml0ZRgKIAEoCzIsLmt1c2ludGEuaW90LndlYnJ0Yy52MS5BdHRyaWJ1dGVXcml0ZVJlcXVlc3RIABI8Cg1zdGFydF9wYWlyaW5nGAsgASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlN0YXJ0UGFpcmluZ0gAQgkKB3BheWxvYWQqogIKEEdhdGV3YXlFcnJvckNvZGUSIgoeR0FURVdBWV9FUlJPUl9DT0RFX1VOU1BFQ0lGSUVEEAASIwofR0FURVdBWV9FUlJPUl9DT0RFX05PVF9FTlRJVExFRBABEiYKIkdBVEVXQVlfRVJST1JfQ09ERV9JTlZBTElEX1JFUVVFU1QQAhIiCh5HQVRFV0FZX0VSUk9SX0NPREVfVU5BVkFJTEFCTEUQAxIfChtHQVRFV0FZX0VSUk9SX0NPREVfSU5URVJOQUwQBBIsCihHQVRFV0FZX0VSUk9SX0NPREVfU0VTU0lPTl9MSU1JVF9SRUFDSEVEEAUSKgomR0FURVdBWV9FUlJPUl9DT0RFX0ZBSUxFRF9QUkVDT05ESVRJT04QBkICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_climate_v1_climate, file_kusinta_iot_common_v1_pairing, file_kusinta_iot_common_v1_types, file_kusinta_iot_device_v1_device_event, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_space_v1_space, file_kusinta_iot_webrtc_v1_command, file_kusinta_iot_webrtc_v1_device_state, file_kusinta_iot_webrtc_v1_invite, file_kusinta_iot_webrtc_v1_management, file_kusinta_iot_webrtc_v1_members, file_kusinta_iot_webrtc_v1_permission_push]);
|
|
26
27
|
|
|
27
28
|
/**
|
|
28
29
|
* Describes the message kusinta.iot.webrtc.v1.Ping.
|
|
@@ -62,6 +62,20 @@ export declare type CreateInvite = Message<"kusinta.iot.webrtc.v1.CreateInvite">
|
|
|
62
62
|
* @generated from field: string email = 3;
|
|
63
63
|
*/
|
|
64
64
|
email: string;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* When the technician's access ends, as SetAccessUntil describes it. SERVICE only: set
|
|
68
|
+
* on a RESIDENT invite it is INVALID_REQUEST, as is a time not after now. Unset for no
|
|
69
|
+
* end. Both secrets expire no later than it.
|
|
70
|
+
*
|
|
71
|
+
* It reaches only someone the redeem makes a technician: a user who held no role but
|
|
72
|
+
* ROLE_RESIDENT before. For anyone else redeeming the invite it is ignored, so an invite
|
|
73
|
+
* can neither shorten nor lengthen a member's access, nor put an end on a property owner
|
|
74
|
+
* or an administrator.
|
|
75
|
+
*
|
|
76
|
+
* @generated from field: google.protobuf.Timestamp access_until = 4;
|
|
77
|
+
*/
|
|
78
|
+
accessUntil?: Timestamp | undefined;
|
|
65
79
|
};
|
|
66
80
|
|
|
67
81
|
/**
|
|
@@ -254,6 +268,13 @@ export declare type Invite = Message<"kusinta.iot.webrtc.v1.Invite"> & {
|
|
|
254
268
|
* @generated from field: google.protobuf.Timestamp email_sent_at = 9;
|
|
255
269
|
*/
|
|
256
270
|
emailSentAt?: Timestamp | undefined;
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* As CreateInvite.access_until.
|
|
274
|
+
*
|
|
275
|
+
* @generated from field: google.protobuf.Timestamp access_until = 10;
|
|
276
|
+
*/
|
|
277
|
+
accessUntil?: Timestamp | undefined;
|
|
257
278
|
};
|
|
258
279
|
|
|
259
280
|
/**
|
|
@@ -11,7 +11,7 @@ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identit
|
|
|
11
11
|
* Describes the file kusinta/iot/webrtc/v1/invite.proto.
|
|
12
12
|
*/
|
|
13
13
|
export const file_kusinta_iot_webrtc_v1_invite = /*@__PURE__*/
|
|
14
|
-
fileDesc("
|
|
14
|
+
fileDesc("CiJrdXNpbnRhL2lvdC93ZWJydGMvdjEvaW52aXRlLnByb3RvEhVrdXNpbnRhLmlvdC53ZWJydGMudjEiwAEKDENyZWF0ZUludml0ZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSOwoIcmVsYXRpb24YAiABKA4yKS5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuTWVtYmVyc2hpcFJlbGF0aW9uEg0KBWVtYWlsGAMgASgJEjAKDGFjY2Vzc191bnRpbBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiIQoMUmVzZW5kSW52aXRlEhEKCWludml0ZV9pZBgBIAEoCSIhCgxSZXZva2VJbnZpdGUSEQoJaW52aXRlX2lkGAEgASgJIigKE01hcmtJbnZpdGVFbWFpbFNlbnQSEQoJaW52aXRlX2lkGAEgASgJIkYKEExpc3RTcGFjZUludml0ZXMSMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkIigKEkFwcHJvdmVKb2luUmVxdWVzdBISCgpyZXF1ZXN0X2lkGAEgASgJIiUKD0RlbnlKb2luUmVxdWVzdBISCgpyZXF1ZXN0X2lkGAEgASgJItADCgZJbnZpdGUSEQoJaW52aXRlX2lkGAEgASgJEjIKCHNwYWNlX2lkGAIgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI7CghyZWxhdGlvbhgDIAEoDjIpLmt1c2ludGEuaW90LmFjY2Vzcy52MS5NZW1iZXJzaGlwUmVsYXRpb24SMwoKY3JlYXRlZF9ieRgEIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZBIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI0ChB0b2tlbl9leHBpcmVzX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCg9jb2RlX2V4cGlyZXNfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBWVtYWlsGAggASgJEjEKDWVtYWlsX3NlbnRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGFjY2Vzc191bnRpbBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiWgoMSXNzdWVkSW52aXRlEi0KBmludml0ZRgBIAEoCzIdLmt1c2ludGEuaW90LndlYnJ0Yy52MS5JbnZpdGUSDQoFdG9rZW4YAiABKAkSDAoEY29kZRgDIAEoCSKAAwoLSm9pblJlcXVlc3QSEgoKcmVxdWVzdF9pZBgBIAEoCRIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSOwoIcmVsYXRpb24YAyABKA4yKS5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuTWVtYmVyc2hpcFJlbGF0aW9uEjAKB3VzZXJfaWQYBCABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSFAoMZGlzcGxheV9uYW1lGAUgASgJEjMKCmludml0ZWRfYnkYBiABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSMAoMcmVxdWVzdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVlbWFpbBgJIAEoCSKtAQoMU3BhY2VJbnZpdGVzEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIuCgdpbnZpdGVzGAIgAygLMh0ua3VzaW50YS5pb3Qud2VicnRjLnYxLkludml0ZRI5Cg1qb2luX3JlcXVlc3RzGAMgAygLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkpvaW5SZXF1ZXN0QgJIAWIGcHJvdG8z", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_roles, file_kusinta_iot_identity_v1_identity]);
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Describes the message kusinta.iot.webrtc.v1.CreateInvite.
|
|
@@ -14,6 +14,7 @@ import type { ClimateModeKind, ClimateSummaryPeriod } from "../../climate/v1/cli
|
|
|
14
14
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
15
15
|
import type { ServiceSignal } from "../../access/v1/acl_pb.js";
|
|
16
16
|
import type { ApproveJoinRequest, CreateInvite, DenyJoinRequest, ListSpaceInvites, MarkInviteEmailSent, ResendInvite, RevokeInvite } from "./invite_pb.js";
|
|
17
|
+
import type { ListGatewayMembers, RemoveFromGateway, SetAccessUntil, SetMemberRole, SetOwnerOrganisation } from "./members_pb.js";
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* Describes the file kusinta/iot/webrtc/v1/management.proto.
|
|
@@ -922,10 +923,9 @@ export declare const GetRoomHistorySchema: GenMessage<GetRoomHistory>;
|
|
|
922
923
|
* What the parties who do not live in a private space learn of it — the answer to a
|
|
923
924
|
* resident asking who can see what in their home, in reply to GetPrivacyDisclosure.
|
|
924
925
|
*
|
|
925
|
-
* It states the policy
|
|
926
|
-
*
|
|
927
|
-
*
|
|
928
|
-
* service reach from a building or floor above is not.
|
|
926
|
+
* It states the policy, the kinds of party it applies to now and the people counted under
|
|
927
|
+
* each (ServiceParty.names): a resident learns which technicians can see the battery of
|
|
928
|
+
* their radiator valve. The names say who has reach, never where anyone lives.
|
|
929
929
|
*
|
|
930
930
|
* @generated from message kusinta.iot.webrtc.v1.PrivacyDisclosure
|
|
931
931
|
*/
|
|
@@ -942,9 +942,10 @@ export declare type PrivacyDisclosure = Message<"kusinta.iot.webrtc.v1.PrivacyDi
|
|
|
942
942
|
* through another membership, were they not its residents — each role once, with what
|
|
943
943
|
* that role brings here. Each party is listed under every role it holds other than
|
|
944
944
|
* ROLE_RESIDENT, and sees what its entries say together; one with no other role, or whose
|
|
945
|
-
* role the gateway has not yet learnt, counts as ROLE_UNSPECIFIED.
|
|
946
|
-
*
|
|
947
|
-
*
|
|
945
|
+
* role the gateway has not yet learnt, counts as ROLE_UNSPECIFIED. ROLE_GATEWAY_ADMIN is
|
|
946
|
+
* always listed, and ROLE_PROPERTY_OWNER whenever anyone holds it, wherever they are
|
|
947
|
+
* filed: both may file themselves on the home. So the list reads the same whether or not
|
|
948
|
+
* anyone lives in the home, and never understates who has reach or what they see. Devices a resident
|
|
948
949
|
* owns are not shown to service at all.
|
|
949
950
|
*
|
|
950
951
|
* @generated from field: repeated kusinta.iot.webrtc.v1.ServiceParty service_parties = 5;
|
|
@@ -961,6 +962,24 @@ export declare type PrivacyDisclosure = Message<"kusinta.iot.webrtc.v1.PrivacyDi
|
|
|
961
962
|
* @generated from field: kusinta.iot.climate.v1.ClimateSummaryPeriod climate_summary_period = 4;
|
|
962
963
|
*/
|
|
963
964
|
climateSummaryPeriod: ClimateSummaryPeriod;
|
|
965
|
+
|
|
966
|
+
/**
|
|
967
|
+
* The name of the organisation that owns the property, when one is recorded
|
|
968
|
+
* (SetOwnerOrganisation). Its organisation number is not given here.
|
|
969
|
+
*
|
|
970
|
+
* @generated from field: string owner_organisation_name = 6;
|
|
971
|
+
*/
|
|
972
|
+
ownerOrganisationName: string;
|
|
973
|
+
|
|
974
|
+
/**
|
|
975
|
+
* Set when ServiceParty.names are not given to this caller, so that empty lists are not
|
|
976
|
+
* read as nobody being named. Names are given to the home's own residents and to a
|
|
977
|
+
* caller holding ROLE_GATEWAY_ADMIN or ROLE_PROPERTY_OWNER, and withheld from anyone
|
|
978
|
+
* else: a technician who reaches the home learns the kinds of party, not who they are.
|
|
979
|
+
*
|
|
980
|
+
* @generated from field: bool names_withheld = 7;
|
|
981
|
+
*/
|
|
982
|
+
namesWithheld: boolean;
|
|
964
983
|
};
|
|
965
984
|
|
|
966
985
|
/**
|
|
@@ -988,6 +1007,20 @@ export declare type ServiceParty = Message<"kusinta.iot.webrtc.v1.ServiceParty">
|
|
|
988
1007
|
* @generated from field: repeated kusinta.iot.access.v1.ServiceSignal signals = 2;
|
|
989
1008
|
*/
|
|
990
1009
|
signals: ServiceSignal[];
|
|
1010
|
+
|
|
1011
|
+
/**
|
|
1012
|
+
* Each person counted under this role, by the name they gave their account
|
|
1013
|
+
* (MemberDetail.name), once each: everyone holding ROLE_GATEWAY_ADMIN or
|
|
1014
|
+
* ROLE_PROPERTY_OWNER, the registering administrator included once the gateway has seen
|
|
1015
|
+
* their token, and everyone else counted here by a SERVICE membership. A person counted
|
|
1016
|
+
* under several roles is named under each. An empty string stands for a person whose name
|
|
1017
|
+
* the gateway has not learnt, so the list is as long as the number of people. Self-chosen,
|
|
1018
|
+
* so the app shows it as the name they gave rather than as a verified identity. Empty for
|
|
1019
|
+
* every party when PrivacyDisclosure.names_withheld is set.
|
|
1020
|
+
*
|
|
1021
|
+
* @generated from field: repeated string names = 3;
|
|
1022
|
+
*/
|
|
1023
|
+
names: string[];
|
|
991
1024
|
};
|
|
992
1025
|
|
|
993
1026
|
/**
|
|
@@ -1340,6 +1373,38 @@ export declare type ManagementRequest = Message<"kusinta.iot.webrtc.v1.Managemen
|
|
|
1340
1373
|
*/
|
|
1341
1374
|
value: DenyJoinRequest;
|
|
1342
1375
|
case: "denyJoinRequest";
|
|
1376
|
+
} | {
|
|
1377
|
+
/**
|
|
1378
|
+
* Members; see members.proto.
|
|
1379
|
+
*
|
|
1380
|
+
* @generated from field: kusinta.iot.webrtc.v1.ListGatewayMembers list_gateway_members = 31;
|
|
1381
|
+
*/
|
|
1382
|
+
value: ListGatewayMembers;
|
|
1383
|
+
case: "listGatewayMembers";
|
|
1384
|
+
} | {
|
|
1385
|
+
/**
|
|
1386
|
+
* @generated from field: kusinta.iot.webrtc.v1.SetMemberRole set_member_role = 32;
|
|
1387
|
+
*/
|
|
1388
|
+
value: SetMemberRole;
|
|
1389
|
+
case: "setMemberRole";
|
|
1390
|
+
} | {
|
|
1391
|
+
/**
|
|
1392
|
+
* @generated from field: kusinta.iot.webrtc.v1.RemoveFromGateway remove_from_gateway = 33;
|
|
1393
|
+
*/
|
|
1394
|
+
value: RemoveFromGateway;
|
|
1395
|
+
case: "removeFromGateway";
|
|
1396
|
+
} | {
|
|
1397
|
+
/**
|
|
1398
|
+
* @generated from field: kusinta.iot.webrtc.v1.SetAccessUntil set_access_until = 34;
|
|
1399
|
+
*/
|
|
1400
|
+
value: SetAccessUntil;
|
|
1401
|
+
case: "setAccessUntil";
|
|
1402
|
+
} | {
|
|
1403
|
+
/**
|
|
1404
|
+
* @generated from field: kusinta.iot.webrtc.v1.SetOwnerOrganisation set_owner_organisation = 35;
|
|
1405
|
+
*/
|
|
1406
|
+
value: SetOwnerOrganisation;
|
|
1407
|
+
case: "setOwnerOrganisation";
|
|
1343
1408
|
} | { case: undefined; value?: undefined };
|
|
1344
1409
|
};
|
|
1345
1410
|
|
|
@@ -13,12 +13,13 @@ import { file_kusinta_iot_link_v1_link } from "../../link/v1/link_pb.js";
|
|
|
13
13
|
import { file_kusinta_iot_space_v1_space } from "../../space/v1/space_pb.js";
|
|
14
14
|
import { file_kusinta_iot_vendor_lorawan_v1_lorawan } from "../../vendor/lorawan/v1/lorawan_pb.js";
|
|
15
15
|
import { file_kusinta_iot_webrtc_v1_invite } from "./invite_pb.js";
|
|
16
|
+
import { file_kusinta_iot_webrtc_v1_members } from "./members_pb.js";
|
|
16
17
|
|
|
17
18
|
/**
|
|
18
19
|
* Describes the file kusinta/iot/webrtc/v1/management.proto.
|
|
19
20
|
*/
|
|
20
21
|
export const file_kusinta_iot_webrtc_v1_management = /*@__PURE__*/
|
|
21
|
-
fileDesc("
|
|
22
|
+
fileDesc("CiZrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWFuYWdlbWVudC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxItYBCgtDcmVhdGVTcGFjZRI0CgpzcGFjZV90eXBlGAEgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBWZsb29yGAQgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgFIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSFgoJdGltZV96b25lGAYgASgJSACIAQFCDAoKX3RpbWVfem9uZSL1AgoLVXBkYXRlU3BhY2USMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjkKCnNwYWNlX3R5cGUYAiABKA4yIC5rdXNpbnRhLmlvdC5jb21tb24udjEuU3BhY2VUeXBlSAGIAQESEQoEbmFtZRgDIAEoCUgCiAEBEhgKC2Rlc2NyaXB0aW9uGAQgASgJSAOIAQESEgoFZmxvb3IYBSABKAVIBIgBARI7Cg9wYXJlbnRfc3BhY2VfaWQYBiABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkSAASEAoGZGV0YWNoGAcgASgISAASFgoJdGltZV96b25lGAggASgJSAWIAQFCDwoNcGFyZW50X2NoYW5nZUINCgtfc3BhY2VfdHlwZUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CCAoGX2Zsb29yQgwKCl90aW1lX3pvbmUiUgoLRGVsZXRlU3BhY2USMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEg8KB2Nhc2NhZGUYAiABKAgivAEKEUFzc2lnblVzZXJUb1NwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEjsKCHJlbGF0aW9uGAQgASgOMikua3VzaW50YS5pb3QuYWNjZXNzLnYxLk1lbWJlcnNoaXBSZWxhdGlvbkoECAMQBCJ7ChNSZW1vdmVVc2VyRnJvbVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkIn4KElBsYWNlRGV2aWNlSW5TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQigQEKFVJlbW92ZURldmljZUZyb21TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi2AEKC0NsYWltRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEj0KCW93bmVyc2hpcBgCIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEjoKEGluaXRpYWxfc3BhY2VfaWQYAyABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEhgKEHBvc3Nlc3Npb25fcHJvb2YYBCABKAkiRQoNUmVsZWFzZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCKjAQoPUHJvdmlzaW9uRGV2aWNlEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEkUKB2xvcmF3YW4YAiABKAsyMi5rdXNpbnRhLmlvdC52ZW5kb3IubG9yYXdhbi52MS5Mb3Jhd2FuUHJvdmlzaW9uaW5nSABCDQoLY3JlZGVudGlhbHMiRQoKTGlzdFNwYWNlcxI3Cg1yb290X3NwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZCI4CglTcGFjZVRyZWUSKwoGc3BhY2VzGAEgAygLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2UiDwoNTWFuYWdlbWVudEFjayKRAgoQQ3JlYXRlRGV2aWNlTGluaxIxCgZzZW5kZXIYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCghyZWNlaXZlchgCIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCGZ1bmN0aW9uGAMgASgOMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rRnVuY3Rpb24SKwoEbW9kZRgEIAEoDjIdLmt1c2ludGEuaW90LmxpbmsudjEuTGlua01vZGUSMwoIc2V0dGluZ3MYBSABKAsyIS5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtTZXR0aW5ncyIjChBSZW1vdmVEZXZpY2VMaW5rEg8KB2xpbmtfaWQYASABKAkiWAoQVXBkYXRlRGV2aWNlTGluaxIPCgdsaW5rX2lkGAEgASgJEjMKCHNldHRpbmdzGAIgASgLMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rU2V0dGluZ3MiRwoPTGlzdERldmljZUxpbmtzEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkInwKDVNldFJvb21UYXJnZXQSMQoHcm9vbV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSIAoTdGFyZ2V0X2NlbnRpZGVncmVlcxgCIAEoEUgAiAEBQhYKFF90YXJnZXRfY2VudGlkZWdyZWVzIkQKC1Jvb21TZW5zb3JzEjUKCnNlbnNvcl9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJ0CgpSb29tTGltaXRzEh0KEG1pbl9jZW50aWRlZ3JlZXMYASABKBFIAIgBARIdChBtYXhfY2VudGlkZWdyZWVzGAIgASgRSAGIAQFCEwoRX21pbl9jZW50aWRlZ3JlZXNCEwoRX21heF9jZW50aWRlZ3JlZXMi7QEKFENvbmZpZ3VyZVJvb21DbGltYXRlEjEKB3Jvb21faWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjEKBmxpbWl0cxgCIAEoCzIhLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Sb29tTGltaXRzEjMKB3NlbnNvcnMYAyABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUm9vbVNlbnNvcnMSIQoUbG9ja19kZXZpY2VfY29udHJvbHMYBCABKAhIAIgBAUIXChVfbG9ja19kZXZpY2VfY29udHJvbHMikwIKDlNldENsaW1hdGVNb2RlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI1CgRraW5kGAIgASgOMicua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlTW9kZUtpbmQSIQoUc2V0YmFja19jZW50aWRlZ3JlZXMYAyABKBFIAIgBARItCglzdGFydHNfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB2VuZHNfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhcKFV9zZXRiYWNrX2NlbnRpZGVncmVlcyJLChBMaXN0Um9vbUNsaW1hdGVzEjcKDXJvb3Rfc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkIp8BCg5HZXRSb29tSGlzdG9yeRIxCgdyb29tX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBItCglmcm9tX3RpbWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB3RvX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIpgCChFQcml2YWN5RGlzY2xvc3VyZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPAoPc2VydmljZV9wYXJ0aWVzGAUgAygLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlNlcnZpY2VQYXJ0eRJMChZjbGltYXRlX3N1bW1hcnlfcGVyaW9kGAQgASgOMiwua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlU3VtbWFyeVBlcmlvZBIfChdvd25lcl9vcmdhbmlzYXRpb25fbmFtZRgGIAEoCRIWCg5uYW1lc193aXRoaGVsZBgHIAEoCEoECAIQA0oECAMQBCJ/CgxTZXJ2aWNlUGFydHkSKQoEcm9sZRgBIAEoDjIbLmt1c2ludGEuaW90LmFjY2Vzcy52MS5Sb2xlEjUKB3NpZ25hbHMYAiADKA4yJC5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuU2VydmljZVNpZ25hbBINCgVuYW1lcxgDIAMoCSJKChRHZXRQcml2YWN5RGlzY2xvc3VyZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi7gEKGkdldEFwYXJ0bWVudENsaW1hdGVTdW1tYXJ5EjYKDGFwYXJ0bWVudF9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPAoGcGVyaW9kGAIgASgOMiwua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlU3VtbWFyeVBlcmlvZBItCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB3RvX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIlAKElJlY29ubmVjdENvbm5lY3RvchI6Cgxjb25uZWN0b3JfaWQYASABKAsyJC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Db25uZWN0b3JJZCK0EwoRTWFuYWdlbWVudFJlcXVlc3QSOgoMY3JlYXRlX3NwYWNlGAEgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkNyZWF0ZVNwYWNlSAASOgoMdXBkYXRlX3NwYWNlGAIgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLlVwZGF0ZVNwYWNlSAASOgoMZGVsZXRlX3NwYWNlGAMgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkRlbGV0ZVNwYWNlSAASSAoUYXNzaWduX3VzZXJfdG9fc3BhY2UYBCABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuQXNzaWduVXNlclRvU3BhY2VIABJMChZyZW1vdmVfdXNlcl9mcm9tX3NwYWNlGAUgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlbW92ZVVzZXJGcm9tU3BhY2VIABJKChVwbGFjZV9kZXZpY2VfaW5fc3BhY2UYBiABKAsyKS5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGxhY2VEZXZpY2VJblNwYWNlSAASUAoYcmVtb3ZlX2RldmljZV9mcm9tX3NwYWNlGAcgASgLMiwua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlbW92ZURldmljZUZyb21TcGFjZUgAEjoKDGNsYWltX2RldmljZRgIIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5DbGFpbURldmljZUgAEj4KDnJlbGVhc2VfZGV2aWNlGAkgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlbGVhc2VEZXZpY2VIABI4CgtsaXN0X3NwYWNlcxgKIAEoCzIhLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaXN0U3BhY2VzSAASRQoSY3JlYXRlX2RldmljZV9saW5rGAsgASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLkNyZWF0ZURldmljZUxpbmtIABJFChJyZW1vdmVfZGV2aWNlX2xpbmsYDCABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVtb3ZlRGV2aWNlTGlua0gAEkMKEWxpc3RfZGV2aWNlX2xpbmtzGA0gASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3REZXZpY2VMaW5rc0gAEkUKEnVwZGF0ZV9kZXZpY2VfbGluaxgOIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5VcGRhdGVEZXZpY2VMaW5rSAASQgoQcHJvdmlzaW9uX2RldmljZRgPIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm92aXNpb25EZXZpY2VIABI/Cg9zZXRfcm9vbV90YXJnZXQYECABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuU2V0Um9vbVRhcmdldEgAEk0KFmNvbmZpZ3VyZV9yb29tX2NsaW1hdGUYESABKAsyKy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29uZmlndXJlUm9vbUNsaW1hdGVIABJBChBzZXRfY2xpbWF0ZV9tb2RlGBIgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLlNldENsaW1hdGVNb2RlSAASRQoSbGlzdF9yb29tX2NsaW1hdGVzGBMgASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3RSb29tQ2xpbWF0ZXNIABJBChBnZXRfcm9vbV9oaXN0b3J5GBQgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLkdldFJvb21IaXN0b3J5SAASTQoWZ2V0X3ByaXZhY3lfZGlzY2xvc3VyZRgVIAEoCzIrLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HZXRQcml2YWN5RGlzY2xvc3VyZUgAEloKHWdldF9hcGFydG1lbnRfY2xpbWF0ZV9zdW1tYXJ5GBYgASgLMjEua3VzaW50YS5pb3Qud2VicnRjLnYxLkdldEFwYXJ0bWVudENsaW1hdGVTdW1tYXJ5SAASSAoTcmVjb25uZWN0X2Nvbm5lY3RvchgXIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZWNvbm5lY3RDb25uZWN0b3JIABI8Cg1jcmVhdGVfaW52aXRlGBggASgLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLkNyZWF0ZUludml0ZUgAEjwKDXJlc2VuZF9pbnZpdGUYGSABKAsyIy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVzZW5kSW52aXRlSAASPAoNcmV2b2tlX2ludml0ZRgaIAEoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZXZva2VJbnZpdGVIABJMChZtYXJrX2ludml0ZV9lbWFpbF9zZW50GBsgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLk1hcmtJbnZpdGVFbWFpbFNlbnRIABJFChJsaXN0X3NwYWNlX2ludml0ZXMYHCABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuTGlzdFNwYWNlSW52aXRlc0gAEkkKFGFwcHJvdmVfam9pbl9yZXF1ZXN0GB0gASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLkFwcHJvdmVKb2luUmVxdWVzdEgAEkMKEWRlbnlfam9pbl9yZXF1ZXN0GB4gASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLkRlbnlKb2luUmVxdWVzdEgAEkkKFGxpc3RfZ2F0ZXdheV9tZW1iZXJzGB8gASgLMikua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3RHYXRld2F5TWVtYmVyc0gAEj8KD3NldF9tZW1iZXJfcm9sZRggIAEoCzIkLmt1c2ludGEuaW90LndlYnJ0Yy52MS5TZXRNZW1iZXJSb2xlSAASRwoTcmVtb3ZlX2Zyb21fZ2F0ZXdheRghIAEoCzIoLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZW1vdmVGcm9tR2F0ZXdheUgAEkEKEHNldF9hY2Nlc3NfdW50aWwYIiABKAsyJS5rdXNpbnRhLmlvdC53ZWJydGMudjEuU2V0QWNjZXNzVW50aWxIABJNChZzZXRfb3duZXJfb3JnYW5pc2F0aW9uGCMgASgLMisua3VzaW50YS5pb3Qud2VicnRjLnYxLlNldE93bmVyT3JnYW5pc2F0aW9uSABCCQoHcmVxdWVzdEICSAFiBnByb3RvMw", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_acl, file_kusinta_iot_access_v1_roles, file_kusinta_iot_climate_v1_climate, file_kusinta_iot_common_v1_types, file_kusinta_iot_identity_v1_identity, file_kusinta_iot_link_v1_link, file_kusinta_iot_space_v1_space, file_kusinta_iot_vendor_lorawan_v1_lorawan, file_kusinta_iot_webrtc_v1_invite, file_kusinta_iot_webrtc_v1_members]);
|
|
22
23
|
|
|
23
24
|
/**
|
|
24
25
|
* Describes the message kusinta.iot.webrtc.v1.CreateSpace.
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/webrtc/v1/members.proto (package kusinta.iot.webrtc.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
7
|
+
import type { SpaceId, UserId } from "../../identity/v1/identity_pb.js";
|
|
8
|
+
import type { MembershipRelation, Role } from "../../access/v1/roles_pb.js";
|
|
9
|
+
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Describes the file kusinta/iot/webrtc/v1/members.proto.
|
|
13
|
+
*/
|
|
14
|
+
export declare const file_kusinta_iot_webrtc_v1_members: GenFile;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Lists every member of the gateway. Answered with GatewayMembers. Listed to a caller
|
|
18
|
+
* holding ROLE_GATEWAY_ADMIN or ROLE_PROPERTY_OWNER; anyone else is refused as
|
|
19
|
+
* NOT_ENTITLED.
|
|
20
|
+
*
|
|
21
|
+
* This is the one place the gateway says who lives where without the caller reaching the
|
|
22
|
+
* home: those two roles answer for the whole property, and a resident who moves out is
|
|
23
|
+
* removed by them (RemoveFromGateway), so they are shown every member and every membership.
|
|
24
|
+
* Seeing into a home's life — its devices, readings and history — still takes filing on it.
|
|
25
|
+
*
|
|
26
|
+
* @generated from message kusinta.iot.webrtc.v1.ListGatewayMembers
|
|
27
|
+
*/
|
|
28
|
+
export declare type ListGatewayMembers = Message<"kusinta.iot.webrtc.v1.ListGatewayMembers"> & {
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Describes the message kusinta.iot.webrtc.v1.ListGatewayMembers.
|
|
33
|
+
* Use `create(ListGatewayMembersSchema)` to create a new message.
|
|
34
|
+
*/
|
|
35
|
+
export declare const ListGatewayMembersSchema: GenMessage<ListGatewayMembers>;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Gives a member ROLE_PROPERTY_OWNER or ROLE_GATEWAY_ADMIN, or takes it away. Answered with
|
|
39
|
+
* ManagementAck. Only a caller holding ROLE_GATEWAY_ADMIN may; any other role named is
|
|
40
|
+
* INVALID_REQUEST.
|
|
41
|
+
*
|
|
42
|
+
* Granting a role already held, or taking away one not held, changes nothing and is
|
|
43
|
+
* acknowledged. A caller may take a role away from themselves: the registering
|
|
44
|
+
* administrator always remains, so the gateway cannot be left without one. Naming
|
|
45
|
+
* ROLE_GATEWAY_ADMIN for the registering administrator, either way, is refused as
|
|
46
|
+
* "registering_admin"; ROLE_PROPERTY_OWNER may be given to them and taken away as to
|
|
47
|
+
* anyone.
|
|
48
|
+
*
|
|
49
|
+
* Granting either role clears any end to the member's access (MemberDetail.access_until):
|
|
50
|
+
* a property owner or an administrator is not there for a job.
|
|
51
|
+
*
|
|
52
|
+
* Taking either role away also ends the pending invites the user created while holding one,
|
|
53
|
+
* unless they keep the other; invites they created as a resident of a home follow their
|
|
54
|
+
* residency, as they always do. The join requests those invites made stay, since another
|
|
55
|
+
* administrator may still answer them. The change reaches the user's open sessions at once.
|
|
56
|
+
*
|
|
57
|
+
* @generated from message kusinta.iot.webrtc.v1.SetMemberRole
|
|
58
|
+
*/
|
|
59
|
+
export declare type SetMemberRole = Message<"kusinta.iot.webrtc.v1.SetMemberRole"> & {
|
|
60
|
+
/**
|
|
61
|
+
* @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
|
|
62
|
+
*/
|
|
63
|
+
userId?: UserId | undefined;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @generated from field: kusinta.iot.access.v1.Role role = 2;
|
|
67
|
+
*/
|
|
68
|
+
role: Role;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* true grants the role; false takes it away.
|
|
72
|
+
*
|
|
73
|
+
* @generated from field: bool held = 3;
|
|
74
|
+
*/
|
|
75
|
+
held: boolean;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Describes the message kusinta.iot.webrtc.v1.SetMemberRole.
|
|
80
|
+
* Use `create(SetMemberRoleSchema)` to create a new message.
|
|
81
|
+
*/
|
|
82
|
+
export declare const SetMemberRoleSchema: GenMessage<SetMemberRole>;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Removes a member from the whole gateway in one step: every membership they hold, every
|
|
86
|
+
* role the gateway holds for them, every pending invite they created and every join request
|
|
87
|
+
* of their own. Answered with ManagementAck. Their open sessions end, and the api-server drops
|
|
88
|
+
* them from the gateway. Join requests made through their invites end where those were
|
|
89
|
+
* invites a resident made, as when a residency ends, and stay otherwise.
|
|
90
|
+
*
|
|
91
|
+
* A caller holding ROLE_GATEWAY_ADMIN may remove anyone but the registering administrator
|
|
92
|
+
* ("registering_admin"). A caller holding ROLE_PROPERTY_OWNER, and not ROLE_GATEWAY_ADMIN,
|
|
93
|
+
* may remove only a member who holds neither ROLE_PROPERTY_OWNER nor ROLE_GATEWAY_ADMIN;
|
|
94
|
+
* anyone else, the registering administrator included, is refused NOT_ENTITLED.
|
|
95
|
+
*
|
|
96
|
+
* @generated from message kusinta.iot.webrtc.v1.RemoveFromGateway
|
|
97
|
+
*/
|
|
98
|
+
export declare type RemoveFromGateway = Message<"kusinta.iot.webrtc.v1.RemoveFromGateway"> & {
|
|
99
|
+
/**
|
|
100
|
+
* @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
|
|
101
|
+
*/
|
|
102
|
+
userId?: UserId | undefined;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Describes the message kusinta.iot.webrtc.v1.RemoveFromGateway.
|
|
107
|
+
* Use `create(RemoveFromGatewaySchema)` to create a new message.
|
|
108
|
+
*/
|
|
109
|
+
export declare const RemoveFromGatewaySchema: GenMessage<RemoveFromGateway>;
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Sets, moves or clears when a technician's access ends. Answered with ManagementAck. A
|
|
113
|
+
* caller holding ROLE_GATEWAY_ADMIN or ROLE_PROPERTY_OWNER may. Only for a member holding
|
|
114
|
+
* ROLE_TECHNICIAN and no other role but ROLE_RESIDENT ("not_a_technician" otherwise): an end
|
|
115
|
+
* date never reaches a property owner or an administrator.
|
|
116
|
+
*
|
|
117
|
+
* access_until is the instant the access ends; a time not after now is INVALID_REQUEST. The
|
|
118
|
+
* app chooses it, typically the end of a chosen day where the building is. Within a quarter
|
|
119
|
+
* of an hour after it, the gateway takes away the member's ROLE_TECHNICIAN and every SERVICE
|
|
120
|
+
* membership they hold, as an administrator would, and nothing else: a home they live in
|
|
121
|
+
* stays theirs, and their ROLE_TECHNICIAN goes all the same.
|
|
122
|
+
*
|
|
123
|
+
* @generated from message kusinta.iot.webrtc.v1.SetAccessUntil
|
|
124
|
+
*/
|
|
125
|
+
export declare type SetAccessUntil = Message<"kusinta.iot.webrtc.v1.SetAccessUntil"> & {
|
|
126
|
+
/**
|
|
127
|
+
* @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
|
|
128
|
+
*/
|
|
129
|
+
userId?: UserId | undefined;
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Unset clears it: the access lasts until someone takes it away.
|
|
133
|
+
*
|
|
134
|
+
* @generated from field: google.protobuf.Timestamp access_until = 2;
|
|
135
|
+
*/
|
|
136
|
+
accessUntil?: Timestamp | undefined;
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Describes the message kusinta.iot.webrtc.v1.SetAccessUntil.
|
|
141
|
+
* Use `create(SetAccessUntilSchema)` to create a new message.
|
|
142
|
+
*/
|
|
143
|
+
export declare const SetAccessUntilSchema: GenMessage<SetAccessUntil>;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Records the organisation that owns the property, or clears it when unset or when both
|
|
147
|
+
* fields are empty. An organisation number without a name is INVALID_REQUEST. Answered with
|
|
148
|
+
* ManagementAck. Only a caller holding ROLE_GATEWAY_ADMIN may.
|
|
149
|
+
*
|
|
150
|
+
* @generated from message kusinta.iot.webrtc.v1.SetOwnerOrganisation
|
|
151
|
+
*/
|
|
152
|
+
export declare type SetOwnerOrganisation = Message<"kusinta.iot.webrtc.v1.SetOwnerOrganisation"> & {
|
|
153
|
+
/**
|
|
154
|
+
* @generated from field: kusinta.iot.webrtc.v1.OwnerOrganisation organisation = 1;
|
|
155
|
+
*/
|
|
156
|
+
organisation?: OwnerOrganisation | undefined;
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Describes the message kusinta.iot.webrtc.v1.SetOwnerOrganisation.
|
|
161
|
+
* Use `create(SetOwnerOrganisationSchema)` to create a new message.
|
|
162
|
+
*/
|
|
163
|
+
export declare const SetOwnerOrganisationSchema: GenMessage<SetOwnerOrganisation>;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* The organisation that owns the property. The people who act for it each hold
|
|
167
|
+
* ROLE_PROPERTY_OWNER themselves; this only says whom they act for.
|
|
168
|
+
*
|
|
169
|
+
* @generated from message kusinta.iot.webrtc.v1.OwnerOrganisation
|
|
170
|
+
*/
|
|
171
|
+
export declare type OwnerOrganisation = Message<"kusinta.iot.webrtc.v1.OwnerOrganisation"> & {
|
|
172
|
+
/**
|
|
173
|
+
* @generated from field: string name = 1;
|
|
174
|
+
*/
|
|
175
|
+
name: string;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* As the organisation's national register gives it; the gateway does not check it. For a
|
|
179
|
+
* sole trader it can be a personal identity number, so it is shown only where
|
|
180
|
+
* GatewayMembers is, never to residents (PrivacyDisclosure carries the name alone).
|
|
181
|
+
*
|
|
182
|
+
* @generated from field: string organisation_number = 2;
|
|
183
|
+
*/
|
|
184
|
+
organisationNumber: string;
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Describes the message kusinta.iot.webrtc.v1.OwnerOrganisation.
|
|
189
|
+
* Use `create(OwnerOrganisationSchema)` to create a new message.
|
|
190
|
+
*/
|
|
191
|
+
export declare const OwnerOrganisationSchema: GenMessage<OwnerOrganisation>;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Every member of the gateway, in answer to ListGatewayMembers.
|
|
195
|
+
*
|
|
196
|
+
* @generated from message kusinta.iot.webrtc.v1.GatewayMembers
|
|
197
|
+
*/
|
|
198
|
+
export declare type GatewayMembers = Message<"kusinta.iot.webrtc.v1.GatewayMembers"> & {
|
|
199
|
+
/**
|
|
200
|
+
* @generated from field: repeated kusinta.iot.webrtc.v1.MemberDetail members = 1;
|
|
201
|
+
*/
|
|
202
|
+
members: MemberDetail[];
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Unset when none is recorded.
|
|
206
|
+
*
|
|
207
|
+
* @generated from field: kusinta.iot.webrtc.v1.OwnerOrganisation owner_organisation = 2;
|
|
208
|
+
*/
|
|
209
|
+
ownerOrganisation?: OwnerOrganisation | undefined;
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Describes the message kusinta.iot.webrtc.v1.GatewayMembers.
|
|
214
|
+
* Use `create(GatewayMembersSchema)` to create a new message.
|
|
215
|
+
*/
|
|
216
|
+
export declare const GatewayMembersSchema: GenMessage<GatewayMembers>;
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* One member, as an administrator or a property owner sees them.
|
|
220
|
+
*
|
|
221
|
+
* @generated from message kusinta.iot.webrtc.v1.MemberDetail
|
|
222
|
+
*/
|
|
223
|
+
export declare type MemberDetail = Message<"kusinta.iot.webrtc.v1.MemberDetail"> & {
|
|
224
|
+
/**
|
|
225
|
+
* @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
|
|
226
|
+
*/
|
|
227
|
+
userId?: UserId | undefined;
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* The name they gave their account, as the gateway last learnt it: from AppTokenClaims.name
|
|
231
|
+
* when they connect, or from signaling.v1.RedeemInvite.display_name when they redeem with
|
|
232
|
+
* none learnt yet. Self-chosen, so the app shows it as such. Empty when none is learnt. The
|
|
233
|
+
* gateway keeps it only while they are a member, and drops it when they stop being one.
|
|
234
|
+
*
|
|
235
|
+
* @generated from field: string name = 2;
|
|
236
|
+
*/
|
|
237
|
+
name: string;
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Every role they hold here, the registering administrator's ROLE_GATEWAY_ADMIN included,
|
|
241
|
+
* each once.
|
|
242
|
+
*
|
|
243
|
+
* @generated from field: repeated kusinta.iot.access.v1.Role roles = 3;
|
|
244
|
+
*/
|
|
245
|
+
roles: Role[];
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* @generated from field: repeated kusinta.iot.webrtc.v1.MemberSpace memberships = 4;
|
|
249
|
+
*/
|
|
250
|
+
memberships: MemberSpace[];
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* When a technician's access ends (SetAccessUntil). Unset for no end.
|
|
254
|
+
*
|
|
255
|
+
* @generated from field: google.protobuf.Timestamp access_until = 5;
|
|
256
|
+
*/
|
|
257
|
+
accessUntil?: Timestamp | undefined;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Whether they are the administrator who registered the gateway, as the gateway last saw
|
|
261
|
+
* from a token. Grants nothing on its own; it says that their ROLE_GATEWAY_ADMIN cannot be
|
|
262
|
+
* changed here and that RemoveFromGateway will refuse them.
|
|
263
|
+
*
|
|
264
|
+
* @generated from field: bool registering_admin = 6;
|
|
265
|
+
*/
|
|
266
|
+
registeringAdmin: boolean;
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Describes the message kusinta.iot.webrtc.v1.MemberDetail.
|
|
271
|
+
* Use `create(MemberDetailSchema)` to create a new message.
|
|
272
|
+
*/
|
|
273
|
+
export declare const MemberDetailSchema: GenMessage<MemberDetail>;
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* One space a member is filed on, and how they stand to it.
|
|
277
|
+
*
|
|
278
|
+
* @generated from message kusinta.iot.webrtc.v1.MemberSpace
|
|
279
|
+
*/
|
|
280
|
+
export declare type MemberSpace = Message<"kusinta.iot.webrtc.v1.MemberSpace"> & {
|
|
281
|
+
/**
|
|
282
|
+
* @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
|
|
283
|
+
*/
|
|
284
|
+
spaceId?: SpaceId | undefined;
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* @generated from field: kusinta.iot.access.v1.MembershipRelation relation = 2;
|
|
288
|
+
*/
|
|
289
|
+
relation: MembershipRelation;
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Describes the message kusinta.iot.webrtc.v1.MemberSpace.
|
|
294
|
+
* Use `create(MemberSpaceSchema)` to create a new message.
|
|
295
|
+
*/
|
|
296
|
+
export declare const MemberSpaceSchema: GenMessage<MemberSpace>;
|
|
297
|
+
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=js+dts,import_extension=js"
|
|
2
|
+
// @generated from file kusinta/iot/webrtc/v1/members.proto (package kusinta.iot.webrtc.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
7
|
+
import { file_kusinta_iot_access_v1_roles } from "../../access/v1/roles_pb.js";
|
|
8
|
+
import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identity_pb.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Describes the file kusinta/iot/webrtc/v1/members.proto.
|
|
12
|
+
*/
|
|
13
|
+
export const file_kusinta_iot_webrtc_v1_members = /*@__PURE__*/
|
|
14
|
+
fileDesc("CiNrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWVtYmVycy5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxIhQKEkxpc3RHYXRld2F5TWVtYmVycyJ6Cg1TZXRNZW1iZXJSb2xlEjAKB3VzZXJfaWQYASABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSKQoEcm9sZRgCIAEoDjIbLmt1c2ludGEuaW90LmFjY2Vzcy52MS5Sb2xlEgwKBGhlbGQYAyABKAgiRQoRUmVtb3ZlRnJvbUdhdGV3YXkSMAoHdXNlcl9pZBgBIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZCJ0Cg5TZXRBY2Nlc3NVbnRpbBIwCgd1c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEjAKDGFjY2Vzc191bnRpbBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiVgoUU2V0T3duZXJPcmdhbmlzYXRpb24SPgoMb3JnYW5pc2F0aW9uGAEgASgLMigua3VzaW50YS5pb3Qud2VicnRjLnYxLk93bmVyT3JnYW5pc2F0aW9uIj4KEU93bmVyT3JnYW5pc2F0aW9uEgwKBG5hbWUYASABKAkSGwoTb3JnYW5pc2F0aW9uX251bWJlchgCIAEoCSKMAQoOR2F0ZXdheU1lbWJlcnMSNAoHbWVtYmVycxgBIAMoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NZW1iZXJEZXRhaWwSRAoSb3duZXJfb3JnYW5pc2F0aW9uGAIgASgLMigua3VzaW50YS5pb3Qud2VicnRjLnYxLk93bmVyT3JnYW5pc2F0aW9uIoACCgxNZW1iZXJEZXRhaWwSMAoHdXNlcl9pZBgBIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZBIMCgRuYW1lGAIgASgJEioKBXJvbGVzGAMgAygOMhsua3VzaW50YS5pb3QuYWNjZXNzLnYxLlJvbGUSNwoLbWVtYmVyc2hpcHMYBCADKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuTWVtYmVyU3BhY2USMAoMYWNjZXNzX3VudGlsGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIZChFyZWdpc3RlcmluZ19hZG1pbhgGIAEoCCJ+CgtNZW1iZXJTcGFjZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSOwoIcmVsYXRpb24YAiABKA4yKS5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuTWVtYmVyc2hpcFJlbGF0aW9uQgJIAWIGcHJvdG8z", [file_google_protobuf_timestamp, file_kusinta_iot_access_v1_roles, file_kusinta_iot_identity_v1_identity]);
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Describes the message kusinta.iot.webrtc.v1.ListGatewayMembers.
|
|
18
|
+
* Use `create(ListGatewayMembersSchema)` to create a new message.
|
|
19
|
+
*/
|
|
20
|
+
export const ListGatewayMembersSchema = /*@__PURE__*/
|
|
21
|
+
messageDesc(file_kusinta_iot_webrtc_v1_members, 0);
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Describes the message kusinta.iot.webrtc.v1.SetMemberRole.
|
|
25
|
+
* Use `create(SetMemberRoleSchema)` to create a new message.
|
|
26
|
+
*/
|
|
27
|
+
export const SetMemberRoleSchema = /*@__PURE__*/
|
|
28
|
+
messageDesc(file_kusinta_iot_webrtc_v1_members, 1);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Describes the message kusinta.iot.webrtc.v1.RemoveFromGateway.
|
|
32
|
+
* Use `create(RemoveFromGatewaySchema)` to create a new message.
|
|
33
|
+
*/
|
|
34
|
+
export const RemoveFromGatewaySchema = /*@__PURE__*/
|
|
35
|
+
messageDesc(file_kusinta_iot_webrtc_v1_members, 2);
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Describes the message kusinta.iot.webrtc.v1.SetAccessUntil.
|
|
39
|
+
* Use `create(SetAccessUntilSchema)` to create a new message.
|
|
40
|
+
*/
|
|
41
|
+
export const SetAccessUntilSchema = /*@__PURE__*/
|
|
42
|
+
messageDesc(file_kusinta_iot_webrtc_v1_members, 3);
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Describes the message kusinta.iot.webrtc.v1.SetOwnerOrganisation.
|
|
46
|
+
* Use `create(SetOwnerOrganisationSchema)` to create a new message.
|
|
47
|
+
*/
|
|
48
|
+
export const SetOwnerOrganisationSchema = /*@__PURE__*/
|
|
49
|
+
messageDesc(file_kusinta_iot_webrtc_v1_members, 4);
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Describes the message kusinta.iot.webrtc.v1.OwnerOrganisation.
|
|
53
|
+
* Use `create(OwnerOrganisationSchema)` to create a new message.
|
|
54
|
+
*/
|
|
55
|
+
export const OwnerOrganisationSchema = /*@__PURE__*/
|
|
56
|
+
messageDesc(file_kusinta_iot_webrtc_v1_members, 5);
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Describes the message kusinta.iot.webrtc.v1.GatewayMembers.
|
|
60
|
+
* Use `create(GatewayMembersSchema)` to create a new message.
|
|
61
|
+
*/
|
|
62
|
+
export const GatewayMembersSchema = /*@__PURE__*/
|
|
63
|
+
messageDesc(file_kusinta_iot_webrtc_v1_members, 6);
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Describes the message kusinta.iot.webrtc.v1.MemberDetail.
|
|
67
|
+
* Use `create(MemberDetailSchema)` to create a new message.
|
|
68
|
+
*/
|
|
69
|
+
export const MemberDetailSchema = /*@__PURE__*/
|
|
70
|
+
messageDesc(file_kusinta_iot_webrtc_v1_members, 7);
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Describes the message kusinta.iot.webrtc.v1.MemberSpace.
|
|
74
|
+
* Use `create(MemberSpaceSchema)` to create a new message.
|
|
75
|
+
*/
|
|
76
|
+
export const MemberSpaceSchema = /*@__PURE__*/
|
|
77
|
+
messageDesc(file_kusinta_iot_webrtc_v1_members, 8);
|
|
78
|
+
|