@fivenet-app/gen 2025.5.2 → 2025.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/buf/validate/validate.ts +11301 -0
  2. package/clients.ts +157 -154
  3. package/codegen/dbscanner/dbscanner.ts +91 -0
  4. package/codegen/perms/perms.ts +208 -0
  5. package/codegen/sanitizer/sanitizer.ts +80 -0
  6. package/google/protobuf/any.ts +4 -3
  7. package/google/protobuf/descriptor.ts +393 -239
  8. package/google/protobuf/duration.ts +4 -3
  9. package/google/protobuf/struct.ts +485 -0
  10. package/google/protobuf/timestamp.ts +4 -3
  11. package/package.json +3 -3
  12. package/perms.ts +85 -159
  13. package/resources/accounts/accounts.ts +26 -25
  14. package/resources/accounts/oauth2.ts +30 -29
  15. package/resources/audit/audit.ts +36 -35
  16. package/resources/calendar/access.ts +49 -48
  17. package/resources/calendar/calendar.ts +122 -126
  18. package/resources/centrum/access.ts +345 -0
  19. package/resources/centrum/attributes.ts +8 -11
  20. package/resources/centrum/dispatchers.ts +149 -0
  21. package/resources/centrum/dispatches.ts +252 -115
  22. package/resources/centrum/settings.ts +384 -34
  23. package/resources/centrum/units.ts +112 -92
  24. package/resources/centrum/units_access.ts +54 -55
  25. package/resources/clientconfig/clientconfig.ts +890 -0
  26. package/resources/collab/collab.ts +817 -0
  27. package/resources/common/content/content.ts +113 -30
  28. package/resources/common/cron/cron.ts +43 -31
  29. package/resources/common/database/database.ts +92 -35
  30. package/resources/common/error.ts +17 -16
  31. package/resources/common/grpcws/grpcws.ts +24 -23
  32. package/resources/common/i18n.ts +20 -24
  33. package/resources/common/id_mapping.ts +69 -0
  34. package/resources/common/tests/objects.ts +4 -3
  35. package/resources/common/uuid.ts +4 -3
  36. package/resources/discord/discord.ts +209 -0
  37. package/resources/documents/access.ts +52 -53
  38. package/resources/documents/activity.ts +235 -58
  39. package/resources/documents/category.ts +20 -27
  40. package/resources/documents/comment.ts +26 -25
  41. package/resources/documents/documents.ts +335 -262
  42. package/resources/documents/pins.ts +127 -0
  43. package/resources/documents/requests.ts +31 -30
  44. package/resources/documents/signoff.ts +55 -0
  45. package/resources/documents/state.ts +69 -0
  46. package/resources/documents/templates.ts +119 -136
  47. package/resources/documents/workflow.ts +35 -24
  48. package/resources/file/file.ts +152 -0
  49. package/{services/settings → resources/file}/filestore.ts +179 -165
  50. package/resources/file/meta.ts +148 -0
  51. package/resources/jobs/activity.ts +39 -42
  52. package/resources/jobs/colleagues.ts +67 -60
  53. package/resources/jobs/conduct.ts +29 -30
  54. package/resources/jobs/job_props.ts +46 -48
  55. package/resources/jobs/job_settings.ts +45 -52
  56. package/resources/jobs/jobs.ts +14 -13
  57. package/resources/jobs/labels.ts +21 -22
  58. package/resources/jobs/timeclock.ts +26 -25
  59. package/resources/laws/laws.ts +40 -49
  60. package/resources/livemap/coords.ts +81 -0
  61. package/resources/livemap/heatmap.ts +93 -0
  62. package/resources/livemap/{livemap.ts → marker_marker.ts} +43 -310
  63. package/resources/livemap/user_marker.ts +298 -0
  64. package/resources/mailer/access.ts +75 -74
  65. package/resources/mailer/email.ts +24 -27
  66. package/resources/mailer/events.ts +25 -24
  67. package/resources/mailer/message.ts +45 -50
  68. package/resources/mailer/settings.ts +12 -15
  69. package/resources/mailer/template.ts +25 -28
  70. package/resources/mailer/thread.ts +70 -71
  71. package/resources/notifications/client_view.ts +239 -0
  72. package/resources/notifications/events.ts +50 -101
  73. package/resources/notifications/notifications.ts +52 -57
  74. package/resources/permissions/attributes.ts +63 -206
  75. package/resources/permissions/events.ts +149 -0
  76. package/resources/permissions/permissions.ts +103 -34
  77. package/resources/qualifications/access.ts +27 -26
  78. package/resources/qualifications/exam.ts +188 -126
  79. package/resources/qualifications/qualifications.ts +370 -303
  80. package/resources/settings/banner.ts +14 -21
  81. package/resources/settings/config.ts +163 -79
  82. package/resources/settings/perms.ts +151 -0
  83. package/resources/settings/status.ts +533 -0
  84. package/resources/stats/stats.ts +3 -2
  85. package/resources/sync/activity.ts +24 -23
  86. package/resources/sync/data.ts +94 -26
  87. package/resources/timestamp/timestamp.ts +3 -2
  88. package/resources/{centrum/user_unit.ts → tracker/mapping.ts} +44 -44
  89. package/resources/userinfo/user_info.ts +464 -0
  90. package/resources/users/activity.ts +80 -85
  91. package/resources/users/labels.ts +18 -21
  92. package/resources/users/licenses.ts +9 -8
  93. package/resources/users/props.ts +61 -51
  94. package/resources/users/users.ts +100 -78
  95. package/resources/vehicles/activity.ts +231 -0
  96. package/resources/vehicles/props.ts +103 -0
  97. package/resources/vehicles/vehicles.ts +28 -15
  98. package/resources/wiki/access.ts +49 -48
  99. package/resources/wiki/activity.ts +133 -51
  100. package/resources/wiki/page.ts +134 -87
  101. package/services/auth/auth.client.ts +24 -27
  102. package/services/auth/auth.ts +222 -195
  103. package/services/calendar/calendar.client.ts +32 -91
  104. package/services/calendar/calendar.ts +110 -109
  105. package/services/centrum/centrum.client.ts +97 -137
  106. package/services/centrum/centrum.ts +701 -298
  107. package/services/citizens/citizens.client.ts +70 -39
  108. package/services/citizens/citizens.ts +183 -93
  109. package/services/completor/completor.client.ts +16 -35
  110. package/services/completor/completor.ts +65 -44
  111. package/services/documents/collab.client.ts +46 -0
  112. package/services/documents/collab.ts +13 -0
  113. package/services/documents/documents.client.ts +88 -217
  114. package/services/documents/documents.ts +490 -508
  115. package/services/filestore/filestore.client.ts +86 -0
  116. package/services/filestore/filestore.ts +262 -0
  117. package/services/jobs/conduct.client.ts +10 -25
  118. package/services/jobs/conduct.ts +36 -35
  119. package/services/jobs/jobs.client.ts +22 -61
  120. package/services/jobs/jobs.ts +108 -91
  121. package/services/jobs/timeclock.client.ts +8 -19
  122. package/services/jobs/timeclock.ts +47 -46
  123. package/services/livemap/livemap.client.ts +8 -19
  124. package/services/livemap/livemap.ts +290 -119
  125. package/services/mailer/mailer.client.ts +44 -127
  126. package/services/mailer/mailer.ts +213 -216
  127. package/services/notifications/notifications.client.ts +65 -0
  128. package/services/{notificator/notificator.ts → notifications/notifications.ts} +117 -74
  129. package/services/qualifications/qualifications.client.ts +46 -91
  130. package/services/qualifications/qualifications.ts +181 -175
  131. package/services/settings/accounts.client.ts +10 -25
  132. package/services/settings/accounts.ts +64 -41
  133. package/services/settings/config.client.ts +6 -13
  134. package/services/settings/config.ts +8 -7
  135. package/services/settings/cron.client.ts +4 -7
  136. package/services/settings/cron.ts +4 -3
  137. package/services/settings/laws.client.ts +10 -25
  138. package/services/settings/laws.ts +29 -28
  139. package/services/settings/settings.client.ts +57 -103
  140. package/services/settings/settings.ts +190 -607
  141. package/services/settings/system.client.ts +90 -0
  142. package/services/settings/system.ts +618 -0
  143. package/services/stats/stats.client.ts +4 -3
  144. package/services/stats/stats.ts +4 -3
  145. package/services/sync/sync.client.ts +16 -15
  146. package/services/sync/sync.ts +82 -52
  147. package/services/vehicles/vehicles.client.ts +17 -7
  148. package/services/vehicles/vehicles.ts +169 -24
  149. package/services/wiki/collab.client.ts +46 -0
  150. package/services/wiki/collab.ts +13 -0
  151. package/services/wiki/wiki.client.ts +28 -37
  152. package/services/wiki/wiki.ts +93 -63
  153. package/svcs.ts +79 -103
  154. package/resources/centrum/disponents.ts +0 -81
  155. package/resources/filestore/file.ts +0 -204
  156. package/resources/internet/access.ts +0 -358
  157. package/resources/internet/ads.ts +0 -257
  158. package/resources/internet/domain.ts +0 -328
  159. package/resources/internet/page.ts +0 -428
  160. package/resources/internet/search.ts +0 -128
  161. package/resources/livemap/tracker.ts +0 -81
  162. package/services/internet/ads.client.ts +0 -41
  163. package/services/internet/ads.ts +0 -145
  164. package/services/internet/domain.client.ts +0 -109
  165. package/services/internet/domain.ts +0 -658
  166. package/services/internet/internet.client.ts +0 -58
  167. package/services/internet/internet.ts +0 -268
  168. package/services/notificator/notificator.client.ts +0 -76
  169. package/services/settings/filestore.client.ts +0 -75
@@ -1,6 +1,9 @@
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/citizens/citizens.proto" (package "services.citizens", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
5
+ import { UploadFileResponse } from "../../resources/file/filestore";
6
+ import { UploadFileRequest } from "../../resources/file/filestore";
4
7
  import { ServiceType } from "@protobuf-ts/runtime-rpc";
5
8
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
6
9
  import type { IBinaryWriter } from "@protobuf-ts/runtime";
@@ -12,7 +15,6 @@ import type { PartialMessage } from "@protobuf-ts/runtime";
12
15
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
16
  import { MessageType } from "@protobuf-ts/runtime";
14
17
  import { Label } from "../../resources/users/labels";
15
- import { File } from "../../resources/filestore/file";
16
18
  import { UserProps } from "../../resources/users/props";
17
19
  import { UserActivity } from "../../resources/users/activity";
18
20
  import { UserActivityType } from "../../resources/users/activity";
@@ -25,37 +27,37 @@ import { PaginationRequest } from "../../resources/common/database/database";
25
27
  */
26
28
  export interface ListCitizensRequest {
27
29
  /**
28
- * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1;
30
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
29
31
  */
30
32
  pagination?: PaginationRequest;
31
33
  /**
32
- * @generated from protobuf field: optional resources.common.database.Sort sort = 2;
34
+ * @generated from protobuf field: optional resources.common.database.Sort sort = 2
33
35
  */
34
36
  sort?: Sort;
35
37
  /**
36
38
  * Search params
37
39
  *
38
- * @generated from protobuf field: string search = 3;
40
+ * @generated from protobuf field: string search = 3
39
41
  */
40
42
  search: string;
41
43
  /**
42
- * @generated from protobuf field: optional bool wanted = 4;
44
+ * @generated from protobuf field: optional bool wanted = 4
43
45
  */
44
46
  wanted?: boolean;
45
47
  /**
46
- * @generated from protobuf field: optional string phone_number = 5;
48
+ * @generated from protobuf field: optional string phone_number = 5
47
49
  */
48
50
  phoneNumber?: string;
49
51
  /**
50
- * @generated from protobuf field: optional uint32 traffic_infraction_points = 6;
52
+ * @generated from protobuf field: optional uint32 traffic_infraction_points = 6
51
53
  */
52
54
  trafficInfractionPoints?: number;
53
55
  /**
54
- * @generated from protobuf field: optional string dateofbirth = 7;
56
+ * @generated from protobuf field: optional string dateofbirth = 7
55
57
  */
56
58
  dateofbirth?: string;
57
59
  /**
58
- * @generated from protobuf field: optional uint64 open_fines = 8;
60
+ * @generated from protobuf field: optional int64 open_fines = 8
59
61
  */
60
62
  openFines?: number;
61
63
  }
@@ -64,11 +66,11 @@ export interface ListCitizensRequest {
64
66
  */
65
67
  export interface ListCitizensResponse {
66
68
  /**
67
- * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1;
69
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
68
70
  */
69
71
  pagination?: PaginationResponse;
70
72
  /**
71
- * @generated from protobuf field: repeated resources.users.User users = 2;
73
+ * @generated from protobuf field: repeated resources.users.User users = 2
72
74
  */
73
75
  users: User[];
74
76
  }
@@ -77,11 +79,11 @@ export interface ListCitizensResponse {
77
79
  */
78
80
  export interface GetUserRequest {
79
81
  /**
80
- * @generated from protobuf field: int32 user_id = 1;
82
+ * @generated from protobuf field: int32 user_id = 1
81
83
  */
82
84
  userId: number;
83
85
  /**
84
- * @generated from protobuf field: optional bool info_only = 2;
86
+ * @generated from protobuf field: optional bool info_only = 2
85
87
  */
86
88
  infoOnly?: boolean;
87
89
  }
@@ -90,7 +92,7 @@ export interface GetUserRequest {
90
92
  */
91
93
  export interface GetUserResponse {
92
94
  /**
93
- * @generated from protobuf field: resources.users.User user = 1;
95
+ * @generated from protobuf field: resources.users.User user = 1
94
96
  */
95
97
  user?: User;
96
98
  }
@@ -99,21 +101,21 @@ export interface GetUserResponse {
99
101
  */
100
102
  export interface ListUserActivityRequest {
101
103
  /**
102
- * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1;
104
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
103
105
  */
104
106
  pagination?: PaginationRequest;
105
107
  /**
106
- * @generated from protobuf field: optional resources.common.database.Sort sort = 2;
108
+ * @generated from protobuf field: optional resources.common.database.Sort sort = 2
107
109
  */
108
110
  sort?: Sort;
109
111
  /**
110
112
  * Search params
111
113
  *
112
- * @generated from protobuf field: int32 user_id = 3;
114
+ * @generated from protobuf field: int32 user_id = 3
113
115
  */
114
116
  userId: number;
115
117
  /**
116
- * @generated from protobuf field: repeated resources.users.UserActivityType types = 4;
118
+ * @generated from protobuf field: repeated resources.users.UserActivityType types = 4
117
119
  */
118
120
  types: UserActivityType[];
119
121
  }
@@ -122,11 +124,11 @@ export interface ListUserActivityRequest {
122
124
  */
123
125
  export interface ListUserActivityResponse {
124
126
  /**
125
- * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1;
127
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
126
128
  */
127
129
  pagination?: PaginationResponse;
128
130
  /**
129
- * @generated from protobuf field: repeated resources.users.UserActivity activity = 2;
131
+ * @generated from protobuf field: repeated resources.users.UserActivity activity = 2
130
132
  */
131
133
  activity: UserActivity[];
132
134
  }
@@ -135,13 +137,11 @@ export interface ListUserActivityResponse {
135
137
  */
136
138
  export interface SetUserPropsRequest {
137
139
  /**
138
- * @generated from protobuf field: resources.users.UserProps props = 1;
140
+ * @generated from protobuf field: resources.users.UserProps props = 1
139
141
  */
140
142
  props?: UserProps;
141
143
  /**
142
- * @sanitize
143
- *
144
- * @generated from protobuf field: string reason = 2;
144
+ * @generated from protobuf field: string reason = 2
145
145
  */
146
146
  reason: string;
147
147
  }
@@ -150,34 +150,44 @@ export interface SetUserPropsRequest {
150
150
  */
151
151
  export interface SetUserPropsResponse {
152
152
  /**
153
- * @generated from protobuf field: resources.users.UserProps props = 1;
153
+ * @generated from protobuf field: resources.users.UserProps props = 1
154
154
  */
155
155
  props?: UserProps;
156
156
  }
157
157
  /**
158
- * @generated from protobuf message services.citizens.SetProfilePictureRequest
158
+ * @generated from protobuf message services.citizens.DeleteAvatarRequest
159
159
  */
160
- export interface SetProfilePictureRequest {
161
- /**
162
- * @generated from protobuf field: resources.filestore.File avatar = 1;
163
- */
164
- avatar?: File;
160
+ export interface DeleteAvatarRequest {
161
+ }
162
+ /**
163
+ * @generated from protobuf message services.citizens.DeleteAvatarResponse
164
+ */
165
+ export interface DeleteAvatarResponse {
165
166
  }
166
167
  /**
167
- * @generated from protobuf message services.citizens.SetProfilePictureResponse
168
+ * @generated from protobuf message services.citizens.DeleteMugshotRequest
168
169
  */
169
- export interface SetProfilePictureResponse {
170
+ export interface DeleteMugshotRequest {
170
171
  /**
171
- * @generated from protobuf field: resources.filestore.File avatar = 1;
172
+ * @generated from protobuf field: int32 user_id = 1
172
173
  */
173
- avatar?: File;
174
+ userId: number;
175
+ /**
176
+ * @generated from protobuf field: string reason = 2
177
+ */
178
+ reason: string;
179
+ }
180
+ /**
181
+ * @generated from protobuf message services.citizens.DeleteMugshotResponse
182
+ */
183
+ export interface DeleteMugshotResponse {
174
184
  }
175
185
  /**
176
186
  * @generated from protobuf message services.citizens.ManageLabelsRequest
177
187
  */
178
188
  export interface ManageLabelsRequest {
179
189
  /**
180
- * @generated from protobuf field: repeated resources.users.Label labels = 1;
190
+ * @generated from protobuf field: repeated resources.users.Label labels = 1
181
191
  */
182
192
  labels: Label[];
183
193
  }
@@ -186,7 +196,7 @@ export interface ManageLabelsRequest {
186
196
  */
187
197
  export interface ManageLabelsResponse {
188
198
  /**
189
- * @generated from protobuf field: repeated resources.users.Label labels = 1;
199
+ * @generated from protobuf field: repeated resources.users.Label labels = 1
190
200
  */
191
201
  labels: Label[];
192
202
  }
@@ -194,14 +204,14 @@ export interface ManageLabelsResponse {
194
204
  class ListCitizensRequest$Type extends MessageType<ListCitizensRequest> {
195
205
  constructor() {
196
206
  super("services.citizens.ListCitizensRequest", [
197
- { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "validate.rules": { message: { required: true } } } },
207
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
198
208
  { no: 2, name: "sort", kind: "message", T: () => Sort },
199
- { no: 3, name: "search", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "64" } } } },
209
+ { no: 3, name: "search", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
200
210
  { no: 4, name: "wanted", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
201
- { no: 5, name: "phone_number", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
211
+ { no: 5, name: "phone_number", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
202
212
  { no: 6, name: "traffic_infraction_points", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ },
203
- { no: 7, name: "dateofbirth", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "10" } } } },
204
- { no: 8, name: "open_fines", kind: "scalar", opt: true, T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ }
213
+ { no: 7, name: "dateofbirth", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "10" } } } },
214
+ { no: 8, name: "open_fines", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
205
215
  ]);
206
216
  }
207
217
  create(value?: PartialMessage<ListCitizensRequest>): ListCitizensRequest {
@@ -237,8 +247,8 @@ class ListCitizensRequest$Type extends MessageType<ListCitizensRequest> {
237
247
  case /* optional string dateofbirth */ 7:
238
248
  message.dateofbirth = reader.string();
239
249
  break;
240
- case /* optional uint64 open_fines */ 8:
241
- message.openFines = reader.uint64().toNumber();
250
+ case /* optional int64 open_fines */ 8:
251
+ message.openFines = reader.int64().toNumber();
242
252
  break;
243
253
  default:
244
254
  let u = options.readUnknownField;
@@ -273,9 +283,9 @@ class ListCitizensRequest$Type extends MessageType<ListCitizensRequest> {
273
283
  /* optional string dateofbirth = 7; */
274
284
  if (message.dateofbirth !== undefined)
275
285
  writer.tag(7, WireType.LengthDelimited).string(message.dateofbirth);
276
- /* optional uint64 open_fines = 8; */
286
+ /* optional int64 open_fines = 8; */
277
287
  if (message.openFines !== undefined)
278
- writer.tag(8, WireType.Varint).uint64(message.openFines);
288
+ writer.tag(8, WireType.Varint).int64(message.openFines);
279
289
  let u = options.writeUnknownFields;
280
290
  if (u !== false)
281
291
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -290,8 +300,8 @@ export const ListCitizensRequest = new ListCitizensRequest$Type();
290
300
  class ListCitizensResponse$Type extends MessageType<ListCitizensResponse> {
291
301
  constructor() {
292
302
  super("services.citizens.ListCitizensResponse", [
293
- { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse },
294
- { no: 2, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => User }
303
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
304
+ { no: 2, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => User, options: { "codegen.itemslen.enabled": true } }
295
305
  ]);
296
306
  }
297
307
  create(value?: PartialMessage<ListCitizensResponse>): ListCitizensResponse {
@@ -344,7 +354,7 @@ export const ListCitizensResponse = new ListCitizensResponse$Type();
344
354
  class GetUserRequest$Type extends MessageType<GetUserRequest> {
345
355
  constructor() {
346
356
  super("services.citizens.GetUserRequest", [
347
- { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
357
+ { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
348
358
  { no: 2, name: "info_only", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
349
359
  ]);
350
360
  }
@@ -444,10 +454,10 @@ export const GetUserResponse = new GetUserResponse$Type();
444
454
  class ListUserActivityRequest$Type extends MessageType<ListUserActivityRequest> {
445
455
  constructor() {
446
456
  super("services.citizens.ListUserActivityRequest", [
447
- { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "validate.rules": { message: { required: true } } } },
457
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
448
458
  { no: 2, name: "sort", kind: "message", T: () => Sort },
449
- { no: 3, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
450
- { no: 4, name: "types", kind: "enum", repeat: 1 /*RepeatType.PACKED*/, T: () => ["resources.users.UserActivityType", UserActivityType, "USER_ACTIVITY_TYPE_"], options: { "validate.rules": { repeated: { maxItems: "20" } } } }
459
+ { no: 3, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
460
+ { no: 4, name: "types", kind: "enum", repeat: 1 /*RepeatType.PACKED*/, T: () => ["resources.users.UserActivityType", UserActivityType, "USER_ACTIVITY_TYPE_"], options: { "buf.validate.field": { repeated: { maxItems: "20" } } } }
451
461
  ]);
452
462
  }
453
463
  create(value?: PartialMessage<ListUserActivityRequest>): ListUserActivityRequest {
@@ -521,8 +531,8 @@ export const ListUserActivityRequest = new ListUserActivityRequest$Type();
521
531
  class ListUserActivityResponse$Type extends MessageType<ListUserActivityResponse> {
522
532
  constructor() {
523
533
  super("services.citizens.ListUserActivityResponse", [
524
- { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse },
525
- { no: 2, name: "activity", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UserActivity }
534
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
535
+ { no: 2, name: "activity", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UserActivity, options: { "codegen.itemslen.enabled": true } }
526
536
  ]);
527
537
  }
528
538
  create(value?: PartialMessage<ListUserActivityResponse>): ListUserActivityResponse {
@@ -575,8 +585,8 @@ export const ListUserActivityResponse = new ListUserActivityResponse$Type();
575
585
  class SetUserPropsRequest$Type extends MessageType<SetUserPropsRequest> {
576
586
  constructor() {
577
587
  super("services.citizens.SetUserPropsRequest", [
578
- { no: 1, name: "props", kind: "message", T: () => UserProps, options: { "validate.rules": { message: { required: true } } } },
579
- { no: 2, name: "reason", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxLen: "255", ignoreEmpty: true } } } }
588
+ { no: 1, name: "props", kind: "message", T: () => UserProps, options: { "buf.validate.field": { required: true } } },
589
+ { no: 2, name: "reason", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { ignore: "IGNORE_IF_ZERO_VALUE", string: { minLen: "3", maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } }
580
590
  ]);
581
591
  }
582
592
  create(value?: PartialMessage<SetUserPropsRequest>): SetUserPropsRequest {
@@ -672,26 +682,59 @@ class SetUserPropsResponse$Type extends MessageType<SetUserPropsResponse> {
672
682
  */
673
683
  export const SetUserPropsResponse = new SetUserPropsResponse$Type();
674
684
  // @generated message type with reflection information, may provide speed optimized methods
675
- class SetProfilePictureRequest$Type extends MessageType<SetProfilePictureRequest> {
685
+ class DeleteAvatarRequest$Type extends MessageType<DeleteAvatarRequest> {
676
686
  constructor() {
677
- super("services.citizens.SetProfilePictureRequest", [
678
- { no: 1, name: "avatar", kind: "message", T: () => File }
679
- ]);
687
+ super("services.citizens.DeleteAvatarRequest", []);
680
688
  }
681
- create(value?: PartialMessage<SetProfilePictureRequest>): SetProfilePictureRequest {
689
+ create(value?: PartialMessage<DeleteAvatarRequest>): DeleteAvatarRequest {
682
690
  const message = globalThis.Object.create((this.messagePrototype!));
683
691
  if (value !== undefined)
684
- reflectionMergePartial<SetProfilePictureRequest>(this, message, value);
692
+ reflectionMergePartial<DeleteAvatarRequest>(this, message, value);
685
693
  return message;
686
694
  }
687
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetProfilePictureRequest): SetProfilePictureRequest {
695
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteAvatarRequest): DeleteAvatarRequest {
696
+ let message = target ?? this.create(), end = reader.pos + length;
697
+ while (reader.pos < end) {
698
+ let [fieldNo, wireType] = reader.tag();
699
+ switch (fieldNo) {
700
+ default:
701
+ let u = options.readUnknownField;
702
+ if (u === "throw")
703
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
704
+ let d = reader.skip(wireType);
705
+ if (u !== false)
706
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
707
+ }
708
+ }
709
+ return message;
710
+ }
711
+ internalBinaryWrite(message: DeleteAvatarRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
712
+ let u = options.writeUnknownFields;
713
+ if (u !== false)
714
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
715
+ return writer;
716
+ }
717
+ }
718
+ /**
719
+ * @generated MessageType for protobuf message services.citizens.DeleteAvatarRequest
720
+ */
721
+ export const DeleteAvatarRequest = new DeleteAvatarRequest$Type();
722
+ // @generated message type with reflection information, may provide speed optimized methods
723
+ class DeleteAvatarResponse$Type extends MessageType<DeleteAvatarResponse> {
724
+ constructor() {
725
+ super("services.citizens.DeleteAvatarResponse", []);
726
+ }
727
+ create(value?: PartialMessage<DeleteAvatarResponse>): DeleteAvatarResponse {
728
+ const message = globalThis.Object.create((this.messagePrototype!));
729
+ if (value !== undefined)
730
+ reflectionMergePartial<DeleteAvatarResponse>(this, message, value);
731
+ return message;
732
+ }
733
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteAvatarResponse): DeleteAvatarResponse {
688
734
  let message = target ?? this.create(), end = reader.pos + length;
689
735
  while (reader.pos < end) {
690
736
  let [fieldNo, wireType] = reader.tag();
691
737
  switch (fieldNo) {
692
- case /* resources.filestore.File avatar */ 1:
693
- message.avatar = File.internalBinaryRead(reader, reader.uint32(), options, message.avatar);
694
- break;
695
738
  default:
696
739
  let u = options.readUnknownField;
697
740
  if (u === "throw")
@@ -703,10 +746,7 @@ class SetProfilePictureRequest$Type extends MessageType<SetProfilePictureRequest
703
746
  }
704
747
  return message;
705
748
  }
706
- internalBinaryWrite(message: SetProfilePictureRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
707
- /* resources.filestore.File avatar = 1; */
708
- if (message.avatar)
709
- File.internalBinaryWrite(message.avatar, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
749
+ internalBinaryWrite(message: DeleteAvatarResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
710
750
  let u = options.writeUnknownFields;
711
751
  if (u !== false)
712
752
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -714,30 +754,80 @@ class SetProfilePictureRequest$Type extends MessageType<SetProfilePictureRequest
714
754
  }
715
755
  }
716
756
  /**
717
- * @generated MessageType for protobuf message services.citizens.SetProfilePictureRequest
757
+ * @generated MessageType for protobuf message services.citizens.DeleteAvatarResponse
718
758
  */
719
- export const SetProfilePictureRequest = new SetProfilePictureRequest$Type();
759
+ export const DeleteAvatarResponse = new DeleteAvatarResponse$Type();
720
760
  // @generated message type with reflection information, may provide speed optimized methods
721
- class SetProfilePictureResponse$Type extends MessageType<SetProfilePictureResponse> {
761
+ class DeleteMugshotRequest$Type extends MessageType<DeleteMugshotRequest> {
722
762
  constructor() {
723
- super("services.citizens.SetProfilePictureResponse", [
724
- { no: 1, name: "avatar", kind: "message", T: () => File }
763
+ super("services.citizens.DeleteMugshotRequest", [
764
+ { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
765
+ { no: 2, name: "reason", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { ignore: "IGNORE_IF_ZERO_VALUE", string: { minLen: "3", maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } }
725
766
  ]);
726
767
  }
727
- create(value?: PartialMessage<SetProfilePictureResponse>): SetProfilePictureResponse {
768
+ create(value?: PartialMessage<DeleteMugshotRequest>): DeleteMugshotRequest {
728
769
  const message = globalThis.Object.create((this.messagePrototype!));
770
+ message.userId = 0;
771
+ message.reason = "";
729
772
  if (value !== undefined)
730
- reflectionMergePartial<SetProfilePictureResponse>(this, message, value);
773
+ reflectionMergePartial<DeleteMugshotRequest>(this, message, value);
731
774
  return message;
732
775
  }
733
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetProfilePictureResponse): SetProfilePictureResponse {
776
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteMugshotRequest): DeleteMugshotRequest {
734
777
  let message = target ?? this.create(), end = reader.pos + length;
735
778
  while (reader.pos < end) {
736
779
  let [fieldNo, wireType] = reader.tag();
737
780
  switch (fieldNo) {
738
- case /* resources.filestore.File avatar */ 1:
739
- message.avatar = File.internalBinaryRead(reader, reader.uint32(), options, message.avatar);
781
+ case /* int32 user_id */ 1:
782
+ message.userId = reader.int32();
740
783
  break;
784
+ case /* string reason */ 2:
785
+ message.reason = reader.string();
786
+ break;
787
+ default:
788
+ let u = options.readUnknownField;
789
+ if (u === "throw")
790
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
791
+ let d = reader.skip(wireType);
792
+ if (u !== false)
793
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
794
+ }
795
+ }
796
+ return message;
797
+ }
798
+ internalBinaryWrite(message: DeleteMugshotRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
799
+ /* int32 user_id = 1; */
800
+ if (message.userId !== 0)
801
+ writer.tag(1, WireType.Varint).int32(message.userId);
802
+ /* string reason = 2; */
803
+ if (message.reason !== "")
804
+ writer.tag(2, WireType.LengthDelimited).string(message.reason);
805
+ let u = options.writeUnknownFields;
806
+ if (u !== false)
807
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
808
+ return writer;
809
+ }
810
+ }
811
+ /**
812
+ * @generated MessageType for protobuf message services.citizens.DeleteMugshotRequest
813
+ */
814
+ export const DeleteMugshotRequest = new DeleteMugshotRequest$Type();
815
+ // @generated message type with reflection information, may provide speed optimized methods
816
+ class DeleteMugshotResponse$Type extends MessageType<DeleteMugshotResponse> {
817
+ constructor() {
818
+ super("services.citizens.DeleteMugshotResponse", []);
819
+ }
820
+ create(value?: PartialMessage<DeleteMugshotResponse>): DeleteMugshotResponse {
821
+ const message = globalThis.Object.create((this.messagePrototype!));
822
+ if (value !== undefined)
823
+ reflectionMergePartial<DeleteMugshotResponse>(this, message, value);
824
+ return message;
825
+ }
826
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteMugshotResponse): DeleteMugshotResponse {
827
+ let message = target ?? this.create(), end = reader.pos + length;
828
+ while (reader.pos < end) {
829
+ let [fieldNo, wireType] = reader.tag();
830
+ switch (fieldNo) {
741
831
  default:
742
832
  let u = options.readUnknownField;
743
833
  if (u === "throw")
@@ -749,10 +839,7 @@ class SetProfilePictureResponse$Type extends MessageType<SetProfilePictureRespon
749
839
  }
750
840
  return message;
751
841
  }
752
- internalBinaryWrite(message: SetProfilePictureResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
753
- /* resources.filestore.File avatar = 1; */
754
- if (message.avatar)
755
- File.internalBinaryWrite(message.avatar, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
842
+ internalBinaryWrite(message: DeleteMugshotResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
756
843
  let u = options.writeUnknownFields;
757
844
  if (u !== false)
758
845
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -760,9 +847,9 @@ class SetProfilePictureResponse$Type extends MessageType<SetProfilePictureRespon
760
847
  }
761
848
  }
762
849
  /**
763
- * @generated MessageType for protobuf message services.citizens.SetProfilePictureResponse
850
+ * @generated MessageType for protobuf message services.citizens.DeleteMugshotResponse
764
851
  */
765
- export const SetProfilePictureResponse = new SetProfilePictureResponse$Type();
852
+ export const DeleteMugshotResponse = new DeleteMugshotResponse$Type();
766
853
  // @generated message type with reflection information, may provide speed optimized methods
767
854
  class ManageLabelsRequest$Type extends MessageType<ManageLabelsRequest> {
768
855
  constructor() {
@@ -861,10 +948,13 @@ export const ManageLabelsResponse = new ManageLabelsResponse$Type();
861
948
  * @generated ServiceType for protobuf service services.citizens.CitizensService
862
949
  */
863
950
  export const CitizensService = new ServiceType("services.citizens.CitizensService", [
864
- { name: "ListCitizens", options: {}, I: ListCitizensRequest, O: ListCitizensResponse },
865
- { name: "GetUser", options: {}, I: GetUserRequest, O: GetUserResponse },
866
- { name: "ListUserActivity", options: {}, I: ListUserActivityRequest, O: ListUserActivityResponse },
867
- { name: "SetUserProps", options: {}, I: SetUserPropsRequest, O: SetUserPropsResponse },
868
- { name: "SetProfilePicture", options: {}, I: SetProfilePictureRequest, O: SetProfilePictureResponse },
869
- { name: "ManageLabels", options: {}, I: ManageLabelsRequest, O: ManageLabelsResponse }
951
+ { name: "ListCitizens", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Fields", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["PhoneNumber", "Licenses", "UserProps.Wanted", "UserProps.Job", "UserProps.TrafficInfractionPoints", "UserProps.OpenFines", "UserProps.BloodType", "UserProps.Mugshot", "UserProps.Labels", "UserProps.Email"] }] } }, I: ListCitizensRequest, O: ListCitizensResponse },
952
+ { name: "GetUser", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Jobs", type: "ATTRIBUTE_TYPE_JOB_GRADE_LIST" }] } }, I: GetUserRequest, O: GetUserResponse },
953
+ { name: "ListUserActivity", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Fields", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["SourceUser", "Own"] }] } }, I: ListUserActivityRequest, O: ListUserActivityResponse },
954
+ { name: "SetUserProps", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Fields", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["Wanted", "Job", "TrafficInfractionPoints", "Mugshot", "Labels"] }] } }, I: SetUserPropsRequest, O: SetUserPropsResponse },
955
+ { name: "UploadAvatar", clientStreaming: true, options: { "codegen.perms.perms": { enabled: true, name: "Any" } }, I: UploadFileRequest, O: UploadFileResponse },
956
+ { name: "DeleteAvatar", options: { "codegen.perms.perms": { enabled: true, name: "Any" } }, I: DeleteAvatarRequest, O: DeleteAvatarResponse },
957
+ { name: "UploadMugshot", clientStreaming: true, options: { "codegen.perms.perms": { enabled: true, name: "SetUserProps" } }, I: UploadFileRequest, O: UploadFileResponse },
958
+ { name: "DeleteMugshot", options: { "codegen.perms.perms": { enabled: true, name: "SetUserProps" } }, I: DeleteMugshotRequest, O: DeleteMugshotResponse },
959
+ { name: "ManageLabels", options: { "codegen.perms.perms": { enabled: true } }, I: ManageLabelsRequest, O: ManageLabelsResponse }
870
960
  ]);
@@ -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/completor/completor.proto" (package "services.completor", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
5
6
  import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
@@ -13,7 +14,7 @@ import type { CompleteDocumentCategoriesRequest } from "./completor";
13
14
  import type { CompleteJobsResponse } from "./completor";
14
15
  import type { CompleteJobsRequest } from "./completor";
15
16
  import { stackIntercept } from "@protobuf-ts/runtime-rpc";
16
- import type { CompleteCitizensRespoonse } from "./completor";
17
+ import type { CompleteCitizensResponse } from "./completor";
17
18
  import type { CompleteCitizensRequest } from "./completor";
18
19
  import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
19
20
  import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
@@ -22,33 +23,23 @@ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
22
23
  */
23
24
  export interface ICompletorServiceClient {
24
25
  /**
25
- * @perm
26
- *
27
- * @generated from protobuf rpc: CompleteCitizens(services.completor.CompleteCitizensRequest) returns (services.completor.CompleteCitizensRespoonse);
26
+ * @generated from protobuf rpc: CompleteCitizens
28
27
  */
29
- completeCitizens(input: CompleteCitizensRequest, options?: RpcOptions): UnaryCall<CompleteCitizensRequest, CompleteCitizensRespoonse>;
28
+ completeCitizens(input: CompleteCitizensRequest, options?: RpcOptions): UnaryCall<CompleteCitizensRequest, CompleteCitizensResponse>;
30
29
  /**
31
- * @perm: Name=Any
32
- *
33
- * @generated from protobuf rpc: CompleteJobs(services.completor.CompleteJobsRequest) returns (services.completor.CompleteJobsResponse);
30
+ * @generated from protobuf rpc: CompleteJobs
34
31
  */
35
32
  completeJobs(input: CompleteJobsRequest, options?: RpcOptions): UnaryCall<CompleteJobsRequest, CompleteJobsResponse>;
36
33
  /**
37
- * @perm: Attrs=Jobs/JobList
38
- *
39
- * @generated from protobuf rpc: CompleteDocumentCategories(services.completor.CompleteDocumentCategoriesRequest) returns (services.completor.CompleteDocumentCategoriesResponse);
34
+ * @generated from protobuf rpc: CompleteDocumentCategories
40
35
  */
41
36
  completeDocumentCategories(input: CompleteDocumentCategoriesRequest, options?: RpcOptions): UnaryCall<CompleteDocumentCategoriesRequest, CompleteDocumentCategoriesResponse>;
42
37
  /**
43
- * @perm: Name=Any
44
- *
45
- * @generated from protobuf rpc: ListLawBooks(services.completor.ListLawBooksRequest) returns (services.completor.ListLawBooksResponse);
38
+ * @generated from protobuf rpc: ListLawBooks
46
39
  */
47
40
  listLawBooks(input: ListLawBooksRequest, options?: RpcOptions): UnaryCall<ListLawBooksRequest, ListLawBooksResponse>;
48
41
  /**
49
- * @perm: Attrs=Jobs/JobList
50
- *
51
- * @generated from protobuf rpc: CompleteCitizenLabels(services.completor.CompleteCitizenLabelsRequest) returns (services.completor.CompleteCitizenLabelsResponse);
42
+ * @generated from protobuf rpc: CompleteCitizenLabels
52
43
  */
53
44
  completeCitizenLabels(input: CompleteCitizenLabelsRequest, options?: RpcOptions): UnaryCall<CompleteCitizenLabelsRequest, CompleteCitizenLabelsResponse>;
54
45
  }
@@ -62,45 +53,35 @@ export class CompletorServiceClient implements ICompletorServiceClient, ServiceI
62
53
  constructor(private readonly _transport: RpcTransport) {
63
54
  }
64
55
  /**
65
- * @perm
66
- *
67
- * @generated from protobuf rpc: CompleteCitizens(services.completor.CompleteCitizensRequest) returns (services.completor.CompleteCitizensRespoonse);
56
+ * @generated from protobuf rpc: CompleteCitizens
68
57
  */
69
- completeCitizens(input: CompleteCitizensRequest, options?: RpcOptions): UnaryCall<CompleteCitizensRequest, CompleteCitizensRespoonse> {
58
+ completeCitizens(input: CompleteCitizensRequest, options?: RpcOptions): UnaryCall<CompleteCitizensRequest, CompleteCitizensResponse> {
70
59
  const method = this.methods[0], opt = this._transport.mergeOptions(options);
71
- return stackIntercept<CompleteCitizensRequest, CompleteCitizensRespoonse>("unary", this._transport, method, opt, input);
60
+ return stackIntercept<CompleteCitizensRequest, CompleteCitizensResponse>("unary", this._transport, method, opt, input);
72
61
  }
73
62
  /**
74
- * @perm: Name=Any
75
- *
76
- * @generated from protobuf rpc: CompleteJobs(services.completor.CompleteJobsRequest) returns (services.completor.CompleteJobsResponse);
63
+ * @generated from protobuf rpc: CompleteJobs
77
64
  */
78
65
  completeJobs(input: CompleteJobsRequest, options?: RpcOptions): UnaryCall<CompleteJobsRequest, CompleteJobsResponse> {
79
66
  const method = this.methods[1], opt = this._transport.mergeOptions(options);
80
67
  return stackIntercept<CompleteJobsRequest, CompleteJobsResponse>("unary", this._transport, method, opt, input);
81
68
  }
82
69
  /**
83
- * @perm: Attrs=Jobs/JobList
84
- *
85
- * @generated from protobuf rpc: CompleteDocumentCategories(services.completor.CompleteDocumentCategoriesRequest) returns (services.completor.CompleteDocumentCategoriesResponse);
70
+ * @generated from protobuf rpc: CompleteDocumentCategories
86
71
  */
87
72
  completeDocumentCategories(input: CompleteDocumentCategoriesRequest, options?: RpcOptions): UnaryCall<CompleteDocumentCategoriesRequest, CompleteDocumentCategoriesResponse> {
88
73
  const method = this.methods[2], opt = this._transport.mergeOptions(options);
89
74
  return stackIntercept<CompleteDocumentCategoriesRequest, CompleteDocumentCategoriesResponse>("unary", this._transport, method, opt, input);
90
75
  }
91
76
  /**
92
- * @perm: Name=Any
93
- *
94
- * @generated from protobuf rpc: ListLawBooks(services.completor.ListLawBooksRequest) returns (services.completor.ListLawBooksResponse);
77
+ * @generated from protobuf rpc: ListLawBooks
95
78
  */
96
79
  listLawBooks(input: ListLawBooksRequest, options?: RpcOptions): UnaryCall<ListLawBooksRequest, ListLawBooksResponse> {
97
80
  const method = this.methods[3], opt = this._transport.mergeOptions(options);
98
81
  return stackIntercept<ListLawBooksRequest, ListLawBooksResponse>("unary", this._transport, method, opt, input);
99
82
  }
100
83
  /**
101
- * @perm: Attrs=Jobs/JobList
102
- *
103
- * @generated from protobuf rpc: CompleteCitizenLabels(services.completor.CompleteCitizenLabelsRequest) returns (services.completor.CompleteCitizenLabelsResponse);
84
+ * @generated from protobuf rpc: CompleteCitizenLabels
104
85
  */
105
86
  completeCitizenLabels(input: CompleteCitizenLabelsRequest, options?: RpcOptions): UnaryCall<CompleteCitizenLabelsRequest, CompleteCitizenLabelsResponse> {
106
87
  const method = this.methods[4], opt = this._transport.mergeOptions(options);