@fivenet-app/gen 2026.7.3 → 2026.8.5

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 (40) hide show
  1. package/google/protobuf/descriptor.ts +3 -11
  2. package/google/protobuf/timestamp.ts +6 -7
  3. package/package.json +1 -1
  4. package/perms.ts +21 -4
  5. package/resources/audit/audit.ts +19 -9
  6. package/resources/calendar/calendar.ts +11 -0
  7. package/resources/calendar/entries/entries.ts +23 -0
  8. package/resources/centrum/dispatches/dispatches.ts +8 -8
  9. package/resources/centrum/units/units.ts +5 -5
  10. package/resources/citizens/labels/access.ts +10 -6
  11. package/resources/dbsync/state.ts +192 -0
  12. package/resources/documents/stamps/access.ts +25 -0
  13. package/resources/documents/stamps/stamp.ts +0 -21
  14. package/resources/documents/templates/templates.ts +61 -83
  15. package/resources/documents/workflow/workflow.ts +61 -1
  16. package/resources/jobs/groups/access/access.ts +29 -0
  17. package/resources/jobs/groups/activity.ts +332 -0
  18. package/resources/jobs/groups/group.ts +1666 -0
  19. package/resources/jobs/user_selector.ts +184 -0
  20. package/resources/settings/status.ts +197 -105
  21. package/services/calendar/calendar.ts +1 -1
  22. package/services/calendar/entries.ts +3 -3
  23. package/services/centrum/units.ts +3 -3
  24. package/services/completor/completor.ts +2 -2
  25. package/services/documents/approval.ts +2 -2
  26. package/services/documents/documents.ts +9 -9
  27. package/services/documents/templates.client.ts +13 -0
  28. package/services/documents/templates.ts +136 -14
  29. package/services/jobs/colleagues.client.ts +34 -8
  30. package/services/jobs/colleagues.ts +263 -74
  31. package/services/jobs/conduct.ts +11 -19
  32. package/services/jobs/groups.client.ts +311 -0
  33. package/services/jobs/groups.ts +3596 -1
  34. package/services/jobs/timeclock.ts +30 -27
  35. package/services/qualifications/qualifications.ts +26 -4
  36. package/services/settings/settings.ts +1 -1
  37. package/services/sync/sync.client.ts +90 -37
  38. package/services/sync/sync.ts +555 -6
  39. package/services/vehicles/vehicles.ts +2 -2
  40. package/svcs.ts +31 -1
@@ -1150,11 +1150,9 @@ export interface FieldOptions {
1150
1150
  */
1151
1151
  deprecated?: boolean;
1152
1152
  /**
1153
- * DEPRECATED. DO NOT USE!
1154
1153
  * For Google-internal migration only. Do not use.
1155
1154
  *
1156
- * @deprecated
1157
- * @generated from protobuf field: optional bool weak = 10 [default = false, deprecated = true]
1155
+ * @generated from protobuf field: optional bool weak = 10 [default = false]
1158
1156
  */
1159
1157
  weak?: boolean;
1160
1158
  /**
@@ -2182,12 +2180,6 @@ export enum Edition {
2182
2180
  * @generated from protobuf enum value: EDITION_2024 = 1001;
2183
2181
  */
2184
2182
  EDITION_2024 = 1001,
2185
- /**
2186
- * A placeholder edition for developing and testing unscheduled features.
2187
- *
2188
- * @generated from protobuf enum value: EDITION_UNSTABLE = 9999;
2189
- */
2190
- EDITION_UNSTABLE = 9999,
2191
2183
  /**
2192
2184
  * Placeholder editions for testing feature resolution. These should not be
2193
2185
  * used or relied on outside of tests.
@@ -3659,7 +3651,7 @@ class FieldOptions$Type extends MessageType<FieldOptions> {
3659
3651
  case /* optional bool deprecated = 3 [default = false] */ 3:
3660
3652
  message.deprecated = reader.bool();
3661
3653
  break;
3662
- case /* optional bool weak = 10 [default = false, deprecated = true] */ 10:
3654
+ case /* optional bool weak = 10 [default = false] */ 10:
3663
3655
  message.weak = reader.bool();
3664
3656
  break;
3665
3657
  case /* optional bool debug_redact = 16 [default = false] */ 16:
@@ -3714,7 +3706,7 @@ class FieldOptions$Type extends MessageType<FieldOptions> {
3714
3706
  /* optional google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL]; */
3715
3707
  if (message.jstype !== undefined)
3716
3708
  writer.tag(6, WireType.Varint).int32(message.jstype);
3717
- /* optional bool weak = 10 [default = false, deprecated = true]; */
3709
+ /* optional bool weak = 10 [default = false]; */
3718
3710
  if (message.weak !== undefined)
3719
3711
  writer.tag(10, WireType.Varint).bool(message.weak);
3720
3712
  /* optional bool unverified_lazy = 15 [default = false]; */
@@ -143,18 +143,17 @@ import { MessageType } from "@protobuf-ts/runtime";
143
143
  */
144
144
  export interface Timestamp {
145
145
  /**
146
- * Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must
147
- * be between -315576000000 and 315576000000 inclusive (which corresponds to
148
- * 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).
146
+ * Represents seconds of UTC time since Unix epoch
147
+ * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
148
+ * 9999-12-31T23:59:59Z inclusive.
149
149
  *
150
150
  * @generated from protobuf field: int64 seconds = 1
151
151
  */
152
152
  seconds: number;
153
153
  /**
154
- * Non-negative fractions of a second at nanosecond resolution. This field is
155
- * the nanosecond portion of the duration, not an alternative to seconds.
156
- * Negative second values with fractions must still have non-negative nanos
157
- * values that count forward in time. Must be between 0 and 999,999,999
154
+ * Non-negative fractions of a second at nanosecond resolution. Negative
155
+ * second values with fractions must still have non-negative nanos values
156
+ * that count forward in time. Must be from 0 to 999,999,999
158
157
  * inclusive.
159
158
  *
160
159
  * @generated from protobuf field: int32 nanos = 2
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fivenet-app/gen",
3
3
  "private": false,
4
- "version": "2026.7.3",
4
+ "version": "2026.8.5",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "homepage": "https://fivenet.app",
package/perms.ts CHANGED
@@ -95,16 +95,20 @@ export type GRPCServicePerms =
95
95
  | 'documents.TemplatesService/CreateTemplate'
96
96
  | 'documents.TemplatesService/DeleteTemplate'
97
97
  | 'documents.TemplatesService/ListTemplates'
98
+ | 'documents.TemplatesService/MoveTemplate'
99
+ | 'jobs.ColleaguesService/CreateOrUpdateLabel'
98
100
  | 'jobs.ColleaguesService/GetColleague'
99
101
  | 'jobs.ColleaguesService/ListColleagueActivity'
100
102
  | 'jobs.ColleaguesService/ListColleagues'
101
- | 'jobs.ColleaguesService/ManageLabels'
102
103
  | 'jobs.ColleaguesService/SetColleagueProps'
103
104
  | 'jobs.ConductService/CreateConductEntry'
104
105
  | 'jobs.ConductService/DeleteConductEntry'
105
106
  | 'jobs.ConductService/ListConductEntries'
106
107
  | 'jobs.ConductService/RestoreConductEntry'
107
108
  | 'jobs.ConductService/UpdateConductEntry'
109
+ | 'jobs.GroupsService/ArchiveGroup'
110
+ | 'jobs.GroupsService/CreateGroup'
111
+ | 'jobs.GroupsService/ListGroups'
108
112
  | 'jobs.JobsService/SetMOTD'
109
113
  | 'jobs.StatsService/GetStats'
110
114
  | 'jobs.TimeclockService/ListInactiveEmployees'
@@ -154,6 +158,7 @@ export const GRPCServices = [
154
158
  'documents.TemplatesService',
155
159
  'jobs.ColleaguesService',
156
160
  'jobs.ConductService',
161
+ 'jobs.GroupsService',
157
162
  'jobs.JobsService',
158
163
  'jobs.StatsService',
159
164
  'jobs.TimeclockService',
@@ -214,16 +219,20 @@ export const GRPCServiceMethods = [
214
219
  'documents.TemplatesService/CreateTemplate',
215
220
  'documents.TemplatesService/DeleteTemplate',
216
221
  'documents.TemplatesService/ListTemplates',
222
+ 'documents.TemplatesService/MoveTemplate',
223
+ 'jobs.ColleaguesService/CreateOrUpdateLabel',
217
224
  'jobs.ColleaguesService/GetColleague',
218
225
  'jobs.ColleaguesService/ListColleagueActivity',
219
226
  'jobs.ColleaguesService/ListColleagues',
220
- 'jobs.ColleaguesService/ManageLabels',
221
227
  'jobs.ColleaguesService/SetColleagueProps',
222
228
  'jobs.ConductService/CreateConductEntry',
223
229
  'jobs.ConductService/DeleteConductEntry',
224
230
  'jobs.ConductService/ListConductEntries',
225
231
  'jobs.ConductService/RestoreConductEntry',
226
232
  'jobs.ConductService/UpdateConductEntry',
233
+ 'jobs.GroupsService/ArchiveGroup',
234
+ 'jobs.GroupsService/CreateGroup',
235
+ 'jobs.GroupsService/ListGroups',
227
236
  'jobs.JobsService/SetMOTD',
228
237
  'jobs.StatsService/GetStats',
229
238
  'jobs.TimeclockService/ListInactiveEmployees',
@@ -413,6 +422,10 @@ export const PermAttributes = {
413
422
  },
414
423
  'documents.TemplatesService/ListTemplates': {
415
424
  },
425
+ 'documents.TemplatesService/MoveTemplate': {
426
+ },
427
+ 'jobs.ColleaguesService/CreateOrUpdateLabel': {
428
+ },
416
429
  'jobs.ColleaguesService/GetColleague': {
417
430
  'Access': {
418
431
  type: 'stringList',
@@ -431,8 +444,6 @@ export const PermAttributes = {
431
444
  },
432
445
  'jobs.ColleaguesService/ListColleagues': {
433
446
  },
434
- 'jobs.ColleaguesService/ManageLabels': {
435
- },
436
447
  'jobs.ColleaguesService/SetColleagueProps': {
437
448
  'Access': {
438
449
  type: 'stringList',
@@ -457,6 +468,12 @@ export const PermAttributes = {
457
468
  },
458
469
  'jobs.ConductService/UpdateConductEntry': {
459
470
  },
471
+ 'jobs.GroupsService/ArchiveGroup': {
472
+ },
473
+ 'jobs.GroupsService/CreateGroup': {
474
+ },
475
+ 'jobs.GroupsService/ListGroups': {
476
+ },
460
477
  'jobs.JobsService/SetMOTD': {
461
478
  },
462
479
  'jobs.StatsService/GetStats': {
@@ -26,9 +26,9 @@ export interface AuditEntry {
26
26
  */
27
27
  createdAt?: Timestamp;
28
28
  /**
29
- * @generated from protobuf field: int32 user_id = 3
29
+ * @generated from protobuf field: optional int32 user_id = 3
30
30
  */
31
- userId: number;
31
+ userId?: number;
32
32
  /**
33
33
  * @generated from protobuf field: optional resources.users.short.UserShort user = 4
34
34
  */
@@ -77,6 +77,10 @@ export interface AuditEntry {
77
77
  * @generated from protobuf field: optional string data = 14
78
78
  */
79
79
  data?: string;
80
+ /**
81
+ * @generated from protobuf field: optional int64 account_id = 15
82
+ */
83
+ accountId?: number;
80
84
  }
81
85
  /**
82
86
  * @generated from protobuf message resources.audit.AuditEntryMeta
@@ -143,9 +147,9 @@ export enum EventResult {
143
147
  class AuditEntry$Type extends MessageType<AuditEntry> {
144
148
  constructor() {
145
149
  super("resources.audit.AuditEntry", [
146
- { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
150
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "sql:\"primary_key\"" } },
147
151
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
148
- { no: 3, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
152
+ { no: 3, name: "user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
149
153
  { no: 4, name: "user", kind: "message", T: () => UserShort },
150
154
  { no: 5, name: "user_job", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
151
155
  { no: 6, name: "target_user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
@@ -156,13 +160,13 @@ class AuditEntry$Type extends MessageType<AuditEntry> {
156
160
  { no: 11, name: "action", kind: "enum", T: () => ["resources.audit.EventAction", EventAction, "EVENT_ACTION_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
157
161
  { no: 12, name: "result", kind: "enum", T: () => ["resources.audit.EventResult", EventResult, "EVENT_RESULT_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
158
162
  { no: 13, name: "meta", kind: "message", T: () => AuditEntryMeta },
159
- { no: 14, name: "data", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
163
+ { no: 14, name: "data", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
164
+ { no: 15, name: "account_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
160
165
  ]);
161
166
  }
162
167
  create(value?: PartialMessage<AuditEntry>): AuditEntry {
163
168
  const message = globalThis.Object.create((this.messagePrototype!));
164
169
  message.id = 0;
165
- message.userId = 0;
166
170
  message.userJob = "";
167
171
  message.service = "";
168
172
  message.method = "";
@@ -183,7 +187,7 @@ class AuditEntry$Type extends MessageType<AuditEntry> {
183
187
  case /* resources.timestamp.Timestamp created_at */ 2:
184
188
  message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
185
189
  break;
186
- case /* int32 user_id */ 3:
190
+ case /* optional int32 user_id */ 3:
187
191
  message.userId = reader.int32();
188
192
  break;
189
193
  case /* optional resources.users.short.UserShort user */ 4:
@@ -219,6 +223,9 @@ class AuditEntry$Type extends MessageType<AuditEntry> {
219
223
  case /* optional string data */ 14:
220
224
  message.data = reader.string();
221
225
  break;
226
+ case /* optional int64 account_id */ 15:
227
+ message.accountId = reader.int64().toNumber();
228
+ break;
222
229
  default:
223
230
  let u = options.readUnknownField;
224
231
  if (u === "throw")
@@ -237,8 +244,8 @@ class AuditEntry$Type extends MessageType<AuditEntry> {
237
244
  /* resources.timestamp.Timestamp created_at = 2; */
238
245
  if (message.createdAt)
239
246
  Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
240
- /* int32 user_id = 3; */
241
- if (message.userId !== 0)
247
+ /* optional int32 user_id = 3; */
248
+ if (message.userId !== undefined)
242
249
  writer.tag(3, WireType.Varint).int32(message.userId);
243
250
  /* optional resources.users.short.UserShort user = 4; */
244
251
  if (message.user)
@@ -273,6 +280,9 @@ class AuditEntry$Type extends MessageType<AuditEntry> {
273
280
  /* optional string data = 14; */
274
281
  if (message.data !== undefined)
275
282
  writer.tag(14, WireType.LengthDelimited).string(message.data);
283
+ /* optional int64 account_id = 15; */
284
+ if (message.accountId !== undefined)
285
+ writer.tag(15, WireType.Varint).int64(message.accountId);
276
286
  let u = options.writeUnknownFields;
277
287
  if (u !== false)
278
288
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -63,6 +63,10 @@ export interface Calendar {
63
63
  * @generated from protobuf field: string color = 10
64
64
  */
65
65
  color: string;
66
+ /**
67
+ * @generated from protobuf field: optional string icon = 18
68
+ */
69
+ icon?: string;
66
70
  /**
67
71
  * @generated from protobuf field: optional int32 creator_id = 11
68
72
  */
@@ -241,6 +245,7 @@ class Calendar$Type extends MessageType<Calendar> {
241
245
  { no: 8, name: "public", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
242
246
  { no: 9, name: "closed", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
243
247
  { no: 10, name: "color", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "12" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
248
+ { no: 18, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
244
249
  { no: 11, name: "creator_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
245
250
  { no: 12, name: "creator", kind: "message", T: () => UserShort, options: { "tagger.tags": "alias:\"creator\"" } },
246
251
  { no: 13, name: "creator_job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
@@ -299,6 +304,9 @@ class Calendar$Type extends MessageType<Calendar> {
299
304
  case /* string color */ 10:
300
305
  message.color = reader.string();
301
306
  break;
307
+ case /* optional string icon */ 18:
308
+ message.icon = reader.string();
309
+ break;
302
310
  case /* optional int32 creator_id */ 11:
303
311
  message.creatorId = reader.int32();
304
312
  break;
@@ -380,6 +388,9 @@ class Calendar$Type extends MessageType<Calendar> {
380
388
  /* optional resources.calendar.CalendarDiscordSettings discord_settings = 17; */
381
389
  if (message.discordSettings)
382
390
  CalendarDiscordSettings.internalBinaryWrite(message.discordSettings, writer.tag(17, WireType.LengthDelimited).fork(), options).join();
391
+ /* optional string icon = 18; */
392
+ if (message.icon !== undefined)
393
+ writer.tag(18, WireType.LengthDelimited).string(message.icon);
383
394
  let u = options.writeUnknownFields;
384
395
  if (u !== false)
385
396
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -80,6 +80,10 @@ export interface CalendarEntry {
80
80
  * @generated from protobuf field: optional resources.timestamp.Timestamp end_time = 9
81
81
  */
82
82
  endTime?: Timestamp;
83
+ /**
84
+ * @generated from protobuf field: bool all_day = 22
85
+ */
86
+ allDay: boolean;
83
87
  /**
84
88
  * @generated from protobuf field: string title = 10
85
89
  */
@@ -96,6 +100,10 @@ export interface CalendarEntry {
96
100
  * @generated from protobuf field: optional bool rsvp_open = 13
97
101
  */
98
102
  rsvpOpen?: boolean;
103
+ /**
104
+ * @generated from protobuf field: optional string icon = 23
105
+ */
106
+ icon?: string;
99
107
  /**
100
108
  * @generated from protobuf field: optional int32 creator_id = 14
101
109
  */
@@ -340,10 +348,12 @@ class CalendarEntry$Type extends MessageType<CalendarEntry> {
340
348
  { no: 7, name: "job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
341
349
  { no: 8, name: "start_time", kind: "message", T: () => Timestamp },
342
350
  { no: 9, name: "end_time", kind: "message", T: () => Timestamp },
351
+ { no: 22, name: "all_day", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
343
352
  { no: 10, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "512" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
344
353
  { no: 11, name: "content", kind: "message", T: () => Content },
345
354
  { no: 12, name: "closed", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
346
355
  { no: 13, name: "rsvp_open", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
356
+ { no: 23, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
347
357
  { no: 14, name: "creator_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
348
358
  { no: 15, name: "creator", kind: "message", T: () => UserShort, options: { "tagger.tags": "alias:\"creator\"" } },
349
359
  { no: 16, name: "creator_job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
@@ -358,6 +368,7 @@ class CalendarEntry$Type extends MessageType<CalendarEntry> {
358
368
  const message = globalThis.Object.create((this.messagePrototype!));
359
369
  message.id = 0;
360
370
  message.calendarId = 0;
371
+ message.allDay = false;
361
372
  message.title = "";
362
373
  message.closed = false;
363
374
  message.creatorJob = "";
@@ -398,6 +409,9 @@ class CalendarEntry$Type extends MessageType<CalendarEntry> {
398
409
  case /* optional resources.timestamp.Timestamp end_time */ 9:
399
410
  message.endTime = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.endTime);
400
411
  break;
412
+ case /* bool all_day */ 22:
413
+ message.allDay = reader.bool();
414
+ break;
401
415
  case /* string title */ 10:
402
416
  message.title = reader.string();
403
417
  break;
@@ -410,6 +424,9 @@ class CalendarEntry$Type extends MessageType<CalendarEntry> {
410
424
  case /* optional bool rsvp_open */ 13:
411
425
  message.rsvpOpen = reader.bool();
412
426
  break;
427
+ case /* optional string icon */ 23:
428
+ message.icon = reader.string();
429
+ break;
413
430
  case /* optional int32 creator_id */ 14:
414
431
  message.creatorId = reader.int32();
415
432
  break;
@@ -509,6 +526,12 @@ class CalendarEntry$Type extends MessageType<CalendarEntry> {
509
526
  /* int32 recurrence_version = 21; */
510
527
  if (message.recurrenceVersion !== 0)
511
528
  writer.tag(21, WireType.Varint).int32(message.recurrenceVersion);
529
+ /* bool all_day = 22; */
530
+ if (message.allDay !== false)
531
+ writer.tag(22, WireType.Varint).bool(message.allDay);
532
+ /* optional string icon = 23; */
533
+ if (message.icon !== undefined)
534
+ writer.tag(23, WireType.LengthDelimited).string(message.icon);
512
535
  let u = options.writeUnknownFields;
513
536
  if (u !== false)
514
537
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -13,7 +13,7 @@ import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
13
  import { MessageType } from "@protobuf-ts/runtime";
14
14
  import { Colleague } from "../../jobs/colleagues/colleagues";
15
15
  import { Unit } from "../units/units";
16
- import { User } from "../../users/user";
16
+ import { UserShort } from "../../users/short/user";
17
17
  import { JobList } from "../joblist";
18
18
  import { Timestamp } from "../../timestamp/timestamp";
19
19
  /**
@@ -78,9 +78,9 @@ export interface Dispatch {
78
78
  */
79
79
  creatorId?: number;
80
80
  /**
81
- * @generated from protobuf field: optional resources.users.User creator = 15
81
+ * @generated from protobuf field: optional resources.users.short.UserShort creator = 15
82
82
  */
83
- creator?: User;
83
+ creator?: UserShort;
84
84
  /**
85
85
  * @generated from protobuf field: repeated resources.centrum.dispatches.DispatchAssignment units = 16
86
86
  */
@@ -374,7 +374,7 @@ class Dispatch$Type extends MessageType<Dispatch> {
374
374
  { no: 12, name: "postal", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "48" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
375
375
  { no: 13, name: "anon", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
376
376
  { no: 14, name: "creator_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
377
- { no: 15, name: "creator", kind: "message", T: () => User },
377
+ { no: 15, name: "creator", kind: "message", T: () => UserShort },
378
378
  { no: 16, name: "units", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => DispatchAssignment },
379
379
  { no: 17, name: "references", kind: "message", T: () => DispatchReferences }
380
380
  ]);
@@ -439,8 +439,8 @@ class Dispatch$Type extends MessageType<Dispatch> {
439
439
  case /* optional int32 creator_id */ 14:
440
440
  message.creatorId = reader.int32();
441
441
  break;
442
- case /* optional resources.users.User creator */ 15:
443
- message.creator = User.internalBinaryRead(reader, reader.uint32(), options, message.creator);
442
+ case /* optional resources.users.short.UserShort creator */ 15:
443
+ message.creator = UserShort.internalBinaryRead(reader, reader.uint32(), options, message.creator);
444
444
  break;
445
445
  case /* repeated resources.centrum.dispatches.DispatchAssignment units */ 16:
446
446
  message.units.push(DispatchAssignment.internalBinaryRead(reader, reader.uint32(), options));
@@ -499,9 +499,9 @@ class Dispatch$Type extends MessageType<Dispatch> {
499
499
  /* optional int32 creator_id = 14; */
500
500
  if (message.creatorId !== undefined)
501
501
  writer.tag(14, WireType.Varint).int32(message.creatorId);
502
- /* optional resources.users.User creator = 15; */
502
+ /* optional resources.users.short.UserShort creator = 15; */
503
503
  if (message.creator)
504
- User.internalBinaryWrite(message.creator, writer.tag(15, WireType.LengthDelimited).fork(), options).join();
504
+ UserShort.internalBinaryWrite(message.creator, writer.tag(15, WireType.LengthDelimited).fork(), options).join();
505
505
  /* repeated resources.centrum.dispatches.DispatchAssignment units = 16; */
506
506
  for (let i = 0; i < message.units.length; i++)
507
507
  DispatchAssignment.internalBinaryWrite(message.units[i], writer.tag(16, WireType.LengthDelimited).fork(), options).join();
@@ -261,7 +261,7 @@ class Unit$Type extends MessageType<Unit> {
261
261
  { no: 16, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
262
262
  { no: 8, name: "description", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
263
263
  { no: 9, name: "status", kind: "message", T: () => UnitStatus },
264
- { no: 11, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UnitAssignment },
264
+ { no: 11, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UnitAssignment, options: { "buf.validate.field": { repeated: { maxItems: "30" } } } },
265
265
  { no: 12, name: "attributes", kind: "message", T: () => UnitAttributes },
266
266
  { no: 13, name: "home_postal", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "48" } } } },
267
267
  { no: 14, name: "access", kind: "message", T: () => Access }
@@ -407,9 +407,9 @@ export const Unit = new Unit$Type();
407
407
  class UnitAssignments$Type extends MessageType<UnitAssignments> {
408
408
  constructor() {
409
409
  super("resources.centrum.units.UnitAssignments", [
410
- { no: 1, name: "unit_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
410
+ { no: 1, name: "unit_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
411
411
  { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
412
- { no: 3, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UnitAssignment }
412
+ { no: 3, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UnitAssignment, options: { "buf.validate.field": { repeated: { maxItems: "30" } } } }
413
413
  ]);
414
414
  }
415
415
  create(value?: PartialMessage<UnitAssignments>): UnitAssignments {
@@ -470,7 +470,7 @@ export const UnitAssignments = new UnitAssignments$Type();
470
470
  class UnitAssignment$Type extends MessageType<UnitAssignment> {
471
471
  constructor() {
472
472
  super("resources.centrum.units.UnitAssignment", [
473
- { no: 1, name: "unit_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "sql:\"primary_key\" alias:\"unit_id\"" } },
473
+ { no: 1, name: "unit_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } }, "tagger.tags": "sql:\"primary_key\" alias:\"unit_id\"" } },
474
474
  { 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\"" } },
475
475
  { no: 3, name: "user", kind: "message", T: () => Colleague }
476
476
  ]);
@@ -679,7 +679,7 @@ export const UnitStatus = new UnitStatus$Type();
679
679
  class UnitAttributes$Type extends MessageType<UnitAttributes> {
680
680
  constructor() {
681
681
  super("resources.centrum.units.UnitAttributes", [
682
- { 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 } } } } } }
682
+ { no: 1, name: "list", kind: "enum", repeat: 1 /*RepeatType.PACKED*/, T: () => ["resources.centrum.units.UnitAttribute", UnitAttribute, "UNIT_ATTRIBUTE_"], options: { "buf.validate.field": { repeated: { maxItems: "3", items: { enum: { definedOnly: true } } } } } }
683
683
  ], { "codegen.dbscanner.dbscanner": { enabled: true } });
684
684
  }
685
685
  create(value?: PartialMessage<UnitAttributes>): UnitAttributes {
@@ -11,15 +11,19 @@ export enum AccessLevel {
11
11
  */
12
12
  UNSPECIFIED = 0,
13
13
  /**
14
- * @generated from protobuf enum value: ACCESS_LEVEL_VIEW = 1;
14
+ * @generated from protobuf enum value: ACCESS_LEVEL_BLOCKED = 1;
15
15
  */
16
- VIEW = 1,
16
+ BLOCKED = 1,
17
17
  /**
18
- * @generated from protobuf enum value: ACCESS_LEVEL_GIVE = 2;
18
+ * @generated from protobuf enum value: ACCESS_LEVEL_VIEW = 2;
19
19
  */
20
- GIVE = 2,
20
+ VIEW = 2,
21
21
  /**
22
- * @generated from protobuf enum value: ACCESS_LEVEL_REMOVE = 3;
22
+ * @generated from protobuf enum value: ACCESS_LEVEL_GIVE = 3;
23
23
  */
24
- REMOVE = 3
24
+ GIVE = 3,
25
+ /**
26
+ * @generated from protobuf enum value: ACCESS_LEVEL_REMOVE = 4;
27
+ */
28
+ REMOVE = 4
25
29
  }