@fivenet-app/gen 2025.5.2 → 2025.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/buf/validate/validate.ts +11301 -0
  2. package/clients.ts +157 -154
  3. package/codegen/dbscanner/dbscanner.ts +91 -0
  4. package/codegen/perms/perms.ts +208 -0
  5. package/codegen/sanitizer/sanitizer.ts +80 -0
  6. package/google/protobuf/any.ts +4 -3
  7. package/google/protobuf/descriptor.ts +393 -239
  8. package/google/protobuf/duration.ts +4 -3
  9. package/google/protobuf/struct.ts +485 -0
  10. package/google/protobuf/timestamp.ts +4 -3
  11. package/package.json +3 -3
  12. package/perms.ts +85 -159
  13. package/resources/accounts/accounts.ts +26 -25
  14. package/resources/accounts/oauth2.ts +30 -29
  15. package/resources/audit/audit.ts +36 -35
  16. package/resources/calendar/access.ts +49 -48
  17. package/resources/calendar/calendar.ts +122 -126
  18. package/resources/centrum/access.ts +345 -0
  19. package/resources/centrum/attributes.ts +8 -11
  20. package/resources/centrum/dispatchers.ts +149 -0
  21. package/resources/centrum/dispatches.ts +252 -115
  22. package/resources/centrum/settings.ts +384 -34
  23. package/resources/centrum/units.ts +112 -92
  24. package/resources/centrum/units_access.ts +54 -55
  25. package/resources/clientconfig/clientconfig.ts +890 -0
  26. package/resources/collab/collab.ts +817 -0
  27. package/resources/common/content/content.ts +113 -30
  28. package/resources/common/cron/cron.ts +43 -31
  29. package/resources/common/database/database.ts +92 -35
  30. package/resources/common/error.ts +17 -16
  31. package/resources/common/grpcws/grpcws.ts +24 -23
  32. package/resources/common/i18n.ts +20 -24
  33. package/resources/common/id_mapping.ts +69 -0
  34. package/resources/common/tests/objects.ts +4 -3
  35. package/resources/common/uuid.ts +4 -3
  36. package/resources/discord/discord.ts +209 -0
  37. package/resources/documents/access.ts +52 -53
  38. package/resources/documents/activity.ts +235 -58
  39. package/resources/documents/category.ts +20 -27
  40. package/resources/documents/comment.ts +26 -25
  41. package/resources/documents/documents.ts +335 -262
  42. package/resources/documents/pins.ts +127 -0
  43. package/resources/documents/requests.ts +31 -30
  44. package/resources/documents/signoff.ts +55 -0
  45. package/resources/documents/state.ts +69 -0
  46. package/resources/documents/templates.ts +119 -136
  47. package/resources/documents/workflow.ts +35 -24
  48. package/resources/file/file.ts +152 -0
  49. package/{services/settings → resources/file}/filestore.ts +179 -165
  50. package/resources/file/meta.ts +148 -0
  51. package/resources/jobs/activity.ts +39 -42
  52. package/resources/jobs/colleagues.ts +67 -60
  53. package/resources/jobs/conduct.ts +29 -30
  54. package/resources/jobs/job_props.ts +46 -48
  55. package/resources/jobs/job_settings.ts +45 -52
  56. package/resources/jobs/jobs.ts +14 -13
  57. package/resources/jobs/labels.ts +21 -22
  58. package/resources/jobs/timeclock.ts +26 -25
  59. package/resources/laws/laws.ts +40 -49
  60. package/resources/livemap/coords.ts +81 -0
  61. package/resources/livemap/heatmap.ts +93 -0
  62. package/resources/livemap/{livemap.ts → marker_marker.ts} +43 -310
  63. package/resources/livemap/user_marker.ts +298 -0
  64. package/resources/mailer/access.ts +75 -74
  65. package/resources/mailer/email.ts +24 -27
  66. package/resources/mailer/events.ts +25 -24
  67. package/resources/mailer/message.ts +45 -50
  68. package/resources/mailer/settings.ts +12 -15
  69. package/resources/mailer/template.ts +25 -28
  70. package/resources/mailer/thread.ts +70 -71
  71. package/resources/notifications/client_view.ts +239 -0
  72. package/resources/notifications/events.ts +50 -101
  73. package/resources/notifications/notifications.ts +52 -57
  74. package/resources/permissions/attributes.ts +63 -206
  75. package/resources/permissions/events.ts +149 -0
  76. package/resources/permissions/permissions.ts +103 -34
  77. package/resources/qualifications/access.ts +27 -26
  78. package/resources/qualifications/exam.ts +188 -126
  79. package/resources/qualifications/qualifications.ts +370 -303
  80. package/resources/settings/banner.ts +14 -21
  81. package/resources/settings/config.ts +163 -79
  82. package/resources/settings/perms.ts +151 -0
  83. package/resources/settings/status.ts +533 -0
  84. package/resources/stats/stats.ts +3 -2
  85. package/resources/sync/activity.ts +24 -23
  86. package/resources/sync/data.ts +94 -26
  87. package/resources/timestamp/timestamp.ts +3 -2
  88. package/resources/{centrum/user_unit.ts → tracker/mapping.ts} +44 -44
  89. package/resources/userinfo/user_info.ts +464 -0
  90. package/resources/users/activity.ts +80 -85
  91. package/resources/users/labels.ts +18 -21
  92. package/resources/users/licenses.ts +9 -8
  93. package/resources/users/props.ts +61 -51
  94. package/resources/users/users.ts +100 -78
  95. package/resources/vehicles/activity.ts +231 -0
  96. package/resources/vehicles/props.ts +103 -0
  97. package/resources/vehicles/vehicles.ts +28 -15
  98. package/resources/wiki/access.ts +49 -48
  99. package/resources/wiki/activity.ts +133 -51
  100. package/resources/wiki/page.ts +134 -87
  101. package/services/auth/auth.client.ts +24 -27
  102. package/services/auth/auth.ts +222 -195
  103. package/services/calendar/calendar.client.ts +32 -91
  104. package/services/calendar/calendar.ts +110 -109
  105. package/services/centrum/centrum.client.ts +97 -137
  106. package/services/centrum/centrum.ts +701 -298
  107. package/services/citizens/citizens.client.ts +70 -39
  108. package/services/citizens/citizens.ts +183 -93
  109. package/services/completor/completor.client.ts +16 -35
  110. package/services/completor/completor.ts +65 -44
  111. package/services/documents/collab.client.ts +46 -0
  112. package/services/documents/collab.ts +13 -0
  113. package/services/documents/documents.client.ts +88 -217
  114. package/services/documents/documents.ts +490 -508
  115. package/services/filestore/filestore.client.ts +86 -0
  116. package/services/filestore/filestore.ts +262 -0
  117. package/services/jobs/conduct.client.ts +10 -25
  118. package/services/jobs/conduct.ts +36 -35
  119. package/services/jobs/jobs.client.ts +22 -61
  120. package/services/jobs/jobs.ts +108 -91
  121. package/services/jobs/timeclock.client.ts +8 -19
  122. package/services/jobs/timeclock.ts +47 -46
  123. package/services/livemap/livemap.client.ts +8 -19
  124. package/services/livemap/livemap.ts +290 -119
  125. package/services/mailer/mailer.client.ts +44 -127
  126. package/services/mailer/mailer.ts +213 -216
  127. package/services/notifications/notifications.client.ts +65 -0
  128. package/services/{notificator/notificator.ts → notifications/notifications.ts} +117 -74
  129. package/services/qualifications/qualifications.client.ts +46 -91
  130. package/services/qualifications/qualifications.ts +181 -175
  131. package/services/settings/accounts.client.ts +10 -25
  132. package/services/settings/accounts.ts +64 -41
  133. package/services/settings/config.client.ts +6 -13
  134. package/services/settings/config.ts +8 -7
  135. package/services/settings/cron.client.ts +4 -7
  136. package/services/settings/cron.ts +4 -3
  137. package/services/settings/laws.client.ts +10 -25
  138. package/services/settings/laws.ts +29 -28
  139. package/services/settings/settings.client.ts +57 -103
  140. package/services/settings/settings.ts +190 -607
  141. package/services/settings/system.client.ts +90 -0
  142. package/services/settings/system.ts +618 -0
  143. package/services/stats/stats.client.ts +4 -3
  144. package/services/stats/stats.ts +4 -3
  145. package/services/sync/sync.client.ts +16 -15
  146. package/services/sync/sync.ts +82 -52
  147. package/services/vehicles/vehicles.client.ts +17 -7
  148. package/services/vehicles/vehicles.ts +169 -24
  149. package/services/wiki/collab.client.ts +46 -0
  150. package/services/wiki/collab.ts +13 -0
  151. package/services/wiki/wiki.client.ts +28 -37
  152. package/services/wiki/wiki.ts +93 -63
  153. package/svcs.ts +79 -103
  154. package/resources/centrum/disponents.ts +0 -81
  155. package/resources/filestore/file.ts +0 -204
  156. package/resources/internet/access.ts +0 -358
  157. package/resources/internet/ads.ts +0 -257
  158. package/resources/internet/domain.ts +0 -328
  159. package/resources/internet/page.ts +0 -428
  160. package/resources/internet/search.ts +0 -128
  161. package/resources/livemap/tracker.ts +0 -81
  162. package/services/internet/ads.client.ts +0 -41
  163. package/services/internet/ads.ts +0 -145
  164. package/services/internet/domain.client.ts +0 -109
  165. package/services/internet/domain.ts +0 -658
  166. package/services/internet/internet.client.ts +0 -58
  167. package/services/internet/internet.ts +0 -268
  168. package/services/notificator/notificator.client.ts +0 -76
  169. package/services/settings/filestore.client.ts +0 -75
@@ -1,5 +1,6 @@
1
- // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
2
  // @generated from protobuf file "services/livemap/livemap.proto" (package "services.livemap", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import { ServiceType } from "@protobuf-ts/runtime-rpc";
5
6
  import { WireType } from "@protobuf-ts/runtime";
@@ -11,8 +12,8 @@ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
12
  import type { PartialMessage } from "@protobuf-ts/runtime";
12
13
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
14
  import { MessageType } from "@protobuf-ts/runtime";
14
- import { UserMarker } from "../../resources/livemap/livemap";
15
- import { MarkerMarker } from "../../resources/livemap/livemap";
15
+ import { UserMarker } from "../../resources/livemap/user_marker";
16
+ import { MarkerMarker } from "../../resources/livemap/marker_marker";
16
17
  import { Job } from "../../resources/jobs/jobs";
17
18
  /**
18
19
  * @generated from protobuf message services.livemap.StreamRequest
@@ -23,45 +24,57 @@ export interface StreamRequest {
23
24
  * @generated from protobuf message services.livemap.StreamResponse
24
25
  */
25
26
  export interface StreamResponse {
27
+ /**
28
+ * @generated from protobuf field: optional bool user_on_duty = 1
29
+ */
30
+ userOnDuty?: boolean;
26
31
  /**
27
32
  * @generated from protobuf oneof: data
28
33
  */
29
34
  data: {
30
35
  oneofKind: "jobs";
31
36
  /**
32
- * @generated from protobuf field: services.livemap.JobsList jobs = 1;
37
+ * @generated from protobuf field: services.livemap.JobsList jobs = 2
33
38
  */
34
39
  jobs: JobsList;
35
40
  } | {
36
41
  oneofKind: "markers";
37
42
  /**
38
- * @generated from protobuf field: services.livemap.MarkerMarkersUpdates markers = 2;
43
+ * @generated from protobuf field: services.livemap.MarkerMarkersUpdates markers = 3
39
44
  */
40
45
  markers: MarkerMarkersUpdates;
41
46
  } | {
42
- oneofKind: "users";
47
+ oneofKind: "snapshot";
48
+ /**
49
+ * @generated from protobuf field: services.livemap.Snapshot snapshot = 4
50
+ */
51
+ snapshot: Snapshot;
52
+ } | {
53
+ oneofKind: "userUpdates";
43
54
  /**
44
- * @generated from protobuf field: services.livemap.UserMarkersUpdates users = 3;
55
+ * @generated from protobuf field: services.livemap.UserUpdates user_updates = 5
45
56
  */
46
- users: UserMarkersUpdates;
57
+ userUpdates: UserUpdates;
58
+ } | {
59
+ oneofKind: "userDeletes";
60
+ /**
61
+ * @generated from protobuf field: services.livemap.UserDeletes user_deletes = 6
62
+ */
63
+ userDeletes: UserDeletes;
47
64
  } | {
48
65
  oneofKind: undefined;
49
66
  };
50
- /**
51
- * @generated from protobuf field: optional bool user_on_duty = 4;
52
- */
53
- userOnDuty?: boolean;
54
67
  }
55
68
  /**
56
69
  * @generated from protobuf message services.livemap.JobsList
57
70
  */
58
71
  export interface JobsList {
59
72
  /**
60
- * @generated from protobuf field: repeated resources.jobs.Job users = 1;
73
+ * @generated from protobuf field: repeated resources.jobs.Job users = 1
61
74
  */
62
75
  users: Job[];
63
76
  /**
64
- * @generated from protobuf field: repeated resources.jobs.Job markers = 2;
77
+ * @generated from protobuf field: repeated resources.jobs.Job markers = 2
65
78
  */
66
79
  markers: Job[];
67
80
  }
@@ -70,53 +83,81 @@ export interface JobsList {
70
83
  */
71
84
  export interface MarkerMarkersUpdates {
72
85
  /**
73
- * @generated from protobuf field: repeated resources.livemap.MarkerMarker updated = 1;
86
+ * @generated from protobuf field: repeated resources.livemap.MarkerMarker updated = 1
74
87
  */
75
88
  updated: MarkerMarker[];
76
89
  /**
77
- * @generated from protobuf field: repeated uint64 deleted = 2;
90
+ * @generated from protobuf field: repeated int64 deleted = 2
78
91
  */
79
92
  deleted: number[];
80
93
  /**
81
- * @generated from protobuf field: int32 part = 3;
94
+ * @generated from protobuf field: int32 part = 3
82
95
  */
83
96
  part: number;
84
97
  /**
85
- * @generated from protobuf field: bool partial = 4;
98
+ * @generated from protobuf field: bool partial = 4
86
99
  */
87
100
  partial: boolean;
88
101
  }
89
102
  /**
90
- * @generated from protobuf message services.livemap.UserMarkersUpdates
103
+ * A roll-up of the entire USERLOC bucket.
104
+ * Published every N seconds on `$KV.user_locations._snapshot`
105
+ * with the headers:
106
+ * Nats-Rollup: all
107
+ * KV-Operation: ROLLUP
108
+ *
109
+ * @generated from protobuf message services.livemap.Snapshot
91
110
  */
92
- export interface UserMarkersUpdates {
111
+ export interface Snapshot {
93
112
  /**
94
- * @generated from protobuf field: repeated resources.livemap.UserMarker updated = 1;
113
+ * All currently-known user markers, already filtered for
114
+ * obsolete PURGE/DELETE events.
115
+ *
116
+ * @generated from protobuf field: repeated resources.livemap.UserMarker markers = 1
95
117
  */
96
- updated: UserMarker[];
118
+ markers: UserMarker[];
119
+ }
120
+ /**
121
+ * @generated from protobuf message services.livemap.UserUpdates
122
+ */
123
+ export interface UserUpdates {
97
124
  /**
98
- * @generated from protobuf field: repeated int32 deleted = 2;
125
+ * @generated from protobuf field: repeated resources.livemap.UserMarker updates = 1
99
126
  */
100
- deleted: number[];
127
+ updates: UserMarker[];
128
+ }
129
+ /**
130
+ * @generated from protobuf message services.livemap.UserDeletes
131
+ */
132
+ export interface UserDeletes {
101
133
  /**
102
- * @generated from protobuf field: int32 part = 3;
134
+ * @generated from protobuf field: repeated services.livemap.UserDelete deletes = 1
103
135
  */
104
- part: number;
136
+ deletes: UserDelete[];
137
+ }
138
+ /**
139
+ * @generated from protobuf message services.livemap.UserDelete
140
+ */
141
+ export interface UserDelete {
105
142
  /**
106
- * @generated from protobuf field: bool partial = 4;
143
+ * The user ID of an user marker that was deleted.
144
+ *
145
+ * @generated from protobuf field: int32 id = 1
107
146
  */
108
- partial: boolean;
147
+ id: number;
109
148
  /**
110
- * @generated from protobuf field: optional bool clear = 5;
149
+ * The job of the user that was deleted.
150
+ *
151
+ * @generated from protobuf field: string job = 2
111
152
  */
112
- clear?: boolean;
153
+ job: string;
113
154
  }
114
155
  /**
115
156
  * @generated from protobuf message services.livemap.CreateOrUpdateMarkerRequest
116
157
  */
117
158
  export interface CreateOrUpdateMarkerRequest {
118
159
  /**
119
- * @generated from protobuf field: resources.livemap.MarkerMarker marker = 1;
160
+ * @generated from protobuf field: resources.livemap.MarkerMarker marker = 1
120
161
  */
121
162
  marker?: MarkerMarker;
122
163
  }
@@ -125,7 +166,7 @@ export interface CreateOrUpdateMarkerRequest {
125
166
  */
126
167
  export interface CreateOrUpdateMarkerResponse {
127
168
  /**
128
- * @generated from protobuf field: resources.livemap.MarkerMarker marker = 1;
169
+ * @generated from protobuf field: resources.livemap.MarkerMarker marker = 1
129
170
  */
130
171
  marker?: MarkerMarker;
131
172
  }
@@ -134,7 +175,7 @@ export interface CreateOrUpdateMarkerResponse {
134
175
  */
135
176
  export interface DeleteMarkerRequest {
136
177
  /**
137
- * @generated from protobuf field: uint64 id = 1;
178
+ * @generated from protobuf field: int64 id = 1
138
179
  */
139
180
  id: number;
140
181
  }
@@ -185,10 +226,12 @@ export const StreamRequest = new StreamRequest$Type();
185
226
  class StreamResponse$Type extends MessageType<StreamResponse> {
186
227
  constructor() {
187
228
  super("services.livemap.StreamResponse", [
188
- { no: 1, name: "jobs", kind: "message", oneof: "data", T: () => JobsList },
189
- { no: 2, name: "markers", kind: "message", oneof: "data", T: () => MarkerMarkersUpdates },
190
- { no: 3, name: "users", kind: "message", oneof: "data", T: () => UserMarkersUpdates },
191
- { no: 4, name: "user_on_duty", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
229
+ { no: 1, name: "user_on_duty", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
230
+ { no: 2, name: "jobs", kind: "message", oneof: "data", T: () => JobsList },
231
+ { no: 3, name: "markers", kind: "message", oneof: "data", T: () => MarkerMarkersUpdates },
232
+ { no: 4, name: "snapshot", kind: "message", oneof: "data", T: () => Snapshot },
233
+ { no: 5, name: "user_updates", kind: "message", oneof: "data", T: () => UserUpdates },
234
+ { no: 6, name: "user_deletes", kind: "message", oneof: "data", T: () => UserDeletes }
192
235
  ]);
193
236
  }
194
237
  create(value?: PartialMessage<StreamResponse>): StreamResponse {
@@ -203,26 +246,38 @@ class StreamResponse$Type extends MessageType<StreamResponse> {
203
246
  while (reader.pos < end) {
204
247
  let [fieldNo, wireType] = reader.tag();
205
248
  switch (fieldNo) {
206
- case /* services.livemap.JobsList jobs */ 1:
249
+ case /* optional bool user_on_duty */ 1:
250
+ message.userOnDuty = reader.bool();
251
+ break;
252
+ case /* services.livemap.JobsList jobs */ 2:
207
253
  message.data = {
208
254
  oneofKind: "jobs",
209
255
  jobs: JobsList.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).jobs)
210
256
  };
211
257
  break;
212
- case /* services.livemap.MarkerMarkersUpdates markers */ 2:
258
+ case /* services.livemap.MarkerMarkersUpdates markers */ 3:
213
259
  message.data = {
214
260
  oneofKind: "markers",
215
261
  markers: MarkerMarkersUpdates.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).markers)
216
262
  };
217
263
  break;
218
- case /* services.livemap.UserMarkersUpdates users */ 3:
264
+ case /* services.livemap.Snapshot snapshot */ 4:
219
265
  message.data = {
220
- oneofKind: "users",
221
- users: UserMarkersUpdates.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).users)
266
+ oneofKind: "snapshot",
267
+ snapshot: Snapshot.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).snapshot)
222
268
  };
223
269
  break;
224
- case /* optional bool user_on_duty */ 4:
225
- message.userOnDuty = reader.bool();
270
+ case /* services.livemap.UserUpdates user_updates */ 5:
271
+ message.data = {
272
+ oneofKind: "userUpdates",
273
+ userUpdates: UserUpdates.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).userUpdates)
274
+ };
275
+ break;
276
+ case /* services.livemap.UserDeletes user_deletes */ 6:
277
+ message.data = {
278
+ oneofKind: "userDeletes",
279
+ userDeletes: UserDeletes.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).userDeletes)
280
+ };
226
281
  break;
227
282
  default:
228
283
  let u = options.readUnknownField;
@@ -236,18 +291,24 @@ class StreamResponse$Type extends MessageType<StreamResponse> {
236
291
  return message;
237
292
  }
238
293
  internalBinaryWrite(message: StreamResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
239
- /* services.livemap.JobsList jobs = 1; */
294
+ /* optional bool user_on_duty = 1; */
295
+ if (message.userOnDuty !== undefined)
296
+ writer.tag(1, WireType.Varint).bool(message.userOnDuty);
297
+ /* services.livemap.JobsList jobs = 2; */
240
298
  if (message.data.oneofKind === "jobs")
241
- JobsList.internalBinaryWrite(message.data.jobs, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
242
- /* services.livemap.MarkerMarkersUpdates markers = 2; */
299
+ JobsList.internalBinaryWrite(message.data.jobs, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
300
+ /* services.livemap.MarkerMarkersUpdates markers = 3; */
243
301
  if (message.data.oneofKind === "markers")
244
- MarkerMarkersUpdates.internalBinaryWrite(message.data.markers, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
245
- /* services.livemap.UserMarkersUpdates users = 3; */
246
- if (message.data.oneofKind === "users")
247
- UserMarkersUpdates.internalBinaryWrite(message.data.users, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
248
- /* optional bool user_on_duty = 4; */
249
- if (message.userOnDuty !== undefined)
250
- writer.tag(4, WireType.Varint).bool(message.userOnDuty);
302
+ MarkerMarkersUpdates.internalBinaryWrite(message.data.markers, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
303
+ /* services.livemap.Snapshot snapshot = 4; */
304
+ if (message.data.oneofKind === "snapshot")
305
+ Snapshot.internalBinaryWrite(message.data.snapshot, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
306
+ /* services.livemap.UserUpdates user_updates = 5; */
307
+ if (message.data.oneofKind === "userUpdates")
308
+ UserUpdates.internalBinaryWrite(message.data.userUpdates, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
309
+ /* services.livemap.UserDeletes user_deletes = 6; */
310
+ if (message.data.oneofKind === "userDeletes")
311
+ UserDeletes.internalBinaryWrite(message.data.userDeletes, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
251
312
  let u = options.writeUnknownFields;
252
313
  if (u !== false)
253
314
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -318,7 +379,7 @@ class MarkerMarkersUpdates$Type extends MessageType<MarkerMarkersUpdates> {
318
379
  constructor() {
319
380
  super("services.livemap.MarkerMarkersUpdates", [
320
381
  { no: 1, name: "updated", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => MarkerMarker },
321
- { no: 2, name: "deleted", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
382
+ { no: 2, name: "deleted", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
322
383
  { no: 3, name: "part", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
323
384
  { no: 4, name: "partial", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
324
385
  ]);
@@ -341,12 +402,12 @@ class MarkerMarkersUpdates$Type extends MessageType<MarkerMarkersUpdates> {
341
402
  case /* repeated resources.livemap.MarkerMarker updated */ 1:
342
403
  message.updated.push(MarkerMarker.internalBinaryRead(reader, reader.uint32(), options));
343
404
  break;
344
- case /* repeated uint64 deleted */ 2:
405
+ case /* repeated int64 deleted */ 2:
345
406
  if (wireType === WireType.LengthDelimited)
346
407
  for (let e = reader.int32() + reader.pos; reader.pos < e;)
347
- message.deleted.push(reader.uint64().toNumber());
408
+ message.deleted.push(reader.int64().toNumber());
348
409
  else
349
- message.deleted.push(reader.uint64().toNumber());
410
+ message.deleted.push(reader.int64().toNumber());
350
411
  break;
351
412
  case /* int32 part */ 3:
352
413
  message.part = reader.int32();
@@ -369,11 +430,11 @@ class MarkerMarkersUpdates$Type extends MessageType<MarkerMarkersUpdates> {
369
430
  /* repeated resources.livemap.MarkerMarker updated = 1; */
370
431
  for (let i = 0; i < message.updated.length; i++)
371
432
  MarkerMarker.internalBinaryWrite(message.updated[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
372
- /* repeated uint64 deleted = 2; */
433
+ /* repeated int64 deleted = 2; */
373
434
  if (message.deleted.length) {
374
435
  writer.tag(2, WireType.LengthDelimited).fork();
375
436
  for (let i = 0; i < message.deleted.length; i++)
376
- writer.uint64(message.deleted[i]);
437
+ writer.int64(message.deleted[i]);
377
438
  writer.join();
378
439
  }
379
440
  /* int32 part = 3; */
@@ -393,49 +454,172 @@ class MarkerMarkersUpdates$Type extends MessageType<MarkerMarkersUpdates> {
393
454
  */
394
455
  export const MarkerMarkersUpdates = new MarkerMarkersUpdates$Type();
395
456
  // @generated message type with reflection information, may provide speed optimized methods
396
- class UserMarkersUpdates$Type extends MessageType<UserMarkersUpdates> {
457
+ class Snapshot$Type extends MessageType<Snapshot> {
397
458
  constructor() {
398
- super("services.livemap.UserMarkersUpdates", [
399
- { no: 1, name: "updated", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UserMarker },
400
- { no: 2, name: "deleted", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/ },
401
- { no: 3, name: "part", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
402
- { no: 4, name: "partial", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
403
- { no: 5, name: "clear", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
459
+ super("services.livemap.Snapshot", [
460
+ { no: 1, name: "markers", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UserMarker }
404
461
  ]);
405
462
  }
406
- create(value?: PartialMessage<UserMarkersUpdates>): UserMarkersUpdates {
463
+ create(value?: PartialMessage<Snapshot>): Snapshot {
407
464
  const message = globalThis.Object.create((this.messagePrototype!));
408
- message.updated = [];
409
- message.deleted = [];
410
- message.part = 0;
411
- message.partial = false;
465
+ message.markers = [];
412
466
  if (value !== undefined)
413
- reflectionMergePartial<UserMarkersUpdates>(this, message, value);
467
+ reflectionMergePartial<Snapshot>(this, message, value);
414
468
  return message;
415
469
  }
416
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserMarkersUpdates): UserMarkersUpdates {
470
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Snapshot): Snapshot {
417
471
  let message = target ?? this.create(), end = reader.pos + length;
418
472
  while (reader.pos < end) {
419
473
  let [fieldNo, wireType] = reader.tag();
420
474
  switch (fieldNo) {
421
- case /* repeated resources.livemap.UserMarker updated */ 1:
422
- message.updated.push(UserMarker.internalBinaryRead(reader, reader.uint32(), options));
475
+ case /* repeated resources.livemap.UserMarker markers */ 1:
476
+ message.markers.push(UserMarker.internalBinaryRead(reader, reader.uint32(), options));
423
477
  break;
424
- case /* repeated int32 deleted */ 2:
425
- if (wireType === WireType.LengthDelimited)
426
- for (let e = reader.int32() + reader.pos; reader.pos < e;)
427
- message.deleted.push(reader.int32());
428
- else
429
- message.deleted.push(reader.int32());
478
+ default:
479
+ let u = options.readUnknownField;
480
+ if (u === "throw")
481
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
482
+ let d = reader.skip(wireType);
483
+ if (u !== false)
484
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
485
+ }
486
+ }
487
+ return message;
488
+ }
489
+ internalBinaryWrite(message: Snapshot, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
490
+ /* repeated resources.livemap.UserMarker markers = 1; */
491
+ for (let i = 0; i < message.markers.length; i++)
492
+ UserMarker.internalBinaryWrite(message.markers[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
493
+ let u = options.writeUnknownFields;
494
+ if (u !== false)
495
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
496
+ return writer;
497
+ }
498
+ }
499
+ /**
500
+ * @generated MessageType for protobuf message services.livemap.Snapshot
501
+ */
502
+ export const Snapshot = new Snapshot$Type();
503
+ // @generated message type with reflection information, may provide speed optimized methods
504
+ class UserUpdates$Type extends MessageType<UserUpdates> {
505
+ constructor() {
506
+ super("services.livemap.UserUpdates", [
507
+ { no: 1, name: "updates", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UserMarker }
508
+ ]);
509
+ }
510
+ create(value?: PartialMessage<UserUpdates>): UserUpdates {
511
+ const message = globalThis.Object.create((this.messagePrototype!));
512
+ message.updates = [];
513
+ if (value !== undefined)
514
+ reflectionMergePartial<UserUpdates>(this, message, value);
515
+ return message;
516
+ }
517
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserUpdates): UserUpdates {
518
+ let message = target ?? this.create(), end = reader.pos + length;
519
+ while (reader.pos < end) {
520
+ let [fieldNo, wireType] = reader.tag();
521
+ switch (fieldNo) {
522
+ case /* repeated resources.livemap.UserMarker updates */ 1:
523
+ message.updates.push(UserMarker.internalBinaryRead(reader, reader.uint32(), options));
430
524
  break;
431
- case /* int32 part */ 3:
432
- message.part = reader.int32();
525
+ default:
526
+ let u = options.readUnknownField;
527
+ if (u === "throw")
528
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
529
+ let d = reader.skip(wireType);
530
+ if (u !== false)
531
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
532
+ }
533
+ }
534
+ return message;
535
+ }
536
+ internalBinaryWrite(message: UserUpdates, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
537
+ /* repeated resources.livemap.UserMarker updates = 1; */
538
+ for (let i = 0; i < message.updates.length; i++)
539
+ UserMarker.internalBinaryWrite(message.updates[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
540
+ let u = options.writeUnknownFields;
541
+ if (u !== false)
542
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
543
+ return writer;
544
+ }
545
+ }
546
+ /**
547
+ * @generated MessageType for protobuf message services.livemap.UserUpdates
548
+ */
549
+ export const UserUpdates = new UserUpdates$Type();
550
+ // @generated message type with reflection information, may provide speed optimized methods
551
+ class UserDeletes$Type extends MessageType<UserDeletes> {
552
+ constructor() {
553
+ super("services.livemap.UserDeletes", [
554
+ { no: 1, name: "deletes", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UserDelete }
555
+ ]);
556
+ }
557
+ create(value?: PartialMessage<UserDeletes>): UserDeletes {
558
+ const message = globalThis.Object.create((this.messagePrototype!));
559
+ message.deletes = [];
560
+ if (value !== undefined)
561
+ reflectionMergePartial<UserDeletes>(this, message, value);
562
+ return message;
563
+ }
564
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserDeletes): UserDeletes {
565
+ let message = target ?? this.create(), end = reader.pos + length;
566
+ while (reader.pos < end) {
567
+ let [fieldNo, wireType] = reader.tag();
568
+ switch (fieldNo) {
569
+ case /* repeated services.livemap.UserDelete deletes */ 1:
570
+ message.deletes.push(UserDelete.internalBinaryRead(reader, reader.uint32(), options));
433
571
  break;
434
- case /* bool partial */ 4:
435
- message.partial = reader.bool();
572
+ default:
573
+ let u = options.readUnknownField;
574
+ if (u === "throw")
575
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
576
+ let d = reader.skip(wireType);
577
+ if (u !== false)
578
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
579
+ }
580
+ }
581
+ return message;
582
+ }
583
+ internalBinaryWrite(message: UserDeletes, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
584
+ /* repeated services.livemap.UserDelete deletes = 1; */
585
+ for (let i = 0; i < message.deletes.length; i++)
586
+ UserDelete.internalBinaryWrite(message.deletes[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
587
+ let u = options.writeUnknownFields;
588
+ if (u !== false)
589
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
590
+ return writer;
591
+ }
592
+ }
593
+ /**
594
+ * @generated MessageType for protobuf message services.livemap.UserDeletes
595
+ */
596
+ export const UserDeletes = new UserDeletes$Type();
597
+ // @generated message type with reflection information, may provide speed optimized methods
598
+ class UserDelete$Type extends MessageType<UserDelete> {
599
+ constructor() {
600
+ super("services.livemap.UserDelete", [
601
+ { no: 1, name: "id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
602
+ { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
603
+ ]);
604
+ }
605
+ create(value?: PartialMessage<UserDelete>): UserDelete {
606
+ const message = globalThis.Object.create((this.messagePrototype!));
607
+ message.id = 0;
608
+ message.job = "";
609
+ if (value !== undefined)
610
+ reflectionMergePartial<UserDelete>(this, message, value);
611
+ return message;
612
+ }
613
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserDelete): UserDelete {
614
+ let message = target ?? this.create(), end = reader.pos + length;
615
+ while (reader.pos < end) {
616
+ let [fieldNo, wireType] = reader.tag();
617
+ switch (fieldNo) {
618
+ case /* int32 id */ 1:
619
+ message.id = reader.int32();
436
620
  break;
437
- case /* optional bool clear */ 5:
438
- message.clear = reader.bool();
621
+ case /* string job */ 2:
622
+ message.job = reader.string();
439
623
  break;
440
624
  default:
441
625
  let u = options.readUnknownField;
@@ -448,26 +632,13 @@ class UserMarkersUpdates$Type extends MessageType<UserMarkersUpdates> {
448
632
  }
449
633
  return message;
450
634
  }
451
- internalBinaryWrite(message: UserMarkersUpdates, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
452
- /* repeated resources.livemap.UserMarker updated = 1; */
453
- for (let i = 0; i < message.updated.length; i++)
454
- UserMarker.internalBinaryWrite(message.updated[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
455
- /* repeated int32 deleted = 2; */
456
- if (message.deleted.length) {
457
- writer.tag(2, WireType.LengthDelimited).fork();
458
- for (let i = 0; i < message.deleted.length; i++)
459
- writer.int32(message.deleted[i]);
460
- writer.join();
461
- }
462
- /* int32 part = 3; */
463
- if (message.part !== 0)
464
- writer.tag(3, WireType.Varint).int32(message.part);
465
- /* bool partial = 4; */
466
- if (message.partial !== false)
467
- writer.tag(4, WireType.Varint).bool(message.partial);
468
- /* optional bool clear = 5; */
469
- if (message.clear !== undefined)
470
- writer.tag(5, WireType.Varint).bool(message.clear);
635
+ internalBinaryWrite(message: UserDelete, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
636
+ /* int32 id = 1; */
637
+ if (message.id !== 0)
638
+ writer.tag(1, WireType.Varint).int32(message.id);
639
+ /* string job = 2; */
640
+ if (message.job !== "")
641
+ writer.tag(2, WireType.LengthDelimited).string(message.job);
471
642
  let u = options.writeUnknownFields;
472
643
  if (u !== false)
473
644
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -475,14 +646,14 @@ class UserMarkersUpdates$Type extends MessageType<UserMarkersUpdates> {
475
646
  }
476
647
  }
477
648
  /**
478
- * @generated MessageType for protobuf message services.livemap.UserMarkersUpdates
649
+ * @generated MessageType for protobuf message services.livemap.UserDelete
479
650
  */
480
- export const UserMarkersUpdates = new UserMarkersUpdates$Type();
651
+ export const UserDelete = new UserDelete$Type();
481
652
  // @generated message type with reflection information, may provide speed optimized methods
482
653
  class CreateOrUpdateMarkerRequest$Type extends MessageType<CreateOrUpdateMarkerRequest> {
483
654
  constructor() {
484
655
  super("services.livemap.CreateOrUpdateMarkerRequest", [
485
- { no: 1, name: "marker", kind: "message", T: () => MarkerMarker, options: { "validate.rules": { message: { required: true } } } }
656
+ { no: 1, name: "marker", kind: "message", T: () => MarkerMarker, options: { "buf.validate.field": { required: true } } }
486
657
  ]);
487
658
  }
488
659
  create(value?: PartialMessage<CreateOrUpdateMarkerRequest>): CreateOrUpdateMarkerRequest {
@@ -574,7 +745,7 @@ export const CreateOrUpdateMarkerResponse = new CreateOrUpdateMarkerResponse$Typ
574
745
  class DeleteMarkerRequest$Type extends MessageType<DeleteMarkerRequest> {
575
746
  constructor() {
576
747
  super("services.livemap.DeleteMarkerRequest", [
577
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ }
748
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
578
749
  ]);
579
750
  }
580
751
  create(value?: PartialMessage<DeleteMarkerRequest>): DeleteMarkerRequest {
@@ -589,8 +760,8 @@ class DeleteMarkerRequest$Type extends MessageType<DeleteMarkerRequest> {
589
760
  while (reader.pos < end) {
590
761
  let [fieldNo, wireType] = reader.tag();
591
762
  switch (fieldNo) {
592
- case /* uint64 id */ 1:
593
- message.id = reader.uint64().toNumber();
763
+ case /* int64 id */ 1:
764
+ message.id = reader.int64().toNumber();
594
765
  break;
595
766
  default:
596
767
  let u = options.readUnknownField;
@@ -604,9 +775,9 @@ class DeleteMarkerRequest$Type extends MessageType<DeleteMarkerRequest> {
604
775
  return message;
605
776
  }
606
777
  internalBinaryWrite(message: DeleteMarkerRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
607
- /* uint64 id = 1; */
778
+ /* int64 id = 1; */
608
779
  if (message.id !== 0)
609
- writer.tag(1, WireType.Varint).uint64(message.id);
780
+ writer.tag(1, WireType.Varint).int64(message.id);
610
781
  let u = options.writeUnknownFields;
611
782
  if (u !== false)
612
783
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -659,7 +830,7 @@ export const DeleteMarkerResponse = new DeleteMarkerResponse$Type();
659
830
  * @generated ServiceType for protobuf service services.livemap.LivemapService
660
831
  */
661
832
  export const LivemapService = new ServiceType("services.livemap.LivemapService", [
662
- { name: "Stream", serverStreaming: true, options: {}, I: StreamRequest, O: StreamResponse },
663
- { name: "CreateOrUpdateMarker", options: {}, I: CreateOrUpdateMarkerRequest, O: CreateOrUpdateMarkerResponse },
664
- { name: "DeleteMarker", options: {}, I: DeleteMarkerRequest, O: DeleteMarkerResponse }
833
+ { name: "Stream", serverStreaming: true, options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Markers", type: "ATTRIBUTE_TYPE_JOB_LIST" }, { key: "Players", type: "ATTRIBUTE_TYPE_JOB_GRADE_LIST" }] } }, I: StreamRequest, O: StreamResponse },
834
+ { name: "CreateOrUpdateMarker", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Access", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["Own", "Lower_Rank", "Same_Rank", "Any"] }] } }, I: CreateOrUpdateMarkerRequest, O: CreateOrUpdateMarkerResponse },
835
+ { name: "DeleteMarker", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Access", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["Own", "Lower_Rank", "Same_Rank", "Any"] }] } }, I: DeleteMarkerRequest, O: DeleteMarkerResponse }
665
836
  ]);