@kusinta/iot-schema 0.2.0-beta.25 → 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.
@@ -13,6 +13,8 @@ import type { LinkFunction, LinkMode, LinkSettings } from "../../link/v1/link_pb
13
13
  import type { ClimateModeKind, ClimateSummaryPeriod } from "../../climate/v1/climate_pb.js";
14
14
  import type { Timestamp } from "@bufbuild/protobuf/wkt";
15
15
  import type { ServiceSignal } from "../../access/v1/acl_pb.js";
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";
16
18
 
17
19
  /**
18
20
  * Describes the file kusinta/iot/webrtc/v1/management.proto.
@@ -921,10 +923,9 @@ export declare const GetRoomHistorySchema: GenMessage<GetRoomHistory>;
921
923
  * What the parties who do not live in a private space learn of it — the answer to a
922
924
  * resident asking who can see what in their home, in reply to GetPrivacyDisclosure.
923
925
  *
924
- * It states the policy and the kinds of party it applies to now. It NAMES NOBODY: a resident
925
- * learns that a technician can see the battery of their radiator valve, not which
926
- * technician. Those filed on the home itself are named to its residents in Space.members;
927
- * 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.
928
929
  *
929
930
  * @generated from message kusinta.iot.webrtc.v1.PrivacyDisclosure
930
931
  */
@@ -941,9 +942,10 @@ export declare type PrivacyDisclosure = Message<"kusinta.iot.webrtc.v1.PrivacyDi
941
942
  * through another membership, were they not its residents — each role once, with what
942
943
  * that role brings here. Each party is listed under every role it holds other than
943
944
  * ROLE_RESIDENT, and sees what its entries say together; one with no other role, or whose
944
- * role the gateway has not yet learnt, counts as ROLE_UNSPECIFIED. The gateway's
945
- * administrator is always listed. So the list reads the same whether or not anyone lives
946
- * in the home, and never understates who has reach or what they see. Devices a resident
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
947
949
  * owns are not shown to service at all.
948
950
  *
949
951
  * @generated from field: repeated kusinta.iot.webrtc.v1.ServiceParty service_parties = 5;
@@ -960,6 +962,24 @@ export declare type PrivacyDisclosure = Message<"kusinta.iot.webrtc.v1.PrivacyDi
960
962
  * @generated from field: kusinta.iot.climate.v1.ClimateSummaryPeriod climate_summary_period = 4;
961
963
  */
962
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;
963
983
  };
964
984
 
965
985
  /**
@@ -987,6 +1007,20 @@ export declare type ServiceParty = Message<"kusinta.iot.webrtc.v1.ServiceParty">
987
1007
  * @generated from field: repeated kusinta.iot.access.v1.ServiceSignal signals = 2;
988
1008
  */
989
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[];
990
1024
  };
991
1025
 
992
1026
  /**
@@ -1295,6 +1329,82 @@ export declare type ManagementRequest = Message<"kusinta.iot.webrtc.v1.Managemen
1295
1329
  */
1296
1330
  value: ReconnectConnector;
1297
1331
  case: "reconnectConnector";
1332
+ } | {
1333
+ /**
1334
+ * Invites; see invite.proto.
1335
+ *
1336
+ * @generated from field: kusinta.iot.webrtc.v1.CreateInvite create_invite = 24;
1337
+ */
1338
+ value: CreateInvite;
1339
+ case: "createInvite";
1340
+ } | {
1341
+ /**
1342
+ * @generated from field: kusinta.iot.webrtc.v1.ResendInvite resend_invite = 25;
1343
+ */
1344
+ value: ResendInvite;
1345
+ case: "resendInvite";
1346
+ } | {
1347
+ /**
1348
+ * @generated from field: kusinta.iot.webrtc.v1.RevokeInvite revoke_invite = 26;
1349
+ */
1350
+ value: RevokeInvite;
1351
+ case: "revokeInvite";
1352
+ } | {
1353
+ /**
1354
+ * @generated from field: kusinta.iot.webrtc.v1.MarkInviteEmailSent mark_invite_email_sent = 27;
1355
+ */
1356
+ value: MarkInviteEmailSent;
1357
+ case: "markInviteEmailSent";
1358
+ } | {
1359
+ /**
1360
+ * @generated from field: kusinta.iot.webrtc.v1.ListSpaceInvites list_space_invites = 28;
1361
+ */
1362
+ value: ListSpaceInvites;
1363
+ case: "listSpaceInvites";
1364
+ } | {
1365
+ /**
1366
+ * @generated from field: kusinta.iot.webrtc.v1.ApproveJoinRequest approve_join_request = 29;
1367
+ */
1368
+ value: ApproveJoinRequest;
1369
+ case: "approveJoinRequest";
1370
+ } | {
1371
+ /**
1372
+ * @generated from field: kusinta.iot.webrtc.v1.DenyJoinRequest deny_join_request = 30;
1373
+ */
1374
+ value: DenyJoinRequest;
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";
1298
1408
  } | { case: undefined; value?: undefined };
1299
1409
  };
1300
1410
 
@@ -12,12 +12,14 @@ import { file_kusinta_iot_identity_v1_identity } from "../../identity/v1/identit
12
12
  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
+ import { file_kusinta_iot_webrtc_v1_invite } from "./invite_pb.js";
16
+ import { file_kusinta_iot_webrtc_v1_members } from "./members_pb.js";
15
17
 
16
18
  /**
17
19
  * Describes the file kusinta/iot/webrtc/v1/management.proto.
18
20
  */
19
21
  export const file_kusinta_iot_webrtc_v1_management = /*@__PURE__*/
20
- fileDesc("CiZrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWFuYWdlbWVudC5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxItYBCgtDcmVhdGVTcGFjZRI0CgpzcGFjZV90eXBlGAEgASgOMiAua3VzaW50YS5pb3QuY29tbW9uLnYxLlNwYWNlVHlwZRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBWZsb29yGAQgASgFEjkKD3BhcmVudF9zcGFjZV9pZBgFIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSFgoJdGltZV96b25lGAYgASgJSACIAQFCDAoKX3RpbWVfem9uZSL1AgoLVXBkYXRlU3BhY2USMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjkKCnNwYWNlX3R5cGUYAiABKA4yIC5rdXNpbnRhLmlvdC5jb21tb24udjEuU3BhY2VUeXBlSAGIAQESEQoEbmFtZRgDIAEoCUgCiAEBEhgKC2Rlc2NyaXB0aW9uGAQgASgJSAOIAQESEgoFZmxvb3IYBSABKAVIBIgBARI7Cg9wYXJlbnRfc3BhY2VfaWQYBiABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkSAASEAoGZGV0YWNoGAcgASgISAASFgoJdGltZV96b25lGAggASgJSAWIAQFCDwoNcGFyZW50X2NoYW5nZUINCgtfc3BhY2VfdHlwZUIHCgVfbmFtZUIOCgxfZGVzY3JpcHRpb25CCAoGX2Zsb29yQgwKCl90aW1lX3pvbmUiUgoLRGVsZXRlU3BhY2USMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEg8KB2Nhc2NhZGUYAiABKAgivAEKEUFzc2lnblVzZXJUb1NwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEjsKCHJlbGF0aW9uGAQgASgOMikua3VzaW50YS5pb3QuYWNjZXNzLnYxLk1lbWJlcnNoaXBSZWxhdGlvbkoECAMQBCJ7ChNSZW1vdmVVc2VyRnJvbVNwYWNlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBIwCgd1c2VyX2lkGAIgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkIn4KElBsYWNlRGV2aWNlSW5TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQigQEKFVJlbW92ZURldmljZUZyb21TcGFjZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIyCghzcGFjZV9pZBgCIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi2AEKC0NsYWltRGV2aWNlEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEj0KCW93bmVyc2hpcBgCIAEoDjIqLmt1c2ludGEuaW90LmNvbW1vbi52MS5EZXZpY2VPd25lcnNoaXBUeXBlEjoKEGluaXRpYWxfc3BhY2VfaWQYAyABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEhgKEHBvc3Nlc3Npb25fcHJvb2YYBCABKAkiRQoNUmVsZWFzZURldmljZRI0CglkZXZpY2VfaWQYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCKjAQoPUHJvdmlzaW9uRGV2aWNlEjoKDGNvbm5lY3Rvcl9pZBgBIAEoCzIkLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkNvbm5lY3RvcklkEkUKB2xvcmF3YW4YAiABKAsyMi5rdXNpbnRhLmlvdC52ZW5kb3IubG9yYXdhbi52MS5Mb3Jhd2FuUHJvdmlzaW9uaW5nSABCDQoLY3JlZGVudGlhbHMiRQoKTGlzdFNwYWNlcxI3Cg1yb290X3NwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZCI4CglTcGFjZVRyZWUSKwoGc3BhY2VzGAEgAygLMhsua3VzaW50YS5pb3Quc3BhY2UudjEuU3BhY2UiDwoNTWFuYWdlbWVudEFjayKRAgoQQ3JlYXRlRGV2aWNlTGluaxIxCgZzZW5kZXIYASABKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZBIzCghyZWNlaXZlchgCIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkEjMKCGZ1bmN0aW9uGAMgASgOMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rRnVuY3Rpb24SKwoEbW9kZRgEIAEoDjIdLmt1c2ludGEuaW90LmxpbmsudjEuTGlua01vZGUSMwoIc2V0dGluZ3MYBSABKAsyIS5rdXNpbnRhLmlvdC5saW5rLnYxLkxpbmtTZXR0aW5ncyIjChBSZW1vdmVEZXZpY2VMaW5rEg8KB2xpbmtfaWQYASABKAkiWAoQVXBkYXRlRGV2aWNlTGluaxIPCgdsaW5rX2lkGAEgASgJEjMKCHNldHRpbmdzGAIgASgLMiEua3VzaW50YS5pb3QubGluay52MS5MaW5rU2V0dGluZ3MiRwoPTGlzdERldmljZUxpbmtzEjQKCWRldmljZV9pZBgBIAEoCzIhLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLkRldmljZUlkInwKDVNldFJvb21UYXJnZXQSMQoHcm9vbV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSIAoTdGFyZ2V0X2NlbnRpZGVncmVlcxgCIAEoEUgAiAEBQhYKFF90YXJnZXRfY2VudGlkZWdyZWVzIkQKC1Jvb21TZW5zb3JzEjUKCnNlbnNvcl9pZHMYASADKAsyIS5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5EZXZpY2VJZCJ0CgpSb29tTGltaXRzEh0KEG1pbl9jZW50aWRlZ3JlZXMYASABKBFIAIgBARIdChBtYXhfY2VudGlkZWdyZWVzGAIgASgRSAGIAQFCEwoRX21pbl9jZW50aWRlZ3JlZXNCEwoRX21heF9jZW50aWRlZ3JlZXMi7QEKFENvbmZpZ3VyZVJvb21DbGltYXRlEjEKB3Jvb21faWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjEKBmxpbWl0cxgCIAEoCzIhLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Sb29tTGltaXRzEjMKB3NlbnNvcnMYAyABKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuUm9vbVNlbnNvcnMSIQoUbG9ja19kZXZpY2VfY29udHJvbHMYBCABKAhIAIgBAUIXChVfbG9ja19kZXZpY2VfY29udHJvbHMikwIKDlNldENsaW1hdGVNb2RlEjIKCHNwYWNlX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBI1CgRraW5kGAIgASgOMicua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlTW9kZUtpbmQSIQoUc2V0YmFja19jZW50aWRlZ3JlZXMYAyABKBFIAIgBARItCglzdGFydHNfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB2VuZHNfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhcKFV9zZXRiYWNrX2NlbnRpZGVncmVlcyJLChBMaXN0Um9vbUNsaW1hdGVzEjcKDXJvb3Rfc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkIp8BCg5HZXRSb29tSGlzdG9yeRIxCgdyb29tX2lkGAEgASgLMiAua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuU3BhY2VJZBItCglmcm9tX3RpbWUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB3RvX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIt8BChFQcml2YWN5RGlzY2xvc3VyZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPAoPc2VydmljZV9wYXJ0aWVzGAUgAygLMiMua3VzaW50YS5pb3Qud2VicnRjLnYxLlNlcnZpY2VQYXJ0eRJMChZjbGltYXRlX3N1bW1hcnlfcGVyaW9kGAQgASgOMiwua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlU3VtbWFyeVBlcmlvZEoECAIQA0oECAMQBCJwCgxTZXJ2aWNlUGFydHkSKQoEcm9sZRgBIAEoDjIbLmt1c2ludGEuaW90LmFjY2Vzcy52MS5Sb2xlEjUKB3NpZ25hbHMYAiADKA4yJC5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuU2VydmljZVNpZ25hbCJKChRHZXRQcml2YWN5RGlzY2xvc3VyZRIyCghzcGFjZV9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQi7gEKGkdldEFwYXJ0bWVudENsaW1hdGVTdW1tYXJ5EjYKDGFwYXJ0bWVudF9pZBgBIAEoCzIgLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlNwYWNlSWQSPAoGcGVyaW9kGAIgASgOMiwua3VzaW50YS5pb3QuY2xpbWF0ZS52MS5DbGltYXRlU3VtbWFyeVBlcmlvZBItCglmcm9tX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKB3RvX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIlAKElJlY29ubmVjdENvbm5lY3RvchI6Cgxjb25uZWN0b3JfaWQYASABKAsyJC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Db25uZWN0b3JJZCLuDAoRTWFuYWdlbWVudFJlcXVlc3QSOgoMY3JlYXRlX3NwYWNlGAEgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkNyZWF0ZVNwYWNlSAASOgoMdXBkYXRlX3NwYWNlGAIgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLlVwZGF0ZVNwYWNlSAASOgoMZGVsZXRlX3NwYWNlGAMgASgLMiIua3VzaW50YS5pb3Qud2VicnRjLnYxLkRlbGV0ZVNwYWNlSAASSAoUYXNzaWduX3VzZXJfdG9fc3BhY2UYBCABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuQXNzaWduVXNlclRvU3BhY2VIABJMChZyZW1vdmVfdXNlcl9mcm9tX3NwYWNlGAUgASgLMioua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlbW92ZVVzZXJGcm9tU3BhY2VIABJKChVwbGFjZV9kZXZpY2VfaW5fc3BhY2UYBiABKAsyKS5rdXNpbnRhLmlvdC53ZWJydGMudjEuUGxhY2VEZXZpY2VJblNwYWNlSAASUAoYcmVtb3ZlX2RldmljZV9mcm9tX3NwYWNlGAcgASgLMiwua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlbW92ZURldmljZUZyb21TcGFjZUgAEjoKDGNsYWltX2RldmljZRgIIAEoCzIiLmt1c2ludGEuaW90LndlYnJ0Yy52MS5DbGFpbURldmljZUgAEj4KDnJlbGVhc2VfZGV2aWNlGAkgASgLMiQua3VzaW50YS5pb3Qud2VicnRjLnYxLlJlbGVhc2VEZXZpY2VIABI4CgtsaXN0X3NwYWNlcxgKIAEoCzIhLmt1c2ludGEuaW90LndlYnJ0Yy52MS5MaXN0U3BhY2VzSAASRQoSY3JlYXRlX2RldmljZV9saW5rGAsgASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLkNyZWF0ZURldmljZUxpbmtIABJFChJyZW1vdmVfZGV2aWNlX2xpbmsYDCABKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUmVtb3ZlRGV2aWNlTGlua0gAEkMKEWxpc3RfZGV2aWNlX2xpbmtzGA0gASgLMiYua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3REZXZpY2VMaW5rc0gAEkUKEnVwZGF0ZV9kZXZpY2VfbGluaxgOIAEoCzInLmt1c2ludGEuaW90LndlYnJ0Yy52MS5VcGRhdGVEZXZpY2VMaW5rSAASQgoQcHJvdmlzaW9uX2RldmljZRgPIAEoCzImLmt1c2ludGEuaW90LndlYnJ0Yy52MS5Qcm92aXNpb25EZXZpY2VIABI/Cg9zZXRfcm9vbV90YXJnZXQYECABKAsyJC5rdXNpbnRhLmlvdC53ZWJydGMudjEuU2V0Um9vbVRhcmdldEgAEk0KFmNvbmZpZ3VyZV9yb29tX2NsaW1hdGUYESABKAsyKy5rdXNpbnRhLmlvdC53ZWJydGMudjEuQ29uZmlndXJlUm9vbUNsaW1hdGVIABJBChBzZXRfY2xpbWF0ZV9tb2RlGBIgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLlNldENsaW1hdGVNb2RlSAASRQoSbGlzdF9yb29tX2NsaW1hdGVzGBMgASgLMicua3VzaW50YS5pb3Qud2VicnRjLnYxLkxpc3RSb29tQ2xpbWF0ZXNIABJBChBnZXRfcm9vbV9oaXN0b3J5GBQgASgLMiUua3VzaW50YS5pb3Qud2VicnRjLnYxLkdldFJvb21IaXN0b3J5SAASTQoWZ2V0X3ByaXZhY3lfZGlzY2xvc3VyZRgVIAEoCzIrLmt1c2ludGEuaW90LndlYnJ0Yy52MS5HZXRQcml2YWN5RGlzY2xvc3VyZUgAEloKHWdldF9hcGFydG1lbnRfY2xpbWF0ZV9zdW1tYXJ5GBYgASgLMjEua3VzaW50YS5pb3Qud2VicnRjLnYxLkdldEFwYXJ0bWVudENsaW1hdGVTdW1tYXJ5SAASSAoTcmVjb25uZWN0X2Nvbm5lY3RvchgXIAEoCzIpLmt1c2ludGEuaW90LndlYnJ0Yy52MS5SZWNvbm5lY3RDb25uZWN0b3JIAEIJCgdyZXF1ZXN0QgJIAWIGcHJvdG8z", [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]);
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]);
21
23
 
22
24
  /**
23
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
+