@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
2
- // @generated from protobuf file "resources/centrum/units.proto" (package "resources.centrum", syntax proto3)
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
+ // @generated from protobuf file "resources/centrum/units/units.proto" (package "resources.centrum.units", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
5
6
  import type { IBinaryWriter } from "@protobuf-ts/runtime";
@@ -10,178 +11,184 @@ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
10
11
  import type { PartialMessage } from "@protobuf-ts/runtime";
11
12
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
12
13
  import { MessageType } from "@protobuf-ts/runtime";
13
- import { Colleague } from "../jobs/colleagues";
14
- import { UnitAccess } from "./units_access";
15
- import { UnitAttributes } from "./attributes";
16
- import { Timestamp } from "../timestamp/timestamp";
14
+ import { Colleague } from "../../jobs/colleagues/colleagues";
15
+ import { UnitAccess } from "./access/access";
16
+ import { Timestamp } from "../../timestamp/timestamp";
17
17
  /**
18
- * @generated from protobuf message resources.centrum.Unit
18
+ * @generated from protobuf message resources.centrum.units.Unit
19
19
  */
20
20
  export interface Unit {
21
21
  /**
22
- * @generated from protobuf field: uint64 id = 1;
22
+ * @generated from protobuf field: int64 id = 1
23
23
  */
24
- id: number; // @gotags: sql:"primary_key" alias:"id"
24
+ id: number;
25
25
  /**
26
- * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2;
26
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2
27
27
  */
28
28
  createdAt?: Timestamp;
29
29
  /**
30
- * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 3;
30
+ * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 3
31
31
  */
32
32
  updatedAt?: Timestamp;
33
33
  /**
34
- * @generated from protobuf field: string job = 4;
34
+ * @generated from protobuf field: string job = 4
35
35
  */
36
36
  job: string;
37
37
  /**
38
- * @sanitize
39
- *
40
- * @generated from protobuf field: string name = 5;
38
+ * @generated from protobuf field: optional string job_label = 15
39
+ */
40
+ jobLabel?: string;
41
+ /**
42
+ * @generated from protobuf field: string name = 5
41
43
  */
42
44
  name: string;
43
45
  /**
44
- * @sanitize
45
- *
46
- * @generated from protobuf field: string initials = 6;
46
+ * @generated from protobuf field: string initials = 6
47
47
  */
48
48
  initials: string;
49
49
  /**
50
- * @sanitize: method=StripTags
51
- *
52
- * @generated from protobuf field: string color = 7;
50
+ * @generated from protobuf field: string color = 7
53
51
  */
54
52
  color: string;
55
53
  /**
56
- * @sanitize
57
- *
58
- * @generated from protobuf field: optional string description = 8;
54
+ * @generated from protobuf field: optional string icon = 16
55
+ */
56
+ icon?: string;
57
+ /**
58
+ * @generated from protobuf field: optional string description = 8
59
59
  */
60
60
  description?: string;
61
61
  /**
62
- * @generated from protobuf field: optional resources.centrum.UnitStatus status = 9;
62
+ * @generated from protobuf field: optional resources.centrum.units.UnitStatus status = 9
63
63
  */
64
64
  status?: UnitStatus;
65
65
  /**
66
- * @generated from protobuf field: repeated resources.centrum.UnitAssignment users = 11;
66
+ * @generated from protobuf field: repeated resources.centrum.units.UnitAssignment users = 11
67
67
  */
68
68
  users: UnitAssignment[];
69
69
  /**
70
- * @generated from protobuf field: optional resources.centrum.UnitAttributes attributes = 12;
70
+ * @generated from protobuf field: optional resources.centrum.units.UnitAttributes attributes = 12
71
71
  */
72
72
  attributes?: UnitAttributes;
73
73
  /**
74
- * @generated from protobuf field: optional string home_postal = 13;
74
+ * @generated from protobuf field: optional string home_postal = 13
75
75
  */
76
76
  homePostal?: string;
77
77
  /**
78
- * @generated from protobuf field: resources.centrum.UnitAccess access = 14;
78
+ * @generated from protobuf field: resources.centrum.units.access.UnitAccess access = 14
79
79
  */
80
80
  access?: UnitAccess;
81
81
  }
82
82
  /**
83
- * @generated from protobuf message resources.centrum.UnitAssignments
83
+ * @generated from protobuf message resources.centrum.units.UnitAssignments
84
84
  */
85
85
  export interface UnitAssignments {
86
86
  /**
87
- * @generated from protobuf field: uint64 unit_id = 1;
87
+ * @generated from protobuf field: int64 unit_id = 1
88
88
  */
89
89
  unitId: number;
90
90
  /**
91
- * @generated from protobuf field: string job = 2;
91
+ * @generated from protobuf field: string job = 2
92
92
  */
93
93
  job: string;
94
94
  /**
95
- * @generated from protobuf field: repeated resources.centrum.UnitAssignment users = 3;
95
+ * @generated from protobuf field: repeated resources.centrum.units.UnitAssignment users = 3
96
96
  */
97
97
  users: UnitAssignment[];
98
98
  }
99
99
  /**
100
- * @generated from protobuf message resources.centrum.UnitAssignment
100
+ * @generated from protobuf message resources.centrum.units.UnitAssignment
101
101
  */
102
102
  export interface UnitAssignment {
103
103
  /**
104
- * @generated from protobuf field: uint64 unit_id = 1;
104
+ * @generated from protobuf field: int64 unit_id = 1
105
105
  */
106
- unitId: number; // @gotags: sql:"primary_key" alias:"unit_id"
106
+ unitId: number;
107
107
  /**
108
- * @generated from protobuf field: int32 user_id = 2;
108
+ * @generated from protobuf field: int32 user_id = 2
109
109
  */
110
- userId: number; // @gotags: sql:"primary_key" alias:"user_id"
110
+ userId: number;
111
111
  /**
112
- * @generated from protobuf field: optional resources.jobs.Colleague user = 3;
112
+ * @generated from protobuf field: optional resources.jobs.colleagues.Colleague user = 3
113
113
  */
114
114
  user?: Colleague;
115
115
  }
116
116
  /**
117
- * @generated from protobuf message resources.centrum.UnitStatus
117
+ * @generated from protobuf message resources.centrum.units.UnitStatus
118
118
  */
119
119
  export interface UnitStatus {
120
120
  /**
121
- * @generated from protobuf field: uint64 id = 1;
121
+ * @generated from protobuf field: int64 id = 1
122
122
  */
123
- id: number; // @gotags: sql:"primary_key" alias:"id"
123
+ id: number;
124
124
  /**
125
- * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2;
125
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2
126
126
  */
127
127
  createdAt?: Timestamp;
128
128
  /**
129
- * @generated from protobuf field: uint64 unit_id = 3;
129
+ * @generated from protobuf field: int64 unit_id = 3
130
130
  */
131
131
  unitId: number;
132
132
  /**
133
- * @generated from protobuf field: optional resources.centrum.Unit unit = 4;
133
+ * @generated from protobuf field: optional resources.centrum.units.Unit unit = 4
134
134
  */
135
135
  unit?: Unit;
136
136
  /**
137
- * @generated from protobuf field: resources.centrum.StatusUnit status = 5;
137
+ * @generated from protobuf field: resources.centrum.units.StatusUnit status = 5
138
138
  */
139
139
  status: StatusUnit;
140
140
  /**
141
- * @sanitize
142
- *
143
- * @generated from protobuf field: optional string reason = 6;
141
+ * @generated from protobuf field: optional string reason = 6
144
142
  */
145
143
  reason?: string;
146
144
  /**
147
- * @sanitize
148
- *
149
- * @generated from protobuf field: optional string code = 7;
145
+ * @generated from protobuf field: optional string code = 7
150
146
  */
151
147
  code?: string;
152
148
  /**
153
- * @generated from protobuf field: optional int32 user_id = 8;
149
+ * @generated from protobuf field: optional int32 user_id = 8
154
150
  */
155
151
  userId?: number;
156
152
  /**
157
- * @generated from protobuf field: optional resources.jobs.Colleague user = 9;
153
+ * @generated from protobuf field: optional resources.jobs.colleagues.Colleague user = 9
158
154
  */
159
155
  user?: Colleague;
160
156
  /**
161
- * @generated from protobuf field: optional double x = 10;
157
+ * @generated from protobuf field: optional double x = 10
162
158
  */
163
159
  x?: number;
164
160
  /**
165
- * @generated from protobuf field: optional double y = 11;
161
+ * @generated from protobuf field: optional double y = 11
166
162
  */
167
163
  y?: number;
168
164
  /**
169
- * @sanitize
170
- *
171
- * @generated from protobuf field: optional string postal = 12;
165
+ * @generated from protobuf field: optional string postal = 12
172
166
  */
173
167
  postal?: string;
174
168
  /**
175
- * @generated from protobuf field: optional int32 creator_id = 13;
169
+ * @generated from protobuf field: optional int32 creator_id = 13
176
170
  */
177
171
  creatorId?: number;
178
172
  /**
179
- * @generated from protobuf field: optional resources.jobs.Colleague creator = 14;
173
+ * @generated from protobuf field: optional resources.jobs.colleagues.Colleague creator = 14
180
174
  */
181
175
  creator?: Colleague;
176
+ /**
177
+ * @generated from protobuf field: optional string creator_job = 15
178
+ */
179
+ creatorJob?: string;
182
180
  }
183
181
  /**
184
- * @generated from protobuf enum resources.centrum.StatusUnit
182
+ * @generated from protobuf message resources.centrum.units.UnitAttributes
183
+ */
184
+ export interface UnitAttributes {
185
+ /**
186
+ * @generated from protobuf field: repeated resources.centrum.units.UnitAttribute list = 1
187
+ */
188
+ list: UnitAttribute[];
189
+ }
190
+ /**
191
+ * @generated from protobuf enum resources.centrum.units.StatusUnit
185
192
  */
186
193
  export enum StatusUnit {
187
194
  /**
@@ -217,22 +224,41 @@ export enum StatusUnit {
217
224
  */
218
225
  BUSY = 7
219
226
  }
227
+ /**
228
+ * @generated from protobuf enum resources.centrum.units.UnitAttribute
229
+ */
230
+ export enum UnitAttribute {
231
+ /**
232
+ * @generated from protobuf enum value: UNIT_ATTRIBUTE_UNSPECIFIED = 0;
233
+ */
234
+ UNSPECIFIED = 0,
235
+ /**
236
+ * @generated from protobuf enum value: UNIT_ATTRIBUTE_STATIC = 1;
237
+ */
238
+ STATIC = 1,
239
+ /**
240
+ * @generated from protobuf enum value: UNIT_ATTRIBUTE_NO_DISPATCH_AUTO_ASSIGN = 2;
241
+ */
242
+ NO_DISPATCH_AUTO_ASSIGN = 2
243
+ }
220
244
  // @generated message type with reflection information, may provide speed optimized methods
221
245
  class Unit$Type extends MessageType<Unit> {
222
246
  constructor() {
223
- super("resources.centrum.Unit", [
224
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
247
+ super("resources.centrum.units.Unit", [
248
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "sql:\"primary_key\" alias:\"id\"" } },
225
249
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
226
250
  { no: 3, name: "updated_at", kind: "message", T: () => Timestamp },
227
- { no: 4, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
228
- { no: 5, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxLen: "24" } } } },
229
- { no: 6, name: "initials", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "2", maxLen: "4" } } } },
230
- { no: 7, name: "color", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { len: "7", pattern: "^#[A-Fa-f0-9]{6}$" } } } },
231
- { no: 8, name: "description", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
251
+ { no: 4, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
252
+ { no: 15, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
253
+ { no: 5, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "24" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
254
+ { no: 6, name: "initials", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "2", maxLen: "4" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
255
+ { no: 7, name: "color", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { len: "7", pattern: "^#[A-Fa-f0-9]{6}$" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
256
+ { no: 16, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128", suffix: "Icon" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
257
+ { no: 8, name: "description", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
232
258
  { no: 9, name: "status", kind: "message", T: () => UnitStatus },
233
259
  { no: 11, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UnitAssignment },
234
260
  { no: 12, name: "attributes", kind: "message", T: () => UnitAttributes },
235
- { no: 13, name: "home_postal", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "48" } } } },
261
+ { no: 13, name: "home_postal", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "48" } } } },
236
262
  { no: 14, name: "access", kind: "message", T: () => UnitAccess }
237
263
  ]);
238
264
  }
@@ -253,8 +279,8 @@ class Unit$Type extends MessageType<Unit> {
253
279
  while (reader.pos < end) {
254
280
  let [fieldNo, wireType] = reader.tag();
255
281
  switch (fieldNo) {
256
- case /* uint64 id */ 1:
257
- message.id = reader.uint64().toNumber();
282
+ case /* int64 id */ 1:
283
+ message.id = reader.int64().toNumber();
258
284
  break;
259
285
  case /* optional resources.timestamp.Timestamp created_at */ 2:
260
286
  message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
@@ -265,6 +291,9 @@ class Unit$Type extends MessageType<Unit> {
265
291
  case /* string job */ 4:
266
292
  message.job = reader.string();
267
293
  break;
294
+ case /* optional string job_label */ 15:
295
+ message.jobLabel = reader.string();
296
+ break;
268
297
  case /* string name */ 5:
269
298
  message.name = reader.string();
270
299
  break;
@@ -274,22 +303,25 @@ class Unit$Type extends MessageType<Unit> {
274
303
  case /* string color */ 7:
275
304
  message.color = reader.string();
276
305
  break;
306
+ case /* optional string icon */ 16:
307
+ message.icon = reader.string();
308
+ break;
277
309
  case /* optional string description */ 8:
278
310
  message.description = reader.string();
279
311
  break;
280
- case /* optional resources.centrum.UnitStatus status */ 9:
312
+ case /* optional resources.centrum.units.UnitStatus status */ 9:
281
313
  message.status = UnitStatus.internalBinaryRead(reader, reader.uint32(), options, message.status);
282
314
  break;
283
- case /* repeated resources.centrum.UnitAssignment users */ 11:
315
+ case /* repeated resources.centrum.units.UnitAssignment users */ 11:
284
316
  message.users.push(UnitAssignment.internalBinaryRead(reader, reader.uint32(), options));
285
317
  break;
286
- case /* optional resources.centrum.UnitAttributes attributes */ 12:
318
+ case /* optional resources.centrum.units.UnitAttributes attributes */ 12:
287
319
  message.attributes = UnitAttributes.internalBinaryRead(reader, reader.uint32(), options, message.attributes);
288
320
  break;
289
321
  case /* optional string home_postal */ 13:
290
322
  message.homePostal = reader.string();
291
323
  break;
292
- case /* resources.centrum.UnitAccess access */ 14:
324
+ case /* resources.centrum.units.access.UnitAccess access */ 14:
293
325
  message.access = UnitAccess.internalBinaryRead(reader, reader.uint32(), options, message.access);
294
326
  break;
295
327
  default:
@@ -304,9 +336,9 @@ class Unit$Type extends MessageType<Unit> {
304
336
  return message;
305
337
  }
306
338
  internalBinaryWrite(message: Unit, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
307
- /* uint64 id = 1; */
339
+ /* int64 id = 1; */
308
340
  if (message.id !== 0)
309
- writer.tag(1, WireType.Varint).uint64(message.id);
341
+ writer.tag(1, WireType.Varint).int64(message.id);
310
342
  /* optional resources.timestamp.Timestamp created_at = 2; */
311
343
  if (message.createdAt)
312
344
  Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
@@ -328,21 +360,27 @@ class Unit$Type extends MessageType<Unit> {
328
360
  /* optional string description = 8; */
329
361
  if (message.description !== undefined)
330
362
  writer.tag(8, WireType.LengthDelimited).string(message.description);
331
- /* optional resources.centrum.UnitStatus status = 9; */
363
+ /* optional resources.centrum.units.UnitStatus status = 9; */
332
364
  if (message.status)
333
365
  UnitStatus.internalBinaryWrite(message.status, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
334
- /* repeated resources.centrum.UnitAssignment users = 11; */
366
+ /* repeated resources.centrum.units.UnitAssignment users = 11; */
335
367
  for (let i = 0; i < message.users.length; i++)
336
368
  UnitAssignment.internalBinaryWrite(message.users[i], writer.tag(11, WireType.LengthDelimited).fork(), options).join();
337
- /* optional resources.centrum.UnitAttributes attributes = 12; */
369
+ /* optional resources.centrum.units.UnitAttributes attributes = 12; */
338
370
  if (message.attributes)
339
371
  UnitAttributes.internalBinaryWrite(message.attributes, writer.tag(12, WireType.LengthDelimited).fork(), options).join();
340
372
  /* optional string home_postal = 13; */
341
373
  if (message.homePostal !== undefined)
342
374
  writer.tag(13, WireType.LengthDelimited).string(message.homePostal);
343
- /* resources.centrum.UnitAccess access = 14; */
375
+ /* resources.centrum.units.access.UnitAccess access = 14; */
344
376
  if (message.access)
345
377
  UnitAccess.internalBinaryWrite(message.access, writer.tag(14, WireType.LengthDelimited).fork(), options).join();
378
+ /* optional string job_label = 15; */
379
+ if (message.jobLabel !== undefined)
380
+ writer.tag(15, WireType.LengthDelimited).string(message.jobLabel);
381
+ /* optional string icon = 16; */
382
+ if (message.icon !== undefined)
383
+ writer.tag(16, WireType.LengthDelimited).string(message.icon);
346
384
  let u = options.writeUnknownFields;
347
385
  if (u !== false)
348
386
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -350,15 +388,15 @@ class Unit$Type extends MessageType<Unit> {
350
388
  }
351
389
  }
352
390
  /**
353
- * @generated MessageType for protobuf message resources.centrum.Unit
391
+ * @generated MessageType for protobuf message resources.centrum.units.Unit
354
392
  */
355
393
  export const Unit = new Unit$Type();
356
394
  // @generated message type with reflection information, may provide speed optimized methods
357
395
  class UnitAssignments$Type extends MessageType<UnitAssignments> {
358
396
  constructor() {
359
- super("resources.centrum.UnitAssignments", [
360
- { no: 1, name: "unit_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
361
- { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
397
+ super("resources.centrum.units.UnitAssignments", [
398
+ { no: 1, name: "unit_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
399
+ { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
362
400
  { no: 3, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UnitAssignment }
363
401
  ]);
364
402
  }
@@ -376,13 +414,13 @@ class UnitAssignments$Type extends MessageType<UnitAssignments> {
376
414
  while (reader.pos < end) {
377
415
  let [fieldNo, wireType] = reader.tag();
378
416
  switch (fieldNo) {
379
- case /* uint64 unit_id */ 1:
380
- message.unitId = reader.uint64().toNumber();
417
+ case /* int64 unit_id */ 1:
418
+ message.unitId = reader.int64().toNumber();
381
419
  break;
382
420
  case /* string job */ 2:
383
421
  message.job = reader.string();
384
422
  break;
385
- case /* repeated resources.centrum.UnitAssignment users */ 3:
423
+ case /* repeated resources.centrum.units.UnitAssignment users */ 3:
386
424
  message.users.push(UnitAssignment.internalBinaryRead(reader, reader.uint32(), options));
387
425
  break;
388
426
  default:
@@ -397,13 +435,13 @@ class UnitAssignments$Type extends MessageType<UnitAssignments> {
397
435
  return message;
398
436
  }
399
437
  internalBinaryWrite(message: UnitAssignments, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
400
- /* uint64 unit_id = 1; */
438
+ /* int64 unit_id = 1; */
401
439
  if (message.unitId !== 0)
402
- writer.tag(1, WireType.Varint).uint64(message.unitId);
440
+ writer.tag(1, WireType.Varint).int64(message.unitId);
403
441
  /* string job = 2; */
404
442
  if (message.job !== "")
405
443
  writer.tag(2, WireType.LengthDelimited).string(message.job);
406
- /* repeated resources.centrum.UnitAssignment users = 3; */
444
+ /* repeated resources.centrum.units.UnitAssignment users = 3; */
407
445
  for (let i = 0; i < message.users.length; i++)
408
446
  UnitAssignment.internalBinaryWrite(message.users[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
409
447
  let u = options.writeUnknownFields;
@@ -413,15 +451,15 @@ class UnitAssignments$Type extends MessageType<UnitAssignments> {
413
451
  }
414
452
  }
415
453
  /**
416
- * @generated MessageType for protobuf message resources.centrum.UnitAssignments
454
+ * @generated MessageType for protobuf message resources.centrum.units.UnitAssignments
417
455
  */
418
456
  export const UnitAssignments = new UnitAssignments$Type();
419
457
  // @generated message type with reflection information, may provide speed optimized methods
420
458
  class UnitAssignment$Type extends MessageType<UnitAssignment> {
421
459
  constructor() {
422
- super("resources.centrum.UnitAssignment", [
423
- { no: 1, name: "unit_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
424
- { no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } },
460
+ super("resources.centrum.units.UnitAssignment", [
461
+ { no: 1, name: "unit_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "sql:\"primary_key\" alias:\"unit_id\"" } },
462
+ { no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } }, "tagger.tags": "sql:\"primary_key\" alias:\"user_id\"" } },
425
463
  { no: 3, name: "user", kind: "message", T: () => Colleague }
426
464
  ]);
427
465
  }
@@ -438,13 +476,13 @@ class UnitAssignment$Type extends MessageType<UnitAssignment> {
438
476
  while (reader.pos < end) {
439
477
  let [fieldNo, wireType] = reader.tag();
440
478
  switch (fieldNo) {
441
- case /* uint64 unit_id */ 1:
442
- message.unitId = reader.uint64().toNumber();
479
+ case /* int64 unit_id */ 1:
480
+ message.unitId = reader.int64().toNumber();
443
481
  break;
444
482
  case /* int32 user_id */ 2:
445
483
  message.userId = reader.int32();
446
484
  break;
447
- case /* optional resources.jobs.Colleague user */ 3:
485
+ case /* optional resources.jobs.colleagues.Colleague user */ 3:
448
486
  message.user = Colleague.internalBinaryRead(reader, reader.uint32(), options, message.user);
449
487
  break;
450
488
  default:
@@ -459,13 +497,13 @@ class UnitAssignment$Type extends MessageType<UnitAssignment> {
459
497
  return message;
460
498
  }
461
499
  internalBinaryWrite(message: UnitAssignment, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
462
- /* uint64 unit_id = 1; */
500
+ /* int64 unit_id = 1; */
463
501
  if (message.unitId !== 0)
464
- writer.tag(1, WireType.Varint).uint64(message.unitId);
502
+ writer.tag(1, WireType.Varint).int64(message.unitId);
465
503
  /* int32 user_id = 2; */
466
504
  if (message.userId !== 0)
467
505
  writer.tag(2, WireType.Varint).int32(message.userId);
468
- /* optional resources.jobs.Colleague user = 3; */
506
+ /* optional resources.jobs.colleagues.Colleague user = 3; */
469
507
  if (message.user)
470
508
  Colleague.internalBinaryWrite(message.user, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
471
509
  let u = options.writeUnknownFields;
@@ -475,27 +513,28 @@ class UnitAssignment$Type extends MessageType<UnitAssignment> {
475
513
  }
476
514
  }
477
515
  /**
478
- * @generated MessageType for protobuf message resources.centrum.UnitAssignment
516
+ * @generated MessageType for protobuf message resources.centrum.units.UnitAssignment
479
517
  */
480
518
  export const UnitAssignment = new UnitAssignment$Type();
481
519
  // @generated message type with reflection information, may provide speed optimized methods
482
520
  class UnitStatus$Type extends MessageType<UnitStatus> {
483
521
  constructor() {
484
- super("resources.centrum.UnitStatus", [
485
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
522
+ super("resources.centrum.units.UnitStatus", [
523
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "sql:\"primary_key\" alias:\"id\"" } },
486
524
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
487
- { no: 3, name: "unit_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
525
+ { no: 3, name: "unit_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
488
526
  { no: 4, name: "unit", kind: "message", T: () => Unit },
489
- { no: 5, name: "status", kind: "enum", T: () => ["resources.centrum.StatusUnit", StatusUnit, "STATUS_UNIT_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
490
- { no: 6, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
491
- { no: 7, name: "code", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
492
- { no: 8, name: "user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
527
+ { no: 5, name: "status", kind: "enum", T: () => ["resources.centrum.units.StatusUnit", StatusUnit, "STATUS_UNIT_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
528
+ { no: 6, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
529
+ { no: 7, name: "code", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
530
+ { no: 8, name: "user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
493
531
  { no: 9, name: "user", kind: "message", T: () => Colleague },
494
532
  { no: 10, name: "x", kind: "scalar", opt: true, T: 1 /*ScalarType.DOUBLE*/ },
495
533
  { no: 11, name: "y", kind: "scalar", opt: true, T: 1 /*ScalarType.DOUBLE*/ },
496
- { no: 12, name: "postal", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "48" } } } },
497
- { no: 13, name: "creator_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
498
- { no: 14, name: "creator", kind: "message", T: () => Colleague }
534
+ { no: 12, name: "postal", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "48" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
535
+ { no: 13, name: "creator_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
536
+ { no: 14, name: "creator", kind: "message", T: () => Colleague },
537
+ { no: 15, name: "creator_job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } }
499
538
  ]);
500
539
  }
501
540
  create(value?: PartialMessage<UnitStatus>): UnitStatus {
@@ -512,19 +551,19 @@ class UnitStatus$Type extends MessageType<UnitStatus> {
512
551
  while (reader.pos < end) {
513
552
  let [fieldNo, wireType] = reader.tag();
514
553
  switch (fieldNo) {
515
- case /* uint64 id */ 1:
516
- message.id = reader.uint64().toNumber();
554
+ case /* int64 id */ 1:
555
+ message.id = reader.int64().toNumber();
517
556
  break;
518
557
  case /* optional resources.timestamp.Timestamp created_at */ 2:
519
558
  message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
520
559
  break;
521
- case /* uint64 unit_id */ 3:
522
- message.unitId = reader.uint64().toNumber();
560
+ case /* int64 unit_id */ 3:
561
+ message.unitId = reader.int64().toNumber();
523
562
  break;
524
- case /* optional resources.centrum.Unit unit */ 4:
563
+ case /* optional resources.centrum.units.Unit unit */ 4:
525
564
  message.unit = Unit.internalBinaryRead(reader, reader.uint32(), options, message.unit);
526
565
  break;
527
- case /* resources.centrum.StatusUnit status */ 5:
566
+ case /* resources.centrum.units.StatusUnit status */ 5:
528
567
  message.status = reader.int32();
529
568
  break;
530
569
  case /* optional string reason */ 6:
@@ -536,7 +575,7 @@ class UnitStatus$Type extends MessageType<UnitStatus> {
536
575
  case /* optional int32 user_id */ 8:
537
576
  message.userId = reader.int32();
538
577
  break;
539
- case /* optional resources.jobs.Colleague user */ 9:
578
+ case /* optional resources.jobs.colleagues.Colleague user */ 9:
540
579
  message.user = Colleague.internalBinaryRead(reader, reader.uint32(), options, message.user);
541
580
  break;
542
581
  case /* optional double x */ 10:
@@ -551,9 +590,12 @@ class UnitStatus$Type extends MessageType<UnitStatus> {
551
590
  case /* optional int32 creator_id */ 13:
552
591
  message.creatorId = reader.int32();
553
592
  break;
554
- case /* optional resources.jobs.Colleague creator */ 14:
593
+ case /* optional resources.jobs.colleagues.Colleague creator */ 14:
555
594
  message.creator = Colleague.internalBinaryRead(reader, reader.uint32(), options, message.creator);
556
595
  break;
596
+ case /* optional string creator_job */ 15:
597
+ message.creatorJob = reader.string();
598
+ break;
557
599
  default:
558
600
  let u = options.readUnknownField;
559
601
  if (u === "throw")
@@ -566,19 +608,19 @@ class UnitStatus$Type extends MessageType<UnitStatus> {
566
608
  return message;
567
609
  }
568
610
  internalBinaryWrite(message: UnitStatus, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
569
- /* uint64 id = 1; */
611
+ /* int64 id = 1; */
570
612
  if (message.id !== 0)
571
- writer.tag(1, WireType.Varint).uint64(message.id);
613
+ writer.tag(1, WireType.Varint).int64(message.id);
572
614
  /* optional resources.timestamp.Timestamp created_at = 2; */
573
615
  if (message.createdAt)
574
616
  Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
575
- /* uint64 unit_id = 3; */
617
+ /* int64 unit_id = 3; */
576
618
  if (message.unitId !== 0)
577
- writer.tag(3, WireType.Varint).uint64(message.unitId);
578
- /* optional resources.centrum.Unit unit = 4; */
619
+ writer.tag(3, WireType.Varint).int64(message.unitId);
620
+ /* optional resources.centrum.units.Unit unit = 4; */
579
621
  if (message.unit)
580
622
  Unit.internalBinaryWrite(message.unit, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
581
- /* resources.centrum.StatusUnit status = 5; */
623
+ /* resources.centrum.units.StatusUnit status = 5; */
582
624
  if (message.status !== 0)
583
625
  writer.tag(5, WireType.Varint).int32(message.status);
584
626
  /* optional string reason = 6; */
@@ -590,7 +632,7 @@ class UnitStatus$Type extends MessageType<UnitStatus> {
590
632
  /* optional int32 user_id = 8; */
591
633
  if (message.userId !== undefined)
592
634
  writer.tag(8, WireType.Varint).int32(message.userId);
593
- /* optional resources.jobs.Colleague user = 9; */
635
+ /* optional resources.jobs.colleagues.Colleague user = 9; */
594
636
  if (message.user)
595
637
  Colleague.internalBinaryWrite(message.user, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
596
638
  /* optional double x = 10; */
@@ -605,9 +647,12 @@ class UnitStatus$Type extends MessageType<UnitStatus> {
605
647
  /* optional int32 creator_id = 13; */
606
648
  if (message.creatorId !== undefined)
607
649
  writer.tag(13, WireType.Varint).int32(message.creatorId);
608
- /* optional resources.jobs.Colleague creator = 14; */
650
+ /* optional resources.jobs.colleagues.Colleague creator = 14; */
609
651
  if (message.creator)
610
652
  Colleague.internalBinaryWrite(message.creator, writer.tag(14, WireType.LengthDelimited).fork(), options).join();
653
+ /* optional string creator_job = 15; */
654
+ if (message.creatorJob !== undefined)
655
+ writer.tag(15, WireType.LengthDelimited).string(message.creatorJob);
611
656
  let u = options.writeUnknownFields;
612
657
  if (u !== false)
613
658
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -615,6 +660,61 @@ class UnitStatus$Type extends MessageType<UnitStatus> {
615
660
  }
616
661
  }
617
662
  /**
618
- * @generated MessageType for protobuf message resources.centrum.UnitStatus
663
+ * @generated MessageType for protobuf message resources.centrum.units.UnitStatus
619
664
  */
620
665
  export const UnitStatus = new UnitStatus$Type();
666
+ // @generated message type with reflection information, may provide speed optimized methods
667
+ class UnitAttributes$Type extends MessageType<UnitAttributes> {
668
+ constructor() {
669
+ super("resources.centrum.units.UnitAttributes", [
670
+ { no: 1, name: "list", kind: "enum", repeat: 1 /*RepeatType.PACKED*/, T: () => ["resources.centrum.units.UnitAttribute", UnitAttribute, "UNIT_ATTRIBUTE_"], options: { "buf.validate.field": { repeated: { items: { enum: { definedOnly: true } } } } } }
671
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
672
+ }
673
+ create(value?: PartialMessage<UnitAttributes>): UnitAttributes {
674
+ const message = globalThis.Object.create((this.messagePrototype!));
675
+ message.list = [];
676
+ if (value !== undefined)
677
+ reflectionMergePartial<UnitAttributes>(this, message, value);
678
+ return message;
679
+ }
680
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UnitAttributes): UnitAttributes {
681
+ let message = target ?? this.create(), end = reader.pos + length;
682
+ while (reader.pos < end) {
683
+ let [fieldNo, wireType] = reader.tag();
684
+ switch (fieldNo) {
685
+ case /* repeated resources.centrum.units.UnitAttribute list */ 1:
686
+ if (wireType === WireType.LengthDelimited)
687
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
688
+ message.list.push(reader.int32());
689
+ else
690
+ message.list.push(reader.int32());
691
+ break;
692
+ default:
693
+ let u = options.readUnknownField;
694
+ if (u === "throw")
695
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
696
+ let d = reader.skip(wireType);
697
+ if (u !== false)
698
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
699
+ }
700
+ }
701
+ return message;
702
+ }
703
+ internalBinaryWrite(message: UnitAttributes, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
704
+ /* repeated resources.centrum.units.UnitAttribute list = 1; */
705
+ if (message.list.length) {
706
+ writer.tag(1, WireType.LengthDelimited).fork();
707
+ for (let i = 0; i < message.list.length; i++)
708
+ writer.int32(message.list[i]);
709
+ writer.join();
710
+ }
711
+ let u = options.writeUnknownFields;
712
+ if (u !== false)
713
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
714
+ return writer;
715
+ }
716
+ }
717
+ /**
718
+ * @generated MessageType for protobuf message resources.centrum.units.UnitAttributes
719
+ */
720
+ export const UnitAttributes = new UnitAttributes$Type();