@fivenet-app/gen 2025.5.3 → 2026.3.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 (195) hide show
  1. package/README.md +1 -1
  2. package/buf/validate/validate.ts +11301 -0
  3. package/clients.ts +193 -154
  4. package/codegen/dbscanner/dbscanner.ts +91 -0
  5. package/codegen/perms/perms.ts +287 -0
  6. package/codegen/sanitizer/sanitizer.ts +113 -0
  7. package/google/protobuf/any.ts +4 -3
  8. package/google/protobuf/descriptor.ts +393 -239
  9. package/google/protobuf/duration.ts +4 -3
  10. package/google/protobuf/struct.ts +485 -0
  11. package/google/protobuf/timestamp.ts +4 -3
  12. package/package.json +3 -3
  13. package/perms.ts +217 -160
  14. package/resources/accounts/accounts.ts +115 -47
  15. package/resources/accounts/{oauth2.ts → oauth2/oauth2.ts} +33 -32
  16. package/resources/audit/audit.ts +172 -53
  17. package/resources/calendar/{access.ts → access/access.ts} +72 -71
  18. package/resources/calendar/calendar.ts +79 -543
  19. package/resources/calendar/entries/entries.ts +474 -0
  20. package/resources/centrum/access/access.ts +345 -0
  21. package/resources/centrum/dispatchers/dispatchers.ts +149 -0
  22. package/resources/centrum/{dispatches.ts → dispatches/dispatches.ts} +267 -164
  23. package/resources/centrum/joblist.ts +136 -0
  24. package/resources/centrum/settings/settings.ts +657 -0
  25. package/resources/centrum/{units_access.ts → units/access/access.ts} +78 -79
  26. package/resources/centrum/{units.ts → units/units.ts} +230 -130
  27. package/resources/clientconfig/clientconfig.ts +1015 -0
  28. package/resources/collab/collab.ts +805 -0
  29. package/resources/common/content/content.ts +169 -63
  30. package/resources/common/content/diff_activity.ts +267 -0
  31. package/resources/common/database/database.ts +92 -35
  32. package/resources/common/error.ts +17 -16
  33. package/resources/common/i18n.ts +20 -24
  34. package/resources/common/id_mapping.ts +69 -0
  35. package/resources/common/tests/objects.ts +4 -3
  36. package/resources/{common/cron → cron}/cron.ts +77 -65
  37. package/resources/discord/discord.ts +209 -0
  38. package/resources/documents/{access.ts → access/access.ts} +75 -76
  39. package/resources/documents/{activity.ts → activity/activity.ts} +349 -124
  40. package/resources/documents/approval/approval.ts +945 -0
  41. package/resources/documents/{category.ts → category/category.ts} +25 -32
  42. package/resources/documents/{comment.ts → comment/comment.ts} +35 -34
  43. package/resources/documents/data/data.ts +303 -0
  44. package/resources/documents/documents.ts +374 -686
  45. package/resources/{common/uuid.ts → documents/forms/forms.ts} +22 -21
  46. package/resources/documents/pins/pins.ts +127 -0
  47. package/resources/documents/references/references.ts +187 -0
  48. package/resources/documents/relations/relations.ts +184 -0
  49. package/resources/documents/{requests.ts → requests/requests.ts} +45 -44
  50. package/resources/documents/stamps/stamp.ts +355 -0
  51. package/resources/documents/{templates.ts → templates/templates.ts} +524 -199
  52. package/resources/documents/workflow/workflow.ts +600 -0
  53. package/resources/file/file.ts +152 -0
  54. package/{services/settings → resources/file}/filestore.ts +179 -165
  55. package/resources/file/meta.ts +148 -0
  56. package/resources/{common/grpcws → grpcws}/grpcws.ts +66 -65
  57. package/resources/jobs/{activity.ts → colleagues/activity/activity.ts} +83 -86
  58. package/resources/jobs/{colleagues.ts → colleagues/colleagues.ts} +76 -80
  59. package/resources/jobs/{conduct.ts → conduct/conduct.ts} +86 -62
  60. package/resources/jobs/jobs.ts +14 -13
  61. package/resources/jobs/{labels.ts → labels/labels.ts} +36 -37
  62. package/resources/jobs/{job_props.ts → props/props.ts} +63 -65
  63. package/resources/jobs/{job_settings.ts → settings/settings.ts} +89 -96
  64. package/resources/jobs/{timeclock.ts → timeclock/timeclock.ts} +42 -41
  65. package/resources/laws/laws.ts +40 -49
  66. package/resources/livemap/coords.ts +81 -0
  67. package/resources/livemap/heatmap/heatmap.ts +93 -0
  68. package/resources/livemap/{livemap.ts → markers/marker_marker.ts} +68 -335
  69. package/resources/livemap/markers/user_marker.ts +377 -0
  70. package/resources/mailer/{access.ts → access/access.ts} +119 -118
  71. package/resources/mailer/{email.ts → emails/email.ts} +38 -41
  72. package/resources/mailer/{events.ts → events/events.ts} +44 -43
  73. package/resources/mailer/{message.ts → messages/message.ts} +69 -74
  74. package/resources/mailer/{settings.ts → settings/settings.ts} +23 -25
  75. package/resources/mailer/{template.ts → templates/template.ts} +37 -40
  76. package/resources/mailer/{thread.ts → threads/thread.ts} +93 -94
  77. package/resources/notifications/clientview/clientview.ts +239 -0
  78. package/resources/notifications/{events.ts → events/events.ts} +67 -130
  79. package/resources/notifications/notifications.ts +55 -60
  80. package/resources/permissions/{attributes.ts → attributes/attributes.ts} +94 -237
  81. package/resources/permissions/events/events.ts +149 -0
  82. package/resources/permissions/{permissions.ts → permissions/permissions.ts} +127 -47
  83. package/resources/qualifications/{access.ts → access/access.ts} +43 -42
  84. package/resources/qualifications/{exam.ts → exam/exam.ts} +419 -229
  85. package/resources/qualifications/qualifications.ts +327 -388
  86. package/resources/settings/banner.ts +14 -21
  87. package/resources/settings/config.ts +663 -79
  88. package/resources/settings/data.ts +90 -0
  89. package/resources/settings/perms.ts +151 -0
  90. package/resources/settings/status.ts +533 -0
  91. package/resources/stats/stats.ts +382 -2
  92. package/resources/sync/{activity.ts → activity/activity.ts} +126 -46
  93. package/resources/sync/data/data.ts +1001 -0
  94. package/resources/sync/data/v2/data.ts +220 -0
  95. package/resources/timestamp/timestamp.ts +3 -2
  96. package/resources/{centrum/user_unit.ts → tracker/mapping.ts} +44 -44
  97. package/resources/userinfo/userinfo.ts +442 -0
  98. package/resources/users/{activity.ts → activity/activity.ts} +182 -166
  99. package/resources/users/{labels.ts → labels/labels.ts} +27 -30
  100. package/resources/users/{licenses.ts → licenses/licenses.ts} +18 -17
  101. package/resources/users/{props.ts → props/props.ts} +109 -77
  102. package/resources/users/short/user.ts +184 -0
  103. package/resources/users/user.ts +528 -0
  104. package/resources/vehicles/activity/activity.ts +231 -0
  105. package/resources/vehicles/props/props.ts +125 -0
  106. package/resources/vehicles/vehicles.ts +43 -18
  107. package/resources/wiki/{access.ts → access/access.ts} +72 -71
  108. package/resources/wiki/{activity.ts → activity/activity.ts} +218 -102
  109. package/resources/wiki/page.ts +164 -93
  110. package/services/auth/auth.client.ts +45 -35
  111. package/services/auth/auth.ts +498 -288
  112. package/services/calendar/calendar.client.ts +32 -91
  113. package/services/calendar/calendar.ts +157 -134
  114. package/services/centrum/centrum.client.ts +97 -137
  115. package/services/centrum/centrum.ts +755 -352
  116. package/services/citizens/citizens.client.ts +70 -39
  117. package/services/citizens/citizens.ts +226 -112
  118. package/services/completor/completor.client.ts +16 -35
  119. package/services/completor/completor.ts +95 -54
  120. package/services/documents/approval.client.ts +188 -0
  121. package/services/documents/approval.ts +1776 -0
  122. package/services/documents/collab.client.ts +46 -0
  123. package/services/documents/collab.ts +13 -0
  124. package/services/documents/documents.client.ts +88 -217
  125. package/services/documents/documents.ts +579 -619
  126. package/services/documents/forms.client.ts +51 -0
  127. package/services/documents/forms.ts +232 -0
  128. package/services/documents/stamps.client.ts +77 -0
  129. package/services/documents/stamps.ts +481 -0
  130. package/services/documents/stats.client.ts +38 -0
  131. package/services/documents/stats.ts +245 -0
  132. package/services/filestore/filestore.client.ts +86 -0
  133. package/services/filestore/filestore.ts +262 -0
  134. package/services/jobs/conduct.client.ts +40 -28
  135. package/services/jobs/conduct.ts +183 -56
  136. package/services/jobs/jobs.client.ts +22 -61
  137. package/services/jobs/jobs.ts +138 -121
  138. package/services/jobs/stats.client.ts +38 -0
  139. package/services/jobs/stats.ts +207 -0
  140. package/services/jobs/timeclock.client.ts +8 -19
  141. package/services/jobs/timeclock.ts +76 -75
  142. package/services/livemap/livemap.client.ts +8 -19
  143. package/services/livemap/livemap.ts +297 -126
  144. package/services/mailer/mailer.client.ts +44 -127
  145. package/services/mailer/mailer.ts +266 -269
  146. package/services/notifications/notifications.client.ts +65 -0
  147. package/services/{notificator/notificator.ts → notifications/notifications.ts} +126 -83
  148. package/services/qualifications/qualifications.client.ts +46 -91
  149. package/services/qualifications/qualifications.ts +250 -209
  150. package/services/settings/accounts.client.ts +31 -33
  151. package/services/settings/accounts.ts +251 -67
  152. package/services/settings/config.client.ts +6 -13
  153. package/services/settings/config.ts +8 -7
  154. package/services/settings/cron.client.ts +4 -7
  155. package/services/settings/cron.ts +7 -6
  156. package/services/settings/laws.client.ts +10 -25
  157. package/services/settings/laws.ts +30 -29
  158. package/services/settings/settings.client.ts +57 -103
  159. package/services/settings/settings.ts +237 -633
  160. package/services/settings/system.client.ts +103 -0
  161. package/services/settings/system.ts +718 -0
  162. package/services/stats/stats.client.ts +9 -8
  163. package/services/stats/stats.ts +27 -26
  164. package/services/sync/sync.client.ts +16 -15
  165. package/services/sync/sync.ts +174 -97
  166. package/services/sync/v2/sync.client.ts +331 -0
  167. package/services/sync/v2/sync.ts +1766 -0
  168. package/services/vehicles/vehicles.client.ts +17 -7
  169. package/services/vehicles/vehicles.ts +170 -25
  170. package/services/wiki/collab.client.ts +46 -0
  171. package/services/wiki/collab.ts +13 -0
  172. package/services/wiki/wiki.client.ts +28 -37
  173. package/services/wiki/wiki.ts +97 -67
  174. package/svcs.ts +174 -106
  175. package/resources/centrum/attributes.ts +0 -186
  176. package/resources/centrum/disponents.ts +0 -81
  177. package/resources/centrum/settings.ts +0 -307
  178. package/resources/documents/workflow.ts +0 -351
  179. package/resources/filestore/file.ts +0 -204
  180. package/resources/internet/access.ts +0 -358
  181. package/resources/internet/ads.ts +0 -257
  182. package/resources/internet/domain.ts +0 -328
  183. package/resources/internet/page.ts +0 -428
  184. package/resources/internet/search.ts +0 -128
  185. package/resources/livemap/tracker.ts +0 -81
  186. package/resources/sync/data.ts +0 -587
  187. package/resources/users/users.ts +0 -435
  188. package/services/internet/ads.client.ts +0 -41
  189. package/services/internet/ads.ts +0 -145
  190. package/services/internet/domain.client.ts +0 -109
  191. package/services/internet/domain.ts +0 -658
  192. package/services/internet/internet.client.ts +0 -58
  193. package/services/internet/internet.ts +0 -268
  194. package/services/notificator/notificator.client.ts +0 -76
  195. package/services/settings/filestore.client.ts +0 -75
@@ -1,5 +1,6 @@
1
- // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
2
  // @generated from protobuf file "services/jobs/jobs.proto" (package "services.jobs", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import { ServiceType } from "@protobuf-ts/runtime-rpc";
5
6
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
@@ -11,12 +12,12 @@ import { WireType } from "@protobuf-ts/runtime";
11
12
  import type { PartialMessage } from "@protobuf-ts/runtime";
12
13
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
14
  import { MessageType } from "@protobuf-ts/runtime";
14
- import { LabelCount } from "../../resources/jobs/labels";
15
- import { Label } from "../../resources/jobs/labels";
16
- import { ColleagueProps } from "../../resources/jobs/colleagues";
17
- import { ColleagueActivity } from "../../resources/jobs/activity";
18
- import { ColleagueActivityType } from "../../resources/jobs/activity";
19
- 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";
20
21
  import { PaginationResponse } from "../../resources/common/database/database";
21
22
  import { Sort } from "../../resources/common/database/database";
22
23
  import { PaginationRequest } from "../../resources/common/database/database";
@@ -27,37 +28,41 @@ import { PaginationRequest } from "../../resources/common/database/database";
27
28
  */
28
29
  export interface ListColleaguesRequest {
29
30
  /**
30
- * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1;
31
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
31
32
  */
32
33
  pagination?: PaginationRequest;
33
34
  /**
34
- * @generated from protobuf field: optional resources.common.database.Sort sort = 2;
35
+ * @generated from protobuf field: optional resources.common.database.Sort sort = 2
35
36
  */
36
37
  sort?: Sort;
37
38
  /**
38
39
  * Search params
39
40
  *
40
- * @generated from protobuf field: string search = 3;
41
+ * @generated from protobuf field: string search = 3
41
42
  */
42
43
  search: string;
43
44
  /**
44
- * @generated from protobuf field: optional int32 user_id = 4;
45
+ * @generated from protobuf field: repeated int32 user_ids = 4
45
46
  */
46
- userId?: number;
47
+ userIds: number[];
48
+ /**
49
+ * @generated from protobuf field: optional bool user_only = 5
50
+ */
51
+ userOnly?: boolean;
47
52
  /**
48
- * @generated from protobuf field: optional bool absent = 5;
53
+ * @generated from protobuf field: optional bool absent = 6
49
54
  */
50
55
  absent?: boolean;
51
56
  /**
52
- * @generated from protobuf field: repeated uint64 label_ids = 6;
57
+ * @generated from protobuf field: repeated int64 label_ids = 7
53
58
  */
54
59
  labelIds: number[];
55
60
  /**
56
- * @generated from protobuf field: optional string name_prefix = 7;
61
+ * @generated from protobuf field: optional string name_prefix = 8
57
62
  */
58
63
  namePrefix?: string;
59
64
  /**
60
- * @generated from protobuf field: optional string name_suffix = 8;
65
+ * @generated from protobuf field: optional string name_suffix = 9
61
66
  */
62
67
  nameSuffix?: string;
63
68
  }
@@ -66,11 +71,11 @@ export interface ListColleaguesRequest {
66
71
  */
67
72
  export interface ListColleaguesResponse {
68
73
  /**
69
- * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1;
74
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
70
75
  */
71
76
  pagination?: PaginationResponse;
72
77
  /**
73
- * @generated from protobuf field: repeated resources.jobs.Colleague colleagues = 2;
78
+ * @generated from protobuf field: repeated resources.jobs.colleagues.Colleague colleagues = 2
74
79
  */
75
80
  colleagues: Colleague[];
76
81
  }
@@ -84,7 +89,7 @@ export interface GetSelfRequest {
84
89
  */
85
90
  export interface GetSelfResponse {
86
91
  /**
87
- * @generated from protobuf field: resources.jobs.Colleague colleague = 1;
92
+ * @generated from protobuf field: resources.jobs.colleagues.Colleague colleague = 1
88
93
  */
89
94
  colleague?: Colleague;
90
95
  }
@@ -93,11 +98,11 @@ export interface GetSelfResponse {
93
98
  */
94
99
  export interface GetColleagueRequest {
95
100
  /**
96
- * @generated from protobuf field: int32 user_id = 1;
101
+ * @generated from protobuf field: int32 user_id = 1
97
102
  */
98
103
  userId: number;
99
104
  /**
100
- * @generated from protobuf field: optional bool info_only = 2;
105
+ * @generated from protobuf field: optional bool info_only = 2
101
106
  */
102
107
  infoOnly?: boolean;
103
108
  }
@@ -106,7 +111,7 @@ export interface GetColleagueRequest {
106
111
  */
107
112
  export interface GetColleagueResponse {
108
113
  /**
109
- * @generated from protobuf field: resources.jobs.Colleague colleague = 1;
114
+ * @generated from protobuf field: resources.jobs.colleagues.Colleague colleague = 1
110
115
  */
111
116
  colleague?: Colleague;
112
117
  }
@@ -115,21 +120,21 @@ export interface GetColleagueResponse {
115
120
  */
116
121
  export interface ListColleagueActivityRequest {
117
122
  /**
118
- * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1;
123
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
119
124
  */
120
125
  pagination?: PaginationRequest;
121
126
  /**
122
- * @generated from protobuf field: optional resources.common.database.Sort sort = 2;
127
+ * @generated from protobuf field: optional resources.common.database.Sort sort = 2
123
128
  */
124
129
  sort?: Sort;
125
130
  /**
126
131
  * Search params
127
132
  *
128
- * @generated from protobuf field: repeated int32 user_ids = 3;
133
+ * @generated from protobuf field: repeated int32 user_ids = 3
129
134
  */
130
135
  userIds: number[];
131
136
  /**
132
- * @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
133
138
  */
134
139
  activityTypes: ColleagueActivityType[];
135
140
  }
@@ -138,11 +143,11 @@ export interface ListColleagueActivityRequest {
138
143
  */
139
144
  export interface ListColleagueActivityResponse {
140
145
  /**
141
- * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1;
146
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
142
147
  */
143
148
  pagination?: PaginationResponse;
144
149
  /**
145
- * @generated from protobuf field: repeated resources.jobs.ColleagueActivity activity = 2;
150
+ * @generated from protobuf field: repeated resources.jobs.colleagues.activity.ColleagueActivity activity = 2
146
151
  */
147
152
  activity: ColleagueActivity[];
148
153
  }
@@ -151,13 +156,11 @@ export interface ListColleagueActivityResponse {
151
156
  */
152
157
  export interface SetColleaguePropsRequest {
153
158
  /**
154
- * @generated from protobuf field: resources.jobs.ColleagueProps props = 1;
159
+ * @generated from protobuf field: resources.jobs.colleagues.ColleagueProps props = 1
155
160
  */
156
161
  props?: ColleagueProps;
157
162
  /**
158
- * @sanitize
159
- *
160
- * @generated from protobuf field: string reason = 2;
163
+ * @generated from protobuf field: string reason = 2
161
164
  */
162
165
  reason: string;
163
166
  }
@@ -166,7 +169,7 @@ export interface SetColleaguePropsRequest {
166
169
  */
167
170
  export interface SetColleaguePropsResponse {
168
171
  /**
169
- * @generated from protobuf field: resources.jobs.ColleagueProps props = 1;
172
+ * @generated from protobuf field: resources.jobs.colleagues.ColleagueProps props = 1
170
173
  */
171
174
  props?: ColleagueProps;
172
175
  }
@@ -175,7 +178,7 @@ export interface SetColleaguePropsResponse {
175
178
  */
176
179
  export interface GetColleagueLabelsRequest {
177
180
  /**
178
- * @generated from protobuf field: optional string search = 1;
181
+ * @generated from protobuf field: optional string search = 1
179
182
  */
180
183
  search?: string;
181
184
  }
@@ -184,7 +187,7 @@ export interface GetColleagueLabelsRequest {
184
187
  */
185
188
  export interface GetColleagueLabelsResponse {
186
189
  /**
187
- * @generated from protobuf field: repeated resources.jobs.Label labels = 1;
190
+ * @generated from protobuf field: repeated resources.jobs.labels.Label labels = 1
188
191
  */
189
192
  labels: Label[];
190
193
  }
@@ -193,7 +196,7 @@ export interface GetColleagueLabelsResponse {
193
196
  */
194
197
  export interface ManageLabelsRequest {
195
198
  /**
196
- * @generated from protobuf field: repeated resources.jobs.Label labels = 1;
199
+ * @generated from protobuf field: repeated resources.jobs.labels.Label labels = 1
197
200
  */
198
201
  labels: Label[];
199
202
  }
@@ -202,7 +205,7 @@ export interface ManageLabelsRequest {
202
205
  */
203
206
  export interface ManageLabelsResponse {
204
207
  /**
205
- * @generated from protobuf field: repeated resources.jobs.Label labels = 1;
208
+ * @generated from protobuf field: repeated resources.jobs.labels.Label labels = 1
206
209
  */
207
210
  labels: Label[];
208
211
  }
@@ -211,7 +214,7 @@ export interface ManageLabelsResponse {
211
214
  */
212
215
  export interface GetColleagueLabelsStatsRequest {
213
216
  /**
214
- * @generated from protobuf field: repeated uint64 label_ids = 1;
217
+ * @generated from protobuf field: repeated int64 label_ids = 1
215
218
  */
216
219
  labelIds: number[];
217
220
  }
@@ -220,7 +223,7 @@ export interface GetColleagueLabelsStatsRequest {
220
223
  */
221
224
  export interface GetColleagueLabelsStatsResponse {
222
225
  /**
223
- * @generated from protobuf field: repeated resources.jobs.LabelCount count = 1;
226
+ * @generated from protobuf field: repeated resources.jobs.labels.LabelCount count = 1
224
227
  */
225
228
  count: LabelCount[];
226
229
  }
@@ -236,7 +239,7 @@ export interface GetMOTDRequest {
236
239
  */
237
240
  export interface GetMOTDResponse {
238
241
  /**
239
- * @generated from protobuf field: string motd = 1;
242
+ * @generated from protobuf field: string motd = 1
240
243
  */
241
244
  motd: string;
242
245
  }
@@ -245,9 +248,7 @@ export interface GetMOTDResponse {
245
248
  */
246
249
  export interface SetMOTDRequest {
247
250
  /**
248
- * @sanitize: method=StripTags
249
- *
250
- * @generated from protobuf field: string motd = 1;
251
+ * @generated from protobuf field: string motd = 1
251
252
  */
252
253
  motd: string;
253
254
  }
@@ -256,7 +257,7 @@ export interface SetMOTDRequest {
256
257
  */
257
258
  export interface SetMOTDResponse {
258
259
  /**
259
- * @generated from protobuf field: string motd = 1;
260
+ * @generated from protobuf field: string motd = 1
260
261
  */
261
262
  motd: string;
262
263
  }
@@ -264,19 +265,21 @@ export interface SetMOTDResponse {
264
265
  class ListColleaguesRequest$Type extends MessageType<ListColleaguesRequest> {
265
266
  constructor() {
266
267
  super("services.jobs.ListColleaguesRequest", [
267
- { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "validate.rules": { message: { required: true } } } },
268
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
268
269
  { no: 2, name: "sort", kind: "message", T: () => Sort },
269
- { no: 3, name: "search", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "64" } } } },
270
- { no: 4, name: "user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } },
271
- { no: 5, name: "absent", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
272
- { no: 6, name: "label_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
273
- { no: 7, name: "name_prefix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "12" } } } },
274
- { no: 8, name: "name_suffix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "12" } } } }
270
+ { no: 3, name: "search", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
271
+ { no: 4, name: "user_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { repeated: { items: { int32: { gte: 0 } } } } } },
272
+ { no: 5, name: "user_only", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
273
+ { no: 6, name: "absent", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
274
+ { no: 7, name: "label_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
275
+ { no: 8, name: "name_prefix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "12" } } } },
276
+ { no: 9, name: "name_suffix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "12" } } } }
275
277
  ]);
276
278
  }
277
279
  create(value?: PartialMessage<ListColleaguesRequest>): ListColleaguesRequest {
278
280
  const message = globalThis.Object.create((this.messagePrototype!));
279
281
  message.search = "";
282
+ message.userIds = [];
280
283
  message.labelIds = [];
281
284
  if (value !== undefined)
282
285
  reflectionMergePartial<ListColleaguesRequest>(this, message, value);
@@ -296,23 +299,30 @@ class ListColleaguesRequest$Type extends MessageType<ListColleaguesRequest> {
296
299
  case /* string search */ 3:
297
300
  message.search = reader.string();
298
301
  break;
299
- case /* optional int32 user_id */ 4:
300
- message.userId = reader.int32();
302
+ case /* repeated int32 user_ids */ 4:
303
+ if (wireType === WireType.LengthDelimited)
304
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
305
+ message.userIds.push(reader.int32());
306
+ else
307
+ message.userIds.push(reader.int32());
308
+ break;
309
+ case /* optional bool user_only */ 5:
310
+ message.userOnly = reader.bool();
301
311
  break;
302
- case /* optional bool absent */ 5:
312
+ case /* optional bool absent */ 6:
303
313
  message.absent = reader.bool();
304
314
  break;
305
- case /* repeated uint64 label_ids */ 6:
315
+ case /* repeated int64 label_ids */ 7:
306
316
  if (wireType === WireType.LengthDelimited)
307
317
  for (let e = reader.int32() + reader.pos; reader.pos < e;)
308
- message.labelIds.push(reader.uint64().toNumber());
318
+ message.labelIds.push(reader.int64().toNumber());
309
319
  else
310
- message.labelIds.push(reader.uint64().toNumber());
320
+ message.labelIds.push(reader.int64().toNumber());
311
321
  break;
312
- case /* optional string name_prefix */ 7:
322
+ case /* optional string name_prefix */ 8:
313
323
  message.namePrefix = reader.string();
314
324
  break;
315
- case /* optional string name_suffix */ 8:
325
+ case /* optional string name_suffix */ 9:
316
326
  message.nameSuffix = reader.string();
317
327
  break;
318
328
  default:
@@ -336,25 +346,32 @@ class ListColleaguesRequest$Type extends MessageType<ListColleaguesRequest> {
336
346
  /* string search = 3; */
337
347
  if (message.search !== "")
338
348
  writer.tag(3, WireType.LengthDelimited).string(message.search);
339
- /* optional int32 user_id = 4; */
340
- if (message.userId !== undefined)
341
- writer.tag(4, WireType.Varint).int32(message.userId);
342
- /* optional bool absent = 5; */
349
+ /* repeated int32 user_ids = 4; */
350
+ if (message.userIds.length) {
351
+ writer.tag(4, WireType.LengthDelimited).fork();
352
+ for (let i = 0; i < message.userIds.length; i++)
353
+ writer.int32(message.userIds[i]);
354
+ writer.join();
355
+ }
356
+ /* optional bool user_only = 5; */
357
+ if (message.userOnly !== undefined)
358
+ writer.tag(5, WireType.Varint).bool(message.userOnly);
359
+ /* optional bool absent = 6; */
343
360
  if (message.absent !== undefined)
344
- writer.tag(5, WireType.Varint).bool(message.absent);
345
- /* repeated uint64 label_ids = 6; */
361
+ writer.tag(6, WireType.Varint).bool(message.absent);
362
+ /* repeated int64 label_ids = 7; */
346
363
  if (message.labelIds.length) {
347
- writer.tag(6, WireType.LengthDelimited).fork();
364
+ writer.tag(7, WireType.LengthDelimited).fork();
348
365
  for (let i = 0; i < message.labelIds.length; i++)
349
- writer.uint64(message.labelIds[i]);
366
+ writer.int64(message.labelIds[i]);
350
367
  writer.join();
351
368
  }
352
- /* optional string name_prefix = 7; */
369
+ /* optional string name_prefix = 8; */
353
370
  if (message.namePrefix !== undefined)
354
- writer.tag(7, WireType.LengthDelimited).string(message.namePrefix);
355
- /* optional string name_suffix = 8; */
371
+ writer.tag(8, WireType.LengthDelimited).string(message.namePrefix);
372
+ /* optional string name_suffix = 9; */
356
373
  if (message.nameSuffix !== undefined)
357
- writer.tag(8, WireType.LengthDelimited).string(message.nameSuffix);
374
+ writer.tag(9, WireType.LengthDelimited).string(message.nameSuffix);
358
375
  let u = options.writeUnknownFields;
359
376
  if (u !== false)
360
377
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -369,8 +386,8 @@ export const ListColleaguesRequest = new ListColleaguesRequest$Type();
369
386
  class ListColleaguesResponse$Type extends MessageType<ListColleaguesResponse> {
370
387
  constructor() {
371
388
  super("services.jobs.ListColleaguesResponse", [
372
- { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse },
373
- { no: 2, name: "colleagues", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Colleague }
389
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
390
+ { no: 2, name: "colleagues", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Colleague, options: { "codegen.itemslen.enabled": true } }
374
391
  ]);
375
392
  }
376
393
  create(value?: PartialMessage<ListColleaguesResponse>): ListColleaguesResponse {
@@ -388,7 +405,7 @@ class ListColleaguesResponse$Type extends MessageType<ListColleaguesResponse> {
388
405
  case /* resources.common.database.PaginationResponse pagination */ 1:
389
406
  message.pagination = PaginationResponse.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
390
407
  break;
391
- case /* repeated resources.jobs.Colleague colleagues */ 2:
408
+ case /* repeated resources.jobs.colleagues.Colleague colleagues */ 2:
392
409
  message.colleagues.push(Colleague.internalBinaryRead(reader, reader.uint32(), options));
393
410
  break;
394
411
  default:
@@ -406,7 +423,7 @@ class ListColleaguesResponse$Type extends MessageType<ListColleaguesResponse> {
406
423
  /* resources.common.database.PaginationResponse pagination = 1; */
407
424
  if (message.pagination)
408
425
  PaginationResponse.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
409
- /* repeated resources.jobs.Colleague colleagues = 2; */
426
+ /* repeated resources.jobs.colleagues.Colleague colleagues = 2; */
410
427
  for (let i = 0; i < message.colleagues.length; i++)
411
428
  Colleague.internalBinaryWrite(message.colleagues[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
412
429
  let u = options.writeUnknownFields;
@@ -475,7 +492,7 @@ class GetSelfResponse$Type extends MessageType<GetSelfResponse> {
475
492
  while (reader.pos < end) {
476
493
  let [fieldNo, wireType] = reader.tag();
477
494
  switch (fieldNo) {
478
- case /* resources.jobs.Colleague colleague */ 1:
495
+ case /* resources.jobs.colleagues.Colleague colleague */ 1:
479
496
  message.colleague = Colleague.internalBinaryRead(reader, reader.uint32(), options, message.colleague);
480
497
  break;
481
498
  default:
@@ -490,7 +507,7 @@ class GetSelfResponse$Type extends MessageType<GetSelfResponse> {
490
507
  return message;
491
508
  }
492
509
  internalBinaryWrite(message: GetSelfResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
493
- /* resources.jobs.Colleague colleague = 1; */
510
+ /* resources.jobs.colleagues.Colleague colleague = 1; */
494
511
  if (message.colleague)
495
512
  Colleague.internalBinaryWrite(message.colleague, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
496
513
  let u = options.writeUnknownFields;
@@ -507,7 +524,7 @@ export const GetSelfResponse = new GetSelfResponse$Type();
507
524
  class GetColleagueRequest$Type extends MessageType<GetColleagueRequest> {
508
525
  constructor() {
509
526
  super("services.jobs.GetColleagueRequest", [
510
- { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } },
527
+ { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
511
528
  { no: 2, name: "info_only", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
512
529
  ]);
513
530
  }
@@ -575,7 +592,7 @@ class GetColleagueResponse$Type extends MessageType<GetColleagueResponse> {
575
592
  while (reader.pos < end) {
576
593
  let [fieldNo, wireType] = reader.tag();
577
594
  switch (fieldNo) {
578
- case /* resources.jobs.Colleague colleague */ 1:
595
+ case /* resources.jobs.colleagues.Colleague colleague */ 1:
579
596
  message.colleague = Colleague.internalBinaryRead(reader, reader.uint32(), options, message.colleague);
580
597
  break;
581
598
  default:
@@ -590,7 +607,7 @@ class GetColleagueResponse$Type extends MessageType<GetColleagueResponse> {
590
607
  return message;
591
608
  }
592
609
  internalBinaryWrite(message: GetColleagueResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
593
- /* resources.jobs.Colleague colleague = 1; */
610
+ /* resources.jobs.colleagues.Colleague colleague = 1; */
594
611
  if (message.colleague)
595
612
  Colleague.internalBinaryWrite(message.colleague, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
596
613
  let u = options.writeUnknownFields;
@@ -607,10 +624,10 @@ export const GetColleagueResponse = new GetColleagueResponse$Type();
607
624
  class ListColleagueActivityRequest$Type extends MessageType<ListColleagueActivityRequest> {
608
625
  constructor() {
609
626
  super("services.jobs.ListColleagueActivityRequest", [
610
- { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "validate.rules": { message: { required: true } } } },
627
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
611
628
  { no: 2, name: "sort", kind: "message", T: () => Sort },
612
629
  { no: 3, name: "user_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/ },
613
- { no: 4, name: "activity_types", kind: "enum", repeat: 1 /*RepeatType.PACKED*/, T: () => ["resources.jobs.ColleagueActivityType", ColleagueActivityType, "COLLEAGUE_ACTIVITY_TYPE_"], options: { "validate.rules": { 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" } } } }
614
631
  ]);
615
632
  }
616
633
  create(value?: PartialMessage<ListColleagueActivityRequest>): ListColleagueActivityRequest {
@@ -639,7 +656,7 @@ class ListColleagueActivityRequest$Type extends MessageType<ListColleagueActivit
639
656
  else
640
657
  message.userIds.push(reader.int32());
641
658
  break;
642
- case /* repeated resources.jobs.ColleagueActivityType activity_types */ 4:
659
+ case /* repeated resources.jobs.colleagues.activity.ColleagueActivityType activity_types */ 4:
643
660
  if (wireType === WireType.LengthDelimited)
644
661
  for (let e = reader.int32() + reader.pos; reader.pos < e;)
645
662
  message.activityTypes.push(reader.int32());
@@ -671,7 +688,7 @@ class ListColleagueActivityRequest$Type extends MessageType<ListColleagueActivit
671
688
  writer.int32(message.userIds[i]);
672
689
  writer.join();
673
690
  }
674
- /* repeated resources.jobs.ColleagueActivityType activity_types = 4; */
691
+ /* repeated resources.jobs.colleagues.activity.ColleagueActivityType activity_types = 4; */
675
692
  if (message.activityTypes.length) {
676
693
  writer.tag(4, WireType.LengthDelimited).fork();
677
694
  for (let i = 0; i < message.activityTypes.length; i++)
@@ -692,8 +709,8 @@ export const ListColleagueActivityRequest = new ListColleagueActivityRequest$Typ
692
709
  class ListColleagueActivityResponse$Type extends MessageType<ListColleagueActivityResponse> {
693
710
  constructor() {
694
711
  super("services.jobs.ListColleagueActivityResponse", [
695
- { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse },
696
- { no: 2, name: "activity", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ColleagueActivity }
712
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
713
+ { no: 2, name: "activity", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ColleagueActivity, options: { "codegen.itemslen.enabled": true } }
697
714
  ]);
698
715
  }
699
716
  create(value?: PartialMessage<ListColleagueActivityResponse>): ListColleagueActivityResponse {
@@ -711,7 +728,7 @@ class ListColleagueActivityResponse$Type extends MessageType<ListColleagueActivi
711
728
  case /* resources.common.database.PaginationResponse pagination */ 1:
712
729
  message.pagination = PaginationResponse.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
713
730
  break;
714
- case /* repeated resources.jobs.ColleagueActivity activity */ 2:
731
+ case /* repeated resources.jobs.colleagues.activity.ColleagueActivity activity */ 2:
715
732
  message.activity.push(ColleagueActivity.internalBinaryRead(reader, reader.uint32(), options));
716
733
  break;
717
734
  default:
@@ -729,7 +746,7 @@ class ListColleagueActivityResponse$Type extends MessageType<ListColleagueActivi
729
746
  /* resources.common.database.PaginationResponse pagination = 1; */
730
747
  if (message.pagination)
731
748
  PaginationResponse.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
732
- /* repeated resources.jobs.ColleagueActivity activity = 2; */
749
+ /* repeated resources.jobs.colleagues.activity.ColleagueActivity activity = 2; */
733
750
  for (let i = 0; i < message.activity.length; i++)
734
751
  ColleagueActivity.internalBinaryWrite(message.activity[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
735
752
  let u = options.writeUnknownFields;
@@ -747,7 +764,7 @@ class SetColleaguePropsRequest$Type extends MessageType<SetColleaguePropsRequest
747
764
  constructor() {
748
765
  super("services.jobs.SetColleaguePropsRequest", [
749
766
  { no: 1, name: "props", kind: "message", T: () => ColleagueProps },
750
- { no: 2, name: "reason", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxLen: "255", ignoreEmpty: true } } } }
767
+ { no: 2, name: "reason", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { ignore: "IGNORE_IF_ZERO_VALUE", string: { minLen: "3", maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } }
751
768
  ]);
752
769
  }
753
770
  create(value?: PartialMessage<SetColleaguePropsRequest>): SetColleaguePropsRequest {
@@ -762,7 +779,7 @@ class SetColleaguePropsRequest$Type extends MessageType<SetColleaguePropsRequest
762
779
  while (reader.pos < end) {
763
780
  let [fieldNo, wireType] = reader.tag();
764
781
  switch (fieldNo) {
765
- case /* resources.jobs.ColleagueProps props */ 1:
782
+ case /* resources.jobs.colleagues.ColleagueProps props */ 1:
766
783
  message.props = ColleagueProps.internalBinaryRead(reader, reader.uint32(), options, message.props);
767
784
  break;
768
785
  case /* string reason */ 2:
@@ -780,7 +797,7 @@ class SetColleaguePropsRequest$Type extends MessageType<SetColleaguePropsRequest
780
797
  return message;
781
798
  }
782
799
  internalBinaryWrite(message: SetColleaguePropsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
783
- /* resources.jobs.ColleagueProps props = 1; */
800
+ /* resources.jobs.colleagues.ColleagueProps props = 1; */
784
801
  if (message.props)
785
802
  ColleagueProps.internalBinaryWrite(message.props, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
786
803
  /* string reason = 2; */
@@ -814,7 +831,7 @@ class SetColleaguePropsResponse$Type extends MessageType<SetColleaguePropsRespon
814
831
  while (reader.pos < end) {
815
832
  let [fieldNo, wireType] = reader.tag();
816
833
  switch (fieldNo) {
817
- case /* resources.jobs.ColleagueProps props */ 1:
834
+ case /* resources.jobs.colleagues.ColleagueProps props */ 1:
818
835
  message.props = ColleagueProps.internalBinaryRead(reader, reader.uint32(), options, message.props);
819
836
  break;
820
837
  default:
@@ -829,7 +846,7 @@ class SetColleaguePropsResponse$Type extends MessageType<SetColleaguePropsRespon
829
846
  return message;
830
847
  }
831
848
  internalBinaryWrite(message: SetColleaguePropsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
832
- /* resources.jobs.ColleagueProps props = 1; */
849
+ /* resources.jobs.colleagues.ColleagueProps props = 1; */
833
850
  if (message.props)
834
851
  ColleagueProps.internalBinaryWrite(message.props, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
835
852
  let u = options.writeUnknownFields;
@@ -846,7 +863,7 @@ export const SetColleaguePropsResponse = new SetColleaguePropsResponse$Type();
846
863
  class GetColleagueLabelsRequest$Type extends MessageType<GetColleagueLabelsRequest> {
847
864
  constructor() {
848
865
  super("services.jobs.GetColleagueLabelsRequest", [
849
- { no: 1, name: "search", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "32" } } } }
866
+ { no: 1, name: "search", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "32" } } } }
850
867
  ]);
851
868
  }
852
869
  create(value?: PartialMessage<GetColleagueLabelsRequest>): GetColleagueLabelsRequest {
@@ -907,7 +924,7 @@ class GetColleagueLabelsResponse$Type extends MessageType<GetColleagueLabelsResp
907
924
  while (reader.pos < end) {
908
925
  let [fieldNo, wireType] = reader.tag();
909
926
  switch (fieldNo) {
910
- case /* repeated resources.jobs.Label labels */ 1:
927
+ case /* repeated resources.jobs.labels.Label labels */ 1:
911
928
  message.labels.push(Label.internalBinaryRead(reader, reader.uint32(), options));
912
929
  break;
913
930
  default:
@@ -922,7 +939,7 @@ class GetColleagueLabelsResponse$Type extends MessageType<GetColleagueLabelsResp
922
939
  return message;
923
940
  }
924
941
  internalBinaryWrite(message: GetColleagueLabelsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
925
- /* repeated resources.jobs.Label labels = 1; */
942
+ /* repeated resources.jobs.labels.Label labels = 1; */
926
943
  for (let i = 0; i < message.labels.length; i++)
927
944
  Label.internalBinaryWrite(message.labels[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
928
945
  let u = options.writeUnknownFields;
@@ -939,7 +956,7 @@ export const GetColleagueLabelsResponse = new GetColleagueLabelsResponse$Type();
939
956
  class ManageLabelsRequest$Type extends MessageType<ManageLabelsRequest> {
940
957
  constructor() {
941
958
  super("services.jobs.ManageLabelsRequest", [
942
- { 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" } } } }
943
960
  ]);
944
961
  }
945
962
  create(value?: PartialMessage<ManageLabelsRequest>): ManageLabelsRequest {
@@ -954,7 +971,7 @@ class ManageLabelsRequest$Type extends MessageType<ManageLabelsRequest> {
954
971
  while (reader.pos < end) {
955
972
  let [fieldNo, wireType] = reader.tag();
956
973
  switch (fieldNo) {
957
- case /* repeated resources.jobs.Label labels */ 1:
974
+ case /* repeated resources.jobs.labels.Label labels */ 1:
958
975
  message.labels.push(Label.internalBinaryRead(reader, reader.uint32(), options));
959
976
  break;
960
977
  default:
@@ -969,7 +986,7 @@ class ManageLabelsRequest$Type extends MessageType<ManageLabelsRequest> {
969
986
  return message;
970
987
  }
971
988
  internalBinaryWrite(message: ManageLabelsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
972
- /* repeated resources.jobs.Label labels = 1; */
989
+ /* repeated resources.jobs.labels.Label labels = 1; */
973
990
  for (let i = 0; i < message.labels.length; i++)
974
991
  Label.internalBinaryWrite(message.labels[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
975
992
  let u = options.writeUnknownFields;
@@ -1001,7 +1018,7 @@ class ManageLabelsResponse$Type extends MessageType<ManageLabelsResponse> {
1001
1018
  while (reader.pos < end) {
1002
1019
  let [fieldNo, wireType] = reader.tag();
1003
1020
  switch (fieldNo) {
1004
- case /* repeated resources.jobs.Label labels */ 1:
1021
+ case /* repeated resources.jobs.labels.Label labels */ 1:
1005
1022
  message.labels.push(Label.internalBinaryRead(reader, reader.uint32(), options));
1006
1023
  break;
1007
1024
  default:
@@ -1016,7 +1033,7 @@ class ManageLabelsResponse$Type extends MessageType<ManageLabelsResponse> {
1016
1033
  return message;
1017
1034
  }
1018
1035
  internalBinaryWrite(message: ManageLabelsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1019
- /* repeated resources.jobs.Label labels = 1; */
1036
+ /* repeated resources.jobs.labels.Label labels = 1; */
1020
1037
  for (let i = 0; i < message.labels.length; i++)
1021
1038
  Label.internalBinaryWrite(message.labels[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1022
1039
  let u = options.writeUnknownFields;
@@ -1033,7 +1050,7 @@ export const ManageLabelsResponse = new ManageLabelsResponse$Type();
1033
1050
  class GetColleagueLabelsStatsRequest$Type extends MessageType<GetColleagueLabelsStatsRequest> {
1034
1051
  constructor() {
1035
1052
  super("services.jobs.GetColleagueLabelsStatsRequest", [
1036
- { no: 1, name: "label_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ }
1053
+ { no: 1, name: "label_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
1037
1054
  ]);
1038
1055
  }
1039
1056
  create(value?: PartialMessage<GetColleagueLabelsStatsRequest>): GetColleagueLabelsStatsRequest {
@@ -1048,12 +1065,12 @@ class GetColleagueLabelsStatsRequest$Type extends MessageType<GetColleagueLabels
1048
1065
  while (reader.pos < end) {
1049
1066
  let [fieldNo, wireType] = reader.tag();
1050
1067
  switch (fieldNo) {
1051
- case /* repeated uint64 label_ids */ 1:
1068
+ case /* repeated int64 label_ids */ 1:
1052
1069
  if (wireType === WireType.LengthDelimited)
1053
1070
  for (let e = reader.int32() + reader.pos; reader.pos < e;)
1054
- message.labelIds.push(reader.uint64().toNumber());
1071
+ message.labelIds.push(reader.int64().toNumber());
1055
1072
  else
1056
- message.labelIds.push(reader.uint64().toNumber());
1073
+ message.labelIds.push(reader.int64().toNumber());
1057
1074
  break;
1058
1075
  default:
1059
1076
  let u = options.readUnknownField;
@@ -1067,11 +1084,11 @@ class GetColleagueLabelsStatsRequest$Type extends MessageType<GetColleagueLabels
1067
1084
  return message;
1068
1085
  }
1069
1086
  internalBinaryWrite(message: GetColleagueLabelsStatsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1070
- /* repeated uint64 label_ids = 1; */
1087
+ /* repeated int64 label_ids = 1; */
1071
1088
  if (message.labelIds.length) {
1072
1089
  writer.tag(1, WireType.LengthDelimited).fork();
1073
1090
  for (let i = 0; i < message.labelIds.length; i++)
1074
- writer.uint64(message.labelIds[i]);
1091
+ writer.int64(message.labelIds[i]);
1075
1092
  writer.join();
1076
1093
  }
1077
1094
  let u = options.writeUnknownFields;
@@ -1103,7 +1120,7 @@ class GetColleagueLabelsStatsResponse$Type extends MessageType<GetColleagueLabel
1103
1120
  while (reader.pos < end) {
1104
1121
  let [fieldNo, wireType] = reader.tag();
1105
1122
  switch (fieldNo) {
1106
- case /* repeated resources.jobs.LabelCount count */ 1:
1123
+ case /* repeated resources.jobs.labels.LabelCount count */ 1:
1107
1124
  message.count.push(LabelCount.internalBinaryRead(reader, reader.uint32(), options));
1108
1125
  break;
1109
1126
  default:
@@ -1118,7 +1135,7 @@ class GetColleagueLabelsStatsResponse$Type extends MessageType<GetColleagueLabel
1118
1135
  return message;
1119
1136
  }
1120
1137
  internalBinaryWrite(message: GetColleagueLabelsStatsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1121
- /* repeated resources.jobs.LabelCount count = 1; */
1138
+ /* repeated resources.jobs.labels.LabelCount count = 1; */
1122
1139
  for (let i = 0; i < message.count.length; i++)
1123
1140
  LabelCount.internalBinaryWrite(message.count[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1124
1141
  let u = options.writeUnknownFields;
@@ -1220,7 +1237,7 @@ export const GetMOTDResponse = new GetMOTDResponse$Type();
1220
1237
  class SetMOTDRequest$Type extends MessageType<SetMOTDRequest> {
1221
1238
  constructor() {
1222
1239
  super("services.jobs.SetMOTDRequest", [
1223
- { no: 1, name: "motd", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "1024" } } } }
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 } } }
1224
1241
  ]);
1225
1242
  }
1226
1243
  create(value?: PartialMessage<SetMOTDRequest>): SetMOTDRequest {
@@ -1314,14 +1331,14 @@ export const SetMOTDResponse = new SetMOTDResponse$Type();
1314
1331
  * @generated ServiceType for protobuf service services.jobs.JobsService
1315
1332
  */
1316
1333
  export const JobsService = new ServiceType("services.jobs.JobsService", [
1317
- { name: "ListColleagues", options: {}, I: ListColleaguesRequest, O: ListColleaguesResponse },
1318
- { name: "GetSelf", options: {}, I: GetSelfRequest, O: GetSelfResponse },
1319
- { name: "GetColleague", options: {}, I: GetColleagueRequest, O: GetColleagueResponse },
1320
- { name: "ListColleagueActivity", options: {}, I: ListColleagueActivityRequest, O: ListColleagueActivityResponse },
1321
- { name: "SetColleagueProps", options: {}, I: SetColleaguePropsRequest, O: SetColleaguePropsResponse },
1322
- { name: "GetColleagueLabels", options: {}, I: GetColleagueLabelsRequest, O: GetColleagueLabelsResponse },
1323
- { name: "ManageLabels", options: {}, I: ManageLabelsRequest, O: ManageLabelsResponse },
1324
- { name: "GetColleagueLabelsStats", options: {}, I: GetColleagueLabelsStatsRequest, O: GetColleagueLabelsStatsResponse },
1325
- { name: "GetMOTD", options: {}, I: GetMOTDRequest, O: GetMOTDResponse },
1326
- { name: "SetMOTD", options: {}, I: SetMOTDRequest, O: SetMOTDResponse }
1327
- ]);
1334
+ { name: "ListColleagues", options: { "codegen.perms.perms": { enabled: true } }, I: ListColleaguesRequest, O: ListColleaguesResponse },
1335
+ { name: "GetSelf", options: { "codegen.perms.perms": { enabled: true, name: "ListColleagues" } }, I: GetSelfRequest, O: GetSelfResponse },
1336
+ { name: "GetColleague", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Access", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["Own", "Lower_Rank", "Same_Rank", "Any"] }, { key: "Types", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["Note", "Labels"] }] } }, I: GetColleagueRequest, O: GetColleagueResponse },
1337
+ { name: "ListColleagueActivity", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Types", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["HIRED", "FIRED", "PROMOTED", "DEMOTED", "ABSENCE_DATE", "NOTE", "LABELS", "NAME"] }] } }, I: ListColleagueActivityRequest, O: ListColleagueActivityResponse },
1338
+ { name: "SetColleagueProps", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Access", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["Own", "Lower_Rank", "Same_Rank", "Any"] }, { key: "Types", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["AbsenceDate", "Note", "Labels", "Name"] }] } }, I: SetColleaguePropsRequest, O: SetColleaguePropsResponse },
1339
+ { name: "GetColleagueLabels", options: { "codegen.perms.perms": { enabled: true, name: "GetColleague" } }, I: GetColleagueLabelsRequest, O: GetColleagueLabelsResponse },
1340
+ { name: "ManageLabels", options: { "codegen.perms.perms": { enabled: true } }, I: ManageLabelsRequest, O: ManageLabelsResponse },
1341
+ { name: "GetColleagueLabelsStats", options: { "codegen.perms.perms": { enabled: true, name: "GetColleague" } }, I: GetColleagueLabelsStatsRequest, O: GetColleagueLabelsStatsResponse },
1342
+ { name: "GetMOTD", options: { "codegen.perms.perms": { enabled: true, name: "Any" } }, I: GetMOTDRequest, O: GetMOTDResponse },
1343
+ { name: "SetMOTD", options: { "codegen.perms.perms": { enabled: true } }, I: SetMOTDRequest, O: SetMOTDResponse }
1344
+ ], { "codegen.perms.perms_svc": { order: 60, icon: "i-mdi-briefcase-outline" } });