@fivenet-app/gen 2025.5.2 → 2025.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/buf/validate/validate.ts +11301 -0
  2. package/clients.ts +157 -154
  3. package/codegen/dbscanner/dbscanner.ts +91 -0
  4. package/codegen/perms/perms.ts +208 -0
  5. package/codegen/sanitizer/sanitizer.ts +80 -0
  6. package/google/protobuf/any.ts +4 -3
  7. package/google/protobuf/descriptor.ts +393 -239
  8. package/google/protobuf/duration.ts +4 -3
  9. package/google/protobuf/struct.ts +485 -0
  10. package/google/protobuf/timestamp.ts +4 -3
  11. package/package.json +3 -3
  12. package/perms.ts +85 -159
  13. package/resources/accounts/accounts.ts +26 -25
  14. package/resources/accounts/oauth2.ts +30 -29
  15. package/resources/audit/audit.ts +36 -35
  16. package/resources/calendar/access.ts +49 -48
  17. package/resources/calendar/calendar.ts +122 -126
  18. package/resources/centrum/access.ts +345 -0
  19. package/resources/centrum/attributes.ts +8 -11
  20. package/resources/centrum/dispatchers.ts +149 -0
  21. package/resources/centrum/dispatches.ts +252 -115
  22. package/resources/centrum/settings.ts +384 -34
  23. package/resources/centrum/units.ts +112 -92
  24. package/resources/centrum/units_access.ts +54 -55
  25. package/resources/clientconfig/clientconfig.ts +890 -0
  26. package/resources/collab/collab.ts +817 -0
  27. package/resources/common/content/content.ts +113 -30
  28. package/resources/common/cron/cron.ts +43 -31
  29. package/resources/common/database/database.ts +92 -35
  30. package/resources/common/error.ts +17 -16
  31. package/resources/common/grpcws/grpcws.ts +24 -23
  32. package/resources/common/i18n.ts +20 -24
  33. package/resources/common/id_mapping.ts +69 -0
  34. package/resources/common/tests/objects.ts +4 -3
  35. package/resources/common/uuid.ts +4 -3
  36. package/resources/discord/discord.ts +209 -0
  37. package/resources/documents/access.ts +52 -53
  38. package/resources/documents/activity.ts +235 -58
  39. package/resources/documents/category.ts +20 -27
  40. package/resources/documents/comment.ts +26 -25
  41. package/resources/documents/documents.ts +335 -262
  42. package/resources/documents/pins.ts +127 -0
  43. package/resources/documents/requests.ts +31 -30
  44. package/resources/documents/signoff.ts +55 -0
  45. package/resources/documents/state.ts +69 -0
  46. package/resources/documents/templates.ts +119 -136
  47. package/resources/documents/workflow.ts +35 -24
  48. package/resources/file/file.ts +152 -0
  49. package/{services/settings → resources/file}/filestore.ts +179 -165
  50. package/resources/file/meta.ts +148 -0
  51. package/resources/jobs/activity.ts +39 -42
  52. package/resources/jobs/colleagues.ts +67 -60
  53. package/resources/jobs/conduct.ts +29 -30
  54. package/resources/jobs/job_props.ts +46 -48
  55. package/resources/jobs/job_settings.ts +45 -52
  56. package/resources/jobs/jobs.ts +14 -13
  57. package/resources/jobs/labels.ts +21 -22
  58. package/resources/jobs/timeclock.ts +26 -25
  59. package/resources/laws/laws.ts +40 -49
  60. package/resources/livemap/coords.ts +81 -0
  61. package/resources/livemap/heatmap.ts +93 -0
  62. package/resources/livemap/{livemap.ts → marker_marker.ts} +43 -310
  63. package/resources/livemap/user_marker.ts +298 -0
  64. package/resources/mailer/access.ts +75 -74
  65. package/resources/mailer/email.ts +24 -27
  66. package/resources/mailer/events.ts +25 -24
  67. package/resources/mailer/message.ts +45 -50
  68. package/resources/mailer/settings.ts +12 -15
  69. package/resources/mailer/template.ts +25 -28
  70. package/resources/mailer/thread.ts +70 -71
  71. package/resources/notifications/client_view.ts +239 -0
  72. package/resources/notifications/events.ts +50 -101
  73. package/resources/notifications/notifications.ts +52 -57
  74. package/resources/permissions/attributes.ts +63 -206
  75. package/resources/permissions/events.ts +149 -0
  76. package/resources/permissions/permissions.ts +103 -34
  77. package/resources/qualifications/access.ts +27 -26
  78. package/resources/qualifications/exam.ts +188 -126
  79. package/resources/qualifications/qualifications.ts +370 -303
  80. package/resources/settings/banner.ts +14 -21
  81. package/resources/settings/config.ts +163 -79
  82. package/resources/settings/perms.ts +151 -0
  83. package/resources/settings/status.ts +533 -0
  84. package/resources/stats/stats.ts +3 -2
  85. package/resources/sync/activity.ts +24 -23
  86. package/resources/sync/data.ts +94 -26
  87. package/resources/timestamp/timestamp.ts +3 -2
  88. package/resources/{centrum/user_unit.ts → tracker/mapping.ts} +44 -44
  89. package/resources/userinfo/user_info.ts +464 -0
  90. package/resources/users/activity.ts +80 -85
  91. package/resources/users/labels.ts +18 -21
  92. package/resources/users/licenses.ts +9 -8
  93. package/resources/users/props.ts +61 -51
  94. package/resources/users/users.ts +100 -78
  95. package/resources/vehicles/activity.ts +231 -0
  96. package/resources/vehicles/props.ts +103 -0
  97. package/resources/vehicles/vehicles.ts +28 -15
  98. package/resources/wiki/access.ts +49 -48
  99. package/resources/wiki/activity.ts +133 -51
  100. package/resources/wiki/page.ts +134 -87
  101. package/services/auth/auth.client.ts +24 -27
  102. package/services/auth/auth.ts +222 -195
  103. package/services/calendar/calendar.client.ts +32 -91
  104. package/services/calendar/calendar.ts +110 -109
  105. package/services/centrum/centrum.client.ts +97 -137
  106. package/services/centrum/centrum.ts +701 -298
  107. package/services/citizens/citizens.client.ts +70 -39
  108. package/services/citizens/citizens.ts +183 -93
  109. package/services/completor/completor.client.ts +16 -35
  110. package/services/completor/completor.ts +65 -44
  111. package/services/documents/collab.client.ts +46 -0
  112. package/services/documents/collab.ts +13 -0
  113. package/services/documents/documents.client.ts +88 -217
  114. package/services/documents/documents.ts +490 -508
  115. package/services/filestore/filestore.client.ts +86 -0
  116. package/services/filestore/filestore.ts +262 -0
  117. package/services/jobs/conduct.client.ts +10 -25
  118. package/services/jobs/conduct.ts +36 -35
  119. package/services/jobs/jobs.client.ts +22 -61
  120. package/services/jobs/jobs.ts +108 -91
  121. package/services/jobs/timeclock.client.ts +8 -19
  122. package/services/jobs/timeclock.ts +47 -46
  123. package/services/livemap/livemap.client.ts +8 -19
  124. package/services/livemap/livemap.ts +290 -119
  125. package/services/mailer/mailer.client.ts +44 -127
  126. package/services/mailer/mailer.ts +213 -216
  127. package/services/notifications/notifications.client.ts +65 -0
  128. package/services/{notificator/notificator.ts → notifications/notifications.ts} +117 -74
  129. package/services/qualifications/qualifications.client.ts +46 -91
  130. package/services/qualifications/qualifications.ts +181 -175
  131. package/services/settings/accounts.client.ts +10 -25
  132. package/services/settings/accounts.ts +64 -41
  133. package/services/settings/config.client.ts +6 -13
  134. package/services/settings/config.ts +8 -7
  135. package/services/settings/cron.client.ts +4 -7
  136. package/services/settings/cron.ts +4 -3
  137. package/services/settings/laws.client.ts +10 -25
  138. package/services/settings/laws.ts +29 -28
  139. package/services/settings/settings.client.ts +57 -103
  140. package/services/settings/settings.ts +190 -607
  141. package/services/settings/system.client.ts +90 -0
  142. package/services/settings/system.ts +618 -0
  143. package/services/stats/stats.client.ts +4 -3
  144. package/services/stats/stats.ts +4 -3
  145. package/services/sync/sync.client.ts +16 -15
  146. package/services/sync/sync.ts +82 -52
  147. package/services/vehicles/vehicles.client.ts +17 -7
  148. package/services/vehicles/vehicles.ts +169 -24
  149. package/services/wiki/collab.client.ts +46 -0
  150. package/services/wiki/collab.ts +13 -0
  151. package/services/wiki/wiki.client.ts +28 -37
  152. package/services/wiki/wiki.ts +93 -63
  153. package/svcs.ts +79 -103
  154. package/resources/centrum/disponents.ts +0 -81
  155. package/resources/filestore/file.ts +0 -204
  156. package/resources/internet/access.ts +0 -358
  157. package/resources/internet/ads.ts +0 -257
  158. package/resources/internet/domain.ts +0 -328
  159. package/resources/internet/page.ts +0 -428
  160. package/resources/internet/search.ts +0 -128
  161. package/resources/livemap/tracker.ts +0 -81
  162. package/services/internet/ads.client.ts +0 -41
  163. package/services/internet/ads.ts +0 -145
  164. package/services/internet/domain.client.ts +0 -109
  165. package/services/internet/domain.ts +0 -658
  166. package/services/internet/internet.client.ts +0 -58
  167. package/services/internet/internet.ts +0 -268
  168. package/services/notificator/notificator.client.ts +0 -76
  169. package/services/settings/filestore.client.ts +0 -75
@@ -1,5 +1,6 @@
1
- // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
2
  // @generated from protobuf file "services/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";
@@ -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.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.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.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.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.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.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.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.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.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.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.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 {
@@ -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
  }
@@ -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.ColleagueActivityType", ColleagueActivityType, "COLLEAGUE_ACTIVITY_TYPE_"], options: { "buf.validate.field": { repeated: { maxItems: "10" } } } }
614
631
  ]);
615
632
  }
616
633
  create(value?: PartialMessage<ListColleagueActivityRequest>): ListColleagueActivityRequest {
@@ -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 {
@@ -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 {
@@ -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 {
@@ -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;
@@ -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, method: "StripTags" } } }
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 }
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 }
1327
1344
  ]);
@@ -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/timeclock.proto" (package "services.jobs", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
5
6
  import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
@@ -18,21 +19,15 @@ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
18
19
  */
19
20
  export interface ITimeclockServiceClient {
20
21
  /**
21
- * @perm: Attrs=Access/StringList:[]string{"All"}
22
- *
23
- * @generated from protobuf rpc: ListTimeclock(services.jobs.ListTimeclockRequest) returns (services.jobs.ListTimeclockResponse);
22
+ * @generated from protobuf rpc: ListTimeclock
24
23
  */
25
24
  listTimeclock(input: ListTimeclockRequest, options?: RpcOptions): UnaryCall<ListTimeclockRequest, ListTimeclockResponse>;
26
25
  /**
27
- * @perm: Name=ListTimeclock
28
- *
29
- * @generated from protobuf rpc: GetTimeclockStats(services.jobs.GetTimeclockStatsRequest) returns (services.jobs.GetTimeclockStatsResponse);
26
+ * @generated from protobuf rpc: GetTimeclockStats
30
27
  */
31
28
  getTimeclockStats(input: GetTimeclockStatsRequest, options?: RpcOptions): UnaryCall<GetTimeclockStatsRequest, GetTimeclockStatsResponse>;
32
29
  /**
33
- * @perm
34
- *
35
- * @generated from protobuf rpc: ListInactiveEmployees(services.jobs.ListInactiveEmployeesRequest) returns (services.jobs.ListInactiveEmployeesResponse);
30
+ * @generated from protobuf rpc: ListInactiveEmployees
36
31
  */
37
32
  listInactiveEmployees(input: ListInactiveEmployeesRequest, options?: RpcOptions): UnaryCall<ListInactiveEmployeesRequest, ListInactiveEmployeesResponse>;
38
33
  }
@@ -46,27 +41,21 @@ export class TimeclockServiceClient implements ITimeclockServiceClient, ServiceI
46
41
  constructor(private readonly _transport: RpcTransport) {
47
42
  }
48
43
  /**
49
- * @perm: Attrs=Access/StringList:[]string{"All"}
50
- *
51
- * @generated from protobuf rpc: ListTimeclock(services.jobs.ListTimeclockRequest) returns (services.jobs.ListTimeclockResponse);
44
+ * @generated from protobuf rpc: ListTimeclock
52
45
  */
53
46
  listTimeclock(input: ListTimeclockRequest, options?: RpcOptions): UnaryCall<ListTimeclockRequest, ListTimeclockResponse> {
54
47
  const method = this.methods[0], opt = this._transport.mergeOptions(options);
55
48
  return stackIntercept<ListTimeclockRequest, ListTimeclockResponse>("unary", this._transport, method, opt, input);
56
49
  }
57
50
  /**
58
- * @perm: Name=ListTimeclock
59
- *
60
- * @generated from protobuf rpc: GetTimeclockStats(services.jobs.GetTimeclockStatsRequest) returns (services.jobs.GetTimeclockStatsResponse);
51
+ * @generated from protobuf rpc: GetTimeclockStats
61
52
  */
62
53
  getTimeclockStats(input: GetTimeclockStatsRequest, options?: RpcOptions): UnaryCall<GetTimeclockStatsRequest, GetTimeclockStatsResponse> {
63
54
  const method = this.methods[1], opt = this._transport.mergeOptions(options);
64
55
  return stackIntercept<GetTimeclockStatsRequest, GetTimeclockStatsResponse>("unary", this._transport, method, opt, input);
65
56
  }
66
57
  /**
67
- * @perm
68
- *
69
- * @generated from protobuf rpc: ListInactiveEmployees(services.jobs.ListInactiveEmployeesRequest) returns (services.jobs.ListInactiveEmployeesResponse);
58
+ * @generated from protobuf rpc: ListInactiveEmployees
70
59
  */
71
60
  listInactiveEmployees(input: ListInactiveEmployeesRequest, options?: RpcOptions): UnaryCall<ListInactiveEmployeesRequest, ListInactiveEmployeesResponse> {
72
61
  const method = this.methods[2], opt = this._transport.mergeOptions(options);