@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,9 +1,12 @@
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/vehicles/vehicles.proto" (package "services.vehicles", 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";
6
7
  import { VehiclesService } from "./vehicles";
8
+ import type { SetVehiclePropsResponse } from "./vehicles";
9
+ import type { SetVehiclePropsRequest } from "./vehicles";
7
10
  import { stackIntercept } from "@protobuf-ts/runtime-rpc";
8
11
  import type { ListVehiclesResponse } from "./vehicles";
9
12
  import type { ListVehiclesRequest } from "./vehicles";
@@ -14,11 +17,13 @@ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
14
17
  */
15
18
  export interface IVehiclesServiceClient {
16
19
  /**
17
- * @perm
18
- *
19
- * @generated from protobuf rpc: ListVehicles(services.vehicles.ListVehiclesRequest) returns (services.vehicles.ListVehiclesResponse);
20
+ * @generated from protobuf rpc: ListVehicles
20
21
  */
21
22
  listVehicles(input: ListVehiclesRequest, options?: RpcOptions): UnaryCall<ListVehiclesRequest, ListVehiclesResponse>;
23
+ /**
24
+ * @generated from protobuf rpc: SetVehicleProps
25
+ */
26
+ setVehicleProps(input: SetVehiclePropsRequest, options?: RpcOptions): UnaryCall<SetVehiclePropsRequest, SetVehiclePropsResponse>;
22
27
  }
23
28
  /**
24
29
  * @generated from protobuf service services.vehicles.VehiclesService
@@ -30,12 +35,17 @@ export class VehiclesServiceClient implements IVehiclesServiceClient, ServiceInf
30
35
  constructor(private readonly _transport: RpcTransport) {
31
36
  }
32
37
  /**
33
- * @perm
34
- *
35
- * @generated from protobuf rpc: ListVehicles(services.vehicles.ListVehiclesRequest) returns (services.vehicles.ListVehiclesResponse);
38
+ * @generated from protobuf rpc: ListVehicles
36
39
  */
37
40
  listVehicles(input: ListVehiclesRequest, options?: RpcOptions): UnaryCall<ListVehiclesRequest, ListVehiclesResponse> {
38
41
  const method = this.methods[0], opt = this._transport.mergeOptions(options);
39
42
  return stackIntercept<ListVehiclesRequest, ListVehiclesResponse>("unary", this._transport, method, opt, input);
40
43
  }
44
+ /**
45
+ * @generated from protobuf rpc: SetVehicleProps
46
+ */
47
+ setVehicleProps(input: SetVehiclePropsRequest, options?: RpcOptions): UnaryCall<SetVehiclePropsRequest, SetVehiclePropsResponse> {
48
+ const method = this.methods[1], opt = this._transport.mergeOptions(options);
49
+ return stackIntercept<SetVehiclePropsRequest, SetVehiclePropsResponse>("unary", this._transport, method, opt, input);
50
+ }
41
51
  }
@@ -1,16 +1,18 @@
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/vehicles/vehicles.proto" (package "services.vehicles", 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";
6
7
  import type { IBinaryWriter } from "@protobuf-ts/runtime";
7
- import { WireType } from "@protobuf-ts/runtime";
8
8
  import type { BinaryReadOptions } from "@protobuf-ts/runtime";
9
9
  import type { IBinaryReader } from "@protobuf-ts/runtime";
10
10
  import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
+ import { WireType } 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";
15
+ import { VehicleProps } from "../../resources/vehicles/props/props";
14
16
  import { Vehicle } from "../../resources/vehicles/vehicles";
15
17
  import { PaginationResponse } from "../../resources/common/database/database";
16
18
  import { Sort } from "../../resources/common/database/database";
@@ -20,59 +22,87 @@ import { PaginationRequest } from "../../resources/common/database/database";
20
22
  */
21
23
  export interface ListVehiclesRequest {
22
24
  /**
23
- * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1;
25
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
24
26
  */
25
27
  pagination?: PaginationRequest;
26
28
  /**
27
- * @generated from protobuf field: optional resources.common.database.Sort sort = 2;
29
+ * @generated from protobuf field: optional resources.common.database.Sort sort = 2
28
30
  */
29
31
  sort?: Sort;
30
32
  /**
31
33
  * Search params
32
34
  *
33
- * @generated from protobuf field: optional string license_plate = 3;
35
+ * @generated from protobuf field: optional string license_plate = 3
34
36
  */
35
37
  licensePlate?: string;
36
38
  /**
37
- * @generated from protobuf field: optional string model = 4;
39
+ * @generated from protobuf field: optional string model = 4
38
40
  */
39
41
  model?: string;
40
42
  /**
41
- * @generated from protobuf field: optional int32 user_id = 5;
43
+ * @generated from protobuf field: repeated int32 user_ids = 5
42
44
  */
43
- userId?: number;
45
+ userIds: number[];
44
46
  /**
45
- * @generated from protobuf field: optional string job = 6;
47
+ * @generated from protobuf field: optional string job = 6
46
48
  */
47
49
  job?: string;
50
+ /**
51
+ * @generated from protobuf field: optional bool wanted = 7
52
+ */
53
+ wanted?: boolean;
48
54
  }
49
55
  /**
50
56
  * @generated from protobuf message services.vehicles.ListVehiclesResponse
51
57
  */
52
58
  export interface ListVehiclesResponse {
53
59
  /**
54
- * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1;
60
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
55
61
  */
56
62
  pagination?: PaginationResponse;
57
63
  /**
58
- * @generated from protobuf field: repeated resources.vehicles.Vehicle vehicles = 2;
64
+ * @generated from protobuf field: repeated resources.vehicles.Vehicle vehicles = 2
59
65
  */
60
66
  vehicles: Vehicle[];
61
67
  }
68
+ /**
69
+ * @generated from protobuf message services.vehicles.SetVehiclePropsRequest
70
+ */
71
+ export interface SetVehiclePropsRequest {
72
+ /**
73
+ * @generated from protobuf field: resources.vehicles.props.VehicleProps props = 1
74
+ */
75
+ props?: VehicleProps;
76
+ }
77
+ /**
78
+ * @generated from protobuf message services.vehicles.SetVehiclePropsResponse
79
+ */
80
+ export interface SetVehiclePropsResponse {
81
+ /**
82
+ * @generated from protobuf field: resources.vehicles.props.VehicleProps props = 1
83
+ */
84
+ props?: VehicleProps;
85
+ /**
86
+ * @generated from protobuf field: string reason = 2
87
+ */
88
+ reason: string;
89
+ }
62
90
  // @generated message type with reflection information, may provide speed optimized methods
63
91
  class ListVehiclesRequest$Type extends MessageType<ListVehiclesRequest> {
64
92
  constructor() {
65
93
  super("services.vehicles.ListVehiclesRequest", [
66
- { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "validate.rules": { message: { required: true } } } },
94
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
67
95
  { no: 2, name: "sort", kind: "message", T: () => Sort },
68
- { no: 3, name: "license_plate", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "32" } } } },
69
- { no: 4, name: "model", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "32" } } } },
70
- { no: 5, name: "user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } },
71
- { no: 6, name: "job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } }
96
+ { no: 3, name: "license_plate", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "32" } } } },
97
+ { no: 4, name: "model", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "32" } } } },
98
+ { no: 5, name: "user_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { repeated: { items: { int32: { gte: 0 } } } } } },
99
+ { no: 6, name: "job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
100
+ { no: 7, name: "wanted", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
72
101
  ]);
73
102
  }
74
103
  create(value?: PartialMessage<ListVehiclesRequest>): ListVehiclesRequest {
75
104
  const message = globalThis.Object.create((this.messagePrototype!));
105
+ message.userIds = [];
76
106
  if (value !== undefined)
77
107
  reflectionMergePartial<ListVehiclesRequest>(this, message, value);
78
108
  return message;
@@ -94,12 +124,19 @@ class ListVehiclesRequest$Type extends MessageType<ListVehiclesRequest> {
94
124
  case /* optional string model */ 4:
95
125
  message.model = reader.string();
96
126
  break;
97
- case /* optional int32 user_id */ 5:
98
- message.userId = reader.int32();
127
+ case /* repeated int32 user_ids */ 5:
128
+ if (wireType === WireType.LengthDelimited)
129
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
130
+ message.userIds.push(reader.int32());
131
+ else
132
+ message.userIds.push(reader.int32());
99
133
  break;
100
134
  case /* optional string job */ 6:
101
135
  message.job = reader.string();
102
136
  break;
137
+ case /* optional bool wanted */ 7:
138
+ message.wanted = reader.bool();
139
+ break;
103
140
  default:
104
141
  let u = options.readUnknownField;
105
142
  if (u === "throw")
@@ -124,12 +161,19 @@ class ListVehiclesRequest$Type extends MessageType<ListVehiclesRequest> {
124
161
  /* optional string model = 4; */
125
162
  if (message.model !== undefined)
126
163
  writer.tag(4, WireType.LengthDelimited).string(message.model);
127
- /* optional int32 user_id = 5; */
128
- if (message.userId !== undefined)
129
- writer.tag(5, WireType.Varint).int32(message.userId);
164
+ /* repeated int32 user_ids = 5; */
165
+ if (message.userIds.length) {
166
+ writer.tag(5, WireType.LengthDelimited).fork();
167
+ for (let i = 0; i < message.userIds.length; i++)
168
+ writer.int32(message.userIds[i]);
169
+ writer.join();
170
+ }
130
171
  /* optional string job = 6; */
131
172
  if (message.job !== undefined)
132
173
  writer.tag(6, WireType.LengthDelimited).string(message.job);
174
+ /* optional bool wanted = 7; */
175
+ if (message.wanted !== undefined)
176
+ writer.tag(7, WireType.Varint).bool(message.wanted);
133
177
  let u = options.writeUnknownFields;
134
178
  if (u !== false)
135
179
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -144,8 +188,8 @@ export const ListVehiclesRequest = new ListVehiclesRequest$Type();
144
188
  class ListVehiclesResponse$Type extends MessageType<ListVehiclesResponse> {
145
189
  constructor() {
146
190
  super("services.vehicles.ListVehiclesResponse", [
147
- { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse },
148
- { no: 2, name: "vehicles", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Vehicle }
191
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
192
+ { no: 2, name: "vehicles", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Vehicle, options: { "codegen.itemslen.enabled": true } }
149
193
  ]);
150
194
  }
151
195
  create(value?: PartialMessage<ListVehiclesResponse>): ListVehiclesResponse {
@@ -194,9 +238,110 @@ class ListVehiclesResponse$Type extends MessageType<ListVehiclesResponse> {
194
238
  * @generated MessageType for protobuf message services.vehicles.ListVehiclesResponse
195
239
  */
196
240
  export const ListVehiclesResponse = new ListVehiclesResponse$Type();
241
+ // @generated message type with reflection information, may provide speed optimized methods
242
+ class SetVehiclePropsRequest$Type extends MessageType<SetVehiclePropsRequest> {
243
+ constructor() {
244
+ super("services.vehicles.SetVehiclePropsRequest", [
245
+ { no: 1, name: "props", kind: "message", T: () => VehicleProps, options: { "buf.validate.field": { required: true } } }
246
+ ]);
247
+ }
248
+ create(value?: PartialMessage<SetVehiclePropsRequest>): SetVehiclePropsRequest {
249
+ const message = globalThis.Object.create((this.messagePrototype!));
250
+ if (value !== undefined)
251
+ reflectionMergePartial<SetVehiclePropsRequest>(this, message, value);
252
+ return message;
253
+ }
254
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetVehiclePropsRequest): SetVehiclePropsRequest {
255
+ let message = target ?? this.create(), end = reader.pos + length;
256
+ while (reader.pos < end) {
257
+ let [fieldNo, wireType] = reader.tag();
258
+ switch (fieldNo) {
259
+ case /* resources.vehicles.props.VehicleProps props */ 1:
260
+ message.props = VehicleProps.internalBinaryRead(reader, reader.uint32(), options, message.props);
261
+ break;
262
+ default:
263
+ let u = options.readUnknownField;
264
+ if (u === "throw")
265
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
266
+ let d = reader.skip(wireType);
267
+ if (u !== false)
268
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
269
+ }
270
+ }
271
+ return message;
272
+ }
273
+ internalBinaryWrite(message: SetVehiclePropsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
274
+ /* resources.vehicles.props.VehicleProps props = 1; */
275
+ if (message.props)
276
+ VehicleProps.internalBinaryWrite(message.props, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
277
+ let u = options.writeUnknownFields;
278
+ if (u !== false)
279
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
280
+ return writer;
281
+ }
282
+ }
283
+ /**
284
+ * @generated MessageType for protobuf message services.vehicles.SetVehiclePropsRequest
285
+ */
286
+ export const SetVehiclePropsRequest = new SetVehiclePropsRequest$Type();
287
+ // @generated message type with reflection information, may provide speed optimized methods
288
+ class SetVehiclePropsResponse$Type extends MessageType<SetVehiclePropsResponse> {
289
+ constructor() {
290
+ super("services.vehicles.SetVehiclePropsResponse", [
291
+ { no: 1, name: "props", kind: "message", T: () => VehicleProps },
292
+ { 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 } } }
293
+ ]);
294
+ }
295
+ create(value?: PartialMessage<SetVehiclePropsResponse>): SetVehiclePropsResponse {
296
+ const message = globalThis.Object.create((this.messagePrototype!));
297
+ message.reason = "";
298
+ if (value !== undefined)
299
+ reflectionMergePartial<SetVehiclePropsResponse>(this, message, value);
300
+ return message;
301
+ }
302
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetVehiclePropsResponse): SetVehiclePropsResponse {
303
+ let message = target ?? this.create(), end = reader.pos + length;
304
+ while (reader.pos < end) {
305
+ let [fieldNo, wireType] = reader.tag();
306
+ switch (fieldNo) {
307
+ case /* resources.vehicles.props.VehicleProps props */ 1:
308
+ message.props = VehicleProps.internalBinaryRead(reader, reader.uint32(), options, message.props);
309
+ break;
310
+ case /* string reason */ 2:
311
+ message.reason = reader.string();
312
+ break;
313
+ default:
314
+ let u = options.readUnknownField;
315
+ if (u === "throw")
316
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
317
+ let d = reader.skip(wireType);
318
+ if (u !== false)
319
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
320
+ }
321
+ }
322
+ return message;
323
+ }
324
+ internalBinaryWrite(message: SetVehiclePropsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
325
+ /* resources.vehicles.props.VehicleProps props = 1; */
326
+ if (message.props)
327
+ VehicleProps.internalBinaryWrite(message.props, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
328
+ /* string reason = 2; */
329
+ if (message.reason !== "")
330
+ writer.tag(2, WireType.LengthDelimited).string(message.reason);
331
+ let u = options.writeUnknownFields;
332
+ if (u !== false)
333
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
334
+ return writer;
335
+ }
336
+ }
337
+ /**
338
+ * @generated MessageType for protobuf message services.vehicles.SetVehiclePropsResponse
339
+ */
340
+ export const SetVehiclePropsResponse = new SetVehiclePropsResponse$Type();
197
341
  /**
198
342
  * @generated ServiceType for protobuf service services.vehicles.VehiclesService
199
343
  */
200
344
  export const VehiclesService = new ServiceType("services.vehicles.VehiclesService", [
201
- { name: "ListVehicles", options: {}, I: ListVehiclesRequest, O: ListVehiclesResponse }
202
- ]);
345
+ { name: "ListVehicles", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Fields", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["Wanted"] }] } }, I: ListVehiclesRequest, O: ListVehiclesResponse },
346
+ { name: "SetVehicleProps", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Fields", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["Wanted"] }] } }, I: SetVehiclePropsRequest, O: SetVehiclePropsResponse }
347
+ ], { "codegen.perms.perms_svc": { order: 40, icon: "i-mdi-car-outline" } });
@@ -0,0 +1,46 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
+ // @generated from protobuf file "services/wiki/collab.proto" (package "services.wiki", syntax proto3)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
6
+ import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
7
+ import { CollabService } from "./collab";
8
+ import { stackIntercept } from "@protobuf-ts/runtime-rpc";
9
+ import type { ServerPacket } from "../../resources/collab/collab";
10
+ import type { ClientPacket } from "../../resources/collab/collab";
11
+ import type { DuplexStreamingCall } from "@protobuf-ts/runtime-rpc";
12
+ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
13
+ /**
14
+ * @generated from protobuf service services.wiki.CollabService
15
+ */
16
+ export interface ICollabServiceClient {
17
+ /**
18
+ * buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE
19
+ * buf:lint:ignore RPC_REQUEST_STANDARD_NAME
20
+ * buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
21
+ *
22
+ * @generated from protobuf rpc: JoinRoom
23
+ */
24
+ joinRoom(options?: RpcOptions): DuplexStreamingCall<ClientPacket, ServerPacket>;
25
+ }
26
+ /**
27
+ * @generated from protobuf service services.wiki.CollabService
28
+ */
29
+ export class CollabServiceClient implements ICollabServiceClient, ServiceInfo {
30
+ typeName = CollabService.typeName;
31
+ methods = CollabService.methods;
32
+ options = CollabService.options;
33
+ constructor(private readonly _transport: RpcTransport) {
34
+ }
35
+ /**
36
+ * buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE
37
+ * buf:lint:ignore RPC_REQUEST_STANDARD_NAME
38
+ * buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
39
+ *
40
+ * @generated from protobuf rpc: JoinRoom
41
+ */
42
+ joinRoom(options?: RpcOptions): DuplexStreamingCall<ClientPacket, ServerPacket> {
43
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
44
+ return stackIntercept<ClientPacket, ServerPacket>("duplex", this._transport, method, opt);
45
+ }
46
+ }
@@ -0,0 +1,13 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
+ // @generated from protobuf file "services/wiki/collab.proto" (package "services.wiki", syntax proto3)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ import { ServerPacket } from "../../resources/collab/collab";
6
+ import { ClientPacket } from "../../resources/collab/collab";
7
+ import { ServiceType } from "@protobuf-ts/runtime-rpc";
8
+ /**
9
+ * @generated ServiceType for protobuf service services.wiki.CollabService
10
+ */
11
+ export const CollabService = new ServiceType("services.wiki.CollabService", [
12
+ { name: "JoinRoom", serverStreaming: true, clientStreaming: true, options: { "codegen.perms.perms": { enabled: true, service: "wiki.WikiService", name: "UpdatePage" } }, I: ClientPacket, O: ServerPacket }
13
+ ]);
@@ -1,9 +1,13 @@
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/wiki/wiki.proto" (package "services.wiki", 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";
6
7
  import { WikiService } from "./wiki";
8
+ import type { UploadFileResponse } from "../../resources/file/filestore";
9
+ import type { UploadFileRequest } from "../../resources/file/filestore";
10
+ import type { ClientStreamingCall } from "@protobuf-ts/runtime-rpc";
7
11
  import type { ListPageActivityResponse } from "./wiki";
8
12
  import type { ListPageActivityRequest } from "./wiki";
9
13
  import type { DeletePageResponse } from "./wiki";
@@ -24,41 +28,33 @@ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
24
28
  */
25
29
  export interface IWikiServiceClient {
26
30
  /**
27
- * @perm
28
- *
29
- * @generated from protobuf rpc: ListPages(services.wiki.ListPagesRequest) returns (services.wiki.ListPagesResponse);
31
+ * @generated from protobuf rpc: ListPages
30
32
  */
31
33
  listPages(input: ListPagesRequest, options?: RpcOptions): UnaryCall<ListPagesRequest, ListPagesResponse>;
32
34
  /**
33
- * @perm: Name=ListPages
34
- *
35
- * @generated from protobuf rpc: GetPage(services.wiki.GetPageRequest) returns (services.wiki.GetPageResponse);
35
+ * @generated from protobuf rpc: GetPage
36
36
  */
37
37
  getPage(input: GetPageRequest, options?: RpcOptions): UnaryCall<GetPageRequest, GetPageResponse>;
38
38
  /**
39
- * @perm: Attrs=Fields/StringList:[]string{"Public"}
40
- *
41
- * @generated from protobuf rpc: CreatePage(services.wiki.CreatePageRequest) returns (services.wiki.CreatePageResponse);
39
+ * @generated from protobuf rpc: CreatePage
42
40
  */
43
41
  createPage(input: CreatePageRequest, options?: RpcOptions): UnaryCall<CreatePageRequest, CreatePageResponse>;
44
42
  /**
45
- * @perm: Name=ListPages
46
- *
47
- * @generated from protobuf rpc: UpdatePage(services.wiki.UpdatePageRequest) returns (services.wiki.UpdatePageResponse);
43
+ * @generated from protobuf rpc: UpdatePage
48
44
  */
49
45
  updatePage(input: UpdatePageRequest, options?: RpcOptions): UnaryCall<UpdatePageRequest, UpdatePageResponse>;
50
46
  /**
51
- * @perm
52
- *
53
- * @generated from protobuf rpc: DeletePage(services.wiki.DeletePageRequest) returns (services.wiki.DeletePageResponse);
47
+ * @generated from protobuf rpc: DeletePage
54
48
  */
55
49
  deletePage(input: DeletePageRequest, options?: RpcOptions): UnaryCall<DeletePageRequest, DeletePageResponse>;
56
50
  /**
57
- * @perm
58
- *
59
- * @generated from protobuf rpc: ListPageActivity(services.wiki.ListPageActivityRequest) returns (services.wiki.ListPageActivityResponse);
51
+ * @generated from protobuf rpc: ListPageActivity
60
52
  */
61
53
  listPageActivity(input: ListPageActivityRequest, options?: RpcOptions): UnaryCall<ListPageActivityRequest, ListPageActivityResponse>;
54
+ /**
55
+ * @generated from protobuf rpc: UploadFile
56
+ */
57
+ uploadFile(options?: RpcOptions): ClientStreamingCall<UploadFileRequest, UploadFileResponse>;
62
58
  }
63
59
  /**
64
60
  * @generated from protobuf service services.wiki.WikiService
@@ -70,57 +66,52 @@ export class WikiServiceClient implements IWikiServiceClient, ServiceInfo {
70
66
  constructor(private readonly _transport: RpcTransport) {
71
67
  }
72
68
  /**
73
- * @perm
74
- *
75
- * @generated from protobuf rpc: ListPages(services.wiki.ListPagesRequest) returns (services.wiki.ListPagesResponse);
69
+ * @generated from protobuf rpc: ListPages
76
70
  */
77
71
  listPages(input: ListPagesRequest, options?: RpcOptions): UnaryCall<ListPagesRequest, ListPagesResponse> {
78
72
  const method = this.methods[0], opt = this._transport.mergeOptions(options);
79
73
  return stackIntercept<ListPagesRequest, ListPagesResponse>("unary", this._transport, method, opt, input);
80
74
  }
81
75
  /**
82
- * @perm: Name=ListPages
83
- *
84
- * @generated from protobuf rpc: GetPage(services.wiki.GetPageRequest) returns (services.wiki.GetPageResponse);
76
+ * @generated from protobuf rpc: GetPage
85
77
  */
86
78
  getPage(input: GetPageRequest, options?: RpcOptions): UnaryCall<GetPageRequest, GetPageResponse> {
87
79
  const method = this.methods[1], opt = this._transport.mergeOptions(options);
88
80
  return stackIntercept<GetPageRequest, GetPageResponse>("unary", this._transport, method, opt, input);
89
81
  }
90
82
  /**
91
- * @perm: Attrs=Fields/StringList:[]string{"Public"}
92
- *
93
- * @generated from protobuf rpc: CreatePage(services.wiki.CreatePageRequest) returns (services.wiki.CreatePageResponse);
83
+ * @generated from protobuf rpc: CreatePage
94
84
  */
95
85
  createPage(input: CreatePageRequest, options?: RpcOptions): UnaryCall<CreatePageRequest, CreatePageResponse> {
96
86
  const method = this.methods[2], opt = this._transport.mergeOptions(options);
97
87
  return stackIntercept<CreatePageRequest, CreatePageResponse>("unary", this._transport, method, opt, input);
98
88
  }
99
89
  /**
100
- * @perm: Name=ListPages
101
- *
102
- * @generated from protobuf rpc: UpdatePage(services.wiki.UpdatePageRequest) returns (services.wiki.UpdatePageResponse);
90
+ * @generated from protobuf rpc: UpdatePage
103
91
  */
104
92
  updatePage(input: UpdatePageRequest, options?: RpcOptions): UnaryCall<UpdatePageRequest, UpdatePageResponse> {
105
93
  const method = this.methods[3], opt = this._transport.mergeOptions(options);
106
94
  return stackIntercept<UpdatePageRequest, UpdatePageResponse>("unary", this._transport, method, opt, input);
107
95
  }
108
96
  /**
109
- * @perm
110
- *
111
- * @generated from protobuf rpc: DeletePage(services.wiki.DeletePageRequest) returns (services.wiki.DeletePageResponse);
97
+ * @generated from protobuf rpc: DeletePage
112
98
  */
113
99
  deletePage(input: DeletePageRequest, options?: RpcOptions): UnaryCall<DeletePageRequest, DeletePageResponse> {
114
100
  const method = this.methods[4], opt = this._transport.mergeOptions(options);
115
101
  return stackIntercept<DeletePageRequest, DeletePageResponse>("unary", this._transport, method, opt, input);
116
102
  }
117
103
  /**
118
- * @perm
119
- *
120
- * @generated from protobuf rpc: ListPageActivity(services.wiki.ListPageActivityRequest) returns (services.wiki.ListPageActivityResponse);
104
+ * @generated from protobuf rpc: ListPageActivity
121
105
  */
122
106
  listPageActivity(input: ListPageActivityRequest, options?: RpcOptions): UnaryCall<ListPageActivityRequest, ListPageActivityResponse> {
123
107
  const method = this.methods[5], opt = this._transport.mergeOptions(options);
124
108
  return stackIntercept<ListPageActivityRequest, ListPageActivityResponse>("unary", this._transport, method, opt, input);
125
109
  }
110
+ /**
111
+ * @generated from protobuf rpc: UploadFile
112
+ */
113
+ uploadFile(options?: RpcOptions): ClientStreamingCall<UploadFileRequest, UploadFileResponse> {
114
+ const method = this.methods[6], opt = this._transport.mergeOptions(options);
115
+ return stackIntercept<UploadFileRequest, UploadFileResponse>("clientStreaming", this._transport, method, opt);
116
+ }
126
117
  }