@fivenet-app/gen 2026.5.0 → 2026.7.0

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 (87) hide show
  1. package/clients.ts +6 -0
  2. package/codegen/perms/perms.ts +74 -40
  3. package/codegen/sanitizer/sanitizer.ts +6 -0
  4. package/google/protobuf/descriptor.ts +11 -3
  5. package/google/protobuf/timestamp.ts +7 -6
  6. package/package.json +1 -1
  7. package/perms.ts +387 -41
  8. package/resources/access/access.ts +481 -0
  9. package/resources/accounts/accounts.ts +41 -30
  10. package/resources/audit/audit.ts +5 -1
  11. package/resources/calendar/access/access.ts +0 -330
  12. package/resources/calendar/calendar.ts +307 -25
  13. package/resources/calendar/entries/entries.ts +204 -11
  14. package/resources/centrum/units/access/access.ts +0 -373
  15. package/resources/centrum/units/units.ts +20 -8
  16. package/resources/citizens/labels/access.ts +0 -191
  17. package/resources/citizens/labels/labels.ts +20 -8
  18. package/resources/common/content/diff_activity.ts +1 -1
  19. package/resources/cron/cron.ts +1 -1
  20. package/resources/documents/access/access.ts +0 -329
  21. package/resources/documents/activity/activity.ts +49 -45
  22. package/resources/documents/documents.ts +1 -1
  23. package/resources/documents/requests/requests.ts +1 -1
  24. package/resources/documents/stamps/stamp.ts +40 -210
  25. package/resources/documents/templates/templates.ts +158 -318
  26. package/resources/jobs/colleagues/activity/activity.ts +2 -2
  27. package/resources/jobs/conduct/conduct.ts +2 -2
  28. package/resources/jobs/jobs.ts +22 -0
  29. package/resources/jobs/labels/labels.ts +9 -9
  30. package/resources/laws/laws.ts +96 -50
  31. package/resources/livemap/markers/marker_marker.ts +311 -4
  32. package/resources/mailer/access/access.ts +0 -457
  33. package/resources/mailer/emails/email.ts +4 -4
  34. package/resources/notifications/events/events.ts +18 -1
  35. package/resources/permissions/attributes/attributes.ts +51 -39
  36. package/resources/permissions/permissions/permissions.ts +46 -34
  37. package/resources/qualifications/access/access.ts +0 -248
  38. package/resources/qualifications/qualifications.ts +9 -9
  39. package/resources/settings/config.ts +53 -5
  40. package/resources/settings/data.ts +1 -1
  41. package/resources/stats/stats.ts +32 -20
  42. package/resources/sync/data/data.ts +22 -10
  43. package/resources/userinfo/userinfo.ts +202 -51
  44. package/resources/users/activity/activity.ts +70 -77
  45. package/resources/wiki/access/access.ts +0 -330
  46. package/resources/wiki/activity/activity.ts +45 -45
  47. package/resources/wiki/page.ts +9 -9
  48. package/services/auth/auth.ts +1 -1
  49. package/services/calendar/calendar.ts +1 -1
  50. package/services/calendar/entries.ts +13 -2
  51. package/services/centrum/dispatches.ts +32 -12
  52. package/services/centrum/units.client.ts +15 -2
  53. package/services/centrum/units.ts +237 -129
  54. package/services/citizens/citizens.ts +1 -1
  55. package/services/citizens/labels.client.ts +13 -0
  56. package/services/citizens/labels.ts +135 -4
  57. package/services/completor/completor.client.ts +0 -13
  58. package/services/completor/completor.ts +2 -116
  59. package/services/documents/approval.ts +20 -9
  60. package/services/documents/categories.ts +1 -1
  61. package/services/documents/collab.ts +1 -1
  62. package/services/documents/comments.ts +4 -4
  63. package/services/documents/documents.ts +38 -38
  64. package/services/documents/stats.ts +14 -2
  65. package/services/documents/templates.ts +1 -1
  66. package/services/filestore/filestore.ts +4 -4
  67. package/services/jobs/colleagues.ts +4 -4
  68. package/services/jobs/conduct.ts +2 -2
  69. package/services/jobs/groups.client.ts +22 -0
  70. package/services/jobs/groups.ts +9 -0
  71. package/services/jobs/timeclock.ts +2 -2
  72. package/services/mailer/settings.ts +1 -1
  73. package/services/mailer/thread.ts +3 -3
  74. package/services/qualifications/exam.ts +5 -5
  75. package/services/qualifications/qualifications.ts +52 -34
  76. package/services/settings/accounts.ts +19 -6
  77. package/services/settings/config.ts +2 -2
  78. package/services/settings/cron.ts +2 -2
  79. package/services/settings/laws.client.ts +44 -5
  80. package/services/settings/laws.ts +357 -4
  81. package/services/settings/system.ts +6 -6
  82. package/services/sync/sync.client.ts +42 -14
  83. package/services/sync/sync.ts +162 -13
  84. package/services/wiki/collab.ts +1 -1
  85. package/services/wiki/wiki.client.ts +15 -2
  86. package/services/wiki/wiki.ts +122 -0
  87. package/svcs.ts +19 -1
@@ -3,9 +3,9 @@
3
3
  // tslint:disable
4
4
  // @ts-nocheck
5
5
  import { ServiceType } from "@protobuf-ts/runtime-rpc";
6
+ import { WireType } from "@protobuf-ts/runtime";
6
7
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
7
8
  import type { IBinaryWriter } from "@protobuf-ts/runtime";
8
- import { WireType } from "@protobuf-ts/runtime";
9
9
  import type { BinaryReadOptions } from "@protobuf-ts/runtime";
10
10
  import type { IBinaryReader } from "@protobuf-ts/runtime";
11
11
  import { UnknownFieldHandler } from "@protobuf-ts/runtime";
@@ -13,7 +13,22 @@ import type { PartialMessage } from "@protobuf-ts/runtime";
13
13
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
14
14
  import { MessageType } from "@protobuf-ts/runtime";
15
15
  import { Law } from "../../resources/laws/laws";
16
+ import { Timestamp } from "../../resources/timestamp/timestamp";
16
17
  import { LawBook } from "../../resources/laws/laws";
18
+ /**
19
+ * @generated from protobuf message services.settings.ListLawBooksRequest
20
+ */
21
+ export interface ListLawBooksRequest {
22
+ }
23
+ /**
24
+ * @generated from protobuf message services.settings.ListLawBooksResponse
25
+ */
26
+ export interface ListLawBooksResponse {
27
+ /**
28
+ * @generated from protobuf field: repeated resources.laws.LawBook books = 1
29
+ */
30
+ books: LawBook[];
31
+ }
17
32
  /**
18
33
  * @generated from protobuf message services.settings.CreateOrUpdateLawBookRequest
19
34
  */
@@ -45,6 +60,10 @@ export interface DeleteLawBookRequest {
45
60
  * @generated from protobuf message services.settings.DeleteLawBookResponse
46
61
  */
47
62
  export interface DeleteLawBookResponse {
63
+ /**
64
+ * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 1
65
+ */
66
+ deletedAt?: Timestamp;
48
67
  }
49
68
  /**
50
69
  * @generated from protobuf message services.settings.CreateOrUpdateLawRequest
@@ -77,8 +96,129 @@ export interface DeleteLawRequest {
77
96
  * @generated from protobuf message services.settings.DeleteLawResponse
78
97
  */
79
98
  export interface DeleteLawResponse {
99
+ /**
100
+ * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 1
101
+ */
102
+ deletedAt?: Timestamp;
103
+ }
104
+ /**
105
+ * @generated from protobuf message services.settings.ReorderLawsRequest
106
+ */
107
+ export interface ReorderLawsRequest {
108
+ /**
109
+ * @generated from protobuf field: int64 law_book_id = 1
110
+ */
111
+ lawBookId: number;
112
+ /**
113
+ * @generated from protobuf field: repeated int64 law_ids = 2
114
+ */
115
+ lawIds: number[];
116
+ }
117
+ /**
118
+ * @generated from protobuf message services.settings.ReorderLawsResponse
119
+ */
120
+ export interface ReorderLawsResponse {
121
+ }
122
+ /**
123
+ * @generated from protobuf message services.settings.ReorderLawBooksRequest
124
+ */
125
+ export interface ReorderLawBooksRequest {
126
+ /**
127
+ * @generated from protobuf field: repeated int64 law_book_ids = 1
128
+ */
129
+ lawBookIds: number[];
130
+ }
131
+ /**
132
+ * @generated from protobuf message services.settings.ReorderLawBooksResponse
133
+ */
134
+ export interface ReorderLawBooksResponse {
80
135
  }
81
136
  // @generated message type with reflection information, may provide speed optimized methods
137
+ class ListLawBooksRequest$Type extends MessageType<ListLawBooksRequest> {
138
+ constructor() {
139
+ super("services.settings.ListLawBooksRequest", []);
140
+ }
141
+ create(value?: PartialMessage<ListLawBooksRequest>): ListLawBooksRequest {
142
+ const message = globalThis.Object.create((this.messagePrototype!));
143
+ if (value !== undefined)
144
+ reflectionMergePartial<ListLawBooksRequest>(this, message, value);
145
+ return message;
146
+ }
147
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListLawBooksRequest): ListLawBooksRequest {
148
+ let message = target ?? this.create(), end = reader.pos + length;
149
+ while (reader.pos < end) {
150
+ let [fieldNo, wireType] = reader.tag();
151
+ switch (fieldNo) {
152
+ default:
153
+ let u = options.readUnknownField;
154
+ if (u === "throw")
155
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
156
+ let d = reader.skip(wireType);
157
+ if (u !== false)
158
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
159
+ }
160
+ }
161
+ return message;
162
+ }
163
+ internalBinaryWrite(message: ListLawBooksRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
164
+ let u = options.writeUnknownFields;
165
+ if (u !== false)
166
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
167
+ return writer;
168
+ }
169
+ }
170
+ /**
171
+ * @generated MessageType for protobuf message services.settings.ListLawBooksRequest
172
+ */
173
+ export const ListLawBooksRequest = new ListLawBooksRequest$Type();
174
+ // @generated message type with reflection information, may provide speed optimized methods
175
+ class ListLawBooksResponse$Type extends MessageType<ListLawBooksResponse> {
176
+ constructor() {
177
+ super("services.settings.ListLawBooksResponse", [
178
+ { no: 1, name: "books", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => LawBook }
179
+ ]);
180
+ }
181
+ create(value?: PartialMessage<ListLawBooksResponse>): ListLawBooksResponse {
182
+ const message = globalThis.Object.create((this.messagePrototype!));
183
+ message.books = [];
184
+ if (value !== undefined)
185
+ reflectionMergePartial<ListLawBooksResponse>(this, message, value);
186
+ return message;
187
+ }
188
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListLawBooksResponse): ListLawBooksResponse {
189
+ let message = target ?? this.create(), end = reader.pos + length;
190
+ while (reader.pos < end) {
191
+ let [fieldNo, wireType] = reader.tag();
192
+ switch (fieldNo) {
193
+ case /* repeated resources.laws.LawBook books */ 1:
194
+ message.books.push(LawBook.internalBinaryRead(reader, reader.uint32(), options));
195
+ break;
196
+ default:
197
+ let u = options.readUnknownField;
198
+ if (u === "throw")
199
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
200
+ let d = reader.skip(wireType);
201
+ if (u !== false)
202
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
203
+ }
204
+ }
205
+ return message;
206
+ }
207
+ internalBinaryWrite(message: ListLawBooksResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
208
+ /* repeated resources.laws.LawBook books = 1; */
209
+ for (let i = 0; i < message.books.length; i++)
210
+ LawBook.internalBinaryWrite(message.books[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
211
+ let u = options.writeUnknownFields;
212
+ if (u !== false)
213
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
214
+ return writer;
215
+ }
216
+ }
217
+ /**
218
+ * @generated MessageType for protobuf message services.settings.ListLawBooksResponse
219
+ */
220
+ export const ListLawBooksResponse = new ListLawBooksResponse$Type();
221
+ // @generated message type with reflection information, may provide speed optimized methods
82
222
  class CreateOrUpdateLawBookRequest$Type extends MessageType<CreateOrUpdateLawBookRequest> {
83
223
  constructor() {
84
224
  super("services.settings.CreateOrUpdateLawBookRequest", [
@@ -220,7 +360,9 @@ export const DeleteLawBookRequest = new DeleteLawBookRequest$Type();
220
360
  // @generated message type with reflection information, may provide speed optimized methods
221
361
  class DeleteLawBookResponse$Type extends MessageType<DeleteLawBookResponse> {
222
362
  constructor() {
223
- super("services.settings.DeleteLawBookResponse", []);
363
+ super("services.settings.DeleteLawBookResponse", [
364
+ { no: 1, name: "deleted_at", kind: "message", T: () => Timestamp }
365
+ ]);
224
366
  }
225
367
  create(value?: PartialMessage<DeleteLawBookResponse>): DeleteLawBookResponse {
226
368
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -233,6 +375,9 @@ class DeleteLawBookResponse$Type extends MessageType<DeleteLawBookResponse> {
233
375
  while (reader.pos < end) {
234
376
  let [fieldNo, wireType] = reader.tag();
235
377
  switch (fieldNo) {
378
+ case /* optional resources.timestamp.Timestamp deleted_at */ 1:
379
+ message.deletedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.deletedAt);
380
+ break;
236
381
  default:
237
382
  let u = options.readUnknownField;
238
383
  if (u === "throw")
@@ -245,6 +390,9 @@ class DeleteLawBookResponse$Type extends MessageType<DeleteLawBookResponse> {
245
390
  return message;
246
391
  }
247
392
  internalBinaryWrite(message: DeleteLawBookResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
393
+ /* optional resources.timestamp.Timestamp deleted_at = 1; */
394
+ if (message.deletedAt)
395
+ Timestamp.internalBinaryWrite(message.deletedAt, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
248
396
  let u = options.writeUnknownFields;
249
397
  if (u !== false)
250
398
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -397,7 +545,9 @@ export const DeleteLawRequest = new DeleteLawRequest$Type();
397
545
  // @generated message type with reflection information, may provide speed optimized methods
398
546
  class DeleteLawResponse$Type extends MessageType<DeleteLawResponse> {
399
547
  constructor() {
400
- super("services.settings.DeleteLawResponse", []);
548
+ super("services.settings.DeleteLawResponse", [
549
+ { no: 1, name: "deleted_at", kind: "message", T: () => Timestamp }
550
+ ]);
401
551
  }
402
552
  create(value?: PartialMessage<DeleteLawResponse>): DeleteLawResponse {
403
553
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -410,6 +560,9 @@ class DeleteLawResponse$Type extends MessageType<DeleteLawResponse> {
410
560
  while (reader.pos < end) {
411
561
  let [fieldNo, wireType] = reader.tag();
412
562
  switch (fieldNo) {
563
+ case /* optional resources.timestamp.Timestamp deleted_at */ 1:
564
+ message.deletedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.deletedAt);
565
+ break;
413
566
  default:
414
567
  let u = options.readUnknownField;
415
568
  if (u === "throw")
@@ -422,6 +575,9 @@ class DeleteLawResponse$Type extends MessageType<DeleteLawResponse> {
422
575
  return message;
423
576
  }
424
577
  internalBinaryWrite(message: DeleteLawResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
578
+ /* optional resources.timestamp.Timestamp deleted_at = 1; */
579
+ if (message.deletedAt)
580
+ Timestamp.internalBinaryWrite(message.deletedAt, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
425
581
  let u = options.writeUnknownFields;
426
582
  if (u !== false)
427
583
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -432,12 +588,209 @@ class DeleteLawResponse$Type extends MessageType<DeleteLawResponse> {
432
588
  * @generated MessageType for protobuf message services.settings.DeleteLawResponse
433
589
  */
434
590
  export const DeleteLawResponse = new DeleteLawResponse$Type();
591
+ // @generated message type with reflection information, may provide speed optimized methods
592
+ class ReorderLawsRequest$Type extends MessageType<ReorderLawsRequest> {
593
+ constructor() {
594
+ super("services.settings.ReorderLawsRequest", [
595
+ { no: 1, name: "law_book_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
596
+ { no: 2, name: "law_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { repeated: { minItems: "1", maxItems: "200", items: { int64: { gt: "0" } } } } } }
597
+ ]);
598
+ }
599
+ create(value?: PartialMessage<ReorderLawsRequest>): ReorderLawsRequest {
600
+ const message = globalThis.Object.create((this.messagePrototype!));
601
+ message.lawBookId = 0;
602
+ message.lawIds = [];
603
+ if (value !== undefined)
604
+ reflectionMergePartial<ReorderLawsRequest>(this, message, value);
605
+ return message;
606
+ }
607
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ReorderLawsRequest): ReorderLawsRequest {
608
+ let message = target ?? this.create(), end = reader.pos + length;
609
+ while (reader.pos < end) {
610
+ let [fieldNo, wireType] = reader.tag();
611
+ switch (fieldNo) {
612
+ case /* int64 law_book_id */ 1:
613
+ message.lawBookId = reader.int64().toNumber();
614
+ break;
615
+ case /* repeated int64 law_ids */ 2:
616
+ if (wireType === WireType.LengthDelimited)
617
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
618
+ message.lawIds.push(reader.int64().toNumber());
619
+ else
620
+ message.lawIds.push(reader.int64().toNumber());
621
+ break;
622
+ default:
623
+ let u = options.readUnknownField;
624
+ if (u === "throw")
625
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
626
+ let d = reader.skip(wireType);
627
+ if (u !== false)
628
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
629
+ }
630
+ }
631
+ return message;
632
+ }
633
+ internalBinaryWrite(message: ReorderLawsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
634
+ /* int64 law_book_id = 1; */
635
+ if (message.lawBookId !== 0)
636
+ writer.tag(1, WireType.Varint).int64(message.lawBookId);
637
+ /* repeated int64 law_ids = 2; */
638
+ if (message.lawIds.length) {
639
+ writer.tag(2, WireType.LengthDelimited).fork();
640
+ for (let i = 0; i < message.lawIds.length; i++)
641
+ writer.int64(message.lawIds[i]);
642
+ writer.join();
643
+ }
644
+ let u = options.writeUnknownFields;
645
+ if (u !== false)
646
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
647
+ return writer;
648
+ }
649
+ }
650
+ /**
651
+ * @generated MessageType for protobuf message services.settings.ReorderLawsRequest
652
+ */
653
+ export const ReorderLawsRequest = new ReorderLawsRequest$Type();
654
+ // @generated message type with reflection information, may provide speed optimized methods
655
+ class ReorderLawsResponse$Type extends MessageType<ReorderLawsResponse> {
656
+ constructor() {
657
+ super("services.settings.ReorderLawsResponse", []);
658
+ }
659
+ create(value?: PartialMessage<ReorderLawsResponse>): ReorderLawsResponse {
660
+ const message = globalThis.Object.create((this.messagePrototype!));
661
+ if (value !== undefined)
662
+ reflectionMergePartial<ReorderLawsResponse>(this, message, value);
663
+ return message;
664
+ }
665
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ReorderLawsResponse): ReorderLawsResponse {
666
+ let message = target ?? this.create(), end = reader.pos + length;
667
+ while (reader.pos < end) {
668
+ let [fieldNo, wireType] = reader.tag();
669
+ switch (fieldNo) {
670
+ default:
671
+ let u = options.readUnknownField;
672
+ if (u === "throw")
673
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
674
+ let d = reader.skip(wireType);
675
+ if (u !== false)
676
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
677
+ }
678
+ }
679
+ return message;
680
+ }
681
+ internalBinaryWrite(message: ReorderLawsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
682
+ let u = options.writeUnknownFields;
683
+ if (u !== false)
684
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
685
+ return writer;
686
+ }
687
+ }
688
+ /**
689
+ * @generated MessageType for protobuf message services.settings.ReorderLawsResponse
690
+ */
691
+ export const ReorderLawsResponse = new ReorderLawsResponse$Type();
692
+ // @generated message type with reflection information, may provide speed optimized methods
693
+ class ReorderLawBooksRequest$Type extends MessageType<ReorderLawBooksRequest> {
694
+ constructor() {
695
+ super("services.settings.ReorderLawBooksRequest", [
696
+ { no: 1, name: "law_book_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { repeated: { minItems: "1", maxItems: "200", items: { int64: { gt: "0" } } } } } }
697
+ ]);
698
+ }
699
+ create(value?: PartialMessage<ReorderLawBooksRequest>): ReorderLawBooksRequest {
700
+ const message = globalThis.Object.create((this.messagePrototype!));
701
+ message.lawBookIds = [];
702
+ if (value !== undefined)
703
+ reflectionMergePartial<ReorderLawBooksRequest>(this, message, value);
704
+ return message;
705
+ }
706
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ReorderLawBooksRequest): ReorderLawBooksRequest {
707
+ let message = target ?? this.create(), end = reader.pos + length;
708
+ while (reader.pos < end) {
709
+ let [fieldNo, wireType] = reader.tag();
710
+ switch (fieldNo) {
711
+ case /* repeated int64 law_book_ids */ 1:
712
+ if (wireType === WireType.LengthDelimited)
713
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
714
+ message.lawBookIds.push(reader.int64().toNumber());
715
+ else
716
+ message.lawBookIds.push(reader.int64().toNumber());
717
+ break;
718
+ default:
719
+ let u = options.readUnknownField;
720
+ if (u === "throw")
721
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
722
+ let d = reader.skip(wireType);
723
+ if (u !== false)
724
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
725
+ }
726
+ }
727
+ return message;
728
+ }
729
+ internalBinaryWrite(message: ReorderLawBooksRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
730
+ /* repeated int64 law_book_ids = 1; */
731
+ if (message.lawBookIds.length) {
732
+ writer.tag(1, WireType.LengthDelimited).fork();
733
+ for (let i = 0; i < message.lawBookIds.length; i++)
734
+ writer.int64(message.lawBookIds[i]);
735
+ writer.join();
736
+ }
737
+ let u = options.writeUnknownFields;
738
+ if (u !== false)
739
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
740
+ return writer;
741
+ }
742
+ }
743
+ /**
744
+ * @generated MessageType for protobuf message services.settings.ReorderLawBooksRequest
745
+ */
746
+ export const ReorderLawBooksRequest = new ReorderLawBooksRequest$Type();
747
+ // @generated message type with reflection information, may provide speed optimized methods
748
+ class ReorderLawBooksResponse$Type extends MessageType<ReorderLawBooksResponse> {
749
+ constructor() {
750
+ super("services.settings.ReorderLawBooksResponse", []);
751
+ }
752
+ create(value?: PartialMessage<ReorderLawBooksResponse>): ReorderLawBooksResponse {
753
+ const message = globalThis.Object.create((this.messagePrototype!));
754
+ if (value !== undefined)
755
+ reflectionMergePartial<ReorderLawBooksResponse>(this, message, value);
756
+ return message;
757
+ }
758
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ReorderLawBooksResponse): ReorderLawBooksResponse {
759
+ let message = target ?? this.create(), end = reader.pos + length;
760
+ while (reader.pos < end) {
761
+ let [fieldNo, wireType] = reader.tag();
762
+ switch (fieldNo) {
763
+ default:
764
+ let u = options.readUnknownField;
765
+ if (u === "throw")
766
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
767
+ let d = reader.skip(wireType);
768
+ if (u !== false)
769
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
770
+ }
771
+ }
772
+ return message;
773
+ }
774
+ internalBinaryWrite(message: ReorderLawBooksResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
775
+ let u = options.writeUnknownFields;
776
+ if (u !== false)
777
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
778
+ return writer;
779
+ }
780
+ }
781
+ /**
782
+ * @generated MessageType for protobuf message services.settings.ReorderLawBooksResponse
783
+ */
784
+ export const ReorderLawBooksResponse = new ReorderLawBooksResponse$Type();
435
785
  /**
436
786
  * @generated ServiceType for protobuf service services.settings.LawsService
437
787
  */
438
788
  export const LawsService = new ServiceType("services.settings.LawsService", [
789
+ { name: "ListLawBooks", options: { "codegen.perms.perms": { enabled: true, name: "CreateOrUpdateLawBook" } }, I: ListLawBooksRequest, O: ListLawBooksResponse },
439
790
  { name: "CreateOrUpdateLawBook", options: { "codegen.perms.perms": { enabled: true } }, I: CreateOrUpdateLawBookRequest, O: CreateOrUpdateLawBookResponse },
440
791
  { name: "DeleteLawBook", options: { "codegen.perms.perms": { enabled: true } }, I: DeleteLawBookRequest, O: DeleteLawBookResponse },
792
+ { name: "ReorderLawBooks", options: { "codegen.perms.perms": { enabled: true, name: "CreateOrUpdateLawBook" } }, I: ReorderLawBooksRequest, O: ReorderLawBooksResponse },
441
793
  { name: "CreateOrUpdateLaw", options: { "codegen.perms.perms": { enabled: true, name: "CreateOrUpdateLawBook" } }, I: CreateOrUpdateLawRequest, O: CreateOrUpdateLawResponse },
442
- { name: "DeleteLaw", options: { "codegen.perms.perms": { enabled: true, name: "DeleteLawBook" } }, I: DeleteLawRequest, O: DeleteLawResponse }
794
+ { name: "DeleteLaw", options: { "codegen.perms.perms": { enabled: true, name: "DeleteLawBook" } }, I: DeleteLawRequest, O: DeleteLawResponse },
795
+ { name: "ReorderLaws", options: { "codegen.perms.perms": { enabled: true, name: "CreateOrUpdateLawBook" } }, I: ReorderLawsRequest, O: ReorderLawsResponse }
443
796
  ], { "codegen.perms.perms_svc": { order: 122, icon: "i-mdi-scale-balance" } });
@@ -709,10 +709,10 @@ export const TriggerUserSyncResponse = new TriggerUserSyncResponse$Type();
709
709
  * @generated ServiceType for protobuf service services.settings.SystemService
710
710
  */
711
711
  export const SystemService = new ServiceType("services.settings.SystemService", [
712
- { name: "GetStatus", options: { "codegen.perms.perms": { enabled: true, name: "Superuser" } }, I: GetStatusRequest, O: GetStatusResponse },
713
- { name: "GetAllPermissions", options: { "codegen.perms.perms": { enabled: true, name: "Superuser" } }, I: GetAllPermissionsRequest, O: GetAllPermissionsResponse },
714
- { name: "GetJobLimits", options: { "codegen.perms.perms": { enabled: true, name: "Superuser" } }, I: GetJobLimitsRequest, O: GetJobLimitsResponse },
715
- { name: "UpdateJobLimits", options: { "codegen.perms.perms": { enabled: true, name: "Superuser" } }, I: UpdateJobLimitsRequest, O: UpdateJobLimitsResponse },
716
- { name: "DeleteFaction", options: { "codegen.perms.perms": { enabled: true, name: "Superuser" } }, I: DeleteFactionRequest, O: DeleteFactionResponse },
717
- { name: "TriggerUserSync", options: { "codegen.perms.perms": { enabled: true, name: "Superuser" } }, I: TriggerUserSyncRequest, O: TriggerUserSyncResponse }
712
+ { name: "GetStatus", options: { "codegen.perms.perms": { enabled: true, name: "ConfigAdmin" } }, I: GetStatusRequest, O: GetStatusResponse },
713
+ { name: "GetAllPermissions", options: { "codegen.perms.perms": { enabled: true, name: "JobAdmin" } }, I: GetAllPermissionsRequest, O: GetAllPermissionsResponse },
714
+ { name: "GetJobLimits", options: { "codegen.perms.perms": { enabled: true, name: "JobAdmin" } }, I: GetJobLimitsRequest, O: GetJobLimitsResponse },
715
+ { name: "UpdateJobLimits", options: { "codegen.perms.perms": { enabled: true, name: "JobAdmin" } }, I: UpdateJobLimitsRequest, O: UpdateJobLimitsResponse },
716
+ { name: "DeleteFaction", options: { "codegen.perms.perms": { enabled: true, name: "JobAdmin" } }, I: DeleteFactionRequest, O: DeleteFactionResponse },
717
+ { name: "TriggerUserSync", options: { "codegen.perms.perms": { enabled: true, name: "ConfigAdmin" } }, I: TriggerUserSyncRequest, O: TriggerUserSyncResponse }
718
718
  ]);
@@ -12,7 +12,6 @@ import type { StreamResponse } from "./sync";
12
12
  import type { StreamRequest } from "./sync";
13
13
  import type { ServerStreamingCall } from "@protobuf-ts/runtime-rpc";
14
14
  import type { DeleteVehiclesRequest } from "./sync";
15
- import type { DeleteDataResponse } from "./sync";
16
15
  import type { DeleteUsersRequest } from "./sync";
17
16
  import type { SetLastCharIDRequest } from "./sync";
18
17
  import type { SendUserLocationsRequest } from "./sync";
@@ -22,6 +21,9 @@ import type { SendAccountsRequest } from "./sync";
22
21
  import type { SendLicensesRequest } from "./sync";
23
22
  import type { SendDataResponse } from "./sync";
24
23
  import type { SendJobsRequest } from "./sync";
24
+ import type { DeleteDataResponse } from "./sync";
25
+ import type { DeleteMarkerRequest } from "./sync";
26
+ import type { AddMarkerRequest } from "./sync";
25
27
  import type { AddDispatchRequest } from "./sync";
26
28
  import type { AddJobTimeclockRequest } from "./sync";
27
29
  import type { AddColleaguePropsRequest } from "./sync";
@@ -104,6 +106,16 @@ export interface ISyncServiceClient {
104
106
  * @generated from protobuf rpc: AddDispatch
105
107
  */
106
108
  addDispatch(input: AddDispatchRequest, options?: RpcOptions): UnaryCall<AddDispatchRequest, AddActivityResponse>;
109
+ /**
110
+ * AddMarker Create a temporary marker on the live map (if no expiration time is provided, it will default to 24 hours).
111
+ *
112
+ * @generated from protobuf rpc: AddMarker
113
+ */
114
+ addMarker(input: AddMarkerRequest, options?: RpcOptions): UnaryCall<AddMarkerRequest, AddActivityResponse>;
115
+ /**
116
+ * @generated from protobuf rpc: DeleteMarker
117
+ */
118
+ deleteMarker(input: DeleteMarkerRequest, options?: RpcOptions): UnaryCall<DeleteMarkerRequest, DeleteDataResponse>;
107
119
  /**
108
120
  * Individual SendData methods
109
121
  *
@@ -276,55 +288,71 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
276
288
  const method = this.methods[11], opt = this._transport.mergeOptions(options);
277
289
  return stackIntercept<AddDispatchRequest, AddActivityResponse>("unary", this._transport, method, opt, input);
278
290
  }
291
+ /**
292
+ * AddMarker Create a temporary marker on the live map (if no expiration time is provided, it will default to 24 hours).
293
+ *
294
+ * @generated from protobuf rpc: AddMarker
295
+ */
296
+ addMarker(input: AddMarkerRequest, options?: RpcOptions): UnaryCall<AddMarkerRequest, AddActivityResponse> {
297
+ const method = this.methods[12], opt = this._transport.mergeOptions(options);
298
+ return stackIntercept<AddMarkerRequest, AddActivityResponse>("unary", this._transport, method, opt, input);
299
+ }
300
+ /**
301
+ * @generated from protobuf rpc: DeleteMarker
302
+ */
303
+ deleteMarker(input: DeleteMarkerRequest, options?: RpcOptions): UnaryCall<DeleteMarkerRequest, DeleteDataResponse> {
304
+ const method = this.methods[13], opt = this._transport.mergeOptions(options);
305
+ return stackIntercept<DeleteMarkerRequest, DeleteDataResponse>("unary", this._transport, method, opt, input);
306
+ }
279
307
  /**
280
308
  * Individual SendData methods
281
309
  *
282
310
  * @generated from protobuf rpc: SendJobs
283
311
  */
284
312
  sendJobs(input: SendJobsRequest, options?: RpcOptions): UnaryCall<SendJobsRequest, SendDataResponse> {
285
- const method = this.methods[12], opt = this._transport.mergeOptions(options);
313
+ const method = this.methods[14], opt = this._transport.mergeOptions(options);
286
314
  return stackIntercept<SendJobsRequest, SendDataResponse>("unary", this._transport, method, opt, input);
287
315
  }
288
316
  /**
289
317
  * @generated from protobuf rpc: SendLicenses
290
318
  */
291
319
  sendLicenses(input: SendLicensesRequest, options?: RpcOptions): UnaryCall<SendLicensesRequest, SendDataResponse> {
292
- const method = this.methods[13], opt = this._transport.mergeOptions(options);
320
+ const method = this.methods[15], opt = this._transport.mergeOptions(options);
293
321
  return stackIntercept<SendLicensesRequest, SendDataResponse>("unary", this._transport, method, opt, input);
294
322
  }
295
323
  /**
296
324
  * @generated from protobuf rpc: SendAccounts
297
325
  */
298
326
  sendAccounts(input: SendAccountsRequest, options?: RpcOptions): UnaryCall<SendAccountsRequest, SendDataResponse> {
299
- const method = this.methods[14], opt = this._transport.mergeOptions(options);
327
+ const method = this.methods[16], opt = this._transport.mergeOptions(options);
300
328
  return stackIntercept<SendAccountsRequest, SendDataResponse>("unary", this._transport, method, opt, input);
301
329
  }
302
330
  /**
303
331
  * @generated from protobuf rpc: SendUsers
304
332
  */
305
333
  sendUsers(input: SendUsersRequest, options?: RpcOptions): UnaryCall<SendUsersRequest, SendDataResponse> {
306
- const method = this.methods[15], opt = this._transport.mergeOptions(options);
334
+ const method = this.methods[17], opt = this._transport.mergeOptions(options);
307
335
  return stackIntercept<SendUsersRequest, SendDataResponse>("unary", this._transport, method, opt, input);
308
336
  }
309
337
  /**
310
338
  * @generated from protobuf rpc: SendVehicles
311
339
  */
312
340
  sendVehicles(input: SendVehiclesRequest, options?: RpcOptions): UnaryCall<SendVehiclesRequest, SendDataResponse> {
313
- const method = this.methods[16], opt = this._transport.mergeOptions(options);
341
+ const method = this.methods[18], opt = this._transport.mergeOptions(options);
314
342
  return stackIntercept<SendVehiclesRequest, SendDataResponse>("unary", this._transport, method, opt, input);
315
343
  }
316
344
  /**
317
345
  * @generated from protobuf rpc: SendUserLocations
318
346
  */
319
347
  sendUserLocations(input: SendUserLocationsRequest, options?: RpcOptions): UnaryCall<SendUserLocationsRequest, SendDataResponse> {
320
- const method = this.methods[17], opt = this._transport.mergeOptions(options);
348
+ const method = this.methods[19], opt = this._transport.mergeOptions(options);
321
349
  return stackIntercept<SendUserLocationsRequest, SendDataResponse>("unary", this._transport, method, opt, input);
322
350
  }
323
351
  /**
324
352
  * @generated from protobuf rpc: SetLastCharID
325
353
  */
326
354
  setLastCharID(input: SetLastCharIDRequest, options?: RpcOptions): UnaryCall<SetLastCharIDRequest, SendDataResponse> {
327
- const method = this.methods[18], opt = this._transport.mergeOptions(options);
355
+ const method = this.methods[20], opt = this._transport.mergeOptions(options);
328
356
  return stackIntercept<SetLastCharIDRequest, SendDataResponse>("unary", this._transport, method, opt, input);
329
357
  }
330
358
  /**
@@ -333,14 +361,14 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
333
361
  * @generated from protobuf rpc: DeleteUsers
334
362
  */
335
363
  deleteUsers(input: DeleteUsersRequest, options?: RpcOptions): UnaryCall<DeleteUsersRequest, DeleteDataResponse> {
336
- const method = this.methods[19], opt = this._transport.mergeOptions(options);
364
+ const method = this.methods[21], opt = this._transport.mergeOptions(options);
337
365
  return stackIntercept<DeleteUsersRequest, DeleteDataResponse>("unary", this._transport, method, opt, input);
338
366
  }
339
367
  /**
340
368
  * @generated from protobuf rpc: DeleteVehicles
341
369
  */
342
370
  deleteVehicles(input: DeleteVehiclesRequest, options?: RpcOptions): UnaryCall<DeleteVehiclesRequest, DeleteDataResponse> {
343
- const method = this.methods[20], opt = this._transport.mergeOptions(options);
371
+ const method = this.methods[22], opt = this._transport.mergeOptions(options);
344
372
  return stackIntercept<DeleteVehiclesRequest, DeleteDataResponse>("unary", this._transport, method, opt, input);
345
373
  }
346
374
  /**
@@ -349,7 +377,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
349
377
  * @generated from protobuf rpc: Stream
350
378
  */
351
379
  stream(input: StreamRequest, options?: RpcOptions): ServerStreamingCall<StreamRequest, StreamResponse> {
352
- const method = this.methods[21], opt = this._transport.mergeOptions(options);
380
+ const method = this.methods[23], opt = this._transport.mergeOptions(options);
353
381
  return stackIntercept<StreamRequest, StreamResponse>("serverStreaming", this._transport, method, opt, input);
354
382
  }
355
383
  /**
@@ -359,7 +387,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
359
387
  * @generated from protobuf rpc: AddActivity
360
388
  */
361
389
  addActivity(input: AddActivityRequest, options?: RpcOptions): UnaryCall<AddActivityRequest, AddActivityResponse> {
362
- const method = this.methods[22], opt = this._transport.mergeOptions(options);
390
+ const method = this.methods[24], opt = this._transport.mergeOptions(options);
363
391
  return stackIntercept<AddActivityRequest, AddActivityResponse>("unary", this._transport, method, opt, input);
364
392
  }
365
393
  /**
@@ -369,7 +397,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
369
397
  * @generated from protobuf rpc: SendData
370
398
  */
371
399
  sendData(input: SendDataRequest, options?: RpcOptions): UnaryCall<SendDataRequest, SendDataResponse> {
372
- const method = this.methods[23], opt = this._transport.mergeOptions(options);
400
+ const method = this.methods[25], opt = this._transport.mergeOptions(options);
373
401
  return stackIntercept<SendDataRequest, SendDataResponse>("unary", this._transport, method, opt, input);
374
402
  }
375
403
  /**
@@ -379,7 +407,7 @@ export class SyncServiceClient implements ISyncServiceClient, ServiceInfo {
379
407
  * @generated from protobuf rpc: DeleteData
380
408
  */
381
409
  deleteData(input: DeleteDataRequest, options?: RpcOptions): UnaryCall<DeleteDataRequest, DeleteDataResponse> {
382
- const method = this.methods[24], opt = this._transport.mergeOptions(options);
410
+ const method = this.methods[26], opt = this._transport.mergeOptions(options);
383
411
  return stackIntercept<DeleteDataRequest, DeleteDataResponse>("unary", this._transport, method, opt, input);
384
412
  }
385
413
  }