@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 "services/auth/auth.proto" (package "services.auth", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import { ServiceType } from "@protobuf-ts/runtime-rpc";
5
6
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
@@ -11,103 +12,115 @@ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
12
  import type { PartialMessage } from "@protobuf-ts/runtime";
12
13
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
14
  import { MessageType } from "@protobuf-ts/runtime";
14
- import { User } from "../../resources/users/users";
15
- import { JobProps } from "../../resources/jobs/job_props";
15
+ import { RoleAttribute } from "../../resources/permissions/attributes/attributes";
16
+ import { Permission } from "../../resources/permissions/permissions/permissions";
17
+ import { User } from "../../resources/users/user";
18
+ import { JobProps } from "../../resources/jobs/props/props";
16
19
  import { Character } from "../../resources/accounts/accounts";
17
- import { OAuth2Account } from "../../resources/accounts/oauth2";
18
- import { OAuth2Provider } from "../../resources/accounts/oauth2";
20
+ import { OAuth2Account } from "../../resources/accounts/oauth2/oauth2";
21
+ import { OAuth2Provider } from "../../resources/accounts/oauth2/oauth2";
19
22
  import { Account } from "../../resources/accounts/accounts";
20
23
  import { Timestamp } from "../../resources/timestamp/timestamp";
21
24
  /**
22
- * @generated from protobuf message services.auth.CreateAccountRequest
25
+ * @generated from protobuf message services.auth.LoginRequest
23
26
  */
24
- export interface CreateAccountRequest {
25
- /**
26
- * @generated from protobuf field: string reg_token = 1;
27
- */
28
- regToken: string;
27
+ export interface LoginRequest {
29
28
  /**
30
- * @generated from protobuf field: string username = 2;
29
+ * @generated from protobuf field: string username = 1
31
30
  */
32
31
  username: string;
33
32
  /**
34
- * @generated from protobuf field: string password = 3;
33
+ * @generated from protobuf field: string password = 2
35
34
  */
36
35
  password: string;
37
36
  }
38
37
  /**
39
- * @generated from protobuf message services.auth.CreateAccountResponse
38
+ * @generated from protobuf message services.auth.LoginResponse
40
39
  */
41
- export interface CreateAccountResponse {
40
+ export interface LoginResponse {
42
41
  /**
43
- * @generated from protobuf field: uint64 account_id = 1;
42
+ * @generated from protobuf field: resources.timestamp.Timestamp expires = 1
43
+ */
44
+ expires?: Timestamp;
45
+ /**
46
+ * @generated from protobuf field: int64 account_id = 2
44
47
  */
45
48
  accountId: number;
49
+ /**
50
+ * @generated from protobuf field: optional services.auth.ChooseCharacterResponse char = 3
51
+ */
52
+ char?: ChooseCharacterResponse;
46
53
  }
47
54
  /**
48
- * @generated from protobuf message services.auth.LoginRequest
55
+ * @generated from protobuf message services.auth.LogoutRequest
49
56
  */
50
- export interface LoginRequest {
57
+ export interface LogoutRequest {
58
+ }
59
+ /**
60
+ * @generated from protobuf message services.auth.LogoutResponse
61
+ */
62
+ export interface LogoutResponse {
63
+ /**
64
+ * @generated from protobuf field: bool success = 1
65
+ */
66
+ success: boolean;
67
+ }
68
+ /**
69
+ * @generated from protobuf message services.auth.CreateAccountRequest
70
+ */
71
+ export interface CreateAccountRequest {
72
+ /**
73
+ * @generated from protobuf field: string reg_token = 1
74
+ */
75
+ regToken: string;
51
76
  /**
52
- * @generated from protobuf field: string username = 1;
77
+ * @generated from protobuf field: string username = 2
53
78
  */
54
79
  username: string;
55
80
  /**
56
- * @generated from protobuf field: string password = 2;
81
+ * @generated from protobuf field: string password = 3
57
82
  */
58
83
  password: string;
59
84
  }
60
85
  /**
61
- * @generated from protobuf message services.auth.LoginResponse
86
+ * @generated from protobuf message services.auth.CreateAccountResponse
62
87
  */
63
- export interface LoginResponse {
64
- /**
65
- * @generated from protobuf field: resources.timestamp.Timestamp expires = 1;
66
- */
67
- expires?: Timestamp;
88
+ export interface CreateAccountResponse {
68
89
  /**
69
- * @generated from protobuf field: uint64 account_id = 2;
90
+ * @generated from protobuf field: int64 account_id = 1
70
91
  */
71
92
  accountId: number;
72
- /**
73
- * @generated from protobuf field: optional services.auth.ChooseCharacterResponse char = 3;
74
- */
75
- char?: ChooseCharacterResponse;
76
93
  }
77
94
  /**
78
95
  * @generated from protobuf message services.auth.ChangePasswordRequest
79
96
  */
80
97
  export interface ChangePasswordRequest {
81
98
  /**
82
- * @generated from protobuf field: string current = 1;
99
+ * @generated from protobuf field: string current_password = 1
83
100
  */
84
- current: string;
101
+ currentPassword: string;
85
102
  /**
86
- * @generated from protobuf field: string new = 2;
103
+ * @generated from protobuf field: string new_password = 2
87
104
  */
88
- new: string;
105
+ newPassword: string;
89
106
  }
90
107
  /**
91
108
  * @generated from protobuf message services.auth.ChangePasswordResponse
92
109
  */
93
110
  export interface ChangePasswordResponse {
94
- /**
95
- * @generated from protobuf field: resources.timestamp.Timestamp expires = 1;
96
- */
97
- expires?: Timestamp;
98
111
  }
99
112
  /**
100
113
  * @generated from protobuf message services.auth.ChangeUsernameRequest
101
114
  */
102
115
  export interface ChangeUsernameRequest {
103
116
  /**
104
- * @generated from protobuf field: string current = 1;
117
+ * @generated from protobuf field: string current_username = 1
105
118
  */
106
- current: string;
119
+ currentUsername: string;
107
120
  /**
108
- * @generated from protobuf field: string new = 2;
121
+ * @generated from protobuf field: string new_username = 2
109
122
  */
110
- new: string;
123
+ newUsername: string;
111
124
  }
112
125
  /**
113
126
  * @generated from protobuf message services.auth.ChangeUsernameResponse
@@ -119,11 +132,11 @@ export interface ChangeUsernameResponse {
119
132
  */
120
133
  export interface ForgotPasswordRequest {
121
134
  /**
122
- * @generated from protobuf field: string reg_token = 1;
135
+ * @generated from protobuf field: string reg_token = 1
123
136
  */
124
137
  regToken: string;
125
138
  /**
126
- * @generated from protobuf field: string new = 2;
139
+ * @generated from protobuf field: string new = 2
127
140
  */
128
141
  new: string;
129
142
  }
@@ -142,15 +155,15 @@ export interface GetAccountInfoRequest {
142
155
  */
143
156
  export interface GetAccountInfoResponse {
144
157
  /**
145
- * @generated from protobuf field: resources.accounts.Account account = 1;
158
+ * @generated from protobuf field: resources.accounts.Account account = 1
146
159
  */
147
160
  account?: Account;
148
161
  /**
149
- * @generated from protobuf field: repeated resources.accounts.OAuth2Provider oauth2_providers = 2;
162
+ * @generated from protobuf field: repeated resources.accounts.oauth2.OAuth2Provider oauth2_providers = 2
150
163
  */
151
164
  oauth2Providers: OAuth2Provider[];
152
165
  /**
153
- * @generated from protobuf field: repeated resources.accounts.OAuth2Account oauth2_connections = 3;
166
+ * @generated from protobuf field: repeated resources.accounts.oauth2.OAuth2Account oauth2_connections = 3
154
167
  */
155
168
  oauth2Connections: OAuth2Account[];
156
169
  }
@@ -164,7 +177,7 @@ export interface GetCharactersRequest {
164
177
  */
165
178
  export interface GetCharactersResponse {
166
179
  /**
167
- * @generated from protobuf field: repeated resources.accounts.Character chars = 1;
180
+ * @generated from protobuf field: repeated resources.accounts.Character chars = 1
168
181
  */
169
182
  chars: Character[];
170
183
  }
@@ -173,7 +186,7 @@ export interface GetCharactersResponse {
173
186
  */
174
187
  export interface ChooseCharacterRequest {
175
188
  /**
176
- * @generated from protobuf field: int32 char_id = 1;
189
+ * @generated from protobuf field: int32 char_id = 1
177
190
  */
178
191
  charId: number;
179
192
  }
@@ -182,55 +195,87 @@ export interface ChooseCharacterRequest {
182
195
  */
183
196
  export interface ChooseCharacterResponse {
184
197
  /**
185
- * @generated from protobuf field: resources.timestamp.Timestamp expires = 1;
198
+ * @generated from protobuf field: string token = 1
186
199
  */
187
- expires?: Timestamp;
200
+ token: string;
201
+ /**
202
+ * @generated from protobuf field: string username = 2
203
+ */
204
+ username: string;
188
205
  /**
189
- * @generated from protobuf field: repeated string permissions = 2;
206
+ * @generated from protobuf field: resources.timestamp.Timestamp expires = 3
190
207
  */
191
- permissions: string[];
208
+ expires?: Timestamp;
192
209
  /**
193
- * @generated from protobuf field: resources.jobs.JobProps job_props = 3;
210
+ * @generated from protobuf field: resources.jobs.props.JobProps job_props = 4
194
211
  */
195
212
  jobProps?: JobProps;
196
213
  /**
197
- * @generated from protobuf field: resources.users.User char = 4;
214
+ * @generated from protobuf field: resources.users.User char = 5
198
215
  */
199
- char?: User; // @gotags: alias:"user"
216
+ char?: User;
200
217
  /**
201
- * @generated from protobuf field: string username = 5;
218
+ * @generated from protobuf field: repeated resources.permissions.permissions.Permission permissions = 6
202
219
  */
203
- username: string;
220
+ permissions: Permission[];
221
+ /**
222
+ * @generated from protobuf field: repeated resources.permissions.attributes.RoleAttribute attributes = 7
223
+ */
224
+ attributes: RoleAttribute[];
204
225
  }
205
226
  /**
206
- * @generated from protobuf message services.auth.LogoutRequest
227
+ * @generated from protobuf message services.auth.ImpersonateJobRequest
207
228
  */
208
- export interface LogoutRequest {
229
+ export interface ImpersonateJobRequest {
230
+ /**
231
+ * @generated from protobuf field: int32 job_grade = 1
232
+ */
233
+ jobGrade: number;
209
234
  }
210
235
  /**
211
- * @generated from protobuf message services.auth.LogoutResponse
236
+ * @generated from protobuf message services.auth.ImpersonateJobResponse
212
237
  */
213
- export interface LogoutResponse {
238
+ export interface ImpersonateJobResponse {
214
239
  /**
215
- * @generated from protobuf field: bool success = 1;
240
+ * @generated from protobuf field: string token = 1
216
241
  */
217
- success: boolean;
242
+ token: string;
243
+ /**
244
+ * @generated from protobuf field: resources.timestamp.Timestamp expires = 2
245
+ */
246
+ expires?: Timestamp;
247
+ /**
248
+ * @generated from protobuf field: resources.users.User char = 3
249
+ */
250
+ char?: User;
251
+ /**
252
+ * @generated from protobuf field: repeated resources.permissions.permissions.Permission permissions = 4
253
+ */
254
+ permissions: Permission[];
255
+ /**
256
+ * @generated from protobuf field: repeated resources.permissions.attributes.RoleAttribute attributes = 5
257
+ */
258
+ attributes: RoleAttribute[];
259
+ /**
260
+ * @generated from protobuf field: bool state = 6
261
+ */
262
+ state: boolean;
218
263
  }
219
264
  /**
220
- * @generated from protobuf message services.auth.DeleteOAuth2ConnectionRequest
265
+ * @generated from protobuf message services.auth.DeleteSocialLoginRequest
221
266
  */
222
- export interface DeleteOAuth2ConnectionRequest {
267
+ export interface DeleteSocialLoginRequest {
223
268
  /**
224
- * @generated from protobuf field: string provider = 1;
269
+ * @generated from protobuf field: string provider = 1
225
270
  */
226
271
  provider: string;
227
272
  }
228
273
  /**
229
- * @generated from protobuf message services.auth.DeleteOAuth2ConnectionResponse
274
+ * @generated from protobuf message services.auth.DeleteSocialLoginResponse
230
275
  */
231
- export interface DeleteOAuth2ConnectionResponse {
276
+ export interface DeleteSocialLoginResponse {
232
277
  /**
233
- * @generated from protobuf field: bool success = 1;
278
+ * @generated from protobuf field: bool success = 1
234
279
  */
235
280
  success: boolean;
236
281
  }
@@ -239,11 +284,11 @@ export interface DeleteOAuth2ConnectionResponse {
239
284
  */
240
285
  export interface SetSuperuserModeRequest {
241
286
  /**
242
- * @generated from protobuf field: bool superuser = 1;
287
+ * @generated from protobuf field: bool superuser = 1
243
288
  */
244
289
  superuser: boolean;
245
290
  /**
246
- * @generated from protobuf field: optional string job = 2;
291
+ * @generated from protobuf field: optional string job = 2
247
292
  */
248
293
  job?: string;
249
294
  }
@@ -252,52 +297,55 @@ export interface SetSuperuserModeRequest {
252
297
  */
253
298
  export interface SetSuperuserModeResponse {
254
299
  /**
255
- * @generated from protobuf field: resources.timestamp.Timestamp expires = 1;
300
+ * @generated from protobuf field: string token = 1
256
301
  */
257
- expires?: Timestamp;
302
+ token: string;
258
303
  /**
259
- * @generated from protobuf field: repeated string permissions = 2;
304
+ * @generated from protobuf field: resources.timestamp.Timestamp expires = 2
260
305
  */
261
- permissions: string[];
306
+ expires?: Timestamp;
262
307
  /**
263
- * @generated from protobuf field: optional resources.jobs.JobProps job_props = 3;
308
+ * @generated from protobuf field: optional resources.jobs.props.JobProps job_props = 3
264
309
  */
265
310
  jobProps?: JobProps;
266
311
  /**
267
- * @generated from protobuf field: resources.users.User char = 4;
312
+ * @generated from protobuf field: resources.users.User char = 4
313
+ */
314
+ char?: User;
315
+ /**
316
+ * @generated from protobuf field: repeated resources.permissions.permissions.Permission permissions = 5
268
317
  */
269
- char?: User; // @gotags: alias:"user"
318
+ permissions: Permission[];
319
+ /**
320
+ * @generated from protobuf field: repeated resources.permissions.attributes.RoleAttribute attributes = 6
321
+ */
322
+ attributes: RoleAttribute[];
270
323
  }
271
324
  // @generated message type with reflection information, may provide speed optimized methods
272
- class CreateAccountRequest$Type extends MessageType<CreateAccountRequest> {
325
+ class LoginRequest$Type extends MessageType<LoginRequest> {
273
326
  constructor() {
274
- super("services.auth.CreateAccountRequest", [
275
- { no: 1, name: "reg_token", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { len: "6", pattern: "^[0-9]{6}$" } } } },
276
- { no: 2, name: "username", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxLen: "24", pattern: "(?i)^[0-9A-Z\u00C4\u00D6\u00DC\u00DF_-]{3,24}$" } } } },
277
- { no: 3, name: "password", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "6", maxBytes: "70" } } } }
327
+ super("services.auth.LoginRequest", [
328
+ { no: 1, name: "username", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "24", pattern: "(?i)^[0-9A-Z\u00C4\u00D6\u00DC\u00DF_-]{3,24}$" } } } },
329
+ { no: 2, name: "password", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "codegen.audit.redacted": true, "buf.validate.field": { string: { minLen: "6", maxBytes: "70" } } } }
278
330
  ]);
279
331
  }
280
- create(value?: PartialMessage<CreateAccountRequest>): CreateAccountRequest {
332
+ create(value?: PartialMessage<LoginRequest>): LoginRequest {
281
333
  const message = globalThis.Object.create((this.messagePrototype!));
282
- message.regToken = "";
283
334
  message.username = "";
284
335
  message.password = "";
285
336
  if (value !== undefined)
286
- reflectionMergePartial<CreateAccountRequest>(this, message, value);
337
+ reflectionMergePartial<LoginRequest>(this, message, value);
287
338
  return message;
288
339
  }
289
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateAccountRequest): CreateAccountRequest {
340
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LoginRequest): LoginRequest {
290
341
  let message = target ?? this.create(), end = reader.pos + length;
291
342
  while (reader.pos < end) {
292
343
  let [fieldNo, wireType] = reader.tag();
293
344
  switch (fieldNo) {
294
- case /* string reg_token */ 1:
295
- message.regToken = reader.string();
296
- break;
297
- case /* string username */ 2:
345
+ case /* string username */ 1:
298
346
  message.username = reader.string();
299
347
  break;
300
- case /* string password */ 3:
348
+ case /* string password */ 2:
301
349
  message.password = reader.string();
302
350
  break;
303
351
  default:
@@ -311,16 +359,13 @@ class CreateAccountRequest$Type extends MessageType<CreateAccountRequest> {
311
359
  }
312
360
  return message;
313
361
  }
314
- internalBinaryWrite(message: CreateAccountRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
315
- /* string reg_token = 1; */
316
- if (message.regToken !== "")
317
- writer.tag(1, WireType.LengthDelimited).string(message.regToken);
318
- /* string username = 2; */
362
+ internalBinaryWrite(message: LoginRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
363
+ /* string username = 1; */
319
364
  if (message.username !== "")
320
- writer.tag(2, WireType.LengthDelimited).string(message.username);
321
- /* string password = 3; */
365
+ writer.tag(1, WireType.LengthDelimited).string(message.username);
366
+ /* string password = 2; */
322
367
  if (message.password !== "")
323
- writer.tag(3, WireType.LengthDelimited).string(message.password);
368
+ writer.tag(2, WireType.LengthDelimited).string(message.password);
324
369
  let u = options.writeUnknownFields;
325
370
  if (u !== false)
326
371
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -328,30 +373,38 @@ class CreateAccountRequest$Type extends MessageType<CreateAccountRequest> {
328
373
  }
329
374
  }
330
375
  /**
331
- * @generated MessageType for protobuf message services.auth.CreateAccountRequest
376
+ * @generated MessageType for protobuf message services.auth.LoginRequest
332
377
  */
333
- export const CreateAccountRequest = new CreateAccountRequest$Type();
378
+ export const LoginRequest = new LoginRequest$Type();
334
379
  // @generated message type with reflection information, may provide speed optimized methods
335
- class CreateAccountResponse$Type extends MessageType<CreateAccountResponse> {
380
+ class LoginResponse$Type extends MessageType<LoginResponse> {
336
381
  constructor() {
337
- super("services.auth.CreateAccountResponse", [
338
- { no: 1, name: "account_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ }
382
+ super("services.auth.LoginResponse", [
383
+ { no: 1, name: "expires", kind: "message", T: () => Timestamp },
384
+ { no: 2, name: "account_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
385
+ { no: 3, name: "char", kind: "message", T: () => ChooseCharacterResponse }
339
386
  ]);
340
387
  }
341
- create(value?: PartialMessage<CreateAccountResponse>): CreateAccountResponse {
388
+ create(value?: PartialMessage<LoginResponse>): LoginResponse {
342
389
  const message = globalThis.Object.create((this.messagePrototype!));
343
390
  message.accountId = 0;
344
391
  if (value !== undefined)
345
- reflectionMergePartial<CreateAccountResponse>(this, message, value);
392
+ reflectionMergePartial<LoginResponse>(this, message, value);
346
393
  return message;
347
394
  }
348
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateAccountResponse): CreateAccountResponse {
395
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LoginResponse): LoginResponse {
349
396
  let message = target ?? this.create(), end = reader.pos + length;
350
397
  while (reader.pos < end) {
351
398
  let [fieldNo, wireType] = reader.tag();
352
399
  switch (fieldNo) {
353
- case /* uint64 account_id */ 1:
354
- message.accountId = reader.uint64().toNumber();
400
+ case /* resources.timestamp.Timestamp expires */ 1:
401
+ message.expires = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expires);
402
+ break;
403
+ case /* int64 account_id */ 2:
404
+ message.accountId = reader.int64().toNumber();
405
+ break;
406
+ case /* optional services.auth.ChooseCharacterResponse char */ 3:
407
+ message.char = ChooseCharacterResponse.internalBinaryRead(reader, reader.uint32(), options, message.char);
355
408
  break;
356
409
  default:
357
410
  let u = options.readUnknownField;
@@ -364,10 +417,16 @@ class CreateAccountResponse$Type extends MessageType<CreateAccountResponse> {
364
417
  }
365
418
  return message;
366
419
  }
367
- internalBinaryWrite(message: CreateAccountResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
368
- /* uint64 account_id = 1; */
420
+ internalBinaryWrite(message: LoginResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
421
+ /* resources.timestamp.Timestamp expires = 1; */
422
+ if (message.expires)
423
+ Timestamp.internalBinaryWrite(message.expires, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
424
+ /* int64 account_id = 2; */
369
425
  if (message.accountId !== 0)
370
- writer.tag(1, WireType.Varint).uint64(message.accountId);
426
+ writer.tag(2, WireType.Varint).int64(message.accountId);
427
+ /* optional services.auth.ChooseCharacterResponse char = 3; */
428
+ if (message.char)
429
+ ChooseCharacterResponse.internalBinaryWrite(message.char, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
371
430
  let u = options.writeUnknownFields;
372
431
  if (u !== false)
373
432
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -375,34 +434,124 @@ class CreateAccountResponse$Type extends MessageType<CreateAccountResponse> {
375
434
  }
376
435
  }
377
436
  /**
378
- * @generated MessageType for protobuf message services.auth.CreateAccountResponse
437
+ * @generated MessageType for protobuf message services.auth.LoginResponse
379
438
  */
380
- export const CreateAccountResponse = new CreateAccountResponse$Type();
439
+ export const LoginResponse = new LoginResponse$Type();
381
440
  // @generated message type with reflection information, may provide speed optimized methods
382
- class LoginRequest$Type extends MessageType<LoginRequest> {
441
+ class LogoutRequest$Type extends MessageType<LogoutRequest> {
383
442
  constructor() {
384
- super("services.auth.LoginRequest", [
385
- { no: 1, name: "username", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxLen: "24", pattern: "(?i)^[0-9A-Z\u00C4\u00D6\u00DC\u00DF_-]{3,24}$" } } } },
386
- { no: 2, name: "password", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "6", maxBytes: "70" } } } }
443
+ super("services.auth.LogoutRequest", []);
444
+ }
445
+ create(value?: PartialMessage<LogoutRequest>): LogoutRequest {
446
+ const message = globalThis.Object.create((this.messagePrototype!));
447
+ if (value !== undefined)
448
+ reflectionMergePartial<LogoutRequest>(this, message, value);
449
+ return message;
450
+ }
451
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LogoutRequest): LogoutRequest {
452
+ let message = target ?? this.create(), end = reader.pos + length;
453
+ while (reader.pos < end) {
454
+ let [fieldNo, wireType] = reader.tag();
455
+ switch (fieldNo) {
456
+ default:
457
+ let u = options.readUnknownField;
458
+ if (u === "throw")
459
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
460
+ let d = reader.skip(wireType);
461
+ if (u !== false)
462
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
463
+ }
464
+ }
465
+ return message;
466
+ }
467
+ internalBinaryWrite(message: LogoutRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
468
+ let u = options.writeUnknownFields;
469
+ if (u !== false)
470
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
471
+ return writer;
472
+ }
473
+ }
474
+ /**
475
+ * @generated MessageType for protobuf message services.auth.LogoutRequest
476
+ */
477
+ export const LogoutRequest = new LogoutRequest$Type();
478
+ // @generated message type with reflection information, may provide speed optimized methods
479
+ class LogoutResponse$Type extends MessageType<LogoutResponse> {
480
+ constructor() {
481
+ super("services.auth.LogoutResponse", [
482
+ { no: 1, name: "success", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
387
483
  ]);
388
484
  }
389
- create(value?: PartialMessage<LoginRequest>): LoginRequest {
485
+ create(value?: PartialMessage<LogoutResponse>): LogoutResponse {
390
486
  const message = globalThis.Object.create((this.messagePrototype!));
487
+ message.success = false;
488
+ if (value !== undefined)
489
+ reflectionMergePartial<LogoutResponse>(this, message, value);
490
+ return message;
491
+ }
492
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LogoutResponse): LogoutResponse {
493
+ let message = target ?? this.create(), end = reader.pos + length;
494
+ while (reader.pos < end) {
495
+ let [fieldNo, wireType] = reader.tag();
496
+ switch (fieldNo) {
497
+ case /* bool success */ 1:
498
+ message.success = reader.bool();
499
+ break;
500
+ default:
501
+ let u = options.readUnknownField;
502
+ if (u === "throw")
503
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
504
+ let d = reader.skip(wireType);
505
+ if (u !== false)
506
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
507
+ }
508
+ }
509
+ return message;
510
+ }
511
+ internalBinaryWrite(message: LogoutResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
512
+ /* bool success = 1; */
513
+ if (message.success !== false)
514
+ writer.tag(1, WireType.Varint).bool(message.success);
515
+ let u = options.writeUnknownFields;
516
+ if (u !== false)
517
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
518
+ return writer;
519
+ }
520
+ }
521
+ /**
522
+ * @generated MessageType for protobuf message services.auth.LogoutResponse
523
+ */
524
+ export const LogoutResponse = new LogoutResponse$Type();
525
+ // @generated message type with reflection information, may provide speed optimized methods
526
+ class CreateAccountRequest$Type extends MessageType<CreateAccountRequest> {
527
+ constructor() {
528
+ super("services.auth.CreateAccountRequest", [
529
+ { no: 1, name: "reg_token", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "codegen.audit.redacted": true, "buf.validate.field": { string: { len: "6", pattern: "^[0-9]{6}$" } } } },
530
+ { no: 2, name: "username", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "24", pattern: "(?i)^[0-9A-Z\u00C4\u00D6\u00DC\u00DF_-]{3,24}$" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
531
+ { no: 3, name: "password", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "codegen.audit.redacted": true, "buf.validate.field": { string: { minLen: "6", maxBytes: "70" } } } }
532
+ ]);
533
+ }
534
+ create(value?: PartialMessage<CreateAccountRequest>): CreateAccountRequest {
535
+ const message = globalThis.Object.create((this.messagePrototype!));
536
+ message.regToken = "";
391
537
  message.username = "";
392
538
  message.password = "";
393
539
  if (value !== undefined)
394
- reflectionMergePartial<LoginRequest>(this, message, value);
540
+ reflectionMergePartial<CreateAccountRequest>(this, message, value);
395
541
  return message;
396
542
  }
397
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LoginRequest): LoginRequest {
543
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateAccountRequest): CreateAccountRequest {
398
544
  let message = target ?? this.create(), end = reader.pos + length;
399
545
  while (reader.pos < end) {
400
546
  let [fieldNo, wireType] = reader.tag();
401
547
  switch (fieldNo) {
402
- case /* string username */ 1:
548
+ case /* string reg_token */ 1:
549
+ message.regToken = reader.string();
550
+ break;
551
+ case /* string username */ 2:
403
552
  message.username = reader.string();
404
553
  break;
405
- case /* string password */ 2:
554
+ case /* string password */ 3:
406
555
  message.password = reader.string();
407
556
  break;
408
557
  default:
@@ -416,13 +565,16 @@ class LoginRequest$Type extends MessageType<LoginRequest> {
416
565
  }
417
566
  return message;
418
567
  }
419
- internalBinaryWrite(message: LoginRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
420
- /* string username = 1; */
568
+ internalBinaryWrite(message: CreateAccountRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
569
+ /* string reg_token = 1; */
570
+ if (message.regToken !== "")
571
+ writer.tag(1, WireType.LengthDelimited).string(message.regToken);
572
+ /* string username = 2; */
421
573
  if (message.username !== "")
422
- writer.tag(1, WireType.LengthDelimited).string(message.username);
423
- /* string password = 2; */
574
+ writer.tag(2, WireType.LengthDelimited).string(message.username);
575
+ /* string password = 3; */
424
576
  if (message.password !== "")
425
- writer.tag(2, WireType.LengthDelimited).string(message.password);
577
+ writer.tag(3, WireType.LengthDelimited).string(message.password);
426
578
  let u = options.writeUnknownFields;
427
579
  if (u !== false)
428
580
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -430,38 +582,30 @@ class LoginRequest$Type extends MessageType<LoginRequest> {
430
582
  }
431
583
  }
432
584
  /**
433
- * @generated MessageType for protobuf message services.auth.LoginRequest
585
+ * @generated MessageType for protobuf message services.auth.CreateAccountRequest
434
586
  */
435
- export const LoginRequest = new LoginRequest$Type();
587
+ export const CreateAccountRequest = new CreateAccountRequest$Type();
436
588
  // @generated message type with reflection information, may provide speed optimized methods
437
- class LoginResponse$Type extends MessageType<LoginResponse> {
589
+ class CreateAccountResponse$Type extends MessageType<CreateAccountResponse> {
438
590
  constructor() {
439
- super("services.auth.LoginResponse", [
440
- { no: 1, name: "expires", kind: "message", T: () => Timestamp },
441
- { no: 2, name: "account_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
442
- { no: 3, name: "char", kind: "message", T: () => ChooseCharacterResponse }
591
+ super("services.auth.CreateAccountResponse", [
592
+ { no: 1, name: "account_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
443
593
  ]);
444
594
  }
445
- create(value?: PartialMessage<LoginResponse>): LoginResponse {
595
+ create(value?: PartialMessage<CreateAccountResponse>): CreateAccountResponse {
446
596
  const message = globalThis.Object.create((this.messagePrototype!));
447
597
  message.accountId = 0;
448
598
  if (value !== undefined)
449
- reflectionMergePartial<LoginResponse>(this, message, value);
599
+ reflectionMergePartial<CreateAccountResponse>(this, message, value);
450
600
  return message;
451
601
  }
452
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LoginResponse): LoginResponse {
602
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateAccountResponse): CreateAccountResponse {
453
603
  let message = target ?? this.create(), end = reader.pos + length;
454
604
  while (reader.pos < end) {
455
605
  let [fieldNo, wireType] = reader.tag();
456
606
  switch (fieldNo) {
457
- case /* resources.timestamp.Timestamp expires */ 1:
458
- message.expires = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expires);
459
- break;
460
- case /* uint64 account_id */ 2:
461
- message.accountId = reader.uint64().toNumber();
462
- break;
463
- case /* optional services.auth.ChooseCharacterResponse char */ 3:
464
- message.char = ChooseCharacterResponse.internalBinaryRead(reader, reader.uint32(), options, message.char);
607
+ case /* int64 account_id */ 1:
608
+ message.accountId = reader.int64().toNumber();
465
609
  break;
466
610
  default:
467
611
  let u = options.readUnknownField;
@@ -474,16 +618,10 @@ class LoginResponse$Type extends MessageType<LoginResponse> {
474
618
  }
475
619
  return message;
476
620
  }
477
- internalBinaryWrite(message: LoginResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
478
- /* resources.timestamp.Timestamp expires = 1; */
479
- if (message.expires)
480
- Timestamp.internalBinaryWrite(message.expires, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
481
- /* uint64 account_id = 2; */
621
+ internalBinaryWrite(message: CreateAccountResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
622
+ /* int64 account_id = 1; */
482
623
  if (message.accountId !== 0)
483
- writer.tag(2, WireType.Varint).uint64(message.accountId);
484
- /* optional services.auth.ChooseCharacterResponse char = 3; */
485
- if (message.char)
486
- ChooseCharacterResponse.internalBinaryWrite(message.char, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
624
+ writer.tag(1, WireType.Varint).int64(message.accountId);
487
625
  let u = options.writeUnknownFields;
488
626
  if (u !== false)
489
627
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -491,21 +629,21 @@ class LoginResponse$Type extends MessageType<LoginResponse> {
491
629
  }
492
630
  }
493
631
  /**
494
- * @generated MessageType for protobuf message services.auth.LoginResponse
632
+ * @generated MessageType for protobuf message services.auth.CreateAccountResponse
495
633
  */
496
- export const LoginResponse = new LoginResponse$Type();
634
+ export const CreateAccountResponse = new CreateAccountResponse$Type();
497
635
  // @generated message type with reflection information, may provide speed optimized methods
498
636
  class ChangePasswordRequest$Type extends MessageType<ChangePasswordRequest> {
499
637
  constructor() {
500
638
  super("services.auth.ChangePasswordRequest", [
501
- { no: 1, name: "current", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "6", maxBytes: "70" } } } },
502
- { no: 2, name: "new", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "6", maxBytes: "70" } } } }
639
+ { no: 1, name: "current_password", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "codegen.audit.redacted": true, "buf.validate.field": { string: { minLen: "6", maxBytes: "70" } } } },
640
+ { no: 2, name: "new_password", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "codegen.audit.redacted": true, "buf.validate.field": { string: { minLen: "6", maxBytes: "70" } } } }
503
641
  ]);
504
642
  }
505
643
  create(value?: PartialMessage<ChangePasswordRequest>): ChangePasswordRequest {
506
644
  const message = globalThis.Object.create((this.messagePrototype!));
507
- message.current = "";
508
- message.new = "";
645
+ message.currentPassword = "";
646
+ message.newPassword = "";
509
647
  if (value !== undefined)
510
648
  reflectionMergePartial<ChangePasswordRequest>(this, message, value);
511
649
  return message;
@@ -515,11 +653,11 @@ class ChangePasswordRequest$Type extends MessageType<ChangePasswordRequest> {
515
653
  while (reader.pos < end) {
516
654
  let [fieldNo, wireType] = reader.tag();
517
655
  switch (fieldNo) {
518
- case /* string current */ 1:
519
- message.current = reader.string();
656
+ case /* string current_password */ 1:
657
+ message.currentPassword = reader.string();
520
658
  break;
521
- case /* string new */ 2:
522
- message.new = reader.string();
659
+ case /* string new_password */ 2:
660
+ message.newPassword = reader.string();
523
661
  break;
524
662
  default:
525
663
  let u = options.readUnknownField;
@@ -533,12 +671,12 @@ class ChangePasswordRequest$Type extends MessageType<ChangePasswordRequest> {
533
671
  return message;
534
672
  }
535
673
  internalBinaryWrite(message: ChangePasswordRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
536
- /* string current = 1; */
537
- if (message.current !== "")
538
- writer.tag(1, WireType.LengthDelimited).string(message.current);
539
- /* string new = 2; */
540
- if (message.new !== "")
541
- writer.tag(2, WireType.LengthDelimited).string(message.new);
674
+ /* string current_password = 1; */
675
+ if (message.currentPassword !== "")
676
+ writer.tag(1, WireType.LengthDelimited).string(message.currentPassword);
677
+ /* string new_password = 2; */
678
+ if (message.newPassword !== "")
679
+ writer.tag(2, WireType.LengthDelimited).string(message.newPassword);
542
680
  let u = options.writeUnknownFields;
543
681
  if (u !== false)
544
682
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -552,9 +690,7 @@ export const ChangePasswordRequest = new ChangePasswordRequest$Type();
552
690
  // @generated message type with reflection information, may provide speed optimized methods
553
691
  class ChangePasswordResponse$Type extends MessageType<ChangePasswordResponse> {
554
692
  constructor() {
555
- super("services.auth.ChangePasswordResponse", [
556
- { no: 1, name: "expires", kind: "message", T: () => Timestamp }
557
- ]);
693
+ super("services.auth.ChangePasswordResponse", []);
558
694
  }
559
695
  create(value?: PartialMessage<ChangePasswordResponse>): ChangePasswordResponse {
560
696
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -567,9 +703,6 @@ class ChangePasswordResponse$Type extends MessageType<ChangePasswordResponse> {
567
703
  while (reader.pos < end) {
568
704
  let [fieldNo, wireType] = reader.tag();
569
705
  switch (fieldNo) {
570
- case /* resources.timestamp.Timestamp expires */ 1:
571
- message.expires = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expires);
572
- break;
573
706
  default:
574
707
  let u = options.readUnknownField;
575
708
  if (u === "throw")
@@ -582,9 +715,6 @@ class ChangePasswordResponse$Type extends MessageType<ChangePasswordResponse> {
582
715
  return message;
583
716
  }
584
717
  internalBinaryWrite(message: ChangePasswordResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
585
- /* resources.timestamp.Timestamp expires = 1; */
586
- if (message.expires)
587
- Timestamp.internalBinaryWrite(message.expires, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
588
718
  let u = options.writeUnknownFields;
589
719
  if (u !== false)
590
720
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -599,14 +729,14 @@ export const ChangePasswordResponse = new ChangePasswordResponse$Type();
599
729
  class ChangeUsernameRequest$Type extends MessageType<ChangeUsernameRequest> {
600
730
  constructor() {
601
731
  super("services.auth.ChangeUsernameRequest", [
602
- { no: 1, name: "current", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxLen: "24", pattern: "(?i)^[0-9A-Z\u00C4\u00D6\u00DC\u00DF_-]{3,24}$" } } } },
603
- { no: 2, name: "new", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxLen: "24", pattern: "(?i)^[0-9A-Z\u00C4\u00D6\u00DC\u00DF_-]{3,24}$" } } } }
732
+ { no: 1, name: "current_username", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "24", pattern: "(?i)^[0-9A-Z\u00C4\u00D6\u00DC\u00DF_-]{3,24}$" } } } },
733
+ { no: 2, name: "new_username", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "24", pattern: "(?i)^[0-9A-Z\u00C4\u00D6\u00DC\u00DF_-]{3,24}$" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
604
734
  ]);
605
735
  }
606
736
  create(value?: PartialMessage<ChangeUsernameRequest>): ChangeUsernameRequest {
607
737
  const message = globalThis.Object.create((this.messagePrototype!));
608
- message.current = "";
609
- message.new = "";
738
+ message.currentUsername = "";
739
+ message.newUsername = "";
610
740
  if (value !== undefined)
611
741
  reflectionMergePartial<ChangeUsernameRequest>(this, message, value);
612
742
  return message;
@@ -616,11 +746,11 @@ class ChangeUsernameRequest$Type extends MessageType<ChangeUsernameRequest> {
616
746
  while (reader.pos < end) {
617
747
  let [fieldNo, wireType] = reader.tag();
618
748
  switch (fieldNo) {
619
- case /* string current */ 1:
620
- message.current = reader.string();
749
+ case /* string current_username */ 1:
750
+ message.currentUsername = reader.string();
621
751
  break;
622
- case /* string new */ 2:
623
- message.new = reader.string();
752
+ case /* string new_username */ 2:
753
+ message.newUsername = reader.string();
624
754
  break;
625
755
  default:
626
756
  let u = options.readUnknownField;
@@ -634,12 +764,12 @@ class ChangeUsernameRequest$Type extends MessageType<ChangeUsernameRequest> {
634
764
  return message;
635
765
  }
636
766
  internalBinaryWrite(message: ChangeUsernameRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
637
- /* string current = 1; */
638
- if (message.current !== "")
639
- writer.tag(1, WireType.LengthDelimited).string(message.current);
640
- /* string new = 2; */
641
- if (message.new !== "")
642
- writer.tag(2, WireType.LengthDelimited).string(message.new);
767
+ /* string current_username = 1; */
768
+ if (message.currentUsername !== "")
769
+ writer.tag(1, WireType.LengthDelimited).string(message.currentUsername);
770
+ /* string new_username = 2; */
771
+ if (message.newUsername !== "")
772
+ writer.tag(2, WireType.LengthDelimited).string(message.newUsername);
643
773
  let u = options.writeUnknownFields;
644
774
  if (u !== false)
645
775
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -692,8 +822,8 @@ export const ChangeUsernameResponse = new ChangeUsernameResponse$Type();
692
822
  class ForgotPasswordRequest$Type extends MessageType<ForgotPasswordRequest> {
693
823
  constructor() {
694
824
  super("services.auth.ForgotPasswordRequest", [
695
- { no: 1, name: "reg_token", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { len: "6", pattern: "^[0-9]{6}$" } } } },
696
- { no: 2, name: "new", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "6", maxBytes: "70" } } } }
825
+ { no: 1, name: "reg_token", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "codegen.audit.redacted": true, "buf.validate.field": { string: { len: "6", pattern: "^[0-9]{6}$" } } } },
826
+ { no: 2, name: "new", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "codegen.audit.redacted": true, "buf.validate.field": { string: { minLen: "6", maxBytes: "70" } } } }
697
827
  ]);
698
828
  }
699
829
  create(value?: PartialMessage<ForgotPasswordRequest>): ForgotPasswordRequest {
@@ -844,10 +974,10 @@ class GetAccountInfoResponse$Type extends MessageType<GetAccountInfoResponse> {
844
974
  case /* resources.accounts.Account account */ 1:
845
975
  message.account = Account.internalBinaryRead(reader, reader.uint32(), options, message.account);
846
976
  break;
847
- case /* repeated resources.accounts.OAuth2Provider oauth2_providers */ 2:
977
+ case /* repeated resources.accounts.oauth2.OAuth2Provider oauth2_providers */ 2:
848
978
  message.oauth2Providers.push(OAuth2Provider.internalBinaryRead(reader, reader.uint32(), options));
849
979
  break;
850
- case /* repeated resources.accounts.OAuth2Account oauth2_connections */ 3:
980
+ case /* repeated resources.accounts.oauth2.OAuth2Account oauth2_connections */ 3:
851
981
  message.oauth2Connections.push(OAuth2Account.internalBinaryRead(reader, reader.uint32(), options));
852
982
  break;
853
983
  default:
@@ -865,10 +995,10 @@ class GetAccountInfoResponse$Type extends MessageType<GetAccountInfoResponse> {
865
995
  /* resources.accounts.Account account = 1; */
866
996
  if (message.account)
867
997
  Account.internalBinaryWrite(message.account, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
868
- /* repeated resources.accounts.OAuth2Provider oauth2_providers = 2; */
998
+ /* repeated resources.accounts.oauth2.OAuth2Provider oauth2_providers = 2; */
869
999
  for (let i = 0; i < message.oauth2Providers.length; i++)
870
1000
  OAuth2Provider.internalBinaryWrite(message.oauth2Providers[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
871
- /* repeated resources.accounts.OAuth2Account oauth2_connections = 3; */
1001
+ /* repeated resources.accounts.oauth2.OAuth2Account oauth2_connections = 3; */
872
1002
  for (let i = 0; i < message.oauth2Connections.length; i++)
873
1003
  OAuth2Account.internalBinaryWrite(message.oauth2Connections[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
874
1004
  let u = options.writeUnknownFields;
@@ -970,7 +1100,7 @@ export const GetCharactersResponse = new GetCharactersResponse$Type();
970
1100
  class ChooseCharacterRequest$Type extends MessageType<ChooseCharacterRequest> {
971
1101
  constructor() {
972
1102
  super("services.auth.ChooseCharacterRequest", [
973
- { no: 1, name: "char_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } }
1103
+ { no: 1, name: "char_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } }
974
1104
  ]);
975
1105
  }
976
1106
  create(value?: PartialMessage<ChooseCharacterRequest>): ChooseCharacterRequest {
@@ -1017,17 +1147,21 @@ export const ChooseCharacterRequest = new ChooseCharacterRequest$Type();
1017
1147
  class ChooseCharacterResponse$Type extends MessageType<ChooseCharacterResponse> {
1018
1148
  constructor() {
1019
1149
  super("services.auth.ChooseCharacterResponse", [
1020
- { no: 1, name: "expires", kind: "message", T: () => Timestamp },
1021
- { no: 2, name: "permissions", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1022
- { no: 3, name: "job_props", kind: "message", T: () => JobProps },
1023
- { no: 4, name: "char", kind: "message", T: () => User },
1024
- { no: 5, name: "username", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
1150
+ { no: 1, name: "token", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1151
+ { no: 2, name: "username", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1152
+ { no: 3, name: "expires", kind: "message", T: () => Timestamp },
1153
+ { no: 4, name: "job_props", kind: "message", T: () => JobProps },
1154
+ { no: 5, name: "char", kind: "message", T: () => User, options: { "tagger.tags": "alias:\"user\"" } },
1155
+ { no: 6, name: "permissions", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Permission },
1156
+ { no: 7, name: "attributes", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => RoleAttribute }
1025
1157
  ]);
1026
1158
  }
1027
1159
  create(value?: PartialMessage<ChooseCharacterResponse>): ChooseCharacterResponse {
1028
1160
  const message = globalThis.Object.create((this.messagePrototype!));
1029
- message.permissions = [];
1161
+ message.token = "";
1030
1162
  message.username = "";
1163
+ message.permissions = [];
1164
+ message.attributes = [];
1031
1165
  if (value !== undefined)
1032
1166
  reflectionMergePartial<ChooseCharacterResponse>(this, message, value);
1033
1167
  return message;
@@ -1037,20 +1171,26 @@ class ChooseCharacterResponse$Type extends MessageType<ChooseCharacterResponse>
1037
1171
  while (reader.pos < end) {
1038
1172
  let [fieldNo, wireType] = reader.tag();
1039
1173
  switch (fieldNo) {
1040
- case /* resources.timestamp.Timestamp expires */ 1:
1041
- message.expires = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expires);
1174
+ case /* string token */ 1:
1175
+ message.token = reader.string();
1176
+ break;
1177
+ case /* string username */ 2:
1178
+ message.username = reader.string();
1042
1179
  break;
1043
- case /* repeated string permissions */ 2:
1044
- message.permissions.push(reader.string());
1180
+ case /* resources.timestamp.Timestamp expires */ 3:
1181
+ message.expires = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expires);
1045
1182
  break;
1046
- case /* resources.jobs.JobProps job_props */ 3:
1183
+ case /* resources.jobs.props.JobProps job_props */ 4:
1047
1184
  message.jobProps = JobProps.internalBinaryRead(reader, reader.uint32(), options, message.jobProps);
1048
1185
  break;
1049
- case /* resources.users.User char */ 4:
1186
+ case /* resources.users.User char */ 5:
1050
1187
  message.char = User.internalBinaryRead(reader, reader.uint32(), options, message.char);
1051
1188
  break;
1052
- case /* string username */ 5:
1053
- message.username = reader.string();
1189
+ case /* repeated resources.permissions.permissions.Permission permissions */ 6:
1190
+ message.permissions.push(Permission.internalBinaryRead(reader, reader.uint32(), options));
1191
+ break;
1192
+ case /* repeated resources.permissions.attributes.RoleAttribute attributes */ 7:
1193
+ message.attributes.push(RoleAttribute.internalBinaryRead(reader, reader.uint32(), options));
1054
1194
  break;
1055
1195
  default:
1056
1196
  let u = options.readUnknownField;
@@ -1064,21 +1204,27 @@ class ChooseCharacterResponse$Type extends MessageType<ChooseCharacterResponse>
1064
1204
  return message;
1065
1205
  }
1066
1206
  internalBinaryWrite(message: ChooseCharacterResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1067
- /* resources.timestamp.Timestamp expires = 1; */
1207
+ /* string token = 1; */
1208
+ if (message.token !== "")
1209
+ writer.tag(1, WireType.LengthDelimited).string(message.token);
1210
+ /* string username = 2; */
1211
+ if (message.username !== "")
1212
+ writer.tag(2, WireType.LengthDelimited).string(message.username);
1213
+ /* resources.timestamp.Timestamp expires = 3; */
1068
1214
  if (message.expires)
1069
- Timestamp.internalBinaryWrite(message.expires, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1070
- /* repeated string permissions = 2; */
1071
- for (let i = 0; i < message.permissions.length; i++)
1072
- writer.tag(2, WireType.LengthDelimited).string(message.permissions[i]);
1073
- /* resources.jobs.JobProps job_props = 3; */
1215
+ Timestamp.internalBinaryWrite(message.expires, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
1216
+ /* resources.jobs.props.JobProps job_props = 4; */
1074
1217
  if (message.jobProps)
1075
- JobProps.internalBinaryWrite(message.jobProps, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
1076
- /* resources.users.User char = 4; */
1218
+ JobProps.internalBinaryWrite(message.jobProps, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
1219
+ /* resources.users.User char = 5; */
1077
1220
  if (message.char)
1078
- User.internalBinaryWrite(message.char, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
1079
- /* string username = 5; */
1080
- if (message.username !== "")
1081
- writer.tag(5, WireType.LengthDelimited).string(message.username);
1221
+ User.internalBinaryWrite(message.char, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
1222
+ /* repeated resources.permissions.permissions.Permission permissions = 6; */
1223
+ for (let i = 0; i < message.permissions.length; i++)
1224
+ Permission.internalBinaryWrite(message.permissions[i], writer.tag(6, WireType.LengthDelimited).fork(), options).join();
1225
+ /* repeated resources.permissions.attributes.RoleAttribute attributes = 7; */
1226
+ for (let i = 0; i < message.attributes.length; i++)
1227
+ RoleAttribute.internalBinaryWrite(message.attributes[i], writer.tag(7, WireType.LengthDelimited).fork(), options).join();
1082
1228
  let u = options.writeUnknownFields;
1083
1229
  if (u !== false)
1084
1230
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1090,21 +1236,27 @@ class ChooseCharacterResponse$Type extends MessageType<ChooseCharacterResponse>
1090
1236
  */
1091
1237
  export const ChooseCharacterResponse = new ChooseCharacterResponse$Type();
1092
1238
  // @generated message type with reflection information, may provide speed optimized methods
1093
- class LogoutRequest$Type extends MessageType<LogoutRequest> {
1239
+ class ImpersonateJobRequest$Type extends MessageType<ImpersonateJobRequest> {
1094
1240
  constructor() {
1095
- super("services.auth.LogoutRequest", []);
1241
+ super("services.auth.ImpersonateJobRequest", [
1242
+ { no: 1, name: "job_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: -1 } } } }
1243
+ ]);
1096
1244
  }
1097
- create(value?: PartialMessage<LogoutRequest>): LogoutRequest {
1245
+ create(value?: PartialMessage<ImpersonateJobRequest>): ImpersonateJobRequest {
1098
1246
  const message = globalThis.Object.create((this.messagePrototype!));
1247
+ message.jobGrade = 0;
1099
1248
  if (value !== undefined)
1100
- reflectionMergePartial<LogoutRequest>(this, message, value);
1249
+ reflectionMergePartial<ImpersonateJobRequest>(this, message, value);
1101
1250
  return message;
1102
1251
  }
1103
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LogoutRequest): LogoutRequest {
1252
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ImpersonateJobRequest): ImpersonateJobRequest {
1104
1253
  let message = target ?? this.create(), end = reader.pos + length;
1105
1254
  while (reader.pos < end) {
1106
1255
  let [fieldNo, wireType] = reader.tag();
1107
1256
  switch (fieldNo) {
1257
+ case /* int32 job_grade */ 1:
1258
+ message.jobGrade = reader.int32();
1259
+ break;
1108
1260
  default:
1109
1261
  let u = options.readUnknownField;
1110
1262
  if (u === "throw")
@@ -1116,7 +1268,10 @@ class LogoutRequest$Type extends MessageType<LogoutRequest> {
1116
1268
  }
1117
1269
  return message;
1118
1270
  }
1119
- internalBinaryWrite(message: LogoutRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1271
+ internalBinaryWrite(message: ImpersonateJobRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1272
+ /* int32 job_grade = 1; */
1273
+ if (message.jobGrade !== 0)
1274
+ writer.tag(1, WireType.Varint).int32(message.jobGrade);
1120
1275
  let u = options.writeUnknownFields;
1121
1276
  if (u !== false)
1122
1277
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1124,30 +1279,53 @@ class LogoutRequest$Type extends MessageType<LogoutRequest> {
1124
1279
  }
1125
1280
  }
1126
1281
  /**
1127
- * @generated MessageType for protobuf message services.auth.LogoutRequest
1282
+ * @generated MessageType for protobuf message services.auth.ImpersonateJobRequest
1128
1283
  */
1129
- export const LogoutRequest = new LogoutRequest$Type();
1284
+ export const ImpersonateJobRequest = new ImpersonateJobRequest$Type();
1130
1285
  // @generated message type with reflection information, may provide speed optimized methods
1131
- class LogoutResponse$Type extends MessageType<LogoutResponse> {
1286
+ class ImpersonateJobResponse$Type extends MessageType<ImpersonateJobResponse> {
1132
1287
  constructor() {
1133
- super("services.auth.LogoutResponse", [
1134
- { no: 1, name: "success", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
1288
+ super("services.auth.ImpersonateJobResponse", [
1289
+ { no: 1, name: "token", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1290
+ { no: 2, name: "expires", kind: "message", T: () => Timestamp },
1291
+ { no: 3, name: "char", kind: "message", T: () => User, options: { "tagger.tags": "alias:\"user\"" } },
1292
+ { no: 4, name: "permissions", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Permission },
1293
+ { no: 5, name: "attributes", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => RoleAttribute },
1294
+ { no: 6, name: "state", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
1135
1295
  ]);
1136
1296
  }
1137
- create(value?: PartialMessage<LogoutResponse>): LogoutResponse {
1297
+ create(value?: PartialMessage<ImpersonateJobResponse>): ImpersonateJobResponse {
1138
1298
  const message = globalThis.Object.create((this.messagePrototype!));
1139
- message.success = false;
1299
+ message.token = "";
1300
+ message.permissions = [];
1301
+ message.attributes = [];
1302
+ message.state = false;
1140
1303
  if (value !== undefined)
1141
- reflectionMergePartial<LogoutResponse>(this, message, value);
1304
+ reflectionMergePartial<ImpersonateJobResponse>(this, message, value);
1142
1305
  return message;
1143
1306
  }
1144
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LogoutResponse): LogoutResponse {
1307
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ImpersonateJobResponse): ImpersonateJobResponse {
1145
1308
  let message = target ?? this.create(), end = reader.pos + length;
1146
1309
  while (reader.pos < end) {
1147
1310
  let [fieldNo, wireType] = reader.tag();
1148
1311
  switch (fieldNo) {
1149
- case /* bool success */ 1:
1150
- message.success = reader.bool();
1312
+ case /* string token */ 1:
1313
+ message.token = reader.string();
1314
+ break;
1315
+ case /* resources.timestamp.Timestamp expires */ 2:
1316
+ message.expires = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expires);
1317
+ break;
1318
+ case /* resources.users.User char */ 3:
1319
+ message.char = User.internalBinaryRead(reader, reader.uint32(), options, message.char);
1320
+ break;
1321
+ case /* repeated resources.permissions.permissions.Permission permissions */ 4:
1322
+ message.permissions.push(Permission.internalBinaryRead(reader, reader.uint32(), options));
1323
+ break;
1324
+ case /* repeated resources.permissions.attributes.RoleAttribute attributes */ 5:
1325
+ message.attributes.push(RoleAttribute.internalBinaryRead(reader, reader.uint32(), options));
1326
+ break;
1327
+ case /* bool state */ 6:
1328
+ message.state = reader.bool();
1151
1329
  break;
1152
1330
  default:
1153
1331
  let u = options.readUnknownField;
@@ -1160,10 +1338,25 @@ class LogoutResponse$Type extends MessageType<LogoutResponse> {
1160
1338
  }
1161
1339
  return message;
1162
1340
  }
1163
- internalBinaryWrite(message: LogoutResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1164
- /* bool success = 1; */
1165
- if (message.success !== false)
1166
- writer.tag(1, WireType.Varint).bool(message.success);
1341
+ internalBinaryWrite(message: ImpersonateJobResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1342
+ /* string token = 1; */
1343
+ if (message.token !== "")
1344
+ writer.tag(1, WireType.LengthDelimited).string(message.token);
1345
+ /* resources.timestamp.Timestamp expires = 2; */
1346
+ if (message.expires)
1347
+ Timestamp.internalBinaryWrite(message.expires, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
1348
+ /* resources.users.User char = 3; */
1349
+ if (message.char)
1350
+ User.internalBinaryWrite(message.char, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
1351
+ /* repeated resources.permissions.permissions.Permission permissions = 4; */
1352
+ for (let i = 0; i < message.permissions.length; i++)
1353
+ Permission.internalBinaryWrite(message.permissions[i], writer.tag(4, WireType.LengthDelimited).fork(), options).join();
1354
+ /* repeated resources.permissions.attributes.RoleAttribute attributes = 5; */
1355
+ for (let i = 0; i < message.attributes.length; i++)
1356
+ RoleAttribute.internalBinaryWrite(message.attributes[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();
1357
+ /* bool state = 6; */
1358
+ if (message.state !== false)
1359
+ writer.tag(6, WireType.Varint).bool(message.state);
1167
1360
  let u = options.writeUnknownFields;
1168
1361
  if (u !== false)
1169
1362
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1171,24 +1364,24 @@ class LogoutResponse$Type extends MessageType<LogoutResponse> {
1171
1364
  }
1172
1365
  }
1173
1366
  /**
1174
- * @generated MessageType for protobuf message services.auth.LogoutResponse
1367
+ * @generated MessageType for protobuf message services.auth.ImpersonateJobResponse
1175
1368
  */
1176
- export const LogoutResponse = new LogoutResponse$Type();
1369
+ export const ImpersonateJobResponse = new ImpersonateJobResponse$Type();
1177
1370
  // @generated message type with reflection information, may provide speed optimized methods
1178
- class DeleteOAuth2ConnectionRequest$Type extends MessageType<DeleteOAuth2ConnectionRequest> {
1371
+ class DeleteSocialLoginRequest$Type extends MessageType<DeleteSocialLoginRequest> {
1179
1372
  constructor() {
1180
- super("services.auth.DeleteOAuth2ConnectionRequest", [
1181
- { no: 1, name: "provider", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } }
1373
+ super("services.auth.DeleteSocialLoginRequest", [
1374
+ { no: 1, name: "provider", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
1182
1375
  ]);
1183
1376
  }
1184
- create(value?: PartialMessage<DeleteOAuth2ConnectionRequest>): DeleteOAuth2ConnectionRequest {
1377
+ create(value?: PartialMessage<DeleteSocialLoginRequest>): DeleteSocialLoginRequest {
1185
1378
  const message = globalThis.Object.create((this.messagePrototype!));
1186
1379
  message.provider = "";
1187
1380
  if (value !== undefined)
1188
- reflectionMergePartial<DeleteOAuth2ConnectionRequest>(this, message, value);
1381
+ reflectionMergePartial<DeleteSocialLoginRequest>(this, message, value);
1189
1382
  return message;
1190
1383
  }
1191
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteOAuth2ConnectionRequest): DeleteOAuth2ConnectionRequest {
1384
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteSocialLoginRequest): DeleteSocialLoginRequest {
1192
1385
  let message = target ?? this.create(), end = reader.pos + length;
1193
1386
  while (reader.pos < end) {
1194
1387
  let [fieldNo, wireType] = reader.tag();
@@ -1207,7 +1400,7 @@ class DeleteOAuth2ConnectionRequest$Type extends MessageType<DeleteOAuth2Connect
1207
1400
  }
1208
1401
  return message;
1209
1402
  }
1210
- internalBinaryWrite(message: DeleteOAuth2ConnectionRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1403
+ internalBinaryWrite(message: DeleteSocialLoginRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1211
1404
  /* string provider = 1; */
1212
1405
  if (message.provider !== "")
1213
1406
  writer.tag(1, WireType.LengthDelimited).string(message.provider);
@@ -1218,24 +1411,24 @@ class DeleteOAuth2ConnectionRequest$Type extends MessageType<DeleteOAuth2Connect
1218
1411
  }
1219
1412
  }
1220
1413
  /**
1221
- * @generated MessageType for protobuf message services.auth.DeleteOAuth2ConnectionRequest
1414
+ * @generated MessageType for protobuf message services.auth.DeleteSocialLoginRequest
1222
1415
  */
1223
- export const DeleteOAuth2ConnectionRequest = new DeleteOAuth2ConnectionRequest$Type();
1416
+ export const DeleteSocialLoginRequest = new DeleteSocialLoginRequest$Type();
1224
1417
  // @generated message type with reflection information, may provide speed optimized methods
1225
- class DeleteOAuth2ConnectionResponse$Type extends MessageType<DeleteOAuth2ConnectionResponse> {
1418
+ class DeleteSocialLoginResponse$Type extends MessageType<DeleteSocialLoginResponse> {
1226
1419
  constructor() {
1227
- super("services.auth.DeleteOAuth2ConnectionResponse", [
1420
+ super("services.auth.DeleteSocialLoginResponse", [
1228
1421
  { no: 1, name: "success", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
1229
1422
  ]);
1230
1423
  }
1231
- create(value?: PartialMessage<DeleteOAuth2ConnectionResponse>): DeleteOAuth2ConnectionResponse {
1424
+ create(value?: PartialMessage<DeleteSocialLoginResponse>): DeleteSocialLoginResponse {
1232
1425
  const message = globalThis.Object.create((this.messagePrototype!));
1233
1426
  message.success = false;
1234
1427
  if (value !== undefined)
1235
- reflectionMergePartial<DeleteOAuth2ConnectionResponse>(this, message, value);
1428
+ reflectionMergePartial<DeleteSocialLoginResponse>(this, message, value);
1236
1429
  return message;
1237
1430
  }
1238
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteOAuth2ConnectionResponse): DeleteOAuth2ConnectionResponse {
1431
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteSocialLoginResponse): DeleteSocialLoginResponse {
1239
1432
  let message = target ?? this.create(), end = reader.pos + length;
1240
1433
  while (reader.pos < end) {
1241
1434
  let [fieldNo, wireType] = reader.tag();
@@ -1254,7 +1447,7 @@ class DeleteOAuth2ConnectionResponse$Type extends MessageType<DeleteOAuth2Connec
1254
1447
  }
1255
1448
  return message;
1256
1449
  }
1257
- internalBinaryWrite(message: DeleteOAuth2ConnectionResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1450
+ internalBinaryWrite(message: DeleteSocialLoginResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1258
1451
  /* bool success = 1; */
1259
1452
  if (message.success !== false)
1260
1453
  writer.tag(1, WireType.Varint).bool(message.success);
@@ -1265,15 +1458,15 @@ class DeleteOAuth2ConnectionResponse$Type extends MessageType<DeleteOAuth2Connec
1265
1458
  }
1266
1459
  }
1267
1460
  /**
1268
- * @generated MessageType for protobuf message services.auth.DeleteOAuth2ConnectionResponse
1461
+ * @generated MessageType for protobuf message services.auth.DeleteSocialLoginResponse
1269
1462
  */
1270
- export const DeleteOAuth2ConnectionResponse = new DeleteOAuth2ConnectionResponse$Type();
1463
+ export const DeleteSocialLoginResponse = new DeleteSocialLoginResponse$Type();
1271
1464
  // @generated message type with reflection information, may provide speed optimized methods
1272
1465
  class SetSuperuserModeRequest$Type extends MessageType<SetSuperuserModeRequest> {
1273
1466
  constructor() {
1274
1467
  super("services.auth.SetSuperuserModeRequest", [
1275
1468
  { no: 1, name: "superuser", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1276
- { no: 2, name: "job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } }
1469
+ { no: 2, name: "job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } }
1277
1470
  ]);
1278
1471
  }
1279
1472
  create(value?: PartialMessage<SetSuperuserModeRequest>): SetSuperuserModeRequest {
@@ -1326,15 +1519,19 @@ export const SetSuperuserModeRequest = new SetSuperuserModeRequest$Type();
1326
1519
  class SetSuperuserModeResponse$Type extends MessageType<SetSuperuserModeResponse> {
1327
1520
  constructor() {
1328
1521
  super("services.auth.SetSuperuserModeResponse", [
1329
- { no: 1, name: "expires", kind: "message", T: () => Timestamp },
1330
- { no: 2, name: "permissions", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1522
+ { no: 1, name: "token", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1523
+ { no: 2, name: "expires", kind: "message", T: () => Timestamp },
1331
1524
  { no: 3, name: "job_props", kind: "message", T: () => JobProps },
1332
- { no: 4, name: "char", kind: "message", T: () => User }
1525
+ { no: 4, name: "char", kind: "message", T: () => User, options: { "tagger.tags": "alias:\"user\"" } },
1526
+ { no: 5, name: "permissions", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Permission },
1527
+ { no: 6, name: "attributes", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => RoleAttribute }
1333
1528
  ]);
1334
1529
  }
1335
1530
  create(value?: PartialMessage<SetSuperuserModeResponse>): SetSuperuserModeResponse {
1336
1531
  const message = globalThis.Object.create((this.messagePrototype!));
1532
+ message.token = "";
1337
1533
  message.permissions = [];
1534
+ message.attributes = [];
1338
1535
  if (value !== undefined)
1339
1536
  reflectionMergePartial<SetSuperuserModeResponse>(this, message, value);
1340
1537
  return message;
@@ -1344,18 +1541,24 @@ class SetSuperuserModeResponse$Type extends MessageType<SetSuperuserModeResponse
1344
1541
  while (reader.pos < end) {
1345
1542
  let [fieldNo, wireType] = reader.tag();
1346
1543
  switch (fieldNo) {
1347
- case /* resources.timestamp.Timestamp expires */ 1:
1348
- message.expires = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expires);
1544
+ case /* string token */ 1:
1545
+ message.token = reader.string();
1349
1546
  break;
1350
- case /* repeated string permissions */ 2:
1351
- message.permissions.push(reader.string());
1547
+ case /* resources.timestamp.Timestamp expires */ 2:
1548
+ message.expires = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.expires);
1352
1549
  break;
1353
- case /* optional resources.jobs.JobProps job_props */ 3:
1550
+ case /* optional resources.jobs.props.JobProps job_props */ 3:
1354
1551
  message.jobProps = JobProps.internalBinaryRead(reader, reader.uint32(), options, message.jobProps);
1355
1552
  break;
1356
1553
  case /* resources.users.User char */ 4:
1357
1554
  message.char = User.internalBinaryRead(reader, reader.uint32(), options, message.char);
1358
1555
  break;
1556
+ case /* repeated resources.permissions.permissions.Permission permissions */ 5:
1557
+ message.permissions.push(Permission.internalBinaryRead(reader, reader.uint32(), options));
1558
+ break;
1559
+ case /* repeated resources.permissions.attributes.RoleAttribute attributes */ 6:
1560
+ message.attributes.push(RoleAttribute.internalBinaryRead(reader, reader.uint32(), options));
1561
+ break;
1359
1562
  default:
1360
1563
  let u = options.readUnknownField;
1361
1564
  if (u === "throw")
@@ -1368,18 +1571,24 @@ class SetSuperuserModeResponse$Type extends MessageType<SetSuperuserModeResponse
1368
1571
  return message;
1369
1572
  }
1370
1573
  internalBinaryWrite(message: SetSuperuserModeResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1371
- /* resources.timestamp.Timestamp expires = 1; */
1574
+ /* string token = 1; */
1575
+ if (message.token !== "")
1576
+ writer.tag(1, WireType.LengthDelimited).string(message.token);
1577
+ /* resources.timestamp.Timestamp expires = 2; */
1372
1578
  if (message.expires)
1373
- Timestamp.internalBinaryWrite(message.expires, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1374
- /* repeated string permissions = 2; */
1375
- for (let i = 0; i < message.permissions.length; i++)
1376
- writer.tag(2, WireType.LengthDelimited).string(message.permissions[i]);
1377
- /* optional resources.jobs.JobProps job_props = 3; */
1579
+ Timestamp.internalBinaryWrite(message.expires, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
1580
+ /* optional resources.jobs.props.JobProps job_props = 3; */
1378
1581
  if (message.jobProps)
1379
1582
  JobProps.internalBinaryWrite(message.jobProps, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
1380
1583
  /* resources.users.User char = 4; */
1381
1584
  if (message.char)
1382
1585
  User.internalBinaryWrite(message.char, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
1586
+ /* repeated resources.permissions.permissions.Permission permissions = 5; */
1587
+ for (let i = 0; i < message.permissions.length; i++)
1588
+ Permission.internalBinaryWrite(message.permissions[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();
1589
+ /* repeated resources.permissions.attributes.RoleAttribute attributes = 6; */
1590
+ for (let i = 0; i < message.attributes.length; i++)
1591
+ RoleAttribute.internalBinaryWrite(message.attributes[i], writer.tag(6, WireType.LengthDelimited).fork(), options).join();
1383
1592
  let u = options.writeUnknownFields;
1384
1593
  if (u !== false)
1385
1594
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1401,8 +1610,9 @@ export const AuthService = new ServiceType("services.auth.AuthService", [
1401
1610
  { name: "ChangePassword", options: {}, I: ChangePasswordRequest, O: ChangePasswordResponse },
1402
1611
  { name: "ForgotPassword", options: {}, I: ForgotPasswordRequest, O: ForgotPasswordResponse },
1403
1612
  { name: "GetCharacters", options: {}, I: GetCharactersRequest, O: GetCharactersResponse },
1404
- { name: "ChooseCharacter", options: {}, I: ChooseCharacterRequest, O: ChooseCharacterResponse },
1613
+ { name: "ChooseCharacter", options: { "codegen.perms.perms": { enabled: true } }, I: ChooseCharacterRequest, O: ChooseCharacterResponse },
1614
+ { name: "ImpersonateJob", options: { "codegen.perms.perms": { enabled: true, service: "settings.SettingsService", name: "UpdateRolePerms" } }, I: ImpersonateJobRequest, O: ImpersonateJobResponse },
1405
1615
  { name: "GetAccountInfo", options: {}, I: GetAccountInfoRequest, O: GetAccountInfoResponse },
1406
- { name: "DeleteOAuth2Connection", options: {}, I: DeleteOAuth2ConnectionRequest, O: DeleteOAuth2ConnectionResponse },
1616
+ { name: "DeleteSocialLogin", options: {}, I: DeleteSocialLoginRequest, O: DeleteSocialLoginResponse },
1407
1617
  { name: "SetSuperuserMode", options: {}, I: SetSuperuserModeRequest, O: SetSuperuserModeResponse }
1408
- ]);
1618
+ ], { "codegen.perms.perms_svc": { icon: "i-mdi-key-outline" } });