@fivenet-app/gen 2025.5.3 → 2026.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/README.md +1 -1
  2. package/buf/validate/validate.ts +11301 -0
  3. package/clients.ts +193 -154
  4. package/codegen/dbscanner/dbscanner.ts +91 -0
  5. package/codegen/perms/perms.ts +287 -0
  6. package/codegen/sanitizer/sanitizer.ts +113 -0
  7. package/google/protobuf/any.ts +4 -3
  8. package/google/protobuf/descriptor.ts +393 -239
  9. package/google/protobuf/duration.ts +4 -3
  10. package/google/protobuf/struct.ts +485 -0
  11. package/google/protobuf/timestamp.ts +4 -3
  12. package/package.json +3 -3
  13. package/perms.ts +217 -160
  14. package/resources/accounts/accounts.ts +115 -47
  15. package/resources/accounts/{oauth2.ts → oauth2/oauth2.ts} +33 -32
  16. package/resources/audit/audit.ts +172 -53
  17. package/resources/calendar/{access.ts → access/access.ts} +72 -71
  18. package/resources/calendar/calendar.ts +79 -543
  19. package/resources/calendar/entries/entries.ts +474 -0
  20. package/resources/centrum/access/access.ts +345 -0
  21. package/resources/centrum/dispatchers/dispatchers.ts +149 -0
  22. package/resources/centrum/{dispatches.ts → dispatches/dispatches.ts} +267 -164
  23. package/resources/centrum/joblist.ts +136 -0
  24. package/resources/centrum/settings/settings.ts +657 -0
  25. package/resources/centrum/{units_access.ts → units/access/access.ts} +78 -79
  26. package/resources/centrum/{units.ts → units/units.ts} +230 -130
  27. package/resources/clientconfig/clientconfig.ts +1015 -0
  28. package/resources/collab/collab.ts +805 -0
  29. package/resources/common/content/content.ts +169 -63
  30. package/resources/common/content/diff_activity.ts +267 -0
  31. package/resources/common/database/database.ts +92 -35
  32. package/resources/common/error.ts +17 -16
  33. package/resources/common/i18n.ts +20 -24
  34. package/resources/common/id_mapping.ts +69 -0
  35. package/resources/common/tests/objects.ts +4 -3
  36. package/resources/{common/cron → cron}/cron.ts +77 -65
  37. package/resources/discord/discord.ts +209 -0
  38. package/resources/documents/{access.ts → access/access.ts} +75 -76
  39. package/resources/documents/{activity.ts → activity/activity.ts} +349 -124
  40. package/resources/documents/approval/approval.ts +945 -0
  41. package/resources/documents/{category.ts → category/category.ts} +25 -32
  42. package/resources/documents/{comment.ts → comment/comment.ts} +35 -34
  43. package/resources/documents/data/data.ts +303 -0
  44. package/resources/documents/documents.ts +374 -686
  45. package/resources/{common/uuid.ts → documents/forms/forms.ts} +22 -21
  46. package/resources/documents/pins/pins.ts +127 -0
  47. package/resources/documents/references/references.ts +187 -0
  48. package/resources/documents/relations/relations.ts +184 -0
  49. package/resources/documents/{requests.ts → requests/requests.ts} +45 -44
  50. package/resources/documents/stamps/stamp.ts +355 -0
  51. package/resources/documents/{templates.ts → templates/templates.ts} +524 -199
  52. package/resources/documents/workflow/workflow.ts +600 -0
  53. package/resources/file/file.ts +152 -0
  54. package/{services/settings → resources/file}/filestore.ts +179 -165
  55. package/resources/file/meta.ts +148 -0
  56. package/resources/{common/grpcws → grpcws}/grpcws.ts +66 -65
  57. package/resources/jobs/{activity.ts → colleagues/activity/activity.ts} +83 -86
  58. package/resources/jobs/{colleagues.ts → colleagues/colleagues.ts} +76 -80
  59. package/resources/jobs/{conduct.ts → conduct/conduct.ts} +86 -62
  60. package/resources/jobs/jobs.ts +14 -13
  61. package/resources/jobs/{labels.ts → labels/labels.ts} +36 -37
  62. package/resources/jobs/{job_props.ts → props/props.ts} +63 -65
  63. package/resources/jobs/{job_settings.ts → settings/settings.ts} +89 -96
  64. package/resources/jobs/{timeclock.ts → timeclock/timeclock.ts} +42 -41
  65. package/resources/laws/laws.ts +40 -49
  66. package/resources/livemap/coords.ts +81 -0
  67. package/resources/livemap/heatmap/heatmap.ts +93 -0
  68. package/resources/livemap/{livemap.ts → markers/marker_marker.ts} +68 -335
  69. package/resources/livemap/markers/user_marker.ts +377 -0
  70. package/resources/mailer/{access.ts → access/access.ts} +119 -118
  71. package/resources/mailer/{email.ts → emails/email.ts} +38 -41
  72. package/resources/mailer/{events.ts → events/events.ts} +44 -43
  73. package/resources/mailer/{message.ts → messages/message.ts} +69 -74
  74. package/resources/mailer/{settings.ts → settings/settings.ts} +23 -25
  75. package/resources/mailer/{template.ts → templates/template.ts} +37 -40
  76. package/resources/mailer/{thread.ts → threads/thread.ts} +93 -94
  77. package/resources/notifications/clientview/clientview.ts +239 -0
  78. package/resources/notifications/{events.ts → events/events.ts} +67 -130
  79. package/resources/notifications/notifications.ts +55 -60
  80. package/resources/permissions/{attributes.ts → attributes/attributes.ts} +94 -237
  81. package/resources/permissions/events/events.ts +149 -0
  82. package/resources/permissions/{permissions.ts → permissions/permissions.ts} +127 -47
  83. package/resources/qualifications/{access.ts → access/access.ts} +43 -42
  84. package/resources/qualifications/{exam.ts → exam/exam.ts} +419 -229
  85. package/resources/qualifications/qualifications.ts +327 -388
  86. package/resources/settings/banner.ts +14 -21
  87. package/resources/settings/config.ts +663 -79
  88. package/resources/settings/data.ts +90 -0
  89. package/resources/settings/perms.ts +151 -0
  90. package/resources/settings/status.ts +533 -0
  91. package/resources/stats/stats.ts +382 -2
  92. package/resources/sync/{activity.ts → activity/activity.ts} +126 -46
  93. package/resources/sync/data/data.ts +1001 -0
  94. package/resources/sync/data/v2/data.ts +220 -0
  95. package/resources/timestamp/timestamp.ts +3 -2
  96. package/resources/{centrum/user_unit.ts → tracker/mapping.ts} +44 -44
  97. package/resources/userinfo/userinfo.ts +442 -0
  98. package/resources/users/{activity.ts → activity/activity.ts} +182 -166
  99. package/resources/users/{labels.ts → labels/labels.ts} +27 -30
  100. package/resources/users/{licenses.ts → licenses/licenses.ts} +18 -17
  101. package/resources/users/{props.ts → props/props.ts} +109 -77
  102. package/resources/users/short/user.ts +184 -0
  103. package/resources/users/user.ts +528 -0
  104. package/resources/vehicles/activity/activity.ts +231 -0
  105. package/resources/vehicles/props/props.ts +125 -0
  106. package/resources/vehicles/vehicles.ts +43 -18
  107. package/resources/wiki/{access.ts → access/access.ts} +72 -71
  108. package/resources/wiki/{activity.ts → activity/activity.ts} +218 -102
  109. package/resources/wiki/page.ts +164 -93
  110. package/services/auth/auth.client.ts +45 -35
  111. package/services/auth/auth.ts +498 -288
  112. package/services/calendar/calendar.client.ts +32 -91
  113. package/services/calendar/calendar.ts +157 -134
  114. package/services/centrum/centrum.client.ts +97 -137
  115. package/services/centrum/centrum.ts +755 -352
  116. package/services/citizens/citizens.client.ts +70 -39
  117. package/services/citizens/citizens.ts +226 -112
  118. package/services/completor/completor.client.ts +16 -35
  119. package/services/completor/completor.ts +95 -54
  120. package/services/documents/approval.client.ts +188 -0
  121. package/services/documents/approval.ts +1776 -0
  122. package/services/documents/collab.client.ts +46 -0
  123. package/services/documents/collab.ts +13 -0
  124. package/services/documents/documents.client.ts +88 -217
  125. package/services/documents/documents.ts +579 -619
  126. package/services/documents/forms.client.ts +51 -0
  127. package/services/documents/forms.ts +232 -0
  128. package/services/documents/stamps.client.ts +77 -0
  129. package/services/documents/stamps.ts +481 -0
  130. package/services/documents/stats.client.ts +38 -0
  131. package/services/documents/stats.ts +245 -0
  132. package/services/filestore/filestore.client.ts +86 -0
  133. package/services/filestore/filestore.ts +262 -0
  134. package/services/jobs/conduct.client.ts +40 -28
  135. package/services/jobs/conduct.ts +183 -56
  136. package/services/jobs/jobs.client.ts +22 -61
  137. package/services/jobs/jobs.ts +138 -121
  138. package/services/jobs/stats.client.ts +38 -0
  139. package/services/jobs/stats.ts +207 -0
  140. package/services/jobs/timeclock.client.ts +8 -19
  141. package/services/jobs/timeclock.ts +76 -75
  142. package/services/livemap/livemap.client.ts +8 -19
  143. package/services/livemap/livemap.ts +297 -126
  144. package/services/mailer/mailer.client.ts +44 -127
  145. package/services/mailer/mailer.ts +266 -269
  146. package/services/notifications/notifications.client.ts +65 -0
  147. package/services/{notificator/notificator.ts → notifications/notifications.ts} +126 -83
  148. package/services/qualifications/qualifications.client.ts +46 -91
  149. package/services/qualifications/qualifications.ts +250 -209
  150. package/services/settings/accounts.client.ts +31 -33
  151. package/services/settings/accounts.ts +251 -67
  152. package/services/settings/config.client.ts +6 -13
  153. package/services/settings/config.ts +8 -7
  154. package/services/settings/cron.client.ts +4 -7
  155. package/services/settings/cron.ts +7 -6
  156. package/services/settings/laws.client.ts +10 -25
  157. package/services/settings/laws.ts +30 -29
  158. package/services/settings/settings.client.ts +57 -103
  159. package/services/settings/settings.ts +237 -633
  160. package/services/settings/system.client.ts +103 -0
  161. package/services/settings/system.ts +718 -0
  162. package/services/stats/stats.client.ts +9 -8
  163. package/services/stats/stats.ts +27 -26
  164. package/services/sync/sync.client.ts +16 -15
  165. package/services/sync/sync.ts +174 -97
  166. package/services/sync/v2/sync.client.ts +331 -0
  167. package/services/sync/v2/sync.ts +1766 -0
  168. package/services/vehicles/vehicles.client.ts +17 -7
  169. package/services/vehicles/vehicles.ts +170 -25
  170. package/services/wiki/collab.client.ts +46 -0
  171. package/services/wiki/collab.ts +13 -0
  172. package/services/wiki/wiki.client.ts +28 -37
  173. package/services/wiki/wiki.ts +97 -67
  174. package/svcs.ts +174 -106
  175. package/resources/centrum/attributes.ts +0 -186
  176. package/resources/centrum/disponents.ts +0 -81
  177. package/resources/centrum/settings.ts +0 -307
  178. package/resources/documents/workflow.ts +0 -351
  179. package/resources/filestore/file.ts +0 -204
  180. package/resources/internet/access.ts +0 -358
  181. package/resources/internet/ads.ts +0 -257
  182. package/resources/internet/domain.ts +0 -328
  183. package/resources/internet/page.ts +0 -428
  184. package/resources/internet/search.ts +0 -128
  185. package/resources/livemap/tracker.ts +0 -81
  186. package/resources/sync/data.ts +0 -587
  187. package/resources/users/users.ts +0 -435
  188. package/services/internet/ads.client.ts +0 -41
  189. package/services/internet/ads.ts +0 -145
  190. package/services/internet/domain.client.ts +0 -109
  191. package/services/internet/domain.ts +0 -658
  192. package/services/internet/internet.client.ts +0 -58
  193. package/services/internet/internet.ts +0 -268
  194. package/services/notificator/notificator.client.ts +0 -76
  195. package/services/settings/filestore.client.ts +0 -75
@@ -1,5 +1,6 @@
1
- // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
2
  // @generated from protobuf file "resources/settings/config.proto" (package "resources.settings", 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";
@@ -12,59 +13,78 @@ import { reflectionMergePartial } from "@protobuf-ts/runtime";
12
13
  import { MessageType } from "@protobuf-ts/runtime";
13
14
  import { BannerMessage } from "./banner";
14
15
  import { Duration } from "../../google/protobuf/duration";
16
+ import { Data } from "./data";
15
17
  /**
16
- * @dbscanner: json,partial
17
- *
18
18
  * @generated from protobuf message resources.settings.AppConfig
19
19
  */
20
20
  export interface AppConfig {
21
21
  /**
22
- * @generated from protobuf field: optional string version = 1;
22
+ * @generated from protobuf field: optional string version = 1
23
23
  */
24
24
  version?: string;
25
25
  /**
26
- * @generated from protobuf field: string default_locale = 8;
26
+ * @generated from protobuf field: string default_locale = 8
27
27
  */
28
28
  defaultLocale: string;
29
29
  /**
30
- * @generated from protobuf field: resources.settings.Auth auth = 2;
30
+ * @generated from protobuf field: resources.settings.Auth auth = 2
31
31
  */
32
32
  auth?: Auth;
33
33
  /**
34
- * @generated from protobuf field: resources.settings.Perms perms = 3;
34
+ * @generated from protobuf field: resources.settings.Perms perms = 3
35
35
  */
36
36
  perms?: Perms;
37
37
  /**
38
- * @generated from protobuf field: resources.settings.Website website = 4;
38
+ * @generated from protobuf field: resources.settings.Website website = 4
39
39
  */
40
40
  website?: Website;
41
41
  /**
42
- * @generated from protobuf field: resources.settings.JobInfo job_info = 5;
42
+ * @generated from protobuf field: resources.settings.JobInfo job_info = 5
43
43
  */
44
44
  jobInfo?: JobInfo;
45
45
  /**
46
- * @generated from protobuf field: resources.settings.UserTracker user_tracker = 6;
46
+ * @generated from protobuf field: resources.settings.UserTracker user_tracker = 6
47
47
  */
48
48
  userTracker?: UserTracker;
49
49
  /**
50
- * @generated from protobuf field: resources.settings.Discord discord = 7;
50
+ * @generated from protobuf field: resources.settings.Discord discord = 7
51
51
  */
52
52
  discord?: Discord;
53
53
  /**
54
- * @generated from protobuf field: resources.settings.System system = 9;
54
+ * @generated from protobuf field: resources.settings.System system = 9
55
55
  */
56
56
  system?: System;
57
+ /**
58
+ * @generated from protobuf field: resources.settings.Display display = 10
59
+ */
60
+ display?: Display;
61
+ /**
62
+ * @generated from protobuf field: resources.settings.QuickButtons quick_buttons = 11
63
+ */
64
+ quickButtons?: QuickButtons;
65
+ /**
66
+ * @generated from protobuf field: resources.settings.Data data = 12
67
+ */
68
+ data?: Data;
69
+ /**
70
+ * @generated from protobuf field: resources.settings.Livemap livemap = 13
71
+ */
72
+ livemap?: Livemap;
73
+ /**
74
+ * @generated from protobuf field: resources.settings.Game game = 14
75
+ */
76
+ game?: Game;
57
77
  }
58
78
  /**
59
79
  * @generated from protobuf message resources.settings.Auth
60
80
  */
61
81
  export interface Auth {
62
82
  /**
63
- * @generated from protobuf field: bool signup_enabled = 1;
83
+ * @generated from protobuf field: bool signup_enabled = 1
64
84
  */
65
85
  signupEnabled: boolean;
66
86
  /**
67
- * @generated from protobuf field: bool last_char_lock = 2;
87
+ * @generated from protobuf field: bool last_char_lock = 2
68
88
  */
69
89
  lastCharLock: boolean;
70
90
  }
@@ -73,7 +93,7 @@ export interface Auth {
73
93
  */
74
94
  export interface Perms {
75
95
  /**
76
- * @generated from protobuf field: repeated resources.settings.Perm default = 1;
96
+ * @generated from protobuf field: repeated resources.settings.Perm default = 1
77
97
  */
78
98
  default: Perm[];
79
99
  }
@@ -82,15 +102,11 @@ export interface Perms {
82
102
  */
83
103
  export interface Perm {
84
104
  /**
85
- * @sanitize: method=StripTags
86
- *
87
- * @generated from protobuf field: string category = 1;
105
+ * @generated from protobuf field: string category = 1
88
106
  */
89
107
  category: string;
90
108
  /**
91
- * @sanitize: method=StripTags
92
- *
93
- * @generated from protobuf field: string name = 2;
109
+ * @generated from protobuf field: string name = 2
94
110
  */
95
111
  name: string;
96
112
  }
@@ -99,11 +115,11 @@ export interface Perm {
99
115
  */
100
116
  export interface Website {
101
117
  /**
102
- * @generated from protobuf field: resources.settings.Links links = 1;
118
+ * @generated from protobuf field: resources.settings.Links links = 1
103
119
  */
104
120
  links?: Links;
105
121
  /**
106
- * @generated from protobuf field: bool stats_page = 2;
122
+ * @generated from protobuf field: bool stats_page = 2
107
123
  */
108
124
  statsPage: boolean;
109
125
  }
@@ -112,15 +128,11 @@ export interface Website {
112
128
  */
113
129
  export interface Links {
114
130
  /**
115
- * @sanitize: method=StripTags
116
- *
117
- * @generated from protobuf field: optional string privacy_policy = 1;
131
+ * @generated from protobuf field: optional string privacy_policy = 1
118
132
  */
119
133
  privacyPolicy?: string;
120
134
  /**
121
- * @sanitize: method=StripTags
122
- *
123
- * @generated from protobuf field: optional string imprint = 2;
135
+ * @generated from protobuf field: optional string imprint = 2
124
136
  */
125
137
  imprint?: string;
126
138
  }
@@ -129,19 +141,15 @@ export interface Links {
129
141
  */
130
142
  export interface JobInfo {
131
143
  /**
132
- * @generated from protobuf field: resources.settings.UnemployedJob unemployed_job = 1;
144
+ * @generated from protobuf field: resources.settings.UnemployedJob unemployed_job = 1
133
145
  */
134
146
  unemployedJob?: UnemployedJob;
135
147
  /**
136
- * @sanitize: method=StripTags
137
- *
138
- * @generated from protobuf field: repeated string public_jobs = 2;
148
+ * @generated from protobuf field: repeated string public_jobs = 2
139
149
  */
140
150
  publicJobs: string[];
141
151
  /**
142
- * @sanitize: method=StripTags
143
- *
144
- * @generated from protobuf field: repeated string hidden_jobs = 3;
152
+ * @generated from protobuf field: repeated string hidden_jobs = 3
145
153
  */
146
154
  hiddenJobs: string[];
147
155
  }
@@ -150,11 +158,11 @@ export interface JobInfo {
150
158
  */
151
159
  export interface UnemployedJob {
152
160
  /**
153
- * @generated from protobuf field: string name = 1;
161
+ * @generated from protobuf field: string name = 1
154
162
  */
155
163
  name: string;
156
164
  /**
157
- * @generated from protobuf field: int32 grade = 2;
165
+ * @generated from protobuf field: int32 grade = 2
158
166
  */
159
167
  grade: number;
160
168
  }
@@ -163,11 +171,11 @@ export interface UnemployedJob {
163
171
  */
164
172
  export interface UserTracker {
165
173
  /**
166
- * @generated from protobuf field: google.protobuf.Duration refresh_time = 1;
174
+ * @generated from protobuf field: google.protobuf.Duration refresh_time = 1
167
175
  */
168
176
  refreshTime?: Duration;
169
177
  /**
170
- * @generated from protobuf field: google.protobuf.Duration db_refresh_time = 2;
178
+ * @generated from protobuf field: google.protobuf.Duration db_refresh_time = 2
171
179
  */
172
180
  dbRefreshTime?: Duration;
173
181
  }
@@ -176,48 +184,48 @@ export interface UserTracker {
176
184
  */
177
185
  export interface Discord {
178
186
  /**
179
- * @generated from protobuf field: bool enabled = 1;
187
+ * @generated from protobuf field: bool enabled = 1
180
188
  */
181
189
  enabled: boolean;
182
190
  /**
183
- * @generated from protobuf field: google.protobuf.Duration sync_interval = 2;
191
+ * @generated from protobuf field: google.protobuf.Duration sync_interval = 2
184
192
  */
185
193
  syncInterval?: Duration;
186
194
  /**
187
- * @sanitize: method=StripTags
188
- *
189
- * @generated from protobuf field: optional string invite_url = 3;
195
+ * @generated from protobuf field: optional string invite_url = 3
190
196
  */
191
197
  inviteUrl?: string;
192
198
  /**
193
- * @sanitize: method=StripTags
194
- *
195
- * @generated from protobuf field: repeated string ignored_jobs = 4;
199
+ * @generated from protobuf field: repeated string ignored_jobs = 4
196
200
  */
197
201
  ignoredJobs: string[];
198
202
  /**
199
- * @generated from protobuf field: optional resources.settings.DiscordBotPresence bot_presence = 5;
203
+ * @generated from protobuf field: optional resources.settings.DiscordBotPresence bot_presence = 5
200
204
  */
201
205
  botPresence?: DiscordBotPresence;
206
+ /**
207
+ * @generated from protobuf field: optional string bot_id = 6
208
+ */
209
+ botId?: string;
210
+ /**
211
+ * @generated from protobuf field: int64 bot_permissions = 7
212
+ */
213
+ botPermissions: number;
202
214
  }
203
215
  /**
204
216
  * @generated from protobuf message resources.settings.DiscordBotPresence
205
217
  */
206
218
  export interface DiscordBotPresence {
207
219
  /**
208
- * @generated from protobuf field: resources.settings.DiscordBotPresenceType type = 1;
220
+ * @generated from protobuf field: resources.settings.DiscordBotPresenceType type = 1
209
221
  */
210
222
  type: DiscordBotPresenceType;
211
223
  /**
212
- * @sanitize: method=StripTags
213
- *
214
- * @generated from protobuf field: optional string status = 2;
224
+ * @generated from protobuf field: optional string status = 2
215
225
  */
216
226
  status?: string;
217
227
  /**
218
- * @sanitize: method=StripTags
219
- *
220
- * @generated from protobuf field: optional string url = 3;
228
+ * @generated from protobuf field: optional string url = 3
221
229
  */
222
230
  url?: string;
223
231
  }
@@ -226,14 +234,129 @@ export interface DiscordBotPresence {
226
234
  */
227
235
  export interface System {
228
236
  /**
229
- * @generated from protobuf field: bool banner_message_enabled = 1;
237
+ * @generated from protobuf field: bool banner_message_enabled = 1
230
238
  */
231
239
  bannerMessageEnabled: boolean;
232
240
  /**
233
- * @generated from protobuf field: resources.settings.BannerMessage banner_message = 2;
241
+ * @generated from protobuf field: resources.settings.BannerMessage banner_message = 2
234
242
  */
235
243
  bannerMessage?: BannerMessage;
236
244
  }
245
+ /**
246
+ * @generated from protobuf message resources.settings.Display
247
+ */
248
+ export interface Display {
249
+ /**
250
+ * IETF BCP 47 language tag (e.g. "en-US", "de-DE")
251
+ *
252
+ * @generated from protobuf field: optional string intl_locale = 1
253
+ */
254
+ intlLocale?: string;
255
+ /**
256
+ * ISO 4217 currency code (e.g. "USD", "EUR")
257
+ *
258
+ * @generated from protobuf field: string currency_name = 2
259
+ */
260
+ currencyName: string;
261
+ }
262
+ /**
263
+ * @generated from protobuf message resources.settings.QuickButtons
264
+ */
265
+ export interface QuickButtons {
266
+ /**
267
+ * @generated from protobuf field: resources.settings.PenaltyCalculator penalty_calculator = 1
268
+ */
269
+ penaltyCalculator?: PenaltyCalculator;
270
+ }
271
+ /**
272
+ * @generated from protobuf message resources.settings.PenaltyCalculator
273
+ */
274
+ export interface PenaltyCalculator {
275
+ /**
276
+ * @generated from protobuf field: optional uint32 max_count = 1
277
+ */
278
+ maxCount?: number;
279
+ /**
280
+ * @generated from protobuf field: optional resources.settings.PenaltyCalculatorDetentionTimeUnit detention_time_unit = 2
281
+ */
282
+ detentionTimeUnit?: PenaltyCalculatorDetentionTimeUnit;
283
+ /**
284
+ * @generated from protobuf field: optional resources.settings.PenaltyCalculatorWarn warn_settings = 3
285
+ */
286
+ warnSettings?: PenaltyCalculatorWarn;
287
+ /**
288
+ * @generated from protobuf field: optional uint32 max_leeway = 4
289
+ */
290
+ maxLeeway?: number;
291
+ }
292
+ /**
293
+ * @generated from protobuf message resources.settings.PenaltyCalculatorDetentionTimeUnit
294
+ */
295
+ export interface PenaltyCalculatorDetentionTimeUnit {
296
+ /**
297
+ * @generated from protobuf field: optional string singular = 1
298
+ */
299
+ singular?: string;
300
+ /**
301
+ * @generated from protobuf field: optional string plural = 2
302
+ */
303
+ plural?: string;
304
+ }
305
+ /**
306
+ * @generated from protobuf message resources.settings.PenaltyCalculatorWarn
307
+ */
308
+ export interface PenaltyCalculatorWarn {
309
+ /**
310
+ * @generated from protobuf field: bool enabled = 1
311
+ */
312
+ enabled: boolean;
313
+ /**
314
+ * @generated from protobuf field: optional uint32 fine = 2
315
+ */
316
+ fine?: number;
317
+ /**
318
+ * @generated from protobuf field: optional uint32 detention_time = 3
319
+ */
320
+ detentionTime?: number;
321
+ /**
322
+ * @generated from protobuf field: optional uint32 stvo_points = 4
323
+ */
324
+ stvoPoints?: number;
325
+ /**
326
+ * @generated from protobuf field: optional string warn_message = 5
327
+ */
328
+ warnMessage?: string;
329
+ }
330
+ /**
331
+ * @generated from protobuf message resources.settings.Livemap
332
+ */
333
+ export interface Livemap {
334
+ /**
335
+ * @generated from protobuf field: bool enable_cayo_perico = 1
336
+ */
337
+ enableCayoPerico: boolean;
338
+ }
339
+ /**
340
+ * @generated from protobuf message resources.settings.Game
341
+ */
342
+ export interface Game {
343
+ /**
344
+ * @generated from protobuf field: bool max_wanted_duration_user_enabled = 4
345
+ */
346
+ maxWantedDurationUserEnabled: boolean;
347
+ /**
348
+ * @generated from protobuf field: optional google.protobuf.Duration max_wanted_duration_user = 5
349
+ */
350
+ maxWantedDurationUser?: Duration;
351
+ /**
352
+ * @generated from protobuf field: bool max_wanted_duration_vehicle_enabled = 6
353
+ */
354
+ maxWantedDurationVehicleEnabled: boolean;
355
+ /**
356
+ * @generated from protobuf field: optional google.protobuf.Duration max_wanted_duration_vehicle = 7
357
+ */
358
+ maxWantedDurationVehicle?: Duration;
359
+ }
237
360
  /**
238
361
  * @generated from protobuf enum resources.settings.DiscordBotPresenceType
239
362
  */
@@ -264,15 +387,20 @@ class AppConfig$Type extends MessageType<AppConfig> {
264
387
  constructor() {
265
388
  super("resources.settings.AppConfig", [
266
389
  { no: 1, name: "version", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
267
- { no: 8, name: "default_locale", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
390
+ { no: 8, name: "default_locale", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
268
391
  { no: 2, name: "auth", kind: "message", T: () => Auth },
269
392
  { no: 3, name: "perms", kind: "message", T: () => Perms },
270
393
  { no: 4, name: "website", kind: "message", T: () => Website },
271
394
  { no: 5, name: "job_info", kind: "message", T: () => JobInfo },
272
395
  { no: 6, name: "user_tracker", kind: "message", T: () => UserTracker },
273
396
  { no: 7, name: "discord", kind: "message", T: () => Discord },
274
- { no: 9, name: "system", kind: "message", T: () => System }
275
- ]);
397
+ { no: 9, name: "system", kind: "message", T: () => System },
398
+ { no: 10, name: "display", kind: "message", T: () => Display },
399
+ { no: 11, name: "quick_buttons", kind: "message", T: () => QuickButtons },
400
+ { no: 12, name: "data", kind: "message", T: () => Data },
401
+ { no: 13, name: "livemap", kind: "message", T: () => Livemap },
402
+ { no: 14, name: "game", kind: "message", T: () => Game }
403
+ ], { "codegen.dbscanner.dbscanner": { enabled: true, partial: true } });
276
404
  }
277
405
  create(value?: PartialMessage<AppConfig>): AppConfig {
278
406
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -313,6 +441,21 @@ class AppConfig$Type extends MessageType<AppConfig> {
313
441
  case /* resources.settings.System system */ 9:
314
442
  message.system = System.internalBinaryRead(reader, reader.uint32(), options, message.system);
315
443
  break;
444
+ case /* resources.settings.Display display */ 10:
445
+ message.display = Display.internalBinaryRead(reader, reader.uint32(), options, message.display);
446
+ break;
447
+ case /* resources.settings.QuickButtons quick_buttons */ 11:
448
+ message.quickButtons = QuickButtons.internalBinaryRead(reader, reader.uint32(), options, message.quickButtons);
449
+ break;
450
+ case /* resources.settings.Data data */ 12:
451
+ message.data = Data.internalBinaryRead(reader, reader.uint32(), options, message.data);
452
+ break;
453
+ case /* resources.settings.Livemap livemap */ 13:
454
+ message.livemap = Livemap.internalBinaryRead(reader, reader.uint32(), options, message.livemap);
455
+ break;
456
+ case /* resources.settings.Game game */ 14:
457
+ message.game = Game.internalBinaryRead(reader, reader.uint32(), options, message.game);
458
+ break;
316
459
  default:
317
460
  let u = options.readUnknownField;
318
461
  if (u === "throw")
@@ -352,6 +495,21 @@ class AppConfig$Type extends MessageType<AppConfig> {
352
495
  /* resources.settings.System system = 9; */
353
496
  if (message.system)
354
497
  System.internalBinaryWrite(message.system, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
498
+ /* resources.settings.Display display = 10; */
499
+ if (message.display)
500
+ Display.internalBinaryWrite(message.display, writer.tag(10, WireType.LengthDelimited).fork(), options).join();
501
+ /* resources.settings.QuickButtons quick_buttons = 11; */
502
+ if (message.quickButtons)
503
+ QuickButtons.internalBinaryWrite(message.quickButtons, writer.tag(11, WireType.LengthDelimited).fork(), options).join();
504
+ /* resources.settings.Data data = 12; */
505
+ if (message.data)
506
+ Data.internalBinaryWrite(message.data, writer.tag(12, WireType.LengthDelimited).fork(), options).join();
507
+ /* resources.settings.Livemap livemap = 13; */
508
+ if (message.livemap)
509
+ Livemap.internalBinaryWrite(message.livemap, writer.tag(13, WireType.LengthDelimited).fork(), options).join();
510
+ /* resources.settings.Game game = 14; */
511
+ if (message.game)
512
+ Game.internalBinaryWrite(message.game, writer.tag(14, WireType.LengthDelimited).fork(), options).join();
355
513
  let u = options.writeUnknownFields;
356
514
  if (u !== false)
357
515
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -421,7 +579,7 @@ export const Auth = new Auth$Type();
421
579
  class Perms$Type extends MessageType<Perms> {
422
580
  constructor() {
423
581
  super("resources.settings.Perms", [
424
- { no: 1, name: "default", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Perm, options: { "validate.rules": { repeated: { maxItems: "100" } } } }
582
+ { no: 1, name: "default", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Perm, options: { "buf.validate.field": { repeated: { maxItems: "100" } } } }
425
583
  ]);
426
584
  }
427
585
  create(value?: PartialMessage<Perms>): Perms {
@@ -468,8 +626,8 @@ export const Perms = new Perms$Type();
468
626
  class Perm$Type extends MessageType<Perm> {
469
627
  constructor() {
470
628
  super("resources.settings.Perm", [
471
- { no: 1, name: "category", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "128" } } } },
472
- { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } }
629
+ { no: 1, name: "category", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
630
+ { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
473
631
  ]);
474
632
  }
475
633
  create(value?: PartialMessage<Perm>): Perm {
@@ -577,8 +735,8 @@ export const Website = new Website$Type();
577
735
  class Links$Type extends MessageType<Links> {
578
736
  constructor() {
579
737
  super("resources.settings.Links", [
580
- { no: 1, name: "privacy_policy", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
581
- { no: 2, name: "imprint", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } }
738
+ { no: 1, name: "privacy_policy", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
739
+ { no: 2, name: "imprint", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
582
740
  ]);
583
741
  }
584
742
  create(value?: PartialMessage<Links>): Links {
@@ -630,9 +788,9 @@ export const Links = new Links$Type();
630
788
  class JobInfo$Type extends MessageType<JobInfo> {
631
789
  constructor() {
632
790
  super("resources.settings.JobInfo", [
633
- { no: 1, name: "unemployed_job", kind: "message", T: () => UnemployedJob, options: { "validate.rules": { message: { required: true } } } },
634
- { no: 2, name: "public_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { repeated: { maxItems: "100" } } } },
635
- { no: 3, name: "hidden_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { repeated: { maxItems: "100" } } } }
791
+ { no: 1, name: "unemployed_job", kind: "message", T: () => UnemployedJob, options: { "buf.validate.field": { required: true } } },
792
+ { no: 2, name: "public_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "100" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
793
+ { no: 3, name: "hidden_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "100" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
636
794
  ]);
637
795
  }
638
796
  create(value?: PartialMessage<JobInfo>): JobInfo {
@@ -692,8 +850,8 @@ export const JobInfo = new JobInfo$Type();
692
850
  class UnemployedJob$Type extends MessageType<UnemployedJob> {
693
851
  constructor() {
694
852
  super("resources.settings.UnemployedJob", [
695
- { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
696
- { no: 2, name: "grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } }
853
+ { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
854
+ { no: 2, name: "grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } }
697
855
  ]);
698
856
  }
699
857
  create(value?: PartialMessage<UnemployedJob>): UnemployedJob {
@@ -747,8 +905,8 @@ export const UnemployedJob = new UnemployedJob$Type();
747
905
  class UserTracker$Type extends MessageType<UserTracker> {
748
906
  constructor() {
749
907
  super("resources.settings.UserTracker", [
750
- { no: 1, name: "refresh_time", kind: "message", T: () => Duration, options: { "validate.rules": { duration: { required: true, lt: { seconds: "60" }, gte: { nanos: 500000000 } } } } },
751
- { no: 2, name: "db_refresh_time", kind: "message", T: () => Duration, options: { "validate.rules": { duration: { required: true, lt: { seconds: "60" }, gte: { nanos: 500000000 } } } } }
908
+ { no: 1, name: "refresh_time", kind: "message", T: () => Duration, options: { "buf.validate.field": { required: true, duration: { lt: { seconds: "60" }, gte: { nanos: 500000000 } } } } },
909
+ { no: 2, name: "db_refresh_time", kind: "message", T: () => Duration, options: { "buf.validate.field": { required: true, duration: { lt: { seconds: "60" }, gte: { nanos: 500000000 } } } } }
752
910
  ]);
753
911
  }
754
912
  create(value?: PartialMessage<UserTracker>): UserTracker {
@@ -801,16 +959,19 @@ class Discord$Type extends MessageType<Discord> {
801
959
  constructor() {
802
960
  super("resources.settings.Discord", [
803
961
  { no: 1, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
804
- { no: 2, name: "sync_interval", kind: "message", T: () => Duration, options: { "validate.rules": { duration: { required: true, lt: { seconds: "180000000" }, gte: { seconds: "60" } } } } },
805
- { no: 3, name: "invite_url", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
806
- { no: 4, name: "ignored_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { repeated: { maxItems: "100" } } } },
807
- { no: 5, name: "bot_presence", kind: "message", T: () => DiscordBotPresence }
962
+ { no: 2, name: "sync_interval", kind: "message", T: () => Duration, options: { "buf.validate.field": { required: true, duration: { lt: { seconds: "180000000" }, gte: { seconds: "60" } } } } },
963
+ { no: 3, name: "invite_url", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
964
+ { no: 4, name: "ignored_jobs", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "100" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
965
+ { no: 5, name: "bot_presence", kind: "message", T: () => DiscordBotPresence },
966
+ { no: 6, name: "bot_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
967
+ { no: 7, name: "bot_permissions", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
808
968
  ]);
809
969
  }
810
970
  create(value?: PartialMessage<Discord>): Discord {
811
971
  const message = globalThis.Object.create((this.messagePrototype!));
812
972
  message.enabled = false;
813
973
  message.ignoredJobs = [];
974
+ message.botPermissions = 0;
814
975
  if (value !== undefined)
815
976
  reflectionMergePartial<Discord>(this, message, value);
816
977
  return message;
@@ -835,6 +996,12 @@ class Discord$Type extends MessageType<Discord> {
835
996
  case /* optional resources.settings.DiscordBotPresence bot_presence */ 5:
836
997
  message.botPresence = DiscordBotPresence.internalBinaryRead(reader, reader.uint32(), options, message.botPresence);
837
998
  break;
999
+ case /* optional string bot_id */ 6:
1000
+ message.botId = reader.string();
1001
+ break;
1002
+ case /* int64 bot_permissions */ 7:
1003
+ message.botPermissions = reader.int64().toNumber();
1004
+ break;
838
1005
  default:
839
1006
  let u = options.readUnknownField;
840
1007
  if (u === "throw")
@@ -862,6 +1029,12 @@ class Discord$Type extends MessageType<Discord> {
862
1029
  /* optional resources.settings.DiscordBotPresence bot_presence = 5; */
863
1030
  if (message.botPresence)
864
1031
  DiscordBotPresence.internalBinaryWrite(message.botPresence, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
1032
+ /* optional string bot_id = 6; */
1033
+ if (message.botId !== undefined)
1034
+ writer.tag(6, WireType.LengthDelimited).string(message.botId);
1035
+ /* int64 bot_permissions = 7; */
1036
+ if (message.botPermissions !== 0)
1037
+ writer.tag(7, WireType.Varint).int64(message.botPermissions);
865
1038
  let u = options.writeUnknownFields;
866
1039
  if (u !== false)
867
1040
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -877,8 +1050,8 @@ class DiscordBotPresence$Type extends MessageType<DiscordBotPresence> {
877
1050
  constructor() {
878
1051
  super("resources.settings.DiscordBotPresence", [
879
1052
  { no: 1, name: "type", kind: "enum", T: () => ["resources.settings.DiscordBotPresenceType", DiscordBotPresenceType, "DISCORD_BOT_PRESENCE_TYPE_"] },
880
- { no: 2, name: "status", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
881
- { no: 3, name: "url", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
1053
+ { no: 2, name: "status", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
1054
+ { no: 3, name: "url", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
882
1055
  ]);
883
1056
  }
884
1057
  create(value?: PartialMessage<DiscordBotPresence>): DiscordBotPresence {
@@ -987,3 +1160,414 @@ class System$Type extends MessageType<System> {
987
1160
  * @generated MessageType for protobuf message resources.settings.System
988
1161
  */
989
1162
  export const System = new System$Type();
1163
+ // @generated message type with reflection information, may provide speed optimized methods
1164
+ class Display$Type extends MessageType<Display> {
1165
+ constructor() {
1166
+ super("resources.settings.Display", [
1167
+ { no: 1, name: "intl_locale", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "32" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true }, "tagger.tags": "json:\"intlLocale\"" } },
1168
+ { no: 2, name: "currency_name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { len: "3" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true }, "tagger.tags": "json:\"currencyName\"" } }
1169
+ ]);
1170
+ }
1171
+ create(value?: PartialMessage<Display>): Display {
1172
+ const message = globalThis.Object.create((this.messagePrototype!));
1173
+ message.currencyName = "";
1174
+ if (value !== undefined)
1175
+ reflectionMergePartial<Display>(this, message, value);
1176
+ return message;
1177
+ }
1178
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Display): Display {
1179
+ let message = target ?? this.create(), end = reader.pos + length;
1180
+ while (reader.pos < end) {
1181
+ let [fieldNo, wireType] = reader.tag();
1182
+ switch (fieldNo) {
1183
+ case /* optional string intl_locale */ 1:
1184
+ message.intlLocale = reader.string();
1185
+ break;
1186
+ case /* string currency_name */ 2:
1187
+ message.currencyName = reader.string();
1188
+ break;
1189
+ default:
1190
+ let u = options.readUnknownField;
1191
+ if (u === "throw")
1192
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1193
+ let d = reader.skip(wireType);
1194
+ if (u !== false)
1195
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1196
+ }
1197
+ }
1198
+ return message;
1199
+ }
1200
+ internalBinaryWrite(message: Display, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1201
+ /* optional string intl_locale = 1; */
1202
+ if (message.intlLocale !== undefined)
1203
+ writer.tag(1, WireType.LengthDelimited).string(message.intlLocale);
1204
+ /* string currency_name = 2; */
1205
+ if (message.currencyName !== "")
1206
+ writer.tag(2, WireType.LengthDelimited).string(message.currencyName);
1207
+ let u = options.writeUnknownFields;
1208
+ if (u !== false)
1209
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1210
+ return writer;
1211
+ }
1212
+ }
1213
+ /**
1214
+ * @generated MessageType for protobuf message resources.settings.Display
1215
+ */
1216
+ export const Display = new Display$Type();
1217
+ // @generated message type with reflection information, may provide speed optimized methods
1218
+ class QuickButtons$Type extends MessageType<QuickButtons> {
1219
+ constructor() {
1220
+ super("resources.settings.QuickButtons", [
1221
+ { no: 1, name: "penalty_calculator", kind: "message", T: () => PenaltyCalculator, options: { "tagger.tags": "json:\"penaltyCalculator\"" } }
1222
+ ]);
1223
+ }
1224
+ create(value?: PartialMessage<QuickButtons>): QuickButtons {
1225
+ const message = globalThis.Object.create((this.messagePrototype!));
1226
+ if (value !== undefined)
1227
+ reflectionMergePartial<QuickButtons>(this, message, value);
1228
+ return message;
1229
+ }
1230
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QuickButtons): QuickButtons {
1231
+ let message = target ?? this.create(), end = reader.pos + length;
1232
+ while (reader.pos < end) {
1233
+ let [fieldNo, wireType] = reader.tag();
1234
+ switch (fieldNo) {
1235
+ case /* resources.settings.PenaltyCalculator penalty_calculator */ 1:
1236
+ message.penaltyCalculator = PenaltyCalculator.internalBinaryRead(reader, reader.uint32(), options, message.penaltyCalculator);
1237
+ break;
1238
+ default:
1239
+ let u = options.readUnknownField;
1240
+ if (u === "throw")
1241
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1242
+ let d = reader.skip(wireType);
1243
+ if (u !== false)
1244
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1245
+ }
1246
+ }
1247
+ return message;
1248
+ }
1249
+ internalBinaryWrite(message: QuickButtons, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1250
+ /* resources.settings.PenaltyCalculator penalty_calculator = 1; */
1251
+ if (message.penaltyCalculator)
1252
+ PenaltyCalculator.internalBinaryWrite(message.penaltyCalculator, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1253
+ let u = options.writeUnknownFields;
1254
+ if (u !== false)
1255
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1256
+ return writer;
1257
+ }
1258
+ }
1259
+ /**
1260
+ * @generated MessageType for protobuf message resources.settings.QuickButtons
1261
+ */
1262
+ export const QuickButtons = new QuickButtons$Type();
1263
+ // @generated message type with reflection information, may provide speed optimized methods
1264
+ class PenaltyCalculator$Type extends MessageType<PenaltyCalculator> {
1265
+ constructor() {
1266
+ super("resources.settings.PenaltyCalculator", [
1267
+ { no: 1, name: "max_count", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/, options: { "tagger.tags": "json:\"maxCount\"" } },
1268
+ { no: 2, name: "detention_time_unit", kind: "message", T: () => PenaltyCalculatorDetentionTimeUnit, options: { "tagger.tags": "json:\"detentionTimeUnit\"" } },
1269
+ { no: 3, name: "warn_settings", kind: "message", T: () => PenaltyCalculatorWarn, options: { "tagger.tags": "json:\"warnSettings\"" } },
1270
+ { no: 4, name: "max_leeway", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/, options: { "buf.validate.field": { uint32: { lte: 99 } }, "tagger.tags": "json:\"maxLeeway\"" } }
1271
+ ]);
1272
+ }
1273
+ create(value?: PartialMessage<PenaltyCalculator>): PenaltyCalculator {
1274
+ const message = globalThis.Object.create((this.messagePrototype!));
1275
+ if (value !== undefined)
1276
+ reflectionMergePartial<PenaltyCalculator>(this, message, value);
1277
+ return message;
1278
+ }
1279
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PenaltyCalculator): PenaltyCalculator {
1280
+ let message = target ?? this.create(), end = reader.pos + length;
1281
+ while (reader.pos < end) {
1282
+ let [fieldNo, wireType] = reader.tag();
1283
+ switch (fieldNo) {
1284
+ case /* optional uint32 max_count */ 1:
1285
+ message.maxCount = reader.uint32();
1286
+ break;
1287
+ case /* optional resources.settings.PenaltyCalculatorDetentionTimeUnit detention_time_unit */ 2:
1288
+ message.detentionTimeUnit = PenaltyCalculatorDetentionTimeUnit.internalBinaryRead(reader, reader.uint32(), options, message.detentionTimeUnit);
1289
+ break;
1290
+ case /* optional resources.settings.PenaltyCalculatorWarn warn_settings */ 3:
1291
+ message.warnSettings = PenaltyCalculatorWarn.internalBinaryRead(reader, reader.uint32(), options, message.warnSettings);
1292
+ break;
1293
+ case /* optional uint32 max_leeway */ 4:
1294
+ message.maxLeeway = reader.uint32();
1295
+ break;
1296
+ default:
1297
+ let u = options.readUnknownField;
1298
+ if (u === "throw")
1299
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1300
+ let d = reader.skip(wireType);
1301
+ if (u !== false)
1302
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1303
+ }
1304
+ }
1305
+ return message;
1306
+ }
1307
+ internalBinaryWrite(message: PenaltyCalculator, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1308
+ /* optional uint32 max_count = 1; */
1309
+ if (message.maxCount !== undefined)
1310
+ writer.tag(1, WireType.Varint).uint32(message.maxCount);
1311
+ /* optional resources.settings.PenaltyCalculatorDetentionTimeUnit detention_time_unit = 2; */
1312
+ if (message.detentionTimeUnit)
1313
+ PenaltyCalculatorDetentionTimeUnit.internalBinaryWrite(message.detentionTimeUnit, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
1314
+ /* optional resources.settings.PenaltyCalculatorWarn warn_settings = 3; */
1315
+ if (message.warnSettings)
1316
+ PenaltyCalculatorWarn.internalBinaryWrite(message.warnSettings, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
1317
+ /* optional uint32 max_leeway = 4; */
1318
+ if (message.maxLeeway !== undefined)
1319
+ writer.tag(4, WireType.Varint).uint32(message.maxLeeway);
1320
+ let u = options.writeUnknownFields;
1321
+ if (u !== false)
1322
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1323
+ return writer;
1324
+ }
1325
+ }
1326
+ /**
1327
+ * @generated MessageType for protobuf message resources.settings.PenaltyCalculator
1328
+ */
1329
+ export const PenaltyCalculator = new PenaltyCalculator$Type();
1330
+ // @generated message type with reflection information, may provide speed optimized methods
1331
+ class PenaltyCalculatorDetentionTimeUnit$Type extends MessageType<PenaltyCalculatorDetentionTimeUnit> {
1332
+ constructor() {
1333
+ super("resources.settings.PenaltyCalculatorDetentionTimeUnit", [
1334
+ { no: 1, name: "singular", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "32" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
1335
+ { no: 2, name: "plural", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "32" } }, "codegen.sanitizer.sanitizer": { enabled: true } } }
1336
+ ]);
1337
+ }
1338
+ create(value?: PartialMessage<PenaltyCalculatorDetentionTimeUnit>): PenaltyCalculatorDetentionTimeUnit {
1339
+ const message = globalThis.Object.create((this.messagePrototype!));
1340
+ if (value !== undefined)
1341
+ reflectionMergePartial<PenaltyCalculatorDetentionTimeUnit>(this, message, value);
1342
+ return message;
1343
+ }
1344
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PenaltyCalculatorDetentionTimeUnit): PenaltyCalculatorDetentionTimeUnit {
1345
+ let message = target ?? this.create(), end = reader.pos + length;
1346
+ while (reader.pos < end) {
1347
+ let [fieldNo, wireType] = reader.tag();
1348
+ switch (fieldNo) {
1349
+ case /* optional string singular */ 1:
1350
+ message.singular = reader.string();
1351
+ break;
1352
+ case /* optional string plural */ 2:
1353
+ message.plural = reader.string();
1354
+ break;
1355
+ default:
1356
+ let u = options.readUnknownField;
1357
+ if (u === "throw")
1358
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1359
+ let d = reader.skip(wireType);
1360
+ if (u !== false)
1361
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1362
+ }
1363
+ }
1364
+ return message;
1365
+ }
1366
+ internalBinaryWrite(message: PenaltyCalculatorDetentionTimeUnit, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1367
+ /* optional string singular = 1; */
1368
+ if (message.singular !== undefined)
1369
+ writer.tag(1, WireType.LengthDelimited).string(message.singular);
1370
+ /* optional string plural = 2; */
1371
+ if (message.plural !== undefined)
1372
+ writer.tag(2, WireType.LengthDelimited).string(message.plural);
1373
+ let u = options.writeUnknownFields;
1374
+ if (u !== false)
1375
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1376
+ return writer;
1377
+ }
1378
+ }
1379
+ /**
1380
+ * @generated MessageType for protobuf message resources.settings.PenaltyCalculatorDetentionTimeUnit
1381
+ */
1382
+ export const PenaltyCalculatorDetentionTimeUnit = new PenaltyCalculatorDetentionTimeUnit$Type();
1383
+ // @generated message type with reflection information, may provide speed optimized methods
1384
+ class PenaltyCalculatorWarn$Type extends MessageType<PenaltyCalculatorWarn> {
1385
+ constructor() {
1386
+ super("resources.settings.PenaltyCalculatorWarn", [
1387
+ { no: 1, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1388
+ { no: 2, name: "fine", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ },
1389
+ { no: 3, name: "detention_time", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/, options: { "tagger.tags": "json:\"detentionTime\"" } },
1390
+ { no: 4, name: "stvo_points", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/, options: { "tagger.tags": "json:\"stvoPoints\"" } },
1391
+ { no: 5, name: "warn_message", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "512" } }, "codegen.sanitizer.sanitizer": { enabled: true }, "tagger.tags": "json:\"warnMessage\"" } }
1392
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
1393
+ }
1394
+ create(value?: PartialMessage<PenaltyCalculatorWarn>): PenaltyCalculatorWarn {
1395
+ const message = globalThis.Object.create((this.messagePrototype!));
1396
+ message.enabled = false;
1397
+ if (value !== undefined)
1398
+ reflectionMergePartial<PenaltyCalculatorWarn>(this, message, value);
1399
+ return message;
1400
+ }
1401
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PenaltyCalculatorWarn): PenaltyCalculatorWarn {
1402
+ let message = target ?? this.create(), end = reader.pos + length;
1403
+ while (reader.pos < end) {
1404
+ let [fieldNo, wireType] = reader.tag();
1405
+ switch (fieldNo) {
1406
+ case /* bool enabled */ 1:
1407
+ message.enabled = reader.bool();
1408
+ break;
1409
+ case /* optional uint32 fine */ 2:
1410
+ message.fine = reader.uint32();
1411
+ break;
1412
+ case /* optional uint32 detention_time */ 3:
1413
+ message.detentionTime = reader.uint32();
1414
+ break;
1415
+ case /* optional uint32 stvo_points */ 4:
1416
+ message.stvoPoints = reader.uint32();
1417
+ break;
1418
+ case /* optional string warn_message */ 5:
1419
+ message.warnMessage = reader.string();
1420
+ break;
1421
+ default:
1422
+ let u = options.readUnknownField;
1423
+ if (u === "throw")
1424
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1425
+ let d = reader.skip(wireType);
1426
+ if (u !== false)
1427
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1428
+ }
1429
+ }
1430
+ return message;
1431
+ }
1432
+ internalBinaryWrite(message: PenaltyCalculatorWarn, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1433
+ /* bool enabled = 1; */
1434
+ if (message.enabled !== false)
1435
+ writer.tag(1, WireType.Varint).bool(message.enabled);
1436
+ /* optional uint32 fine = 2; */
1437
+ if (message.fine !== undefined)
1438
+ writer.tag(2, WireType.Varint).uint32(message.fine);
1439
+ /* optional uint32 detention_time = 3; */
1440
+ if (message.detentionTime !== undefined)
1441
+ writer.tag(3, WireType.Varint).uint32(message.detentionTime);
1442
+ /* optional uint32 stvo_points = 4; */
1443
+ if (message.stvoPoints !== undefined)
1444
+ writer.tag(4, WireType.Varint).uint32(message.stvoPoints);
1445
+ /* optional string warn_message = 5; */
1446
+ if (message.warnMessage !== undefined)
1447
+ writer.tag(5, WireType.LengthDelimited).string(message.warnMessage);
1448
+ let u = options.writeUnknownFields;
1449
+ if (u !== false)
1450
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1451
+ return writer;
1452
+ }
1453
+ }
1454
+ /**
1455
+ * @generated MessageType for protobuf message resources.settings.PenaltyCalculatorWarn
1456
+ */
1457
+ export const PenaltyCalculatorWarn = new PenaltyCalculatorWarn$Type();
1458
+ // @generated message type with reflection information, may provide speed optimized methods
1459
+ class Livemap$Type extends MessageType<Livemap> {
1460
+ constructor() {
1461
+ super("resources.settings.Livemap", [
1462
+ { no: 1, name: "enable_cayo_perico", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
1463
+ ]);
1464
+ }
1465
+ create(value?: PartialMessage<Livemap>): Livemap {
1466
+ const message = globalThis.Object.create((this.messagePrototype!));
1467
+ message.enableCayoPerico = false;
1468
+ if (value !== undefined)
1469
+ reflectionMergePartial<Livemap>(this, message, value);
1470
+ return message;
1471
+ }
1472
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Livemap): Livemap {
1473
+ let message = target ?? this.create(), end = reader.pos + length;
1474
+ while (reader.pos < end) {
1475
+ let [fieldNo, wireType] = reader.tag();
1476
+ switch (fieldNo) {
1477
+ case /* bool enable_cayo_perico */ 1:
1478
+ message.enableCayoPerico = reader.bool();
1479
+ break;
1480
+ default:
1481
+ let u = options.readUnknownField;
1482
+ if (u === "throw")
1483
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1484
+ let d = reader.skip(wireType);
1485
+ if (u !== false)
1486
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1487
+ }
1488
+ }
1489
+ return message;
1490
+ }
1491
+ internalBinaryWrite(message: Livemap, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1492
+ /* bool enable_cayo_perico = 1; */
1493
+ if (message.enableCayoPerico !== false)
1494
+ writer.tag(1, WireType.Varint).bool(message.enableCayoPerico);
1495
+ let u = options.writeUnknownFields;
1496
+ if (u !== false)
1497
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1498
+ return writer;
1499
+ }
1500
+ }
1501
+ /**
1502
+ * @generated MessageType for protobuf message resources.settings.Livemap
1503
+ */
1504
+ export const Livemap = new Livemap$Type();
1505
+ // @generated message type with reflection information, may provide speed optimized methods
1506
+ class Game$Type extends MessageType<Game> {
1507
+ constructor() {
1508
+ super("resources.settings.Game", [
1509
+ { no: 4, name: "max_wanted_duration_user_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1510
+ { no: 5, name: "max_wanted_duration_user", kind: "message", T: () => Duration },
1511
+ { no: 6, name: "max_wanted_duration_vehicle_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1512
+ { no: 7, name: "max_wanted_duration_vehicle", kind: "message", T: () => Duration }
1513
+ ]);
1514
+ }
1515
+ create(value?: PartialMessage<Game>): Game {
1516
+ const message = globalThis.Object.create((this.messagePrototype!));
1517
+ message.maxWantedDurationUserEnabled = false;
1518
+ message.maxWantedDurationVehicleEnabled = false;
1519
+ if (value !== undefined)
1520
+ reflectionMergePartial<Game>(this, message, value);
1521
+ return message;
1522
+ }
1523
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Game): Game {
1524
+ let message = target ?? this.create(), end = reader.pos + length;
1525
+ while (reader.pos < end) {
1526
+ let [fieldNo, wireType] = reader.tag();
1527
+ switch (fieldNo) {
1528
+ case /* bool max_wanted_duration_user_enabled */ 4:
1529
+ message.maxWantedDurationUserEnabled = reader.bool();
1530
+ break;
1531
+ case /* optional google.protobuf.Duration max_wanted_duration_user */ 5:
1532
+ message.maxWantedDurationUser = Duration.internalBinaryRead(reader, reader.uint32(), options, message.maxWantedDurationUser);
1533
+ break;
1534
+ case /* bool max_wanted_duration_vehicle_enabled */ 6:
1535
+ message.maxWantedDurationVehicleEnabled = reader.bool();
1536
+ break;
1537
+ case /* optional google.protobuf.Duration max_wanted_duration_vehicle */ 7:
1538
+ message.maxWantedDurationVehicle = Duration.internalBinaryRead(reader, reader.uint32(), options, message.maxWantedDurationVehicle);
1539
+ break;
1540
+ default:
1541
+ let u = options.readUnknownField;
1542
+ if (u === "throw")
1543
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1544
+ let d = reader.skip(wireType);
1545
+ if (u !== false)
1546
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1547
+ }
1548
+ }
1549
+ return message;
1550
+ }
1551
+ internalBinaryWrite(message: Game, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1552
+ /* bool max_wanted_duration_user_enabled = 4; */
1553
+ if (message.maxWantedDurationUserEnabled !== false)
1554
+ writer.tag(4, WireType.Varint).bool(message.maxWantedDurationUserEnabled);
1555
+ /* optional google.protobuf.Duration max_wanted_duration_user = 5; */
1556
+ if (message.maxWantedDurationUser)
1557
+ Duration.internalBinaryWrite(message.maxWantedDurationUser, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
1558
+ /* bool max_wanted_duration_vehicle_enabled = 6; */
1559
+ if (message.maxWantedDurationVehicleEnabled !== false)
1560
+ writer.tag(6, WireType.Varint).bool(message.maxWantedDurationVehicleEnabled);
1561
+ /* optional google.protobuf.Duration max_wanted_duration_vehicle = 7; */
1562
+ if (message.maxWantedDurationVehicle)
1563
+ Duration.internalBinaryWrite(message.maxWantedDurationVehicle, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
1564
+ let u = options.writeUnknownFields;
1565
+ if (u !== false)
1566
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1567
+ return writer;
1568
+ }
1569
+ }
1570
+ /**
1571
+ * @generated MessageType for protobuf message resources.settings.Game
1572
+ */
1573
+ export const Game = new Game$Type();