@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 "resources/centrum/settings.proto" (package "resources.centrum", 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,73 +11,161 @@ 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";
14
+ import { CentrumAccessLevel } from "./access";
15
+ import { Duration } from "../../google/protobuf/duration";
16
+ import { CentrumAccess } from "./access";
13
17
  /**
14
18
  * @generated from protobuf message resources.centrum.Settings
15
19
  */
16
20
  export interface Settings {
17
21
  /**
18
- * @generated from protobuf field: string job = 1;
22
+ * @generated from protobuf field: string job = 1
19
23
  */
20
24
  job: string;
21
25
  /**
22
- * @generated from protobuf field: bool enabled = 2;
26
+ * @generated from protobuf field: bool enabled = 2
23
27
  */
24
28
  enabled: boolean;
25
29
  /**
26
- * @generated from protobuf field: resources.centrum.CentrumMode mode = 3;
30
+ * @generated from protobuf field: resources.centrum.CentrumType type = 3
31
+ */
32
+ type: CentrumType;
33
+ /**
34
+ * @generated from protobuf field: bool public = 9
35
+ */
36
+ public: boolean;
37
+ /**
38
+ * @generated from protobuf field: resources.centrum.CentrumMode mode = 8
27
39
  */
28
40
  mode: CentrumMode;
29
41
  /**
30
- * @generated from protobuf field: resources.centrum.CentrumMode fallback_mode = 4;
42
+ * @generated from protobuf field: resources.centrum.CentrumMode fallback_mode = 4
31
43
  */
32
44
  fallbackMode: CentrumMode;
33
45
  /**
34
- * @generated from protobuf field: optional resources.centrum.PredefinedStatus predefined_status = 5;
46
+ * @generated from protobuf field: optional resources.centrum.PredefinedStatus predefined_status = 5
35
47
  */
36
48
  predefinedStatus?: PredefinedStatus;
37
49
  /**
38
- * @generated from protobuf field: resources.centrum.Timings timings = 6;
50
+ * @generated from protobuf field: resources.centrum.Timings timings = 6
39
51
  */
40
52
  timings?: Timings;
53
+ /**
54
+ * @generated from protobuf field: resources.centrum.Configuration configuration = 10
55
+ */
56
+ configuration?: Configuration;
57
+ /**
58
+ * @generated from protobuf field: optional resources.centrum.CentrumAccess access = 7
59
+ */
60
+ access?: CentrumAccess;
61
+ /**
62
+ * @generated from protobuf field: optional resources.centrum.CentrumAccess offered_access = 12
63
+ */
64
+ offeredAccess?: CentrumAccess;
65
+ /**
66
+ * @generated from protobuf field: optional resources.centrum.EffectiveAccess effective_access = 11
67
+ */
68
+ effectiveAccess?: EffectiveAccess;
41
69
  }
42
70
  /**
43
- * @dbscanner: json
44
- *
45
71
  * @generated from protobuf message resources.centrum.PredefinedStatus
46
72
  */
47
73
  export interface PredefinedStatus {
48
74
  /**
49
- * @sanitize: method=StripTags
50
- *
51
- * @generated from protobuf field: repeated string unit_status = 1;
75
+ * @generated from protobuf field: repeated string unit_status = 1
52
76
  */
53
77
  unitStatus: string[];
54
78
  /**
55
- * @sanitize: method=StripTags
56
- *
57
- * @generated from protobuf field: repeated string dispatch_status = 2;
79
+ * @generated from protobuf field: repeated string dispatch_status = 2
58
80
  */
59
81
  dispatchStatus: string[];
60
82
  }
61
83
  /**
62
- * @dbscanner: json
63
- *
64
84
  * @generated from protobuf message resources.centrum.Timings
65
85
  */
66
86
  export interface Timings {
67
87
  /**
68
- * @generated from protobuf field: int64 dispatch_max_wait = 1;
88
+ * @generated from protobuf field: int64 dispatch_max_wait = 1
69
89
  */
70
90
  dispatchMaxWait: number;
71
91
  /**
72
- * @generated from protobuf field: bool require_unit = 2;
92
+ * @generated from protobuf field: bool require_unit = 2
73
93
  */
74
94
  requireUnit: boolean;
75
95
  /**
76
- * @generated from protobuf field: int64 require_unit_reminder_seconds = 3;
96
+ * @generated from protobuf field: int64 require_unit_reminder_seconds = 3
77
97
  */
78
98
  requireUnitReminderSeconds: number;
79
99
  }
100
+ /**
101
+ * @generated from protobuf message resources.centrum.Configuration
102
+ */
103
+ export interface Configuration {
104
+ /**
105
+ * @generated from protobuf field: bool deduplication_enabled = 1
106
+ */
107
+ deduplicationEnabled: boolean;
108
+ /**
109
+ * @generated from protobuf field: int64 deduplication_radius = 2
110
+ */
111
+ deduplicationRadius: number;
112
+ /**
113
+ * @generated from protobuf field: optional google.protobuf.Duration deduplication_duration = 3
114
+ */
115
+ deduplicationDuration?: Duration;
116
+ }
117
+ /**
118
+ * @generated from protobuf message resources.centrum.EffectiveAccess
119
+ */
120
+ export interface EffectiveAccess {
121
+ /**
122
+ * @generated from protobuf field: resources.centrum.EffectiveDispatchAccess dispatches = 1
123
+ */
124
+ dispatches?: EffectiveDispatchAccess;
125
+ }
126
+ /**
127
+ * @generated from protobuf message resources.centrum.EffectiveDispatchAccess
128
+ */
129
+ export interface EffectiveDispatchAccess {
130
+ /**
131
+ * @generated from protobuf field: repeated resources.centrum.JobAccessEntry jobs = 1
132
+ */
133
+ jobs: JobAccessEntry[];
134
+ }
135
+ /**
136
+ * @generated from protobuf message resources.centrum.JobAccessEntry
137
+ */
138
+ export interface JobAccessEntry {
139
+ /**
140
+ * @generated from protobuf field: string job = 1
141
+ */
142
+ job: string;
143
+ /**
144
+ * @generated from protobuf field: optional string job_label = 2
145
+ */
146
+ jobLabel?: string;
147
+ /**
148
+ * @generated from protobuf field: resources.centrum.CentrumAccessLevel access = 3
149
+ */
150
+ access: CentrumAccessLevel;
151
+ }
152
+ /**
153
+ * @generated from protobuf enum resources.centrum.CentrumType
154
+ */
155
+ export enum CentrumType {
156
+ /**
157
+ * @generated from protobuf enum value: CENTRUM_TYPE_UNSPECIFIED = 0;
158
+ */
159
+ UNSPECIFIED = 0,
160
+ /**
161
+ * @generated from protobuf enum value: CENTRUM_TYPE_DISPATCH = 1;
162
+ */
163
+ DISPATCH = 1,
164
+ /**
165
+ * @generated from protobuf enum value: CENTRUM_TYPE_DELIVERY = 2;
166
+ */
167
+ DELIVERY = 2
168
+ }
80
169
  /**
81
170
  * @generated from protobuf enum resources.centrum.CentrumMode
82
171
  */
@@ -106,18 +195,26 @@ export enum CentrumMode {
106
195
  class Settings$Type extends MessageType<Settings> {
107
196
  constructor() {
108
197
  super("resources.centrum.Settings", [
109
- { no: 1, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
198
+ { no: 1, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
110
199
  { no: 2, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
111
- { no: 3, name: "mode", kind: "enum", T: () => ["resources.centrum.CentrumMode", CentrumMode, "CENTRUM_MODE_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
112
- { no: 4, name: "fallback_mode", kind: "enum", T: () => ["resources.centrum.CentrumMode", CentrumMode, "CENTRUM_MODE_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
200
+ { no: 3, name: "type", kind: "enum", T: () => ["resources.centrum.CentrumType", CentrumType, "CENTRUM_TYPE_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
201
+ { no: 9, name: "public", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
202
+ { no: 8, name: "mode", kind: "enum", T: () => ["resources.centrum.CentrumMode", CentrumMode, "CENTRUM_MODE_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
203
+ { no: 4, name: "fallback_mode", kind: "enum", T: () => ["resources.centrum.CentrumMode", CentrumMode, "CENTRUM_MODE_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
113
204
  { no: 5, name: "predefined_status", kind: "message", T: () => PredefinedStatus },
114
- { no: 6, name: "timings", kind: "message", T: () => Timings }
205
+ { no: 6, name: "timings", kind: "message", T: () => Timings },
206
+ { no: 10, name: "configuration", kind: "message", T: () => Configuration },
207
+ { no: 7, name: "access", kind: "message", T: () => CentrumAccess },
208
+ { no: 12, name: "offered_access", kind: "message", T: () => CentrumAccess },
209
+ { no: 11, name: "effective_access", kind: "message", T: () => EffectiveAccess }
115
210
  ]);
116
211
  }
117
212
  create(value?: PartialMessage<Settings>): Settings {
118
213
  const message = globalThis.Object.create((this.messagePrototype!));
119
214
  message.job = "";
120
215
  message.enabled = false;
216
+ message.type = 0;
217
+ message.public = false;
121
218
  message.mode = 0;
122
219
  message.fallbackMode = 0;
123
220
  if (value !== undefined)
@@ -135,7 +232,13 @@ class Settings$Type extends MessageType<Settings> {
135
232
  case /* bool enabled */ 2:
136
233
  message.enabled = reader.bool();
137
234
  break;
138
- case /* resources.centrum.CentrumMode mode */ 3:
235
+ case /* resources.centrum.CentrumType type */ 3:
236
+ message.type = reader.int32();
237
+ break;
238
+ case /* bool public */ 9:
239
+ message.public = reader.bool();
240
+ break;
241
+ case /* resources.centrum.CentrumMode mode */ 8:
139
242
  message.mode = reader.int32();
140
243
  break;
141
244
  case /* resources.centrum.CentrumMode fallback_mode */ 4:
@@ -147,6 +250,18 @@ class Settings$Type extends MessageType<Settings> {
147
250
  case /* resources.centrum.Timings timings */ 6:
148
251
  message.timings = Timings.internalBinaryRead(reader, reader.uint32(), options, message.timings);
149
252
  break;
253
+ case /* resources.centrum.Configuration configuration */ 10:
254
+ message.configuration = Configuration.internalBinaryRead(reader, reader.uint32(), options, message.configuration);
255
+ break;
256
+ case /* optional resources.centrum.CentrumAccess access */ 7:
257
+ message.access = CentrumAccess.internalBinaryRead(reader, reader.uint32(), options, message.access);
258
+ break;
259
+ case /* optional resources.centrum.CentrumAccess offered_access */ 12:
260
+ message.offeredAccess = CentrumAccess.internalBinaryRead(reader, reader.uint32(), options, message.offeredAccess);
261
+ break;
262
+ case /* optional resources.centrum.EffectiveAccess effective_access */ 11:
263
+ message.effectiveAccess = EffectiveAccess.internalBinaryRead(reader, reader.uint32(), options, message.effectiveAccess);
264
+ break;
150
265
  default:
151
266
  let u = options.readUnknownField;
152
267
  if (u === "throw")
@@ -165,9 +280,9 @@ class Settings$Type extends MessageType<Settings> {
165
280
  /* bool enabled = 2; */
166
281
  if (message.enabled !== false)
167
282
  writer.tag(2, WireType.Varint).bool(message.enabled);
168
- /* resources.centrum.CentrumMode mode = 3; */
169
- if (message.mode !== 0)
170
- writer.tag(3, WireType.Varint).int32(message.mode);
283
+ /* resources.centrum.CentrumType type = 3; */
284
+ if (message.type !== 0)
285
+ writer.tag(3, WireType.Varint).int32(message.type);
171
286
  /* resources.centrum.CentrumMode fallback_mode = 4; */
172
287
  if (message.fallbackMode !== 0)
173
288
  writer.tag(4, WireType.Varint).int32(message.fallbackMode);
@@ -177,6 +292,24 @@ class Settings$Type extends MessageType<Settings> {
177
292
  /* resources.centrum.Timings timings = 6; */
178
293
  if (message.timings)
179
294
  Timings.internalBinaryWrite(message.timings, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
295
+ /* optional resources.centrum.CentrumAccess access = 7; */
296
+ if (message.access)
297
+ CentrumAccess.internalBinaryWrite(message.access, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
298
+ /* resources.centrum.CentrumMode mode = 8; */
299
+ if (message.mode !== 0)
300
+ writer.tag(8, WireType.Varint).int32(message.mode);
301
+ /* bool public = 9; */
302
+ if (message.public !== false)
303
+ writer.tag(9, WireType.Varint).bool(message.public);
304
+ /* resources.centrum.Configuration configuration = 10; */
305
+ if (message.configuration)
306
+ Configuration.internalBinaryWrite(message.configuration, writer.tag(10, WireType.LengthDelimited).fork(), options).join();
307
+ /* optional resources.centrum.EffectiveAccess effective_access = 11; */
308
+ if (message.effectiveAccess)
309
+ EffectiveAccess.internalBinaryWrite(message.effectiveAccess, writer.tag(11, WireType.LengthDelimited).fork(), options).join();
310
+ /* optional resources.centrum.CentrumAccess offered_access = 12; */
311
+ if (message.offeredAccess)
312
+ CentrumAccess.internalBinaryWrite(message.offeredAccess, writer.tag(12, WireType.LengthDelimited).fork(), options).join();
180
313
  let u = options.writeUnknownFields;
181
314
  if (u !== false)
182
315
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -191,9 +324,9 @@ export const Settings = new Settings$Type();
191
324
  class PredefinedStatus$Type extends MessageType<PredefinedStatus> {
192
325
  constructor() {
193
326
  super("resources.centrum.PredefinedStatus", [
194
- { no: 1, name: "unit_status", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { repeated: { maxItems: "20", items: { string: { maxLen: "64" } } } } } },
195
- { no: 2, name: "dispatch_status", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { repeated: { maxItems: "20", items: { string: { maxLen: "64" } } } } } }
196
- ]);
327
+ { no: 1, name: "unit_status", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "20", items: { string: { maxLen: "64" } } } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } },
328
+ { no: 2, name: "dispatch_status", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "20", items: { string: { maxLen: "64" } } } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "StripTags" } } }
329
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
197
330
  }
198
331
  create(value?: PartialMessage<PredefinedStatus>): PredefinedStatus {
199
332
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -246,10 +379,10 @@ export const PredefinedStatus = new PredefinedStatus$Type();
246
379
  class Timings$Type extends MessageType<Timings> {
247
380
  constructor() {
248
381
  super("resources.centrum.Timings", [
249
- { no: 1, name: "dispatch_max_wait", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "validate.rules": { int64: { lt: "6000", gt: "30" } } } },
382
+ { no: 1, name: "dispatch_max_wait", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { lt: "6000", gt: "30" } } } },
250
383
  { no: 2, name: "require_unit", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
251
- { no: 3, name: "require_unit_reminder_seconds", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "validate.rules": { int64: { lt: "6000", gt: "30" } } } }
252
- ]);
384
+ { no: 3, name: "require_unit_reminder_seconds", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { lt: "6000", gt: "30" } } } }
385
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
253
386
  }
254
387
  create(value?: PartialMessage<Timings>): Timings {
255
388
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -305,3 +438,220 @@ class Timings$Type extends MessageType<Timings> {
305
438
  * @generated MessageType for protobuf message resources.centrum.Timings
306
439
  */
307
440
  export const Timings = new Timings$Type();
441
+ // @generated message type with reflection information, may provide speed optimized methods
442
+ class Configuration$Type extends MessageType<Configuration> {
443
+ constructor() {
444
+ super("resources.centrum.Configuration", [
445
+ { no: 1, name: "deduplication_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
446
+ { no: 2, name: "deduplication_radius", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { lt: "1000000", gt: "5" } } } },
447
+ { no: 3, name: "deduplication_duration", kind: "message", T: () => Duration }
448
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
449
+ }
450
+ create(value?: PartialMessage<Configuration>): Configuration {
451
+ const message = globalThis.Object.create((this.messagePrototype!));
452
+ message.deduplicationEnabled = false;
453
+ message.deduplicationRadius = 0;
454
+ if (value !== undefined)
455
+ reflectionMergePartial<Configuration>(this, message, value);
456
+ return message;
457
+ }
458
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Configuration): Configuration {
459
+ let message = target ?? this.create(), end = reader.pos + length;
460
+ while (reader.pos < end) {
461
+ let [fieldNo, wireType] = reader.tag();
462
+ switch (fieldNo) {
463
+ case /* bool deduplication_enabled */ 1:
464
+ message.deduplicationEnabled = reader.bool();
465
+ break;
466
+ case /* int64 deduplication_radius */ 2:
467
+ message.deduplicationRadius = reader.int64().toNumber();
468
+ break;
469
+ case /* optional google.protobuf.Duration deduplication_duration */ 3:
470
+ message.deduplicationDuration = Duration.internalBinaryRead(reader, reader.uint32(), options, message.deduplicationDuration);
471
+ break;
472
+ default:
473
+ let u = options.readUnknownField;
474
+ if (u === "throw")
475
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
476
+ let d = reader.skip(wireType);
477
+ if (u !== false)
478
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
479
+ }
480
+ }
481
+ return message;
482
+ }
483
+ internalBinaryWrite(message: Configuration, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
484
+ /* bool deduplication_enabled = 1; */
485
+ if (message.deduplicationEnabled !== false)
486
+ writer.tag(1, WireType.Varint).bool(message.deduplicationEnabled);
487
+ /* int64 deduplication_radius = 2; */
488
+ if (message.deduplicationRadius !== 0)
489
+ writer.tag(2, WireType.Varint).int64(message.deduplicationRadius);
490
+ /* optional google.protobuf.Duration deduplication_duration = 3; */
491
+ if (message.deduplicationDuration)
492
+ Duration.internalBinaryWrite(message.deduplicationDuration, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
493
+ let u = options.writeUnknownFields;
494
+ if (u !== false)
495
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
496
+ return writer;
497
+ }
498
+ }
499
+ /**
500
+ * @generated MessageType for protobuf message resources.centrum.Configuration
501
+ */
502
+ export const Configuration = new Configuration$Type();
503
+ // @generated message type with reflection information, may provide speed optimized methods
504
+ class EffectiveAccess$Type extends MessageType<EffectiveAccess> {
505
+ constructor() {
506
+ super("resources.centrum.EffectiveAccess", [
507
+ { no: 1, name: "dispatches", kind: "message", T: () => EffectiveDispatchAccess }
508
+ ]);
509
+ }
510
+ create(value?: PartialMessage<EffectiveAccess>): EffectiveAccess {
511
+ const message = globalThis.Object.create((this.messagePrototype!));
512
+ if (value !== undefined)
513
+ reflectionMergePartial<EffectiveAccess>(this, message, value);
514
+ return message;
515
+ }
516
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EffectiveAccess): EffectiveAccess {
517
+ let message = target ?? this.create(), end = reader.pos + length;
518
+ while (reader.pos < end) {
519
+ let [fieldNo, wireType] = reader.tag();
520
+ switch (fieldNo) {
521
+ case /* resources.centrum.EffectiveDispatchAccess dispatches */ 1:
522
+ message.dispatches = EffectiveDispatchAccess.internalBinaryRead(reader, reader.uint32(), options, message.dispatches);
523
+ break;
524
+ default:
525
+ let u = options.readUnknownField;
526
+ if (u === "throw")
527
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
528
+ let d = reader.skip(wireType);
529
+ if (u !== false)
530
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
531
+ }
532
+ }
533
+ return message;
534
+ }
535
+ internalBinaryWrite(message: EffectiveAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
536
+ /* resources.centrum.EffectiveDispatchAccess dispatches = 1; */
537
+ if (message.dispatches)
538
+ EffectiveDispatchAccess.internalBinaryWrite(message.dispatches, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
539
+ let u = options.writeUnknownFields;
540
+ if (u !== false)
541
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
542
+ return writer;
543
+ }
544
+ }
545
+ /**
546
+ * @generated MessageType for protobuf message resources.centrum.EffectiveAccess
547
+ */
548
+ export const EffectiveAccess = new EffectiveAccess$Type();
549
+ // @generated message type with reflection information, may provide speed optimized methods
550
+ class EffectiveDispatchAccess$Type extends MessageType<EffectiveDispatchAccess> {
551
+ constructor() {
552
+ super("resources.centrum.EffectiveDispatchAccess", [
553
+ { no: 1, name: "jobs", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => JobAccessEntry, options: { "tagger.tags": "alias:\"job_access\"" } }
554
+ ]);
555
+ }
556
+ create(value?: PartialMessage<EffectiveDispatchAccess>): EffectiveDispatchAccess {
557
+ const message = globalThis.Object.create((this.messagePrototype!));
558
+ message.jobs = [];
559
+ if (value !== undefined)
560
+ reflectionMergePartial<EffectiveDispatchAccess>(this, message, value);
561
+ return message;
562
+ }
563
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EffectiveDispatchAccess): EffectiveDispatchAccess {
564
+ let message = target ?? this.create(), end = reader.pos + length;
565
+ while (reader.pos < end) {
566
+ let [fieldNo, wireType] = reader.tag();
567
+ switch (fieldNo) {
568
+ case /* repeated resources.centrum.JobAccessEntry jobs */ 1:
569
+ message.jobs.push(JobAccessEntry.internalBinaryRead(reader, reader.uint32(), options));
570
+ break;
571
+ default:
572
+ let u = options.readUnknownField;
573
+ if (u === "throw")
574
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
575
+ let d = reader.skip(wireType);
576
+ if (u !== false)
577
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
578
+ }
579
+ }
580
+ return message;
581
+ }
582
+ internalBinaryWrite(message: EffectiveDispatchAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
583
+ /* repeated resources.centrum.JobAccessEntry jobs = 1; */
584
+ for (let i = 0; i < message.jobs.length; i++)
585
+ JobAccessEntry.internalBinaryWrite(message.jobs[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
586
+ let u = options.writeUnknownFields;
587
+ if (u !== false)
588
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
589
+ return writer;
590
+ }
591
+ }
592
+ /**
593
+ * @generated MessageType for protobuf message resources.centrum.EffectiveDispatchAccess
594
+ */
595
+ export const EffectiveDispatchAccess = new EffectiveDispatchAccess$Type();
596
+ // @generated message type with reflection information, may provide speed optimized methods
597
+ class JobAccessEntry$Type extends MessageType<JobAccessEntry> {
598
+ constructor() {
599
+ super("resources.centrum.JobAccessEntry", [
600
+ { no: 1, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
601
+ { no: 2, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
602
+ { no: 3, name: "access", kind: "enum", T: () => ["resources.centrum.CentrumAccessLevel", CentrumAccessLevel, "CENTRUM_ACCESS_LEVEL_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } }
603
+ ]);
604
+ }
605
+ create(value?: PartialMessage<JobAccessEntry>): JobAccessEntry {
606
+ const message = globalThis.Object.create((this.messagePrototype!));
607
+ message.job = "";
608
+ message.access = 0;
609
+ if (value !== undefined)
610
+ reflectionMergePartial<JobAccessEntry>(this, message, value);
611
+ return message;
612
+ }
613
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JobAccessEntry): JobAccessEntry {
614
+ let message = target ?? this.create(), end = reader.pos + length;
615
+ while (reader.pos < end) {
616
+ let [fieldNo, wireType] = reader.tag();
617
+ switch (fieldNo) {
618
+ case /* string job */ 1:
619
+ message.job = reader.string();
620
+ break;
621
+ case /* optional string job_label */ 2:
622
+ message.jobLabel = reader.string();
623
+ break;
624
+ case /* resources.centrum.CentrumAccessLevel access */ 3:
625
+ message.access = reader.int32();
626
+ break;
627
+ default:
628
+ let u = options.readUnknownField;
629
+ if (u === "throw")
630
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
631
+ let d = reader.skip(wireType);
632
+ if (u !== false)
633
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
634
+ }
635
+ }
636
+ return message;
637
+ }
638
+ internalBinaryWrite(message: JobAccessEntry, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
639
+ /* string job = 1; */
640
+ if (message.job !== "")
641
+ writer.tag(1, WireType.LengthDelimited).string(message.job);
642
+ /* optional string job_label = 2; */
643
+ if (message.jobLabel !== undefined)
644
+ writer.tag(2, WireType.LengthDelimited).string(message.jobLabel);
645
+ /* resources.centrum.CentrumAccessLevel access = 3; */
646
+ if (message.access !== 0)
647
+ writer.tag(3, WireType.Varint).int32(message.access);
648
+ let u = options.writeUnknownFields;
649
+ if (u !== false)
650
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
651
+ return writer;
652
+ }
653
+ }
654
+ /**
655
+ * @generated MessageType for protobuf message resources.centrum.JobAccessEntry
656
+ */
657
+ export const JobAccessEntry = new JobAccessEntry$Type();