@fivenet-app/gen 2025.9.1 → 2026.4.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 (134) hide show
  1. package/README.md +1 -1
  2. package/clients.ts +36 -0
  3. package/codegen/perms/perms.ts +186 -15
  4. package/codegen/sanitizer/sanitizer.ts +34 -1
  5. package/package.json +2 -2
  6. package/perms.ts +140 -8
  7. package/resources/accounts/accounts.ts +98 -31
  8. package/resources/accounts/{oauth2.ts → oauth2/oauth2.ts} +20 -20
  9. package/resources/audit/audit.ts +156 -38
  10. package/resources/calendar/{access.ts → access/access.ts} +30 -30
  11. package/resources/calendar/calendar.ts +17 -477
  12. package/resources/calendar/entries/entries.ts +474 -0
  13. package/resources/centrum/{access.ts → access/access.ts} +22 -22
  14. package/resources/centrum/{dispatchers.ts → dispatchers/dispatchers.ts} +14 -14
  15. package/resources/centrum/{dispatches.ts → dispatches/dispatches.ts} +151 -185
  16. package/resources/centrum/joblist.ts +136 -0
  17. package/resources/centrum/{settings.ts → settings/settings.ts} +70 -70
  18. package/resources/centrum/{units_access.ts → units/access/access.ts} +30 -30
  19. package/resources/centrum/{units.ts → units/units.ts} +131 -51
  20. package/resources/citizens/labels/labels.ts +526 -0
  21. package/resources/{users → citizens/licenses}/licenses.ts +17 -17
  22. package/resources/clientconfig/clientconfig.ts +126 -258
  23. package/resources/collab/collab.ts +4 -16
  24. package/resources/common/content/content.ts +108 -85
  25. package/resources/common/content/diff_activity.ts +267 -0
  26. package/resources/common/i18n.ts +2 -2
  27. package/resources/{common/cron → cron}/cron.ts +43 -43
  28. package/resources/documents/{access.ts → access/access.ts} +29 -52
  29. package/resources/documents/{activity.ts → activity/activity.ts} +171 -123
  30. package/resources/documents/approval/approval.ts +945 -0
  31. package/resources/documents/{category.ts → category/category.ts} +7 -7
  32. package/resources/documents/{comment.ts → comment/comment.ts} +10 -10
  33. package/resources/documents/data/data.ts +303 -0
  34. package/resources/documents/documents.ts +282 -667
  35. package/resources/{common/uuid.ts → documents/forms/forms.ts} +20 -20
  36. package/resources/documents/{pins.ts → pins/pins.ts} +5 -5
  37. package/resources/documents/references/references.ts +187 -0
  38. package/resources/documents/relations/relations.ts +184 -0
  39. package/resources/documents/{requests.ts → requests/requests.ts} +18 -18
  40. package/resources/documents/stamps/stamp.ts +355 -0
  41. package/resources/documents/{templates.ts → templates/templates.ts} +426 -84
  42. package/resources/documents/{workflow.ts → workflow/workflow.ts} +264 -26
  43. package/resources/file/filestore.ts +1 -1
  44. package/resources/{common/grpcws → grpcws}/grpcws.ts +52 -52
  45. package/resources/jobs/{activity.ts → colleagues/activity/activity.ts} +54 -54
  46. package/resources/jobs/{colleagues.ts → colleagues/colleagues.ts} +17 -28
  47. package/resources/jobs/{conduct.ts → conduct/conduct.ts} +70 -45
  48. package/resources/jobs/{labels.ts → labels/labels.ts} +34 -23
  49. package/resources/jobs/{job_props.ts → props/props.ts} +26 -38
  50. package/resources/jobs/{job_settings.ts → settings/settings.ts} +53 -53
  51. package/resources/jobs/{timeclock.ts → timeclock/timeclock.ts} +17 -17
  52. package/resources/livemap/{heatmap.ts → heatmap/heatmap.ts} +4 -4
  53. package/resources/livemap/{marker_marker.ts → markers/marker_marker.ts} +35 -35
  54. package/resources/livemap/{user_marker.ts → markers/user_marker.ts} +115 -36
  55. package/resources/mailer/{access.ts → access/access.ts} +67 -67
  56. package/resources/mailer/{email.ts → emails/email.ts} +19 -19
  57. package/resources/mailer/{events.ts → events/events.ts} +24 -24
  58. package/resources/mailer/{message.ts → messages/message.ts} +29 -29
  59. package/resources/mailer/{settings.ts → settings/settings.ts} +14 -13
  60. package/resources/mailer/{template.ts → templates/template.ts} +15 -15
  61. package/resources/mailer/{thread.ts → threads/thread.ts} +29 -29
  62. package/resources/notifications/{client_view.ts → clientview/clientview.ts} +22 -22
  63. package/resources/notifications/{events.ts → events/events.ts} +20 -20
  64. package/resources/notifications/notifications.ts +4 -4
  65. package/resources/permissions/{attributes.ts → attributes/attributes.ts} +42 -42
  66. package/resources/permissions/{events.ts → events/events.ts} +7 -7
  67. package/resources/permissions/{permissions.ts → permissions/permissions.ts} +30 -19
  68. package/resources/qualifications/{access.ts → access/access.ts} +19 -19
  69. package/resources/qualifications/{exam.ts → exam/exam.ts} +269 -141
  70. package/resources/qualifications/qualifications.ts +51 -179
  71. package/resources/settings/banner.ts +3 -3
  72. package/resources/settings/config.ts +527 -25
  73. package/resources/{documents/state.ts → settings/data.ts} +41 -20
  74. package/resources/settings/perms.ts +14 -14
  75. package/resources/stats/stats.ts +379 -0
  76. package/resources/sync/{activity.ts → activity/activity.ts} +104 -25
  77. package/resources/sync/{data.ts → data/data.ts} +405 -59
  78. package/resources/userinfo/{user_info.ts → userinfo.ts} +71 -93
  79. package/resources/users/{activity.ts → activity/activity.ts} +242 -101
  80. package/resources/users/{props.ts → props/props.ts} +91 -69
  81. package/resources/users/short/user.ts +184 -0
  82. package/resources/users/{users.ts → user.ts} +266 -195
  83. package/resources/vehicles/{activity.ts → activity/activity.ts} +20 -20
  84. package/resources/vehicles/{props.ts → props/props.ts} +28 -6
  85. package/resources/vehicles/vehicles.ts +20 -8
  86. package/resources/wiki/{access.ts → access/access.ts} +30 -30
  87. package/resources/wiki/{activity.ts → activity/activity.ts} +104 -70
  88. package/resources/wiki/page.ts +39 -15
  89. package/services/auth/auth.client.ts +23 -10
  90. package/services/auth/auth.ts +445 -262
  91. package/services/calendar/calendar.ts +56 -34
  92. package/services/centrum/centrum.ts +127 -127
  93. package/services/citizens/citizens.client.ts +0 -13
  94. package/services/citizens/citizens.ts +44 -134
  95. package/services/citizens/labels.client.ts +77 -0
  96. package/services/citizens/labels.ts +455 -0
  97. package/services/completor/completor.ts +36 -16
  98. package/services/documents/approval.client.ts +188 -0
  99. package/services/documents/approval.ts +1776 -0
  100. package/services/documents/documents.ts +164 -186
  101. package/services/documents/forms.client.ts +51 -0
  102. package/services/documents/forms.ts +232 -0
  103. package/services/documents/stamps.client.ts +77 -0
  104. package/services/documents/stamps.ts +481 -0
  105. package/services/documents/stats.client.ts +38 -0
  106. package/services/documents/stats.ts +245 -0
  107. package/services/jobs/conduct.client.ts +30 -3
  108. package/services/jobs/conduct.ts +159 -33
  109. package/services/jobs/jobs.ts +43 -43
  110. package/services/jobs/stats.client.ts +38 -0
  111. package/services/jobs/stats.ts +207 -0
  112. package/services/jobs/timeclock.ts +39 -39
  113. package/services/livemap/livemap.ts +18 -18
  114. package/services/mailer/mailer.ts +78 -78
  115. package/services/notifications/notifications.ts +35 -35
  116. package/services/qualifications/qualifications.ts +81 -46
  117. package/services/settings/accounts.client.ts +23 -10
  118. package/services/settings/accounts.ts +191 -30
  119. package/services/settings/cron.client.ts +13 -0
  120. package/services/settings/cron.ts +118 -5
  121. package/services/settings/laws.ts +1 -1
  122. package/services/settings/settings.ts +73 -52
  123. package/services/settings/system.client.ts +13 -0
  124. package/services/settings/system.ts +115 -15
  125. package/services/stats/stats.client.ts +7 -7
  126. package/services/stats/stats.ts +24 -24
  127. package/services/sync/sync.client.ts +271 -37
  128. package/services/sync/sync.ts +1525 -421
  129. package/services/vehicles/vehicles.ts +8 -8
  130. package/services/wiki/wiki.ts +8 -8
  131. package/svcs.ts +100 -6
  132. package/resources/centrum/attributes.ts +0 -183
  133. package/resources/documents/signoff.ts +0 -55
  134. package/resources/users/labels.ts +0 -160
@@ -12,12 +12,12 @@ import { WireType } from "@protobuf-ts/runtime";
12
12
  import type { PartialMessage } from "@protobuf-ts/runtime";
13
13
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
14
14
  import { MessageType } from "@protobuf-ts/runtime";
15
- import { LabelCount } from "../../resources/jobs/labels";
16
- import { Label } from "../../resources/jobs/labels";
17
- import { ColleagueProps } from "../../resources/jobs/colleagues";
18
- import { ColleagueActivity } from "../../resources/jobs/activity";
19
- import { ColleagueActivityType } from "../../resources/jobs/activity";
20
- import { Colleague } from "../../resources/jobs/colleagues";
15
+ import { LabelCount } from "../../resources/jobs/labels/labels";
16
+ import { Label } from "../../resources/jobs/labels/labels";
17
+ import { ColleagueProps } from "../../resources/jobs/colleagues/colleagues";
18
+ import { ColleagueActivity } from "../../resources/jobs/colleagues/activity/activity";
19
+ import { ColleagueActivityType } from "../../resources/jobs/colleagues/activity/activity";
20
+ import { Colleague } from "../../resources/jobs/colleagues/colleagues";
21
21
  import { PaginationResponse } from "../../resources/common/database/database";
22
22
  import { Sort } from "../../resources/common/database/database";
23
23
  import { PaginationRequest } from "../../resources/common/database/database";
@@ -75,7 +75,7 @@ export interface ListColleaguesResponse {
75
75
  */
76
76
  pagination?: PaginationResponse;
77
77
  /**
78
- * @generated from protobuf field: repeated resources.jobs.Colleague colleagues = 2
78
+ * @generated from protobuf field: repeated resources.jobs.colleagues.Colleague colleagues = 2
79
79
  */
80
80
  colleagues: Colleague[];
81
81
  }
@@ -89,7 +89,7 @@ export interface GetSelfRequest {
89
89
  */
90
90
  export interface GetSelfResponse {
91
91
  /**
92
- * @generated from protobuf field: resources.jobs.Colleague colleague = 1
92
+ * @generated from protobuf field: resources.jobs.colleagues.Colleague colleague = 1
93
93
  */
94
94
  colleague?: Colleague;
95
95
  }
@@ -111,7 +111,7 @@ export interface GetColleagueRequest {
111
111
  */
112
112
  export interface GetColleagueResponse {
113
113
  /**
114
- * @generated from protobuf field: resources.jobs.Colleague colleague = 1
114
+ * @generated from protobuf field: resources.jobs.colleagues.Colleague colleague = 1
115
115
  */
116
116
  colleague?: Colleague;
117
117
  }
@@ -134,7 +134,7 @@ export interface ListColleagueActivityRequest {
134
134
  */
135
135
  userIds: number[];
136
136
  /**
137
- * @generated from protobuf field: repeated resources.jobs.ColleagueActivityType activity_types = 4
137
+ * @generated from protobuf field: repeated resources.jobs.colleagues.activity.ColleagueActivityType activity_types = 4
138
138
  */
139
139
  activityTypes: ColleagueActivityType[];
140
140
  }
@@ -147,7 +147,7 @@ export interface ListColleagueActivityResponse {
147
147
  */
148
148
  pagination?: PaginationResponse;
149
149
  /**
150
- * @generated from protobuf field: repeated resources.jobs.ColleagueActivity activity = 2
150
+ * @generated from protobuf field: repeated resources.jobs.colleagues.activity.ColleagueActivity activity = 2
151
151
  */
152
152
  activity: ColleagueActivity[];
153
153
  }
@@ -156,7 +156,7 @@ export interface ListColleagueActivityResponse {
156
156
  */
157
157
  export interface SetColleaguePropsRequest {
158
158
  /**
159
- * @generated from protobuf field: resources.jobs.ColleagueProps props = 1
159
+ * @generated from protobuf field: resources.jobs.colleagues.ColleagueProps props = 1
160
160
  */
161
161
  props?: ColleagueProps;
162
162
  /**
@@ -169,7 +169,7 @@ export interface SetColleaguePropsRequest {
169
169
  */
170
170
  export interface SetColleaguePropsResponse {
171
171
  /**
172
- * @generated from protobuf field: resources.jobs.ColleagueProps props = 1
172
+ * @generated from protobuf field: resources.jobs.colleagues.ColleagueProps props = 1
173
173
  */
174
174
  props?: ColleagueProps;
175
175
  }
@@ -187,7 +187,7 @@ export interface GetColleagueLabelsRequest {
187
187
  */
188
188
  export interface GetColleagueLabelsResponse {
189
189
  /**
190
- * @generated from protobuf field: repeated resources.jobs.Label labels = 1
190
+ * @generated from protobuf field: repeated resources.jobs.labels.Label labels = 1
191
191
  */
192
192
  labels: Label[];
193
193
  }
@@ -196,7 +196,7 @@ export interface GetColleagueLabelsResponse {
196
196
  */
197
197
  export interface ManageLabelsRequest {
198
198
  /**
199
- * @generated from protobuf field: repeated resources.jobs.Label labels = 1
199
+ * @generated from protobuf field: repeated resources.jobs.labels.Label labels = 1
200
200
  */
201
201
  labels: Label[];
202
202
  }
@@ -205,7 +205,7 @@ export interface ManageLabelsRequest {
205
205
  */
206
206
  export interface ManageLabelsResponse {
207
207
  /**
208
- * @generated from protobuf field: repeated resources.jobs.Label labels = 1
208
+ * @generated from protobuf field: repeated resources.jobs.labels.Label labels = 1
209
209
  */
210
210
  labels: Label[];
211
211
  }
@@ -223,7 +223,7 @@ export interface GetColleagueLabelsStatsRequest {
223
223
  */
224
224
  export interface GetColleagueLabelsStatsResponse {
225
225
  /**
226
- * @generated from protobuf field: repeated resources.jobs.LabelCount count = 1
226
+ * @generated from protobuf field: repeated resources.jobs.labels.LabelCount count = 1
227
227
  */
228
228
  count: LabelCount[];
229
229
  }
@@ -405,7 +405,7 @@ class ListColleaguesResponse$Type extends MessageType<ListColleaguesResponse> {
405
405
  case /* resources.common.database.PaginationResponse pagination */ 1:
406
406
  message.pagination = PaginationResponse.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
407
407
  break;
408
- case /* repeated resources.jobs.Colleague colleagues */ 2:
408
+ case /* repeated resources.jobs.colleagues.Colleague colleagues */ 2:
409
409
  message.colleagues.push(Colleague.internalBinaryRead(reader, reader.uint32(), options));
410
410
  break;
411
411
  default:
@@ -423,7 +423,7 @@ class ListColleaguesResponse$Type extends MessageType<ListColleaguesResponse> {
423
423
  /* resources.common.database.PaginationResponse pagination = 1; */
424
424
  if (message.pagination)
425
425
  PaginationResponse.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
426
- /* repeated resources.jobs.Colleague colleagues = 2; */
426
+ /* repeated resources.jobs.colleagues.Colleague colleagues = 2; */
427
427
  for (let i = 0; i < message.colleagues.length; i++)
428
428
  Colleague.internalBinaryWrite(message.colleagues[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
429
429
  let u = options.writeUnknownFields;
@@ -492,7 +492,7 @@ class GetSelfResponse$Type extends MessageType<GetSelfResponse> {
492
492
  while (reader.pos < end) {
493
493
  let [fieldNo, wireType] = reader.tag();
494
494
  switch (fieldNo) {
495
- case /* resources.jobs.Colleague colleague */ 1:
495
+ case /* resources.jobs.colleagues.Colleague colleague */ 1:
496
496
  message.colleague = Colleague.internalBinaryRead(reader, reader.uint32(), options, message.colleague);
497
497
  break;
498
498
  default:
@@ -507,7 +507,7 @@ class GetSelfResponse$Type extends MessageType<GetSelfResponse> {
507
507
  return message;
508
508
  }
509
509
  internalBinaryWrite(message: GetSelfResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
510
- /* resources.jobs.Colleague colleague = 1; */
510
+ /* resources.jobs.colleagues.Colleague colleague = 1; */
511
511
  if (message.colleague)
512
512
  Colleague.internalBinaryWrite(message.colleague, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
513
513
  let u = options.writeUnknownFields;
@@ -592,7 +592,7 @@ class GetColleagueResponse$Type extends MessageType<GetColleagueResponse> {
592
592
  while (reader.pos < end) {
593
593
  let [fieldNo, wireType] = reader.tag();
594
594
  switch (fieldNo) {
595
- case /* resources.jobs.Colleague colleague */ 1:
595
+ case /* resources.jobs.colleagues.Colleague colleague */ 1:
596
596
  message.colleague = Colleague.internalBinaryRead(reader, reader.uint32(), options, message.colleague);
597
597
  break;
598
598
  default:
@@ -607,7 +607,7 @@ class GetColleagueResponse$Type extends MessageType<GetColleagueResponse> {
607
607
  return message;
608
608
  }
609
609
  internalBinaryWrite(message: GetColleagueResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
610
- /* resources.jobs.Colleague colleague = 1; */
610
+ /* resources.jobs.colleagues.Colleague colleague = 1; */
611
611
  if (message.colleague)
612
612
  Colleague.internalBinaryWrite(message.colleague, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
613
613
  let u = options.writeUnknownFields;
@@ -627,7 +627,7 @@ class ListColleagueActivityRequest$Type extends MessageType<ListColleagueActivit
627
627
  { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
628
628
  { no: 2, name: "sort", kind: "message", T: () => Sort },
629
629
  { no: 3, name: "user_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/ },
630
- { no: 4, name: "activity_types", kind: "enum", repeat: 1 /*RepeatType.PACKED*/, T: () => ["resources.jobs.ColleagueActivityType", ColleagueActivityType, "COLLEAGUE_ACTIVITY_TYPE_"], options: { "buf.validate.field": { repeated: { maxItems: "10" } } } }
630
+ { no: 4, name: "activity_types", kind: "enum", repeat: 1 /*RepeatType.PACKED*/, T: () => ["resources.jobs.colleagues.activity.ColleagueActivityType", ColleagueActivityType, "COLLEAGUE_ACTIVITY_TYPE_"], options: { "buf.validate.field": { repeated: { maxItems: "10" } } } }
631
631
  ]);
632
632
  }
633
633
  create(value?: PartialMessage<ListColleagueActivityRequest>): ListColleagueActivityRequest {
@@ -656,7 +656,7 @@ class ListColleagueActivityRequest$Type extends MessageType<ListColleagueActivit
656
656
  else
657
657
  message.userIds.push(reader.int32());
658
658
  break;
659
- case /* repeated resources.jobs.ColleagueActivityType activity_types */ 4:
659
+ case /* repeated resources.jobs.colleagues.activity.ColleagueActivityType activity_types */ 4:
660
660
  if (wireType === WireType.LengthDelimited)
661
661
  for (let e = reader.int32() + reader.pos; reader.pos < e;)
662
662
  message.activityTypes.push(reader.int32());
@@ -688,7 +688,7 @@ class ListColleagueActivityRequest$Type extends MessageType<ListColleagueActivit
688
688
  writer.int32(message.userIds[i]);
689
689
  writer.join();
690
690
  }
691
- /* repeated resources.jobs.ColleagueActivityType activity_types = 4; */
691
+ /* repeated resources.jobs.colleagues.activity.ColleagueActivityType activity_types = 4; */
692
692
  if (message.activityTypes.length) {
693
693
  writer.tag(4, WireType.LengthDelimited).fork();
694
694
  for (let i = 0; i < message.activityTypes.length; i++)
@@ -728,7 +728,7 @@ class ListColleagueActivityResponse$Type extends MessageType<ListColleagueActivi
728
728
  case /* resources.common.database.PaginationResponse pagination */ 1:
729
729
  message.pagination = PaginationResponse.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
730
730
  break;
731
- case /* repeated resources.jobs.ColleagueActivity activity */ 2:
731
+ case /* repeated resources.jobs.colleagues.activity.ColleagueActivity activity */ 2:
732
732
  message.activity.push(ColleagueActivity.internalBinaryRead(reader, reader.uint32(), options));
733
733
  break;
734
734
  default:
@@ -746,7 +746,7 @@ class ListColleagueActivityResponse$Type extends MessageType<ListColleagueActivi
746
746
  /* resources.common.database.PaginationResponse pagination = 1; */
747
747
  if (message.pagination)
748
748
  PaginationResponse.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
749
- /* repeated resources.jobs.ColleagueActivity activity = 2; */
749
+ /* repeated resources.jobs.colleagues.activity.ColleagueActivity activity = 2; */
750
750
  for (let i = 0; i < message.activity.length; i++)
751
751
  ColleagueActivity.internalBinaryWrite(message.activity[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
752
752
  let u = options.writeUnknownFields;
@@ -779,7 +779,7 @@ class SetColleaguePropsRequest$Type extends MessageType<SetColleaguePropsRequest
779
779
  while (reader.pos < end) {
780
780
  let [fieldNo, wireType] = reader.tag();
781
781
  switch (fieldNo) {
782
- case /* resources.jobs.ColleagueProps props */ 1:
782
+ case /* resources.jobs.colleagues.ColleagueProps props */ 1:
783
783
  message.props = ColleagueProps.internalBinaryRead(reader, reader.uint32(), options, message.props);
784
784
  break;
785
785
  case /* string reason */ 2:
@@ -797,7 +797,7 @@ class SetColleaguePropsRequest$Type extends MessageType<SetColleaguePropsRequest
797
797
  return message;
798
798
  }
799
799
  internalBinaryWrite(message: SetColleaguePropsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
800
- /* resources.jobs.ColleagueProps props = 1; */
800
+ /* resources.jobs.colleagues.ColleagueProps props = 1; */
801
801
  if (message.props)
802
802
  ColleagueProps.internalBinaryWrite(message.props, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
803
803
  /* string reason = 2; */
@@ -831,7 +831,7 @@ class SetColleaguePropsResponse$Type extends MessageType<SetColleaguePropsRespon
831
831
  while (reader.pos < end) {
832
832
  let [fieldNo, wireType] = reader.tag();
833
833
  switch (fieldNo) {
834
- case /* resources.jobs.ColleagueProps props */ 1:
834
+ case /* resources.jobs.colleagues.ColleagueProps props */ 1:
835
835
  message.props = ColleagueProps.internalBinaryRead(reader, reader.uint32(), options, message.props);
836
836
  break;
837
837
  default:
@@ -846,7 +846,7 @@ class SetColleaguePropsResponse$Type extends MessageType<SetColleaguePropsRespon
846
846
  return message;
847
847
  }
848
848
  internalBinaryWrite(message: SetColleaguePropsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
849
- /* resources.jobs.ColleagueProps props = 1; */
849
+ /* resources.jobs.colleagues.ColleagueProps props = 1; */
850
850
  if (message.props)
851
851
  ColleagueProps.internalBinaryWrite(message.props, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
852
852
  let u = options.writeUnknownFields;
@@ -924,7 +924,7 @@ class GetColleagueLabelsResponse$Type extends MessageType<GetColleagueLabelsResp
924
924
  while (reader.pos < end) {
925
925
  let [fieldNo, wireType] = reader.tag();
926
926
  switch (fieldNo) {
927
- case /* repeated resources.jobs.Label labels */ 1:
927
+ case /* repeated resources.jobs.labels.Label labels */ 1:
928
928
  message.labels.push(Label.internalBinaryRead(reader, reader.uint32(), options));
929
929
  break;
930
930
  default:
@@ -939,7 +939,7 @@ class GetColleagueLabelsResponse$Type extends MessageType<GetColleagueLabelsResp
939
939
  return message;
940
940
  }
941
941
  internalBinaryWrite(message: GetColleagueLabelsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
942
- /* repeated resources.jobs.Label labels = 1; */
942
+ /* repeated resources.jobs.labels.Label labels = 1; */
943
943
  for (let i = 0; i < message.labels.length; i++)
944
944
  Label.internalBinaryWrite(message.labels[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
945
945
  let u = options.writeUnknownFields;
@@ -956,7 +956,7 @@ export const GetColleagueLabelsResponse = new GetColleagueLabelsResponse$Type();
956
956
  class ManageLabelsRequest$Type extends MessageType<ManageLabelsRequest> {
957
957
  constructor() {
958
958
  super("services.jobs.ManageLabelsRequest", [
959
- { no: 1, name: "labels", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Label }
959
+ { no: 1, name: "labels", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Label, options: { "buf.validate.field": { repeated: { maxItems: "50" } } } }
960
960
  ]);
961
961
  }
962
962
  create(value?: PartialMessage<ManageLabelsRequest>): ManageLabelsRequest {
@@ -971,7 +971,7 @@ class ManageLabelsRequest$Type extends MessageType<ManageLabelsRequest> {
971
971
  while (reader.pos < end) {
972
972
  let [fieldNo, wireType] = reader.tag();
973
973
  switch (fieldNo) {
974
- case /* repeated resources.jobs.Label labels */ 1:
974
+ case /* repeated resources.jobs.labels.Label labels */ 1:
975
975
  message.labels.push(Label.internalBinaryRead(reader, reader.uint32(), options));
976
976
  break;
977
977
  default:
@@ -986,7 +986,7 @@ class ManageLabelsRequest$Type extends MessageType<ManageLabelsRequest> {
986
986
  return message;
987
987
  }
988
988
  internalBinaryWrite(message: ManageLabelsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
989
- /* repeated resources.jobs.Label labels = 1; */
989
+ /* repeated resources.jobs.labels.Label labels = 1; */
990
990
  for (let i = 0; i < message.labels.length; i++)
991
991
  Label.internalBinaryWrite(message.labels[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
992
992
  let u = options.writeUnknownFields;
@@ -1018,7 +1018,7 @@ class ManageLabelsResponse$Type extends MessageType<ManageLabelsResponse> {
1018
1018
  while (reader.pos < end) {
1019
1019
  let [fieldNo, wireType] = reader.tag();
1020
1020
  switch (fieldNo) {
1021
- case /* repeated resources.jobs.Label labels */ 1:
1021
+ case /* repeated resources.jobs.labels.Label labels */ 1:
1022
1022
  message.labels.push(Label.internalBinaryRead(reader, reader.uint32(), options));
1023
1023
  break;
1024
1024
  default:
@@ -1033,7 +1033,7 @@ class ManageLabelsResponse$Type extends MessageType<ManageLabelsResponse> {
1033
1033
  return message;
1034
1034
  }
1035
1035
  internalBinaryWrite(message: ManageLabelsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1036
- /* repeated resources.jobs.Label labels = 1; */
1036
+ /* repeated resources.jobs.labels.Label labels = 1; */
1037
1037
  for (let i = 0; i < message.labels.length; i++)
1038
1038
  Label.internalBinaryWrite(message.labels[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1039
1039
  let u = options.writeUnknownFields;
@@ -1120,7 +1120,7 @@ class GetColleagueLabelsStatsResponse$Type extends MessageType<GetColleagueLabel
1120
1120
  while (reader.pos < end) {
1121
1121
  let [fieldNo, wireType] = reader.tag();
1122
1122
  switch (fieldNo) {
1123
- case /* repeated resources.jobs.LabelCount count */ 1:
1123
+ case /* repeated resources.jobs.labels.LabelCount count */ 1:
1124
1124
  message.count.push(LabelCount.internalBinaryRead(reader, reader.uint32(), options));
1125
1125
  break;
1126
1126
  default:
@@ -1135,7 +1135,7 @@ class GetColleagueLabelsStatsResponse$Type extends MessageType<GetColleagueLabel
1135
1135
  return message;
1136
1136
  }
1137
1137
  internalBinaryWrite(message: GetColleagueLabelsStatsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1138
- /* repeated resources.jobs.LabelCount count = 1; */
1138
+ /* repeated resources.jobs.labels.LabelCount count = 1; */
1139
1139
  for (let i = 0; i < message.count.length; i++)
1140
1140
  LabelCount.internalBinaryWrite(message.count[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1141
1141
  let u = options.writeUnknownFields;
@@ -1237,7 +1237,7 @@ export const GetMOTDResponse = new GetMOTDResponse$Type();
1237
1237
  class SetMOTDRequest$Type extends MessageType<SetMOTDRequest> {
1238
1238
  constructor() {
1239
1239
  super("services.jobs.SetMOTDRequest", [
1240
- { no: 1, name: "motd", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "1024" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } }
1240
+ { no: 1, name: "motd", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "1024" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
1241
1241
  ]);
1242
1242
  }
1243
1243
  create(value?: PartialMessage<SetMOTDRequest>): SetMOTDRequest {
@@ -1341,4 +1341,4 @@ export const JobsService = new ServiceType("services.jobs.JobsService", [
1341
1341
  { name: "GetColleagueLabelsStats", options: { "codegen.perms.perms": { enabled: true, name: "GetColleague" } }, I: GetColleagueLabelsStatsRequest, O: GetColleagueLabelsStatsResponse },
1342
1342
  { name: "GetMOTD", options: { "codegen.perms.perms": { enabled: true, name: "Any" } }, I: GetMOTDRequest, O: GetMOTDResponse },
1343
1343
  { name: "SetMOTD", options: { "codegen.perms.perms": { enabled: true } }, I: SetMOTDRequest, O: SetMOTDResponse }
1344
- ]);
1344
+ ], { "codegen.perms.perms_svc": { order: 60, icon: "i-mdi-briefcase-outline" } });
@@ -0,0 +1,38 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
+ // @generated from protobuf file "services/jobs/stats.proto" (package "services.jobs", syntax proto3)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
6
+ import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
7
+ import { StatsService } from "./stats";
8
+ import { stackIntercept } from "@protobuf-ts/runtime-rpc";
9
+ import type { GetStatsResponse } from "./stats";
10
+ import type { GetStatsRequest } from "./stats";
11
+ import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
12
+ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
13
+ /**
14
+ * @generated from protobuf service services.jobs.StatsService
15
+ */
16
+ export interface IStatsServiceClient {
17
+ /**
18
+ * @generated from protobuf rpc: GetStats
19
+ */
20
+ getStats(input: GetStatsRequest, options?: RpcOptions): UnaryCall<GetStatsRequest, GetStatsResponse>;
21
+ }
22
+ /**
23
+ * @generated from protobuf service services.jobs.StatsService
24
+ */
25
+ export class StatsServiceClient implements IStatsServiceClient, ServiceInfo {
26
+ typeName = StatsService.typeName;
27
+ methods = StatsService.methods;
28
+ options = StatsService.options;
29
+ constructor(private readonly _transport: RpcTransport) {
30
+ }
31
+ /**
32
+ * @generated from protobuf rpc: GetStats
33
+ */
34
+ getStats(input: GetStatsRequest, options?: RpcOptions): UnaryCall<GetStatsRequest, GetStatsResponse> {
35
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
36
+ return stackIntercept<GetStatsRequest, GetStatsResponse>("unary", this._transport, method, opt, input);
37
+ }
38
+ }
@@ -0,0 +1,207 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
+ // @generated from protobuf file "services/jobs/stats.proto" (package "services.jobs", syntax proto3)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ import { ServiceType } from "@protobuf-ts/runtime-rpc";
6
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
7
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
8
+ import { WireType } from "@protobuf-ts/runtime";
9
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
10
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
11
+ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
12
+ import type { PartialMessage } from "@protobuf-ts/runtime";
13
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
14
+ import { MessageType } from "@protobuf-ts/runtime";
15
+ import { PeriodSeriesValue } from "../../resources/stats/stats";
16
+ import { DailyValue } from "../../resources/stats/stats";
17
+ import { StatsCategory } from "../../resources/stats/stats";
18
+ import { StatsPeriod } from "../../resources/stats/stats";
19
+ import { Timestamp } from "../../resources/timestamp/timestamp";
20
+ /**
21
+ * @generated from protobuf message services.jobs.GetStatsRequest
22
+ */
23
+ export interface GetStatsRequest {
24
+ /**
25
+ * @generated from protobuf field: resources.timestamp.Timestamp start = 1
26
+ */
27
+ start?: Timestamp;
28
+ /**
29
+ * @generated from protobuf field: resources.timestamp.Timestamp end = 2
30
+ */
31
+ end?: Timestamp;
32
+ /**
33
+ * @generated from protobuf field: resources.stats.StatsPeriod period = 3
34
+ */
35
+ period: StatsPeriod;
36
+ /**
37
+ * @generated from protobuf field: resources.stats.StatsCategory category = 4
38
+ */
39
+ category: StatsCategory;
40
+ }
41
+ /**
42
+ * @generated from protobuf message services.jobs.GetStatsResponse
43
+ */
44
+ export interface GetStatsResponse {
45
+ /**
46
+ * @generated from protobuf field: repeated resources.stats.DailyValue period_values = 1
47
+ */
48
+ periodValues: DailyValue[];
49
+ /**
50
+ * @generated from protobuf field: repeated resources.stats.PeriodSeriesValue period_series_values = 2
51
+ */
52
+ periodSeriesValues: PeriodSeriesValue[];
53
+ /**
54
+ * @generated from protobuf field: int64 total_value = 3
55
+ */
56
+ totalValue: number;
57
+ /**
58
+ * @generated from protobuf field: double average_value = 4
59
+ */
60
+ averageValue: number;
61
+ }
62
+ // @generated message type with reflection information, may provide speed optimized methods
63
+ class GetStatsRequest$Type extends MessageType<GetStatsRequest> {
64
+ constructor() {
65
+ super("services.jobs.GetStatsRequest", [
66
+ { no: 1, name: "start", kind: "message", T: () => Timestamp },
67
+ { no: 2, name: "end", kind: "message", T: () => Timestamp },
68
+ { no: 3, name: "period", kind: "enum", T: () => ["resources.stats.StatsPeriod", StatsPeriod, "STATS_PERIOD_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
69
+ { no: 4, name: "category", kind: "enum", T: () => ["resources.stats.StatsCategory", StatsCategory, "STATS_CATEGORY_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } }
70
+ ]);
71
+ }
72
+ create(value?: PartialMessage<GetStatsRequest>): GetStatsRequest {
73
+ const message = globalThis.Object.create((this.messagePrototype!));
74
+ message.period = 0;
75
+ message.category = 0;
76
+ if (value !== undefined)
77
+ reflectionMergePartial<GetStatsRequest>(this, message, value);
78
+ return message;
79
+ }
80
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetStatsRequest): GetStatsRequest {
81
+ let message = target ?? this.create(), end = reader.pos + length;
82
+ while (reader.pos < end) {
83
+ let [fieldNo, wireType] = reader.tag();
84
+ switch (fieldNo) {
85
+ case /* resources.timestamp.Timestamp start */ 1:
86
+ message.start = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.start);
87
+ break;
88
+ case /* resources.timestamp.Timestamp end */ 2:
89
+ message.end = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.end);
90
+ break;
91
+ case /* resources.stats.StatsPeriod period */ 3:
92
+ message.period = reader.int32();
93
+ break;
94
+ case /* resources.stats.StatsCategory category */ 4:
95
+ message.category = reader.int32();
96
+ break;
97
+ default:
98
+ let u = options.readUnknownField;
99
+ if (u === "throw")
100
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
101
+ let d = reader.skip(wireType);
102
+ if (u !== false)
103
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
104
+ }
105
+ }
106
+ return message;
107
+ }
108
+ internalBinaryWrite(message: GetStatsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
109
+ /* resources.timestamp.Timestamp start = 1; */
110
+ if (message.start)
111
+ Timestamp.internalBinaryWrite(message.start, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
112
+ /* resources.timestamp.Timestamp end = 2; */
113
+ if (message.end)
114
+ Timestamp.internalBinaryWrite(message.end, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
115
+ /* resources.stats.StatsPeriod period = 3; */
116
+ if (message.period !== 0)
117
+ writer.tag(3, WireType.Varint).int32(message.period);
118
+ /* resources.stats.StatsCategory category = 4; */
119
+ if (message.category !== 0)
120
+ writer.tag(4, WireType.Varint).int32(message.category);
121
+ let u = options.writeUnknownFields;
122
+ if (u !== false)
123
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
124
+ return writer;
125
+ }
126
+ }
127
+ /**
128
+ * @generated MessageType for protobuf message services.jobs.GetStatsRequest
129
+ */
130
+ export const GetStatsRequest = new GetStatsRequest$Type();
131
+ // @generated message type with reflection information, may provide speed optimized methods
132
+ class GetStatsResponse$Type extends MessageType<GetStatsResponse> {
133
+ constructor() {
134
+ super("services.jobs.GetStatsResponse", [
135
+ { no: 1, name: "period_values", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => DailyValue },
136
+ { no: 2, name: "period_series_values", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => PeriodSeriesValue },
137
+ { no: 3, name: "total_value", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
138
+ { no: 4, name: "average_value", kind: "scalar", T: 1 /*ScalarType.DOUBLE*/ }
139
+ ]);
140
+ }
141
+ create(value?: PartialMessage<GetStatsResponse>): GetStatsResponse {
142
+ const message = globalThis.Object.create((this.messagePrototype!));
143
+ message.periodValues = [];
144
+ message.periodSeriesValues = [];
145
+ message.totalValue = 0;
146
+ message.averageValue = 0;
147
+ if (value !== undefined)
148
+ reflectionMergePartial<GetStatsResponse>(this, message, value);
149
+ return message;
150
+ }
151
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetStatsResponse): GetStatsResponse {
152
+ let message = target ?? this.create(), end = reader.pos + length;
153
+ while (reader.pos < end) {
154
+ let [fieldNo, wireType] = reader.tag();
155
+ switch (fieldNo) {
156
+ case /* repeated resources.stats.DailyValue period_values */ 1:
157
+ message.periodValues.push(DailyValue.internalBinaryRead(reader, reader.uint32(), options));
158
+ break;
159
+ case /* repeated resources.stats.PeriodSeriesValue period_series_values */ 2:
160
+ message.periodSeriesValues.push(PeriodSeriesValue.internalBinaryRead(reader, reader.uint32(), options));
161
+ break;
162
+ case /* int64 total_value */ 3:
163
+ message.totalValue = reader.int64().toNumber();
164
+ break;
165
+ case /* double average_value */ 4:
166
+ message.averageValue = reader.double();
167
+ break;
168
+ default:
169
+ let u = options.readUnknownField;
170
+ if (u === "throw")
171
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
172
+ let d = reader.skip(wireType);
173
+ if (u !== false)
174
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
175
+ }
176
+ }
177
+ return message;
178
+ }
179
+ internalBinaryWrite(message: GetStatsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
180
+ /* repeated resources.stats.DailyValue period_values = 1; */
181
+ for (let i = 0; i < message.periodValues.length; i++)
182
+ DailyValue.internalBinaryWrite(message.periodValues[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
183
+ /* repeated resources.stats.PeriodSeriesValue period_series_values = 2; */
184
+ for (let i = 0; i < message.periodSeriesValues.length; i++)
185
+ PeriodSeriesValue.internalBinaryWrite(message.periodSeriesValues[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
186
+ /* int64 total_value = 3; */
187
+ if (message.totalValue !== 0)
188
+ writer.tag(3, WireType.Varint).int64(message.totalValue);
189
+ /* double average_value = 4; */
190
+ if (message.averageValue !== 0)
191
+ writer.tag(4, WireType.Bit64).double(message.averageValue);
192
+ let u = options.writeUnknownFields;
193
+ if (u !== false)
194
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
195
+ return writer;
196
+ }
197
+ }
198
+ /**
199
+ * @generated MessageType for protobuf message services.jobs.GetStatsResponse
200
+ */
201
+ export const GetStatsResponse = new GetStatsResponse$Type();
202
+ /**
203
+ * @generated ServiceType for protobuf service services.jobs.StatsService
204
+ */
205
+ export const StatsService = new ServiceType("services.jobs.StatsService", [
206
+ { name: "GetStats", options: { "codegen.perms.perms": { enabled: true } }, I: GetStatsRequest, O: GetStatsResponse }
207
+ ], { "codegen.perms.perms_svc": { order: 68, icon: "i-mdi-graph-box-multiple-outline" } });