@kusinta/iot-schema 0.2.0-beta.4 → 0.2.0-beta.40

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.
Files changed (67) hide show
  1. package/package.json +12 -1
  2. package/src/kusinta/iot/access/v1/acl_pb.d.ts +119 -2
  3. package/src/kusinta/iot/access/v1/acl_pb.js +20 -3
  4. package/src/kusinta/iot/access/v1/roles_pb.d.ts +131 -4
  5. package/src/kusinta/iot/access/v1/roles_pb.js +110 -5
  6. package/src/kusinta/iot/accountlink/v1/account_link_pb.d.ts +583 -0
  7. package/src/kusinta/iot/accountlink/v1/account_link_pb.js +160 -0
  8. package/src/kusinta/iot/climate/v1/climate_pb.d.ts +1041 -0
  9. package/src/kusinta/iot/climate/v1/climate_pb.js +206 -0
  10. package/src/kusinta/iot/commissioning/v1/commissioning_pb.d.ts +1128 -0
  11. package/src/kusinta/iot/commissioning/v1/commissioning_pb.js +246 -0
  12. package/src/kusinta/iot/common/v1/pairing_pb.d.ts +217 -0
  13. package/src/kusinta/iot/common/v1/pairing_pb.js +50 -0
  14. package/src/kusinta/iot/common/v1/types_pb.d.ts +175 -0
  15. package/src/kusinta/iot/common/v1/types_pb.js +70 -1
  16. package/src/kusinta/iot/connector/v1/connector_pb.d.ts +691 -2
  17. package/src/kusinta/iot/connector/v1/connector_pb.js +104 -13
  18. package/src/kusinta/iot/device/v1/cluster_state_pb.d.ts +213 -1
  19. package/src/kusinta/iot/device/v1/cluster_state_pb.js +37 -2
  20. package/src/kusinta/iot/device/v1/descriptor_pb.d.ts +22 -2
  21. package/src/kusinta/iot/device/v1/descriptor_pb.js +2 -1
  22. package/src/kusinta/iot/device/v1/device_event_pb.d.ts +87 -5
  23. package/src/kusinta/iot/device/v1/device_event_pb.js +1 -1
  24. package/src/kusinta/iot/device/v1/device_pb.d.ts +164 -11
  25. package/src/kusinta/iot/device/v1/device_pb.js +33 -2
  26. package/src/kusinta/iot/device/v1/properties_pb.d.ts +26 -5
  27. package/src/kusinta/iot/device/v1/properties_pb.js +1 -1
  28. package/src/kusinta/iot/device/v1/property_update_pb.d.ts +28 -2
  29. package/src/kusinta/iot/device/v1/property_update_pb.js +2 -1
  30. package/src/kusinta/iot/heating/v1/heating_pb.d.ts +619 -0
  31. package/src/kusinta/iot/heating/v1/heating_pb.js +118 -0
  32. package/src/kusinta/iot/link/v1/link_pb.d.ts +438 -0
  33. package/src/kusinta/iot/link/v1/link_pb.js +121 -0
  34. package/src/kusinta/iot/registration/v1/registration_pb.d.ts +18 -0
  35. package/src/kusinta/iot/registration/v1/registration_pb.js +1 -1
  36. package/src/kusinta/iot/reporting/v1/reporting_pb.d.ts +1225 -0
  37. package/src/kusinta/iot/reporting/v1/reporting_pb.js +238 -0
  38. package/src/kusinta/iot/reporting/v1/reporting_service_pb.d.ts +63 -0
  39. package/src/kusinta/iot/reporting/v1/reporting_service_pb.js +24 -0
  40. package/src/kusinta/iot/signaling/v1/signaling_pb.d.ts +920 -7
  41. package/src/kusinta/iot/signaling/v1/signaling_pb.js +163 -4
  42. package/src/kusinta/iot/signaling/v1/signaling_service_pb.d.ts +24 -1
  43. package/src/kusinta/iot/signaling/v1/signaling_service_pb.js +1 -1
  44. package/src/kusinta/iot/space/v1/space_pb.d.ts +107 -2
  45. package/src/kusinta/iot/space/v1/space_pb.js +10 -1
  46. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.d.ts +19 -3
  47. package/src/kusinta/iot/vendor/homematic/v1/homematic_pb.js +1 -1
  48. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.d.ts +69 -0
  49. package/src/kusinta/iot/vendor/lorawan/v1/lorawan_pb.js +19 -0
  50. package/src/kusinta/iot/vendor/v1/vendor_options_pb.d.ts +4 -4
  51. package/src/kusinta/iot/vendor/v1/vendor_options_pb.js +4 -4
  52. package/src/kusinta/iot/webrtc/v1/app_token_pb.d.ts +48 -5
  53. package/src/kusinta/iot/webrtc/v1/app_token_pb.js +1 -1
  54. package/src/kusinta/iot/webrtc/v1/command_pb.d.ts +56 -0
  55. package/src/kusinta/iot/webrtc/v1/command_pb.js +1 -1
  56. package/src/kusinta/iot/webrtc/v1/device_state_pb.d.ts +179 -5
  57. package/src/kusinta/iot/webrtc/v1/device_state_pb.js +35 -6
  58. package/src/kusinta/iot/webrtc/v1/envelope_pb.d.ts +607 -3
  59. package/src/kusinta/iot/webrtc/v1/envelope_pb.js +68 -3
  60. package/src/kusinta/iot/webrtc/v1/invite_pb.d.ts +498 -0
  61. package/src/kusinta/iot/webrtc/v1/invite_pb.js +108 -0
  62. package/src/kusinta/iot/webrtc/v1/management_pb.d.ts +1687 -75
  63. package/src/kusinta/iot/webrtc/v1/management_pb.js +261 -5
  64. package/src/kusinta/iot/webrtc/v1/members_pb.d.ts +536 -0
  65. package/src/kusinta/iot/webrtc/v1/members_pb.js +113 -0
  66. package/src/kusinta/iot/webrtc/v1/permission_push_pb.d.ts +66 -4
  67. package/src/kusinta/iot/webrtc/v1/permission_push_pb.js +10 -2
@@ -0,0 +1,536 @@
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
+ * Those two roles answer for the whole property, and a resident who moves out is removed by
22
+ * them (RemoveUserFromSpace or RemoveFromGateway), so every member is listed to them, as the
23
+ * rule for staff allows (access.v1.Role, STAFF):
24
+ * * every residency as an entry of its own, under its residency id: the one RESIDENT
25
+ * membership and since when (MemberSpace.since), with no name, no email and no roles;
26
+ * * every user under their user id, while they hold a role or a membership other than a
27
+ * residency: their roles save ROLE_RESIDENT, and those other memberships. Staff are
28
+ * given by name and email address (MemberDetail.name, MemberDetail.email); anyone else
29
+ * by neither;
30
+ * * the caller themselves as one entry under their user id, with everything they hold.
31
+ * So becoming staff, or stopping, changes a user's entry and never a residency's.
32
+ * Seeing into a home's life — its devices, readings and history — still takes filing on it.
33
+ *
34
+ * @generated from message kusinta.iot.webrtc.v1.ListGatewayMembers
35
+ */
36
+ export declare type ListGatewayMembers = Message<"kusinta.iot.webrtc.v1.ListGatewayMembers"> & {
37
+ };
38
+
39
+ /**
40
+ * Describes the message kusinta.iot.webrtc.v1.ListGatewayMembers.
41
+ * Use `create(ListGatewayMembersSchema)` to create a new message.
42
+ */
43
+ export declare const ListGatewayMembersSchema: GenMessage<ListGatewayMembers>;
44
+
45
+ /**
46
+ * Takes ROLE_PROPERTY_OWNER or ROLE_GATEWAY_ADMIN away from a member, at once. Answered with
47
+ * ManagementAck. Only a caller holding ROLE_GATEWAY_ADMIN may; any other role named is
48
+ * INVALID_REQUEST. Granting is a request the person accepts (RequestPromotion), so held set
49
+ * to true is INVALID_REQUEST and grants nothing.
50
+ *
51
+ * user_id is never a residency id (INVALID_REQUEST): the member's entry would then appear
52
+ * under their user id, named, and tie the residency to them.
53
+ *
54
+ * Taking away a role not held changes nothing and is acknowledged. A caller may take a role
55
+ * away from themselves: the vouched administrators always remain, so the gateway cannot be
56
+ * left without an administrator. Naming ROLE_GATEWAY_ADMIN for a vouched administrator is
57
+ * refused as "vouched_admin"; ROLE_PROPERTY_OWNER is taken away from them as from anyone.
58
+ *
59
+ * Taking either role away also ends the pending invites the user created while holding one,
60
+ * unless they keep the other; invites they created as a resident of a home follow their
61
+ * residency, as they always do. The join requests those invites made stay, since another
62
+ * administrator may still answer them. Taking away ROLE_GATEWAY_ADMIN ends the promotion
63
+ * requests the user made. The change reaches the user's open sessions at once.
64
+ *
65
+ * @generated from message kusinta.iot.webrtc.v1.SetMemberRole
66
+ */
67
+ export declare type SetMemberRole = Message<"kusinta.iot.webrtc.v1.SetMemberRole"> & {
68
+ /**
69
+ * @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
70
+ */
71
+ userId?: UserId | undefined;
72
+
73
+ /**
74
+ * @generated from field: kusinta.iot.access.v1.Role role = 2;
75
+ */
76
+ role: Role;
77
+
78
+ /**
79
+ * false takes the role away. true is INVALID_REQUEST: see RequestPromotion.
80
+ *
81
+ * @generated from field: bool held = 3;
82
+ */
83
+ held: boolean;
84
+ };
85
+
86
+ /**
87
+ * Describes the message kusinta.iot.webrtc.v1.SetMemberRole.
88
+ * Use `create(SetMemberRoleSchema)` to create a new message.
89
+ */
90
+ export declare const SetMemberRoleSchema: GenMessage<SetMemberRole>;
91
+
92
+ /**
93
+ * Asks a member to accept ROLE_PROPERTY_OWNER or ROLE_GATEWAY_ADMIN. Answered with
94
+ * ManagementAck once the request is made; the role is granted only when the person asked
95
+ * accepts it (AnswerPromotion). Only a caller holding ROLE_GATEWAY_ADMIN may; any other role
96
+ * named is INVALID_REQUEST. The caller may ask themselves, as anyone.
97
+ *
98
+ * user_id is never a residency id (INVALID_REQUEST), as for SetMemberRole: a resident becomes
99
+ * staff by an act of their own — redeeming a SERVICE invite (invite.proto) — and is asked from
100
+ * the entry that gives. A user id the caller is told nothing of under it is "not_a_member".
101
+ * Naming ROLE_GATEWAY_ADMIN for a vouched administrator is refused as "vouched_admin";
102
+ * ROLE_PROPERTY_OWNER may be asked of them as of anyone.
103
+ *
104
+ * Asking for a role the member already holds, or one a pending request already asks of them,
105
+ * changes nothing and is acknowledged: one request per member and role, whoever asked.
106
+ *
107
+ * A request is pending for at most 7 days from when it was made (PromotionRequest.expires_at),
108
+ * and then lapses as if declined. It ends sooner when it is answered, when the member stops
109
+ * being a member, when they come to hold the role otherwise, and when its asker no longer holds
110
+ * ROLE_GATEWAY_ADMIN — an outgoing administrator of a transfer included
111
+ * (signaling.v1.TransferOutcome) — since no administrator then stands behind it.
112
+ *
113
+ * The app shows the person asked, before they answer, that accepting makes their name and email
114
+ * address shown to property owners and administrators (MemberDetail.name, MemberDetail.email),
115
+ * and to residents by name (PrivacyDisclosure).
116
+ *
117
+ * @generated from message kusinta.iot.webrtc.v1.RequestPromotion
118
+ */
119
+ export declare type RequestPromotion = Message<"kusinta.iot.webrtc.v1.RequestPromotion"> & {
120
+ /**
121
+ * @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
122
+ */
123
+ userId?: UserId | undefined;
124
+
125
+ /**
126
+ * @generated from field: kusinta.iot.access.v1.Role role = 2;
127
+ */
128
+ role: Role;
129
+ };
130
+
131
+ /**
132
+ * Describes the message kusinta.iot.webrtc.v1.RequestPromotion.
133
+ * Use `create(RequestPromotionSchema)` to create a new message.
134
+ */
135
+ export declare const RequestPromotionSchema: GenMessage<RequestPromotion>;
136
+
137
+ /**
138
+ * Accepts or declines a promotion request. Answered with ManagementAck. Only the person asked
139
+ * may, from a session of their own; a request_id that is not pending for the caller — someone
140
+ * else's, one the caller made of another, unknown, answered or lapsed — is refused as
141
+ * NOT_ENTITLED, so that no request id can be probed.
142
+ *
143
+ * Accepting grants the role at once, and clears any end to the person's access
144
+ * (MemberDetail.access_until): a property owner or an administrator is not there for a job. The
145
+ * change reaches their open sessions at once. Declining ends the request and grants nothing; the
146
+ * asker learns only that it is no longer pending.
147
+ *
148
+ * @generated from message kusinta.iot.webrtc.v1.AnswerPromotion
149
+ */
150
+ export declare type AnswerPromotion = Message<"kusinta.iot.webrtc.v1.AnswerPromotion"> & {
151
+ /**
152
+ * As PromotionRequest.request_id.
153
+ *
154
+ * @generated from field: string request_id = 1;
155
+ */
156
+ requestId: string;
157
+
158
+ /**
159
+ * true accepts; false declines.
160
+ *
161
+ * @generated from field: bool accept = 2;
162
+ */
163
+ accept: boolean;
164
+ };
165
+
166
+ /**
167
+ * Describes the message kusinta.iot.webrtc.v1.AnswerPromotion.
168
+ * Use `create(AnswerPromotionSchema)` to create a new message.
169
+ */
170
+ export declare const AnswerPromotionSchema: GenMessage<AnswerPromotion>;
171
+
172
+ /**
173
+ * Lists the pending promotion requests the caller made or was asked to accept, answered with
174
+ * PromotionRequests. Anyone may ask; nobody is refused. A request is listed to those two people
175
+ * alone: other administrators do not see it, and nor does anyone else.
176
+ *
177
+ * @generated from message kusinta.iot.webrtc.v1.ListPromotionRequests
178
+ */
179
+ export declare type ListPromotionRequests = Message<"kusinta.iot.webrtc.v1.ListPromotionRequests"> & {
180
+ };
181
+
182
+ /**
183
+ * Describes the message kusinta.iot.webrtc.v1.ListPromotionRequests.
184
+ * Use `create(ListPromotionRequestsSchema)` to create a new message.
185
+ */
186
+ export declare const ListPromotionRequestsSchema: GenMessage<ListPromotionRequests>;
187
+
188
+ /**
189
+ * One pending promotion request, as listed to the person asked or the asker.
190
+ *
191
+ * @generated from message kusinta.iot.webrtc.v1.PromotionRequest
192
+ */
193
+ export declare type PromotionRequest = Message<"kusinta.iot.webrtc.v1.PromotionRequest"> & {
194
+ /**
195
+ * Minted by the gateway, opaque.
196
+ *
197
+ * @generated from field: string request_id = 1;
198
+ */
199
+ requestId: string;
200
+
201
+ /**
202
+ * The person asked.
203
+ *
204
+ * @generated from field: kusinta.iot.identity.v1.UserId user_id = 2;
205
+ */
206
+ userId?: UserId | undefined;
207
+
208
+ /**
209
+ * ROLE_PROPERTY_OWNER or ROLE_GATEWAY_ADMIN.
210
+ *
211
+ * @generated from field: kusinta.iot.access.v1.Role role = 3;
212
+ */
213
+ role: Role;
214
+
215
+ /**
216
+ * Who asked, and the name they gave their account (AppTokenClaims.name) as the gateway last
217
+ * learnt it, so the person asked knows who asks; empty when none is learnt. Self-chosen, as
218
+ * MemberDetail.name is.
219
+ *
220
+ * @generated from field: kusinta.iot.identity.v1.UserId requested_by = 4;
221
+ */
222
+ requestedBy?: UserId | undefined;
223
+
224
+ /**
225
+ * @generated from field: string requested_by_name = 5;
226
+ */
227
+ requestedByName: string;
228
+
229
+ /**
230
+ * @generated from field: google.protobuf.Timestamp requested_at = 6;
231
+ */
232
+ requestedAt?: Timestamp | undefined;
233
+
234
+ /**
235
+ * When the request lapses unanswered: 7 days after requested_at.
236
+ *
237
+ * @generated from field: google.protobuf.Timestamp expires_at = 7;
238
+ */
239
+ expiresAt?: Timestamp | undefined;
240
+ };
241
+
242
+ /**
243
+ * Describes the message kusinta.iot.webrtc.v1.PromotionRequest.
244
+ * Use `create(PromotionRequestSchema)` to create a new message.
245
+ */
246
+ export declare const PromotionRequestSchema: GenMessage<PromotionRequest>;
247
+
248
+ /**
249
+ * The pending promotion requests a session's user made or was asked to accept.
250
+ *
251
+ * The answer to ListPromotionRequests, and pushed as GatewayMessage.promotion_requests to every
252
+ * session of the person asked and of the asker whenever a request they are listed changes — made,
253
+ * answered, lapsed or ended — so the person asked sees a request without reloading. A push always
254
+ * carries the whole list, as ListPromotionRequests would list it to that session.
255
+ *
256
+ * @generated from message kusinta.iot.webrtc.v1.PromotionRequests
257
+ */
258
+ export declare type PromotionRequests = Message<"kusinta.iot.webrtc.v1.PromotionRequests"> & {
259
+ /**
260
+ * @generated from field: repeated kusinta.iot.webrtc.v1.PromotionRequest requests = 1;
261
+ */
262
+ requests: PromotionRequest[];
263
+ };
264
+
265
+ /**
266
+ * Describes the message kusinta.iot.webrtc.v1.PromotionRequests.
267
+ * Use `create(PromotionRequestsSchema)` to create a new message.
268
+ */
269
+ export declare const PromotionRequestsSchema: GenMessage<PromotionRequests>;
270
+
271
+ /**
272
+ * Removes a member from the gateway in one step: every membership they hold, every role the
273
+ * gateway holds for them, every pending invite they created and every join request of their
274
+ * own. Answered with ManagementAck. Their open sessions end, and the api-server drops them
275
+ * from the gateway. Join requests made through their invites end where those were invites
276
+ * a resident made, as when a residency ends, and stay otherwise.
277
+ *
278
+ * What a caller is not told of under the id given stays: by a user id, a caller who does not
279
+ * live in a home they hold leaves that residency in place, and ends only the rest; the user
280
+ * then stays a member, a resident of it. By a residency id, it ends that residency alone, as
281
+ * RemoveUserFromSpace would, with the invites the holder made as its resident.
282
+ *
283
+ * A caller holding ROLE_GATEWAY_ADMIN may remove anyone but a vouched administrator
284
+ * ("vouched_admin"). A caller holding ROLE_PROPERTY_OWNER, and not ROLE_GATEWAY_ADMIN,
285
+ * may remove only a member who holds neither ROLE_PROPERTY_OWNER nor ROLE_GATEWAY_ADMIN;
286
+ * anyone else, a vouched administrator included, is refused NOT_ENTITLED. A residency
287
+ * id is never refused for its holder's roles, since it tells none.
288
+ *
289
+ * @generated from message kusinta.iot.webrtc.v1.RemoveFromGateway
290
+ */
291
+ export declare type RemoveFromGateway = Message<"kusinta.iot.webrtc.v1.RemoveFromGateway"> & {
292
+ /**
293
+ * @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
294
+ */
295
+ userId?: UserId | undefined;
296
+ };
297
+
298
+ /**
299
+ * Describes the message kusinta.iot.webrtc.v1.RemoveFromGateway.
300
+ * Use `create(RemoveFromGatewaySchema)` to create a new message.
301
+ */
302
+ export declare const RemoveFromGatewaySchema: GenMessage<RemoveFromGateway>;
303
+
304
+ /**
305
+ * Sets, moves or clears when a technician's access ends. Answered with ManagementAck. A
306
+ * caller holding ROLE_GATEWAY_ADMIN or ROLE_PROPERTY_OWNER may. Only for a member holding
307
+ * ROLE_TECHNICIAN and no other role but ROLE_RESIDENT ("not_a_technician" otherwise, and for a
308
+ * residency id, which names no technician): an end date never reaches a property owner or
309
+ * an administrator.
310
+ *
311
+ * access_until is the instant the access ends; a time not after now is INVALID_REQUEST. The
312
+ * app chooses it, typically the end of a chosen day where the building is. Within a quarter
313
+ * of an hour after it, the gateway takes away the member's ROLE_TECHNICIAN and every SERVICE
314
+ * membership they hold, as an administrator would, and nothing else: a home they live in
315
+ * stays theirs, and their ROLE_TECHNICIAN goes all the same.
316
+ *
317
+ * @generated from message kusinta.iot.webrtc.v1.SetAccessUntil
318
+ */
319
+ export declare type SetAccessUntil = Message<"kusinta.iot.webrtc.v1.SetAccessUntil"> & {
320
+ /**
321
+ * @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
322
+ */
323
+ userId?: UserId | undefined;
324
+
325
+ /**
326
+ * Unset clears it: the access lasts until someone takes it away.
327
+ *
328
+ * @generated from field: google.protobuf.Timestamp access_until = 2;
329
+ */
330
+ accessUntil?: Timestamp | undefined;
331
+ };
332
+
333
+ /**
334
+ * Describes the message kusinta.iot.webrtc.v1.SetAccessUntil.
335
+ * Use `create(SetAccessUntilSchema)` to create a new message.
336
+ */
337
+ export declare const SetAccessUntilSchema: GenMessage<SetAccessUntil>;
338
+
339
+ /**
340
+ * Superseded: the organisation that owns the property is the one that owns the gateway, and its
341
+ * name comes with the vouched set (signaling.v1.VouchedAdministrators.organisation_name). A
342
+ * gateway refuses this request as INVALID_REQUEST, whoever asks, and records nothing from it, so
343
+ * that no one believes they set the name. Kept so that an older app's request still decodes.
344
+ *
345
+ * @generated from message kusinta.iot.webrtc.v1.SetOwnerOrganisation
346
+ */
347
+ export declare type SetOwnerOrganisation = Message<"kusinta.iot.webrtc.v1.SetOwnerOrganisation"> & {
348
+ /**
349
+ * @generated from field: kusinta.iot.webrtc.v1.OwnerOrganisation organisation = 1;
350
+ */
351
+ organisation?: OwnerOrganisation | undefined;
352
+ };
353
+
354
+ /**
355
+ * Describes the message kusinta.iot.webrtc.v1.SetOwnerOrganisation.
356
+ * Use `create(SetOwnerOrganisationSchema)` to create a new message.
357
+ */
358
+ export declare const SetOwnerOrganisationSchema: GenMessage<SetOwnerOrganisation>;
359
+
360
+ /**
361
+ * The organisation that owns the property: the one that owns the gateway. The people who act
362
+ * for it in the building each hold ROLE_PROPERTY_OWNER themselves; this only says whom they
363
+ * act for.
364
+ *
365
+ * @generated from message kusinta.iot.webrtc.v1.OwnerOrganisation
366
+ */
367
+ export declare type OwnerOrganisation = Message<"kusinta.iot.webrtc.v1.OwnerOrganisation"> & {
368
+ /**
369
+ * As the vouched set gives it (signaling.v1.VouchedAdministrators.organisation_name).
370
+ *
371
+ * @generated from field: string name = 1;
372
+ */
373
+ name: string;
374
+
375
+ /**
376
+ * Always empty: the api-server never gives the gateway an organisation number, and the
377
+ * gateway keeps none. Once read from SetOwnerOrganisation, which is superseded.
378
+ *
379
+ * @generated from field: string organisation_number = 2 [deprecated = true];
380
+ * @deprecated
381
+ */
382
+ organisationNumber: string;
383
+ };
384
+
385
+ /**
386
+ * Describes the message kusinta.iot.webrtc.v1.OwnerOrganisation.
387
+ * Use `create(OwnerOrganisationSchema)` to create a new message.
388
+ */
389
+ export declare const OwnerOrganisationSchema: GenMessage<OwnerOrganisation>;
390
+
391
+ /**
392
+ * Every member of the gateway, in answer to ListGatewayMembers.
393
+ *
394
+ * @generated from message kusinta.iot.webrtc.v1.GatewayMembers
395
+ */
396
+ export declare type GatewayMembers = Message<"kusinta.iot.webrtc.v1.GatewayMembers"> & {
397
+ /**
398
+ * @generated from field: repeated kusinta.iot.webrtc.v1.MemberDetail members = 1;
399
+ */
400
+ members: MemberDetail[];
401
+
402
+ /**
403
+ * The owning organisation, by name. Unset while the gateway holds no vouched set.
404
+ *
405
+ * @generated from field: kusinta.iot.webrtc.v1.OwnerOrganisation owner_organisation = 2;
406
+ */
407
+ ownerOrganisation?: OwnerOrganisation | undefined;
408
+ };
409
+
410
+ /**
411
+ * Describes the message kusinta.iot.webrtc.v1.GatewayMembers.
412
+ * Use `create(GatewayMembersSchema)` to create a new message.
413
+ */
414
+ export declare const GatewayMembersSchema: GenMessage<GatewayMembers>;
415
+
416
+ /**
417
+ * One member, as an administrator or a property owner sees them: a user, or a residency
418
+ * (ListGatewayMembers).
419
+ *
420
+ * @generated from message kusinta.iot.webrtc.v1.MemberDetail
421
+ */
422
+ export declare type MemberDetail = Message<"kusinta.iot.webrtc.v1.MemberDetail"> & {
423
+ /**
424
+ * The user's id, or on a residency's entry its residency id.
425
+ *
426
+ * @generated from field: kusinta.iot.identity.v1.UserId user_id = 1;
427
+ */
428
+ userId?: UserId | undefined;
429
+
430
+ /**
431
+ * The name they gave their account, as the gateway last learnt it: from AppTokenClaims.name
432
+ * when they connect, or from signaling.v1.RedeemInvite.display_name when they redeem with
433
+ * none learnt yet. Self-chosen, so the app shows it as such. Given only for a member who is
434
+ * staff (access.v1.Role, STAFF), and on the caller's own entry; empty for anyone else, on
435
+ * every residency's entry, and when none is learnt. The gateway keeps it only while they are a member,
436
+ * and drops it when they stop being one.
437
+ *
438
+ * @generated from field: string name = 2;
439
+ */
440
+ name: string;
441
+
442
+ /**
443
+ * Every role they hold here, a vouched administrator's ROLE_GATEWAY_ADMIN included,
444
+ * each once — save that ROLE_RESIDENT is left out of every entry but the caller's own,
445
+ * since it would say they live in the building. None on a residency's entry.
446
+ *
447
+ * @generated from field: repeated kusinta.iot.access.v1.Role roles = 3;
448
+ */
449
+ roles: Role[];
450
+
451
+ /**
452
+ * Every space they are filed on but where they live, which is listed under each
453
+ * residency's id; on the caller's own entry, every one. On a residency's entry, that
454
+ * residency alone.
455
+ *
456
+ * @generated from field: repeated kusinta.iot.webrtc.v1.MemberSpace memberships = 4;
457
+ */
458
+ memberships: MemberSpace[];
459
+
460
+ /**
461
+ * When a technician's access ends (SetAccessUntil). Unset for no end.
462
+ *
463
+ * @generated from field: google.protobuf.Timestamp access_until = 5;
464
+ */
465
+ accessUntil?: Timestamp | undefined;
466
+
467
+ /**
468
+ * Set exactly as vouched_admin, for readers older than it; a reader that knows vouched_admin
469
+ * reads that instead. To be reserved once no reader needs it.
470
+ *
471
+ * @generated from field: bool registering_admin = 6 [deprecated = true];
472
+ * @deprecated
473
+ */
474
+ registeringAdmin: boolean;
475
+
476
+ /**
477
+ * Their verified email address, as AppTokenClaims.email last gave it, so that staff who
478
+ * gave the same name can be told apart. Given only for a member who is staff; empty for
479
+ * anyone else, on every residency's entry, and when none is learnt. The gateway keeps it only while they hold a staff
480
+ * role.
481
+ *
482
+ * @generated from field: string email = 7;
483
+ */
484
+ email: string;
485
+
486
+ /**
487
+ * Whether they are a vouched administrator: named in the vouched set the gateway holds
488
+ * (signaling.v1.VouchedAdministrators), whether or not the gateway has seen them connect. Grants
489
+ * nothing on its own; it says that their ROLE_GATEWAY_ADMIN cannot be changed here and that
490
+ * RemoveFromGateway will refuse them. Their name and email address are empty until the gateway
491
+ * learns them from their own token.
492
+ *
493
+ * @generated from field: bool vouched_admin = 8;
494
+ */
495
+ vouchedAdmin: boolean;
496
+ };
497
+
498
+ /**
499
+ * Describes the message kusinta.iot.webrtc.v1.MemberDetail.
500
+ * Use `create(MemberDetailSchema)` to create a new message.
501
+ */
502
+ export declare const MemberDetailSchema: GenMessage<MemberDetail>;
503
+
504
+ /**
505
+ * One space a member is filed on, and how they stand to it.
506
+ *
507
+ * @generated from message kusinta.iot.webrtc.v1.MemberSpace
508
+ */
509
+ export declare type MemberSpace = Message<"kusinta.iot.webrtc.v1.MemberSpace"> & {
510
+ /**
511
+ * @generated from field: kusinta.iot.identity.v1.SpaceId space_id = 1;
512
+ */
513
+ spaceId?: SpaceId | undefined;
514
+
515
+ /**
516
+ * @generated from field: kusinta.iot.access.v1.MembershipRelation relation = 2;
517
+ */
518
+ relation: MembershipRelation;
519
+
520
+ /**
521
+ * The start of the day, in the building's time zone (space.v1.Space.time_zone), on which
522
+ * the current membership began; for a resident, the current unbroken residency
523
+ * (access.v1.MembershipRelation). Never finer than a day. Unset where the gateway holds no
524
+ * record of it.
525
+ *
526
+ * @generated from field: google.protobuf.Timestamp since = 3;
527
+ */
528
+ since?: Timestamp | undefined;
529
+ };
530
+
531
+ /**
532
+ * Describes the message kusinta.iot.webrtc.v1.MemberSpace.
533
+ * Use `create(MemberSpaceSchema)` to create a new message.
534
+ */
535
+ export declare const MemberSpaceSchema: GenMessage<MemberSpace>;
536
+
@@ -0,0 +1,113 @@
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("CiNrdXNpbnRhL2lvdC93ZWJydGMvdjEvbWVtYmVycy5wcm90bxIVa3VzaW50YS5pb3Qud2VicnRjLnYxIhQKEkxpc3RHYXRld2F5TWVtYmVycyJ6Cg1TZXRNZW1iZXJSb2xlEjAKB3VzZXJfaWQYASABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSKQoEcm9sZRgCIAEoDjIbLmt1c2ludGEuaW90LmFjY2Vzcy52MS5Sb2xlEgwKBGhlbGQYAyABKAgibwoQUmVxdWVzdFByb21vdGlvbhIwCgd1c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEikKBHJvbGUYAiABKA4yGy5rdXNpbnRhLmlvdC5hY2Nlc3MudjEuUm9sZSI1Cg9BbnN3ZXJQcm9tb3Rpb24SEgoKcmVxdWVzdF9pZBgBIAEoCRIOCgZhY2NlcHQYAiABKAgiFwoVTGlzdFByb21vdGlvblJlcXVlc3RzIrcCChBQcm9tb3Rpb25SZXF1ZXN0EhIKCnJlcXVlc3RfaWQYASABKAkSMAoHdXNlcl9pZBgCIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZBIpCgRyb2xlGAMgASgOMhsua3VzaW50YS5pb3QuYWNjZXNzLnYxLlJvbGUSNQoMcmVxdWVzdGVkX2J5GAQgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkEhkKEXJlcXVlc3RlZF9ieV9uYW1lGAUgASgJEjAKDHJlcXVlc3RlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZXhwaXJlc19hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiTgoRUHJvbW90aW9uUmVxdWVzdHMSOQoIcmVxdWVzdHMYASADKAsyJy5rdXNpbnRhLmlvdC53ZWJydGMudjEuUHJvbW90aW9uUmVxdWVzdCJFChFSZW1vdmVGcm9tR2F0ZXdheRIwCgd1c2VyX2lkGAEgASgLMh8ua3VzaW50YS5pb3QuaWRlbnRpdHkudjEuVXNlcklkInQKDlNldEFjY2Vzc1VudGlsEjAKB3VzZXJfaWQYASABKAsyHy5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5Vc2VySWQSMAoMYWNjZXNzX3VudGlsGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJWChRTZXRPd25lck9yZ2FuaXNhdGlvbhI+CgxvcmdhbmlzYXRpb24YASABKAsyKC5rdXNpbnRhLmlvdC53ZWJydGMudjEuT3duZXJPcmdhbmlzYXRpb24iQgoRT3duZXJPcmdhbmlzYXRpb24SDAoEbmFtZRgBIAEoCRIfChNvcmdhbmlzYXRpb25fbnVtYmVyGAIgASgJQgIYASKMAQoOR2F0ZXdheU1lbWJlcnMSNAoHbWVtYmVycxgBIAMoCzIjLmt1c2ludGEuaW90LndlYnJ0Yy52MS5NZW1iZXJEZXRhaWwSRAoSb3duZXJfb3JnYW5pc2F0aW9uGAIgASgLMigua3VzaW50YS5pb3Qud2VicnRjLnYxLk93bmVyT3JnYW5pc2F0aW9uIqoCCgxNZW1iZXJEZXRhaWwSMAoHdXNlcl9pZBgBIAEoCzIfLmt1c2ludGEuaW90LmlkZW50aXR5LnYxLlVzZXJJZBIMCgRuYW1lGAIgASgJEioKBXJvbGVzGAMgAygOMhsua3VzaW50YS5pb3QuYWNjZXNzLnYxLlJvbGUSNwoLbWVtYmVyc2hpcHMYBCADKAsyIi5rdXNpbnRhLmlvdC53ZWJydGMudjEuTWVtYmVyU3BhY2USMAoMYWNjZXNzX3VudGlsGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIdChFyZWdpc3RlcmluZ19hZG1pbhgGIAEoCEICGAESDQoFZW1haWwYByABKAkSFQoNdm91Y2hlZF9hZG1pbhgIIAEoCCKpAQoLTWVtYmVyU3BhY2USMgoIc3BhY2VfaWQYASABKAsyIC5rdXNpbnRhLmlvdC5pZGVudGl0eS52MS5TcGFjZUlkEjsKCHJlbGF0aW9uGAIgASgOMikua3VzaW50YS5pb3QuYWNjZXNzLnYxLk1lbWJlcnNoaXBSZWxhdGlvbhIpCgVzaW5jZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCAkgBYgZwcm90bzM", [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.RequestPromotion.
32
+ * Use `create(RequestPromotionSchema)` to create a new message.
33
+ */
34
+ export const RequestPromotionSchema = /*@__PURE__*/
35
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 2);
36
+
37
+ /**
38
+ * Describes the message kusinta.iot.webrtc.v1.AnswerPromotion.
39
+ * Use `create(AnswerPromotionSchema)` to create a new message.
40
+ */
41
+ export const AnswerPromotionSchema = /*@__PURE__*/
42
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 3);
43
+
44
+ /**
45
+ * Describes the message kusinta.iot.webrtc.v1.ListPromotionRequests.
46
+ * Use `create(ListPromotionRequestsSchema)` to create a new message.
47
+ */
48
+ export const ListPromotionRequestsSchema = /*@__PURE__*/
49
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 4);
50
+
51
+ /**
52
+ * Describes the message kusinta.iot.webrtc.v1.PromotionRequest.
53
+ * Use `create(PromotionRequestSchema)` to create a new message.
54
+ */
55
+ export const PromotionRequestSchema = /*@__PURE__*/
56
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 5);
57
+
58
+ /**
59
+ * Describes the message kusinta.iot.webrtc.v1.PromotionRequests.
60
+ * Use `create(PromotionRequestsSchema)` to create a new message.
61
+ */
62
+ export const PromotionRequestsSchema = /*@__PURE__*/
63
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 6);
64
+
65
+ /**
66
+ * Describes the message kusinta.iot.webrtc.v1.RemoveFromGateway.
67
+ * Use `create(RemoveFromGatewaySchema)` to create a new message.
68
+ */
69
+ export const RemoveFromGatewaySchema = /*@__PURE__*/
70
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 7);
71
+
72
+ /**
73
+ * Describes the message kusinta.iot.webrtc.v1.SetAccessUntil.
74
+ * Use `create(SetAccessUntilSchema)` to create a new message.
75
+ */
76
+ export const SetAccessUntilSchema = /*@__PURE__*/
77
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 8);
78
+
79
+ /**
80
+ * Describes the message kusinta.iot.webrtc.v1.SetOwnerOrganisation.
81
+ * Use `create(SetOwnerOrganisationSchema)` to create a new message.
82
+ */
83
+ export const SetOwnerOrganisationSchema = /*@__PURE__*/
84
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 9);
85
+
86
+ /**
87
+ * Describes the message kusinta.iot.webrtc.v1.OwnerOrganisation.
88
+ * Use `create(OwnerOrganisationSchema)` to create a new message.
89
+ */
90
+ export const OwnerOrganisationSchema = /*@__PURE__*/
91
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 10);
92
+
93
+ /**
94
+ * Describes the message kusinta.iot.webrtc.v1.GatewayMembers.
95
+ * Use `create(GatewayMembersSchema)` to create a new message.
96
+ */
97
+ export const GatewayMembersSchema = /*@__PURE__*/
98
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 11);
99
+
100
+ /**
101
+ * Describes the message kusinta.iot.webrtc.v1.MemberDetail.
102
+ * Use `create(MemberDetailSchema)` to create a new message.
103
+ */
104
+ export const MemberDetailSchema = /*@__PURE__*/
105
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 12);
106
+
107
+ /**
108
+ * Describes the message kusinta.iot.webrtc.v1.MemberSpace.
109
+ * Use `create(MemberSpaceSchema)` to create a new message.
110
+ */
111
+ export const MemberSpaceSchema = /*@__PURE__*/
112
+ messageDesc(file_kusinta_iot_webrtc_v1_members, 13);
113
+