@fivenet-app/gen 2026.7.2 → 2026.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fivenet-app/gen",
3
3
  "private": false,
4
- "version": "2026.7.2",
4
+ "version": "2026.7.3",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "homepage": "https://fivenet.app",
@@ -81,7 +81,7 @@ class DocRequest$Type extends MessageType<DocRequest> {
81
81
  { no: 7, name: "creator", kind: "message", T: () => UserShort, options: { "tagger.tags": "alias:\"creator\"" } },
82
82
  { no: 8, name: "creator_job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
83
83
  { no: 9, name: "creator_job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
84
- { no: 10, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } } } },
84
+ { no: 10, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
85
85
  { no: 11, name: "data", kind: "message", T: () => DocActivityData },
86
86
  { no: 12, name: "accepted", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
87
87
  ]);
@@ -204,7 +204,7 @@ export const UserOAuth2Conn = new UserOAuth2Conn$Type();
204
204
  class UserProps$Type extends MessageType<UserProps> {
205
205
  constructor() {
206
206
  super("resources.sync.activity.UserProps", [
207
- { no: 1, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } } } },
207
+ { no: 1, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
208
208
  { no: 2, name: "props", kind: "message", T: () => UserProps$, options: { "buf.validate.field": { required: true } } }
209
209
  ]);
210
210
  }
@@ -257,7 +257,7 @@ export const UserProps = new UserProps$Type();
257
257
  class ColleagueProps$Type extends MessageType<ColleagueProps> {
258
258
  constructor() {
259
259
  super("resources.sync.activity.ColleagueProps", [
260
- { no: 1, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } } } },
260
+ { no: 1, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
261
261
  { no: 2, name: "props", kind: "message", T: () => ColleagueProps$, options: { "buf.validate.field": { required: true } } }
262
262
  ]);
263
263
  }
@@ -224,7 +224,7 @@ class PageActivity$Type extends MessageType<PageActivity> {
224
224
  { no: 6, name: "creator", kind: "message", T: () => UserShort, options: { "tagger.tags": "alias:\"creator\"" } },
225
225
  { no: 7, name: "creator_job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
226
226
  { no: 8, name: "creator_job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
227
- { no: 9, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } } } },
227
+ { no: 9, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
228
228
  { no: 10, name: "data", kind: "message", T: () => PageActivityData }
229
229
  ]);
230
230
  }
@@ -28,6 +28,16 @@ export interface ILivemapServiceClient {
28
28
  */
29
29
  createOrUpdateMarker(input: CreateOrUpdateMarkerRequest, options?: RpcOptions): UnaryCall<CreateOrUpdateMarkerRequest, CreateOrUpdateMarkerResponse>;
30
30
  /**
31
+ * Deletes or restores a marker.
32
+ *
33
+ * Private markers use the DeleteMarker Access attribute in the usual creator job/rank scope:
34
+ * Own allows the creator, Lower_Rank allows higher ranks, Same_Rank allows same-or-higher ranks,
35
+ * and Any allows any member in the creator's job.
36
+ *
37
+ * Public markers have stricter delete access because they can be visible across jobs:
38
+ * job admins can delete them; the marker creator can delete them only when Access includes Own;
39
+ * otherwise, only members of the marker's owning job with Access=Any can delete them.
40
+ *
31
41
  * @generated from protobuf rpc: DeleteMarker
32
42
  */
33
43
  deleteMarker(input: DeleteMarkerRequest, options?: RpcOptions): UnaryCall<DeleteMarkerRequest, DeleteMarkerResponse>;
@@ -56,6 +66,16 @@ export class LivemapServiceClient implements ILivemapServiceClient, ServiceInfo
56
66
  return stackIntercept<CreateOrUpdateMarkerRequest, CreateOrUpdateMarkerResponse>("unary", this._transport, method, opt, input);
57
67
  }
58
68
  /**
69
+ * Deletes or restores a marker.
70
+ *
71
+ * Private markers use the DeleteMarker Access attribute in the usual creator job/rank scope:
72
+ * Own allows the creator, Lower_Rank allows higher ranks, Same_Rank allows same-or-higher ranks,
73
+ * and Any allows any member in the creator's job.
74
+ *
75
+ * Public markers have stricter delete access because they can be visible across jobs:
76
+ * job admins can delete them; the marker creator can delete them only when Access includes Own;
77
+ * otherwise, only members of the marker's owning job with Access=Any can delete them.
78
+ *
59
79
  * @generated from protobuf rpc: DeleteMarker
60
80
  */
61
81
  deleteMarker(input: DeleteMarkerRequest, options?: RpcOptions): UnaryCall<DeleteMarkerRequest, DeleteMarkerResponse> {
@@ -21,6 +21,8 @@ import type { SendAccountsRequest } from "./sync";
21
21
  import type { SendLicensesRequest } from "./sync";
22
22
  import type { SendDataResponse } from "./sync";
23
23
  import type { SendJobsRequest } from "./sync";
24
+ import type { CloseUserDispatchesResponse } from "./sync";
25
+ import type { CloseUserDispatchesRequest } from "./sync";
24
26
  import type { EndActiveJobTimeclocksResponse } from "./sync";
25
27
  import type { EndActiveJobTimeclocksRequest } from "./sync";
26
28
  import type { DeleteDataResponse } from "./sync";
@@ -142,6 +144,12 @@ export interface ISyncServiceClient {
142
144
  * @generated from protobuf rpc: EndActiveJobTimeclocks
143
145
  */
144
146
  endActiveJobTimeclocks(input: EndActiveJobTimeclocksRequest, options?: RpcOptions): UnaryCall<EndActiveJobTimeclocksRequest, EndActiveJobTimeclocksResponse>;
147
+ /**
148
+ * Close dispatch(es) that match a certain user, optionally limited to the given jobs.
149
+ *
150
+ * @generated from protobuf rpc: CloseUserDispatches
151
+ */
152
+ closeUserDispatches(input: CloseUserDispatchesRequest, options?: RpcOptions): UnaryCall<CloseUserDispatchesRequest, CloseUserDispatchesResponse>;
145
153
  /**
146
154
  * Sync job data to the server.
147
155
  *
@@ -371,13 +379,22 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
371
379
  const method = this.methods[14], opt = this._transport.mergeOptions(options);
372
380
  return stackIntercept<EndActiveJobTimeclocksRequest, EndActiveJobTimeclocksResponse>("unary", this._transport, method, opt, input);
373
381
  }
382
+ /**
383
+ * Close dispatch(es) that match a certain user, optionally limited to the given jobs.
384
+ *
385
+ * @generated from protobuf rpc: CloseUserDispatches
386
+ */
387
+ closeUserDispatches(input: CloseUserDispatchesRequest, options?: RpcOptions): UnaryCall<CloseUserDispatchesRequest, CloseUserDispatchesResponse> {
388
+ const method = this.methods[15], opt = this._transport.mergeOptions(options);
389
+ return stackIntercept<CloseUserDispatchesRequest, CloseUserDispatchesResponse>("unary", this._transport, method, opt, input);
390
+ }
374
391
  /**
375
392
  * Sync job data to the server.
376
393
  *
377
394
  * @generated from protobuf rpc: SendJobs
378
395
  */
379
396
  sendJobs(input: SendJobsRequest, options?: RpcOptions): UnaryCall<SendJobsRequest, SendDataResponse> {
380
- const method = this.methods[15], opt = this._transport.mergeOptions(options);
397
+ const method = this.methods[16], opt = this._transport.mergeOptions(options);
381
398
  return stackIntercept<SendJobsRequest, SendDataResponse>("unary", this._transport, method, opt, input);
382
399
  }
383
400
  /**
@@ -386,7 +403,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
386
403
  * @generated from protobuf rpc: SendLicenses
387
404
  */
388
405
  sendLicenses(input: SendLicensesRequest, options?: RpcOptions): UnaryCall<SendLicensesRequest, SendDataResponse> {
389
- const method = this.methods[16], opt = this._transport.mergeOptions(options);
406
+ const method = this.methods[17], opt = this._transport.mergeOptions(options);
390
407
  return stackIntercept<SendLicensesRequest, SendDataResponse>("unary", this._transport, method, opt, input);
391
408
  }
392
409
  /**
@@ -395,7 +412,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
395
412
  * @generated from protobuf rpc: SendAccounts
396
413
  */
397
414
  sendAccounts(input: SendAccountsRequest, options?: RpcOptions): UnaryCall<SendAccountsRequest, SendDataResponse> {
398
- const method = this.methods[17], opt = this._transport.mergeOptions(options);
415
+ const method = this.methods[18], opt = this._transport.mergeOptions(options);
399
416
  return stackIntercept<SendAccountsRequest, SendDataResponse>("unary", this._transport, method, opt, input);
400
417
  }
401
418
  /**
@@ -404,7 +421,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
404
421
  * @generated from protobuf rpc: SendUsers
405
422
  */
406
423
  sendUsers(input: SendUsersRequest, options?: RpcOptions): UnaryCall<SendUsersRequest, SendDataResponse> {
407
- const method = this.methods[18], opt = this._transport.mergeOptions(options);
424
+ const method = this.methods[19], opt = this._transport.mergeOptions(options);
408
425
  return stackIntercept<SendUsersRequest, SendDataResponse>("unary", this._transport, method, opt, input);
409
426
  }
410
427
  /**
@@ -413,7 +430,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
413
430
  * @generated from protobuf rpc: SendVehicles
414
431
  */
415
432
  sendVehicles(input: SendVehiclesRequest, options?: RpcOptions): UnaryCall<SendVehiclesRequest, SendDataResponse> {
416
- const method = this.methods[19], opt = this._transport.mergeOptions(options);
433
+ const method = this.methods[20], opt = this._transport.mergeOptions(options);
417
434
  return stackIntercept<SendVehiclesRequest, SendDataResponse>("unary", this._transport, method, opt, input);
418
435
  }
419
436
  /**
@@ -422,7 +439,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
422
439
  * @generated from protobuf rpc: SendUserLocations
423
440
  */
424
441
  sendUserLocations(input: SendUserLocationsRequest, options?: RpcOptions): UnaryCall<SendUserLocationsRequest, SendDataResponse> {
425
- const method = this.methods[20], opt = this._transport.mergeOptions(options);
442
+ const method = this.methods[21], opt = this._transport.mergeOptions(options);
426
443
  return stackIntercept<SendUserLocationsRequest, SendDataResponse>("unary", this._transport, method, opt, input);
427
444
  }
428
445
  /**
@@ -431,7 +448,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
431
448
  * @generated from protobuf rpc: SetLastCharID
432
449
  */
433
450
  setLastCharID(input: SetLastCharIDRequest, options?: RpcOptions): UnaryCall<SetLastCharIDRequest, SendDataResponse> {
434
- const method = this.methods[21], opt = this._transport.mergeOptions(options);
451
+ const method = this.methods[22], opt = this._transport.mergeOptions(options);
435
452
  return stackIntercept<SetLastCharIDRequest, SendDataResponse>("unary", this._transport, method, opt, input);
436
453
  }
437
454
  /**
@@ -440,7 +457,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
440
457
  * @generated from protobuf rpc: DeleteUsers
441
458
  */
442
459
  deleteUsers(input: DeleteUsersRequest, options?: RpcOptions): UnaryCall<DeleteUsersRequest, DeleteDataResponse> {
443
- const method = this.methods[22], opt = this._transport.mergeOptions(options);
460
+ const method = this.methods[23], opt = this._transport.mergeOptions(options);
444
461
  return stackIntercept<DeleteUsersRequest, DeleteDataResponse>("unary", this._transport, method, opt, input);
445
462
  }
446
463
  /**
@@ -449,7 +466,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
449
466
  * @generated from protobuf rpc: DeleteVehicles
450
467
  */
451
468
  deleteVehicles(input: DeleteVehiclesRequest, options?: RpcOptions): UnaryCall<DeleteVehiclesRequest, DeleteDataResponse> {
452
- const method = this.methods[23], opt = this._transport.mergeOptions(options);
469
+ const method = this.methods[24], opt = this._transport.mergeOptions(options);
453
470
  return stackIntercept<DeleteVehiclesRequest, DeleteDataResponse>("unary", this._transport, method, opt, input);
454
471
  }
455
472
  /**
@@ -458,7 +475,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
458
475
  * @generated from protobuf rpc: Stream
459
476
  */
460
477
  stream(input: StreamRequest, options?: RpcOptions): ServerStreamingCall<StreamRequest, StreamResponse> {
461
- const method = this.methods[24], opt = this._transport.mergeOptions(options);
478
+ const method = this.methods[25], opt = this._transport.mergeOptions(options);
462
479
  return stackIntercept<StreamRequest, StreamResponse>("serverStreaming", this._transport, method, opt, input);
463
480
  }
464
481
  /**
@@ -468,7 +485,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
468
485
  * @generated from protobuf rpc: AddActivity
469
486
  */
470
487
  addActivity(input: AddActivityRequest, options?: RpcOptions): UnaryCall<AddActivityRequest, AddActivityResponse> {
471
- const method = this.methods[25], opt = this._transport.mergeOptions(options);
488
+ const method = this.methods[26], opt = this._transport.mergeOptions(options);
472
489
  return stackIntercept<AddActivityRequest, AddActivityResponse>("unary", this._transport, method, opt, input);
473
490
  }
474
491
  /**
@@ -478,7 +495,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
478
495
  * @generated from protobuf rpc: SendData
479
496
  */
480
497
  sendData(input: SendDataRequest, options?: RpcOptions): UnaryCall<SendDataRequest, SendDataResponse> {
481
- const method = this.methods[26], opt = this._transport.mergeOptions(options);
498
+ const method = this.methods[27], opt = this._transport.mergeOptions(options);
482
499
  return stackIntercept<SendDataRequest, SendDataResponse>("unary", this._transport, method, opt, input);
483
500
  }
484
501
  /**
@@ -488,7 +505,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
488
505
  * @generated from protobuf rpc: DeleteData
489
506
  */
490
507
  deleteData(input: DeleteDataRequest, options?: RpcOptions): UnaryCall<DeleteDataRequest, DeleteDataResponse> {
491
- const method = this.methods[27], opt = this._transport.mergeOptions(options);
508
+ const method = this.methods[28], opt = this._transport.mergeOptions(options);
492
509
  return stackIntercept<DeleteDataRequest, DeleteDataResponse>("unary", this._transport, method, opt, input);
493
510
  }
494
511
  }
@@ -33,6 +33,7 @@ import { ColleagueProps } from "../../resources/sync/activity/activity";
33
33
  import { ColleagueActivity } from "../../resources/jobs/colleagues/activity/activity";
34
34
  import { UserProps } from "../../resources/sync/activity/activity";
35
35
  import { UserActivity } from "../../resources/users/activity/activity";
36
+ import { Coords } from "../../resources/livemap/coords";
36
37
  import { MarkerMarker } from "../../resources/livemap/markers/marker_marker";
37
38
  import { Dispatch } from "../../resources/centrum/dispatches/dispatches";
38
39
  import { UserOAuth2Conn } from "../../resources/sync/activity/activity";
@@ -178,6 +179,50 @@ export interface EndActiveJobTimeclocksResponse {
178
179
  */
179
180
  rowsAffected: number;
180
181
  }
182
+ /**
183
+ * Request to close active dispatches created for a specific user.
184
+ *
185
+ * @generated from protobuf message services.sync.CloseUserDispatchesRequest
186
+ */
187
+ export interface CloseUserDispatchesRequest {
188
+ /**
189
+ * User ID whose active dispatches should be closed.
190
+ *
191
+ * @generated from protobuf field: int32 target_user_id = 1
192
+ */
193
+ targetUserId: number;
194
+ /**
195
+ * Optional job list limiting which dispatch jobs are considered.
196
+ *
197
+ * @generated from protobuf field: repeated string limit_jobs = 2
198
+ */
199
+ limitJobs: string[];
200
+ /**
201
+ * Optional coordinates to attach to the closing dispatch status.
202
+ *
203
+ * @generated from protobuf field: optional resources.livemap.Coords coords = 3
204
+ */
205
+ coords?: Coords;
206
+ /**
207
+ * Optional reason to attach to the closing dispatch status.
208
+ *
209
+ * @generated from protobuf field: optional string reason = 4
210
+ */
211
+ reason?: string;
212
+ }
213
+ /**
214
+ * Response containing the number of dispatches closed for the user.
215
+ *
216
+ * @generated from protobuf message services.sync.CloseUserDispatchesResponse
217
+ */
218
+ export interface CloseUserDispatchesResponse {
219
+ /**
220
+ * Number of dispatches whose status was updated to completed.
221
+ *
222
+ * @generated from protobuf field: int64 rows_affected = 1
223
+ */
224
+ rowsAffected: number;
225
+ }
181
226
  /**
182
227
  * @generated from protobuf message services.sync.AddUserActivityRequest
183
228
  */
@@ -1154,6 +1199,122 @@ class EndActiveJobTimeclocksResponse$Type extends MessageType<EndActiveJobTimecl
1154
1199
  */
1155
1200
  export const EndActiveJobTimeclocksResponse = new EndActiveJobTimeclocksResponse$Type();
1156
1201
  // @generated message type with reflection information, may provide speed optimized methods
1202
+ class CloseUserDispatchesRequest$Type extends MessageType<CloseUserDispatchesRequest> {
1203
+ constructor() {
1204
+ super("services.sync.CloseUserDispatchesRequest", [
1205
+ { no: 1, name: "target_user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
1206
+ { no: 2, name: "limit_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "10", items: { string: { maxLen: "20" } } } } } },
1207
+ { no: 3, name: "coords", kind: "message", T: () => Coords },
1208
+ { no: 4, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } }
1209
+ ]);
1210
+ }
1211
+ create(value?: PartialMessage<CloseUserDispatchesRequest>): CloseUserDispatchesRequest {
1212
+ const message = globalThis.Object.create((this.messagePrototype!));
1213
+ message.targetUserId = 0;
1214
+ message.limitJobs = [];
1215
+ if (value !== undefined)
1216
+ reflectionMergePartial<CloseUserDispatchesRequest>(this, message, value);
1217
+ return message;
1218
+ }
1219
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CloseUserDispatchesRequest): CloseUserDispatchesRequest {
1220
+ let message = target ?? this.create(), end = reader.pos + length;
1221
+ while (reader.pos < end) {
1222
+ let [fieldNo, wireType] = reader.tag();
1223
+ switch (fieldNo) {
1224
+ case /* int32 target_user_id */ 1:
1225
+ message.targetUserId = reader.int32();
1226
+ break;
1227
+ case /* repeated string limit_jobs */ 2:
1228
+ message.limitJobs.push(reader.string());
1229
+ break;
1230
+ case /* optional resources.livemap.Coords coords */ 3:
1231
+ message.coords = Coords.internalBinaryRead(reader, reader.uint32(), options, message.coords);
1232
+ break;
1233
+ case /* optional string reason */ 4:
1234
+ message.reason = reader.string();
1235
+ break;
1236
+ default:
1237
+ let u = options.readUnknownField;
1238
+ if (u === "throw")
1239
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1240
+ let d = reader.skip(wireType);
1241
+ if (u !== false)
1242
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1243
+ }
1244
+ }
1245
+ return message;
1246
+ }
1247
+ internalBinaryWrite(message: CloseUserDispatchesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1248
+ /* int32 target_user_id = 1; */
1249
+ if (message.targetUserId !== 0)
1250
+ writer.tag(1, WireType.Varint).int32(message.targetUserId);
1251
+ /* repeated string limit_jobs = 2; */
1252
+ for (let i = 0; i < message.limitJobs.length; i++)
1253
+ writer.tag(2, WireType.LengthDelimited).string(message.limitJobs[i]);
1254
+ /* optional resources.livemap.Coords coords = 3; */
1255
+ if (message.coords)
1256
+ Coords.internalBinaryWrite(message.coords, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
1257
+ /* optional string reason = 4; */
1258
+ if (message.reason !== undefined)
1259
+ writer.tag(4, WireType.LengthDelimited).string(message.reason);
1260
+ let u = options.writeUnknownFields;
1261
+ if (u !== false)
1262
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1263
+ return writer;
1264
+ }
1265
+ }
1266
+ /**
1267
+ * @generated MessageType for protobuf message services.sync.CloseUserDispatchesRequest
1268
+ */
1269
+ export const CloseUserDispatchesRequest = new CloseUserDispatchesRequest$Type();
1270
+ // @generated message type with reflection information, may provide speed optimized methods
1271
+ class CloseUserDispatchesResponse$Type extends MessageType<CloseUserDispatchesResponse> {
1272
+ constructor() {
1273
+ super("services.sync.CloseUserDispatchesResponse", [
1274
+ { no: 1, name: "rows_affected", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
1275
+ ]);
1276
+ }
1277
+ create(value?: PartialMessage<CloseUserDispatchesResponse>): CloseUserDispatchesResponse {
1278
+ const message = globalThis.Object.create((this.messagePrototype!));
1279
+ message.rowsAffected = 0;
1280
+ if (value !== undefined)
1281
+ reflectionMergePartial<CloseUserDispatchesResponse>(this, message, value);
1282
+ return message;
1283
+ }
1284
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CloseUserDispatchesResponse): CloseUserDispatchesResponse {
1285
+ let message = target ?? this.create(), end = reader.pos + length;
1286
+ while (reader.pos < end) {
1287
+ let [fieldNo, wireType] = reader.tag();
1288
+ switch (fieldNo) {
1289
+ case /* int64 rows_affected */ 1:
1290
+ message.rowsAffected = reader.int64().toNumber();
1291
+ break;
1292
+ default:
1293
+ let u = options.readUnknownField;
1294
+ if (u === "throw")
1295
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1296
+ let d = reader.skip(wireType);
1297
+ if (u !== false)
1298
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1299
+ }
1300
+ }
1301
+ return message;
1302
+ }
1303
+ internalBinaryWrite(message: CloseUserDispatchesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1304
+ /* int64 rows_affected = 1; */
1305
+ if (message.rowsAffected !== 0)
1306
+ writer.tag(1, WireType.Varint).int64(message.rowsAffected);
1307
+ let u = options.writeUnknownFields;
1308
+ if (u !== false)
1309
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1310
+ return writer;
1311
+ }
1312
+ }
1313
+ /**
1314
+ * @generated MessageType for protobuf message services.sync.CloseUserDispatchesResponse
1315
+ */
1316
+ export const CloseUserDispatchesResponse = new CloseUserDispatchesResponse$Type();
1317
+ // @generated message type with reflection information, may provide speed optimized methods
1157
1318
  class AddUserActivityRequest$Type extends MessageType<AddUserActivityRequest> {
1158
1319
  constructor() {
1159
1320
  super("services.sync.AddUserActivityRequest", [
@@ -2482,6 +2643,7 @@ export const SyncService = new ServiceType("services.sync.SyncService", [
2482
2643
  { name: "AddMarker", options: {}, I: AddMarkerRequest, O: AddActivityResponse },
2483
2644
  { name: "DeleteMarker", options: {}, I: DeleteMarkerRequest, O: DeleteDataResponse },
2484
2645
  { name: "EndActiveJobTimeclocks", options: {}, I: EndActiveJobTimeclocksRequest, O: EndActiveJobTimeclocksResponse },
2646
+ { name: "CloseUserDispatches", options: {}, I: CloseUserDispatchesRequest, O: CloseUserDispatchesResponse },
2485
2647
  { name: "SendJobs", options: {}, I: SendJobsRequest, O: SendDataResponse },
2486
2648
  { name: "SendLicenses", options: {}, I: SendLicensesRequest, O: SendDataResponse },
2487
2649
  { name: "SendAccounts", options: {}, I: SendAccountsRequest, O: SendDataResponse },
package/svcs.ts CHANGED
@@ -485,6 +485,7 @@ export const grpcMethods = [
485
485
  'sync.SyncService/AddMarker',
486
486
  'sync.SyncService/DeleteMarker',
487
487
  'sync.SyncService/EndActiveJobTimeclocks',
488
+ 'sync.SyncService/CloseUserDispatches',
488
489
  'sync.SyncService/SendJobs',
489
490
  'sync.SyncService/SendLicenses',
490
491
  'sync.SyncService/SendAccounts',