@fivenet-app/gen 2025.5.2 → 2025.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/buf/validate/validate.ts +11301 -0
  2. package/clients.ts +157 -154
  3. package/codegen/dbscanner/dbscanner.ts +91 -0
  4. package/codegen/perms/perms.ts +208 -0
  5. package/codegen/sanitizer/sanitizer.ts +80 -0
  6. package/google/protobuf/any.ts +4 -3
  7. package/google/protobuf/descriptor.ts +393 -239
  8. package/google/protobuf/duration.ts +4 -3
  9. package/google/protobuf/struct.ts +485 -0
  10. package/google/protobuf/timestamp.ts +4 -3
  11. package/package.json +3 -3
  12. package/perms.ts +85 -159
  13. package/resources/accounts/accounts.ts +26 -25
  14. package/resources/accounts/oauth2.ts +30 -29
  15. package/resources/audit/audit.ts +36 -35
  16. package/resources/calendar/access.ts +49 -48
  17. package/resources/calendar/calendar.ts +122 -126
  18. package/resources/centrum/access.ts +345 -0
  19. package/resources/centrum/attributes.ts +8 -11
  20. package/resources/centrum/dispatchers.ts +149 -0
  21. package/resources/centrum/dispatches.ts +252 -115
  22. package/resources/centrum/settings.ts +384 -34
  23. package/resources/centrum/units.ts +112 -92
  24. package/resources/centrum/units_access.ts +54 -55
  25. package/resources/clientconfig/clientconfig.ts +890 -0
  26. package/resources/collab/collab.ts +817 -0
  27. package/resources/common/content/content.ts +113 -30
  28. package/resources/common/cron/cron.ts +43 -31
  29. package/resources/common/database/database.ts +92 -35
  30. package/resources/common/error.ts +17 -16
  31. package/resources/common/grpcws/grpcws.ts +24 -23
  32. package/resources/common/i18n.ts +20 -24
  33. package/resources/common/id_mapping.ts +69 -0
  34. package/resources/common/tests/objects.ts +4 -3
  35. package/resources/common/uuid.ts +4 -3
  36. package/resources/discord/discord.ts +209 -0
  37. package/resources/documents/access.ts +52 -53
  38. package/resources/documents/activity.ts +235 -58
  39. package/resources/documents/category.ts +20 -27
  40. package/resources/documents/comment.ts +26 -25
  41. package/resources/documents/documents.ts +335 -262
  42. package/resources/documents/pins.ts +127 -0
  43. package/resources/documents/requests.ts +31 -30
  44. package/resources/documents/signoff.ts +55 -0
  45. package/resources/documents/state.ts +69 -0
  46. package/resources/documents/templates.ts +119 -136
  47. package/resources/documents/workflow.ts +35 -24
  48. package/resources/file/file.ts +152 -0
  49. package/{services/settings → resources/file}/filestore.ts +179 -165
  50. package/resources/file/meta.ts +148 -0
  51. package/resources/jobs/activity.ts +39 -42
  52. package/resources/jobs/colleagues.ts +67 -60
  53. package/resources/jobs/conduct.ts +29 -30
  54. package/resources/jobs/job_props.ts +46 -48
  55. package/resources/jobs/job_settings.ts +45 -52
  56. package/resources/jobs/jobs.ts +14 -13
  57. package/resources/jobs/labels.ts +21 -22
  58. package/resources/jobs/timeclock.ts +26 -25
  59. package/resources/laws/laws.ts +40 -49
  60. package/resources/livemap/coords.ts +81 -0
  61. package/resources/livemap/heatmap.ts +93 -0
  62. package/resources/livemap/{livemap.ts → marker_marker.ts} +43 -310
  63. package/resources/livemap/user_marker.ts +298 -0
  64. package/resources/mailer/access.ts +75 -74
  65. package/resources/mailer/email.ts +24 -27
  66. package/resources/mailer/events.ts +25 -24
  67. package/resources/mailer/message.ts +45 -50
  68. package/resources/mailer/settings.ts +12 -15
  69. package/resources/mailer/template.ts +25 -28
  70. package/resources/mailer/thread.ts +70 -71
  71. package/resources/notifications/client_view.ts +239 -0
  72. package/resources/notifications/events.ts +50 -101
  73. package/resources/notifications/notifications.ts +52 -57
  74. package/resources/permissions/attributes.ts +63 -206
  75. package/resources/permissions/events.ts +149 -0
  76. package/resources/permissions/permissions.ts +103 -34
  77. package/resources/qualifications/access.ts +27 -26
  78. package/resources/qualifications/exam.ts +188 -126
  79. package/resources/qualifications/qualifications.ts +370 -303
  80. package/resources/settings/banner.ts +14 -21
  81. package/resources/settings/config.ts +163 -79
  82. package/resources/settings/perms.ts +151 -0
  83. package/resources/settings/status.ts +533 -0
  84. package/resources/stats/stats.ts +3 -2
  85. package/resources/sync/activity.ts +24 -23
  86. package/resources/sync/data.ts +94 -26
  87. package/resources/timestamp/timestamp.ts +3 -2
  88. package/resources/{centrum/user_unit.ts → tracker/mapping.ts} +44 -44
  89. package/resources/userinfo/user_info.ts +464 -0
  90. package/resources/users/activity.ts +80 -85
  91. package/resources/users/labels.ts +18 -21
  92. package/resources/users/licenses.ts +9 -8
  93. package/resources/users/props.ts +61 -51
  94. package/resources/users/users.ts +100 -78
  95. package/resources/vehicles/activity.ts +231 -0
  96. package/resources/vehicles/props.ts +103 -0
  97. package/resources/vehicles/vehicles.ts +28 -15
  98. package/resources/wiki/access.ts +49 -48
  99. package/resources/wiki/activity.ts +133 -51
  100. package/resources/wiki/page.ts +134 -87
  101. package/services/auth/auth.client.ts +24 -27
  102. package/services/auth/auth.ts +222 -195
  103. package/services/calendar/calendar.client.ts +32 -91
  104. package/services/calendar/calendar.ts +110 -109
  105. package/services/centrum/centrum.client.ts +97 -137
  106. package/services/centrum/centrum.ts +701 -298
  107. package/services/citizens/citizens.client.ts +70 -39
  108. package/services/citizens/citizens.ts +183 -93
  109. package/services/completor/completor.client.ts +16 -35
  110. package/services/completor/completor.ts +65 -44
  111. package/services/documents/collab.client.ts +46 -0
  112. package/services/documents/collab.ts +13 -0
  113. package/services/documents/documents.client.ts +88 -217
  114. package/services/documents/documents.ts +490 -508
  115. package/services/filestore/filestore.client.ts +86 -0
  116. package/services/filestore/filestore.ts +262 -0
  117. package/services/jobs/conduct.client.ts +10 -25
  118. package/services/jobs/conduct.ts +36 -35
  119. package/services/jobs/jobs.client.ts +22 -61
  120. package/services/jobs/jobs.ts +108 -91
  121. package/services/jobs/timeclock.client.ts +8 -19
  122. package/services/jobs/timeclock.ts +47 -46
  123. package/services/livemap/livemap.client.ts +8 -19
  124. package/services/livemap/livemap.ts +290 -119
  125. package/services/mailer/mailer.client.ts +44 -127
  126. package/services/mailer/mailer.ts +213 -216
  127. package/services/notifications/notifications.client.ts +65 -0
  128. package/services/{notificator/notificator.ts → notifications/notifications.ts} +117 -74
  129. package/services/qualifications/qualifications.client.ts +46 -91
  130. package/services/qualifications/qualifications.ts +181 -175
  131. package/services/settings/accounts.client.ts +10 -25
  132. package/services/settings/accounts.ts +64 -41
  133. package/services/settings/config.client.ts +6 -13
  134. package/services/settings/config.ts +8 -7
  135. package/services/settings/cron.client.ts +4 -7
  136. package/services/settings/cron.ts +4 -3
  137. package/services/settings/laws.client.ts +10 -25
  138. package/services/settings/laws.ts +29 -28
  139. package/services/settings/settings.client.ts +57 -103
  140. package/services/settings/settings.ts +190 -607
  141. package/services/settings/system.client.ts +90 -0
  142. package/services/settings/system.ts +618 -0
  143. package/services/stats/stats.client.ts +4 -3
  144. package/services/stats/stats.ts +4 -3
  145. package/services/sync/sync.client.ts +16 -15
  146. package/services/sync/sync.ts +82 -52
  147. package/services/vehicles/vehicles.client.ts +17 -7
  148. package/services/vehicles/vehicles.ts +169 -24
  149. package/services/wiki/collab.client.ts +46 -0
  150. package/services/wiki/collab.ts +13 -0
  151. package/services/wiki/wiki.client.ts +28 -37
  152. package/services/wiki/wiki.ts +93 -63
  153. package/svcs.ts +79 -103
  154. package/resources/centrum/disponents.ts +0 -81
  155. package/resources/filestore/file.ts +0 -204
  156. package/resources/internet/access.ts +0 -358
  157. package/resources/internet/ads.ts +0 -257
  158. package/resources/internet/domain.ts +0 -328
  159. package/resources/internet/page.ts +0 -428
  160. package/resources/internet/search.ts +0 -128
  161. package/resources/livemap/tracker.ts +0 -81
  162. package/services/internet/ads.client.ts +0 -41
  163. package/services/internet/ads.ts +0 -145
  164. package/services/internet/domain.client.ts +0 -109
  165. package/services/internet/domain.ts +0 -658
  166. package/services/internet/internet.client.ts +0 -58
  167. package/services/internet/internet.ts +0 -268
  168. package/services/notificator/notificator.client.ts +0 -76
  169. package/services/settings/filestore.client.ts +0 -75
@@ -1,5 +1,6 @@
1
- // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
2
  // @generated from protobuf file "resources/common/uuid.proto" (package "resources.common", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
5
6
  import type { IBinaryWriter } from "@protobuf-ts/runtime";
@@ -15,7 +16,7 @@ import { MessageType } from "@protobuf-ts/runtime";
15
16
  */
16
17
  export interface UUID {
17
18
  /**
18
- * @generated from protobuf field: string uuid = 1;
19
+ * @generated from protobuf field: string uuid = 1
19
20
  */
20
21
  uuid: string;
21
22
  }
@@ -23,7 +24,7 @@ export interface UUID {
23
24
  class UUID$Type extends MessageType<UUID> {
24
25
  constructor() {
25
26
  super("resources.common.UUID", [
26
- { no: 1, name: "uuid", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { uuid: true } } } }
27
+ { no: 1, name: "uuid", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { uuid: true } } } }
27
28
  ]);
28
29
  }
29
30
  create(value?: PartialMessage<UUID>): UUID {
@@ -0,0 +1,209 @@
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 "resources/discord/discord.proto" (package "resources.discord", syntax proto3)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
6
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
7
+ import { WireType } from "@protobuf-ts/runtime";
8
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
9
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
10
+ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
+ import type { PartialMessage } from "@protobuf-ts/runtime";
12
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
+ import { MessageType } from "@protobuf-ts/runtime";
14
+ import { Timestamp } from "../timestamp/timestamp";
15
+ /**
16
+ * @generated from protobuf message resources.discord.Channel
17
+ */
18
+ export interface Channel {
19
+ /**
20
+ * @generated from protobuf field: string id = 1
21
+ */
22
+ id: string;
23
+ /**
24
+ * @generated from protobuf field: string guild_id = 2
25
+ */
26
+ guildId: string;
27
+ /**
28
+ * @generated from protobuf field: string name = 3
29
+ */
30
+ name: string;
31
+ /**
32
+ * @generated from protobuf field: uint32 type = 4
33
+ */
34
+ type: number;
35
+ /**
36
+ * @generated from protobuf field: int64 position = 5
37
+ */
38
+ position: number;
39
+ }
40
+ /**
41
+ * @generated from protobuf message resources.discord.Guild
42
+ */
43
+ export interface Guild {
44
+ /**
45
+ * @generated from protobuf field: string id = 1
46
+ */
47
+ id: string;
48
+ /**
49
+ * @generated from protobuf field: string name = 2
50
+ */
51
+ name: string;
52
+ /**
53
+ * @generated from protobuf field: string icon = 3
54
+ */
55
+ icon: string;
56
+ /**
57
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 4
58
+ */
59
+ createdAt?: Timestamp;
60
+ }
61
+ // @generated message type with reflection information, may provide speed optimized methods
62
+ class Channel$Type extends MessageType<Channel> {
63
+ constructor() {
64
+ super("resources.discord.Channel", [
65
+ { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
66
+ { no: 2, name: "guild_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
67
+ { no: 3, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
68
+ { no: 4, name: "type", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
69
+ { no: 5, name: "position", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
70
+ ]);
71
+ }
72
+ create(value?: PartialMessage<Channel>): Channel {
73
+ const message = globalThis.Object.create((this.messagePrototype!));
74
+ message.id = "";
75
+ message.guildId = "";
76
+ message.name = "";
77
+ message.type = 0;
78
+ message.position = 0;
79
+ if (value !== undefined)
80
+ reflectionMergePartial<Channel>(this, message, value);
81
+ return message;
82
+ }
83
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Channel): Channel {
84
+ let message = target ?? this.create(), end = reader.pos + length;
85
+ while (reader.pos < end) {
86
+ let [fieldNo, wireType] = reader.tag();
87
+ switch (fieldNo) {
88
+ case /* string id */ 1:
89
+ message.id = reader.string();
90
+ break;
91
+ case /* string guild_id */ 2:
92
+ message.guildId = reader.string();
93
+ break;
94
+ case /* string name */ 3:
95
+ message.name = reader.string();
96
+ break;
97
+ case /* uint32 type */ 4:
98
+ message.type = reader.uint32();
99
+ break;
100
+ case /* int64 position */ 5:
101
+ message.position = reader.int64().toNumber();
102
+ break;
103
+ default:
104
+ let u = options.readUnknownField;
105
+ if (u === "throw")
106
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
107
+ let d = reader.skip(wireType);
108
+ if (u !== false)
109
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
110
+ }
111
+ }
112
+ return message;
113
+ }
114
+ internalBinaryWrite(message: Channel, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
115
+ /* string id = 1; */
116
+ if (message.id !== "")
117
+ writer.tag(1, WireType.LengthDelimited).string(message.id);
118
+ /* string guild_id = 2; */
119
+ if (message.guildId !== "")
120
+ writer.tag(2, WireType.LengthDelimited).string(message.guildId);
121
+ /* string name = 3; */
122
+ if (message.name !== "")
123
+ writer.tag(3, WireType.LengthDelimited).string(message.name);
124
+ /* uint32 type = 4; */
125
+ if (message.type !== 0)
126
+ writer.tag(4, WireType.Varint).uint32(message.type);
127
+ /* int64 position = 5; */
128
+ if (message.position !== 0)
129
+ writer.tag(5, WireType.Varint).int64(message.position);
130
+ let u = options.writeUnknownFields;
131
+ if (u !== false)
132
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
133
+ return writer;
134
+ }
135
+ }
136
+ /**
137
+ * @generated MessageType for protobuf message resources.discord.Channel
138
+ */
139
+ export const Channel = new Channel$Type();
140
+ // @generated message type with reflection information, may provide speed optimized methods
141
+ class Guild$Type extends MessageType<Guild> {
142
+ constructor() {
143
+ super("resources.discord.Guild", [
144
+ { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
145
+ { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
146
+ { no: 3, name: "icon", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
147
+ { no: 4, name: "created_at", kind: "message", T: () => Timestamp }
148
+ ]);
149
+ }
150
+ create(value?: PartialMessage<Guild>): Guild {
151
+ const message = globalThis.Object.create((this.messagePrototype!));
152
+ message.id = "";
153
+ message.name = "";
154
+ message.icon = "";
155
+ if (value !== undefined)
156
+ reflectionMergePartial<Guild>(this, message, value);
157
+ return message;
158
+ }
159
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Guild): Guild {
160
+ let message = target ?? this.create(), end = reader.pos + length;
161
+ while (reader.pos < end) {
162
+ let [fieldNo, wireType] = reader.tag();
163
+ switch (fieldNo) {
164
+ case /* string id */ 1:
165
+ message.id = reader.string();
166
+ break;
167
+ case /* string name */ 2:
168
+ message.name = reader.string();
169
+ break;
170
+ case /* string icon */ 3:
171
+ message.icon = reader.string();
172
+ break;
173
+ case /* optional resources.timestamp.Timestamp created_at */ 4:
174
+ message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
175
+ break;
176
+ default:
177
+ let u = options.readUnknownField;
178
+ if (u === "throw")
179
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
180
+ let d = reader.skip(wireType);
181
+ if (u !== false)
182
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
183
+ }
184
+ }
185
+ return message;
186
+ }
187
+ internalBinaryWrite(message: Guild, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
188
+ /* string id = 1; */
189
+ if (message.id !== "")
190
+ writer.tag(1, WireType.LengthDelimited).string(message.id);
191
+ /* string name = 2; */
192
+ if (message.name !== "")
193
+ writer.tag(2, WireType.LengthDelimited).string(message.name);
194
+ /* string icon = 3; */
195
+ if (message.icon !== "")
196
+ writer.tag(3, WireType.LengthDelimited).string(message.icon);
197
+ /* optional resources.timestamp.Timestamp created_at = 4; */
198
+ if (message.createdAt)
199
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
200
+ let u = options.writeUnknownFields;
201
+ if (u !== false)
202
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
203
+ return writer;
204
+ }
205
+ }
206
+ /**
207
+ * @generated MessageType for protobuf message resources.discord.Guild
208
+ */
209
+ export const Guild = new Guild$Type();
@@ -1,5 +1,6 @@
1
- // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
2
  // @generated from protobuf file "resources/documents/access.proto" (package "resources.documents", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
5
6
  import type { IBinaryWriter } from "@protobuf-ts/runtime";
@@ -13,58 +14,56 @@ import { MessageType } from "@protobuf-ts/runtime";
13
14
  import { UserShort } from "../users/users";
14
15
  import { Timestamp } from "../timestamp/timestamp";
15
16
  /**
16
- * @dbscanner: json
17
- *
18
17
  * @generated from protobuf message resources.documents.DocumentAccess
19
18
  */
20
19
  export interface DocumentAccess {
21
20
  /**
22
- * @generated from protobuf field: repeated resources.documents.DocumentJobAccess jobs = 1;
21
+ * @generated from protobuf field: repeated resources.documents.DocumentJobAccess jobs = 1
23
22
  */
24
- jobs: DocumentJobAccess[]; // @gotags: alias:"job_access"
23
+ jobs: DocumentJobAccess[];
25
24
  /**
26
- * @generated from protobuf field: repeated resources.documents.DocumentUserAccess users = 2;
25
+ * @generated from protobuf field: repeated resources.documents.DocumentUserAccess users = 2
27
26
  */
28
- users: DocumentUserAccess[]; // @gotags: alias:"citizen_access"
27
+ users: DocumentUserAccess[];
29
28
  }
30
29
  /**
31
30
  * @generated from protobuf message resources.documents.DocumentJobAccess
32
31
  */
33
32
  export interface DocumentJobAccess {
34
33
  /**
35
- * @generated from protobuf field: uint64 id = 1;
34
+ * @generated from protobuf field: int64 id = 1
36
35
  */
37
36
  id: number;
38
37
  /**
39
- * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2;
38
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2
40
39
  */
41
40
  createdAt?: Timestamp;
42
41
  /**
43
- * @generated from protobuf field: uint64 target_id = 3;
42
+ * @generated from protobuf field: int64 target_id = 3
44
43
  */
45
44
  targetId: number;
46
45
  /**
47
- * @generated from protobuf field: string job = 4;
46
+ * @generated from protobuf field: string job = 4
48
47
  */
49
48
  job: string;
50
49
  /**
51
- * @generated from protobuf field: optional string job_label = 5;
50
+ * @generated from protobuf field: optional string job_label = 5
52
51
  */
53
52
  jobLabel?: string;
54
53
  /**
55
- * @generated from protobuf field: int32 minimum_grade = 6;
54
+ * @generated from protobuf field: int32 minimum_grade = 6
56
55
  */
57
56
  minimumGrade: number;
58
57
  /**
59
- * @generated from protobuf field: optional string job_grade_label = 7;
58
+ * @generated from protobuf field: optional string job_grade_label = 7
60
59
  */
61
60
  jobGradeLabel?: string;
62
61
  /**
63
- * @generated from protobuf field: resources.documents.AccessLevel access = 8;
62
+ * @generated from protobuf field: resources.documents.AccessLevel access = 8
64
63
  */
65
64
  access: AccessLevel;
66
65
  /**
67
- * @generated from protobuf field: optional bool required = 9;
66
+ * @generated from protobuf field: optional bool required = 9
68
67
  */
69
68
  required?: boolean;
70
69
  }
@@ -73,31 +72,31 @@ export interface DocumentJobAccess {
73
72
  */
74
73
  export interface DocumentUserAccess {
75
74
  /**
76
- * @generated from protobuf field: uint64 id = 1;
75
+ * @generated from protobuf field: int64 id = 1
77
76
  */
78
77
  id: number;
79
78
  /**
80
- * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2;
79
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2
81
80
  */
82
81
  createdAt?: Timestamp;
83
82
  /**
84
- * @generated from protobuf field: uint64 target_id = 3;
83
+ * @generated from protobuf field: int64 target_id = 3
85
84
  */
86
85
  targetId: number;
87
86
  /**
88
- * @generated from protobuf field: int32 user_id = 4;
87
+ * @generated from protobuf field: int32 user_id = 4
89
88
  */
90
89
  userId: number;
91
90
  /**
92
- * @generated from protobuf field: optional resources.users.UserShort user = 5;
91
+ * @generated from protobuf field: optional resources.users.UserShort user = 5
93
92
  */
94
93
  user?: UserShort;
95
94
  /**
96
- * @generated from protobuf field: resources.documents.AccessLevel access = 6;
95
+ * @generated from protobuf field: resources.documents.AccessLevel access = 6
97
96
  */
98
97
  access: AccessLevel;
99
98
  /**
100
- * @generated from protobuf field: optional bool required = 7;
99
+ * @generated from protobuf field: optional bool required = 7
101
100
  */
102
101
  required?: boolean;
103
102
  }
@@ -138,9 +137,9 @@ export enum AccessLevel {
138
137
  class DocumentAccess$Type extends MessageType<DocumentAccess> {
139
138
  constructor() {
140
139
  super("resources.documents.DocumentAccess", [
141
- { no: 1, name: "jobs", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => DocumentJobAccess, options: { "validate.rules": { repeated: { maxItems: "20" } } } },
142
- { no: 2, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => DocumentUserAccess, options: { "validate.rules": { repeated: { maxItems: "20" } } } }
143
- ]);
140
+ { no: 1, name: "jobs", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => DocumentJobAccess, options: { "buf.validate.field": { repeated: { maxItems: "20" } }, "tagger.tags": "alias:\"job_access\"" } },
141
+ { no: 2, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => DocumentUserAccess, options: { "buf.validate.field": { repeated: { maxItems: "20" } }, "tagger.tags": "alias:\"user_access\"" } }
142
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
144
143
  }
145
144
  create(value?: PartialMessage<DocumentAccess>): DocumentAccess {
146
145
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -193,14 +192,14 @@ export const DocumentAccess = new DocumentAccess$Type();
193
192
  class DocumentJobAccess$Type extends MessageType<DocumentJobAccess> {
194
193
  constructor() {
195
194
  super("resources.documents.DocumentJobAccess", [
196
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
195
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
197
196
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
198
- { no: 3, name: "target_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
199
- { no: 4, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
200
- { no: 5, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
201
- { no: 6, name: "minimum_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } },
202
- { no: 7, name: "job_grade_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
203
- { no: 8, name: "access", kind: "enum", T: () => ["resources.documents.AccessLevel", AccessLevel, "ACCESS_LEVEL_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
197
+ { no: 3, name: "target_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
198
+ { no: 4, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
199
+ { no: 5, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
200
+ { no: 6, name: "minimum_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
201
+ { no: 7, name: "job_grade_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
202
+ { no: 8, name: "access", kind: "enum", T: () => ["resources.documents.AccessLevel", AccessLevel, "ACCESS_LEVEL_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
204
203
  { no: 9, name: "required", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
205
204
  ]);
206
205
  }
@@ -220,14 +219,14 @@ class DocumentJobAccess$Type extends MessageType<DocumentJobAccess> {
220
219
  while (reader.pos < end) {
221
220
  let [fieldNo, wireType] = reader.tag();
222
221
  switch (fieldNo) {
223
- case /* uint64 id */ 1:
224
- message.id = reader.uint64().toNumber();
222
+ case /* int64 id */ 1:
223
+ message.id = reader.int64().toNumber();
225
224
  break;
226
225
  case /* optional resources.timestamp.Timestamp created_at */ 2:
227
226
  message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
228
227
  break;
229
- case /* uint64 target_id */ 3:
230
- message.targetId = reader.uint64().toNumber();
228
+ case /* int64 target_id */ 3:
229
+ message.targetId = reader.int64().toNumber();
231
230
  break;
232
231
  case /* string job */ 4:
233
232
  message.job = reader.string();
@@ -259,15 +258,15 @@ class DocumentJobAccess$Type extends MessageType<DocumentJobAccess> {
259
258
  return message;
260
259
  }
261
260
  internalBinaryWrite(message: DocumentJobAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
262
- /* uint64 id = 1; */
261
+ /* int64 id = 1; */
263
262
  if (message.id !== 0)
264
- writer.tag(1, WireType.Varint).uint64(message.id);
263
+ writer.tag(1, WireType.Varint).int64(message.id);
265
264
  /* optional resources.timestamp.Timestamp created_at = 2; */
266
265
  if (message.createdAt)
267
266
  Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
268
- /* uint64 target_id = 3; */
267
+ /* int64 target_id = 3; */
269
268
  if (message.targetId !== 0)
270
- writer.tag(3, WireType.Varint).uint64(message.targetId);
269
+ writer.tag(3, WireType.Varint).int64(message.targetId);
271
270
  /* string job = 4; */
272
271
  if (message.job !== "")
273
272
  writer.tag(4, WireType.LengthDelimited).string(message.job);
@@ -300,12 +299,12 @@ export const DocumentJobAccess = new DocumentJobAccess$Type();
300
299
  class DocumentUserAccess$Type extends MessageType<DocumentUserAccess> {
301
300
  constructor() {
302
301
  super("resources.documents.DocumentUserAccess", [
303
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
302
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
304
303
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
305
- { no: 3, name: "target_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
306
- { no: 4, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
304
+ { no: 3, name: "target_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
305
+ { no: 4, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
307
306
  { no: 5, name: "user", kind: "message", T: () => UserShort },
308
- { no: 6, name: "access", kind: "enum", T: () => ["resources.documents.AccessLevel", AccessLevel, "ACCESS_LEVEL_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
307
+ { no: 6, name: "access", kind: "enum", T: () => ["resources.documents.AccessLevel", AccessLevel, "ACCESS_LEVEL_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
309
308
  { no: 7, name: "required", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
310
309
  ]);
311
310
  }
@@ -324,14 +323,14 @@ class DocumentUserAccess$Type extends MessageType<DocumentUserAccess> {
324
323
  while (reader.pos < end) {
325
324
  let [fieldNo, wireType] = reader.tag();
326
325
  switch (fieldNo) {
327
- case /* uint64 id */ 1:
328
- message.id = reader.uint64().toNumber();
326
+ case /* int64 id */ 1:
327
+ message.id = reader.int64().toNumber();
329
328
  break;
330
329
  case /* optional resources.timestamp.Timestamp created_at */ 2:
331
330
  message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
332
331
  break;
333
- case /* uint64 target_id */ 3:
334
- message.targetId = reader.uint64().toNumber();
332
+ case /* int64 target_id */ 3:
333
+ message.targetId = reader.int64().toNumber();
335
334
  break;
336
335
  case /* int32 user_id */ 4:
337
336
  message.userId = reader.int32();
@@ -357,15 +356,15 @@ class DocumentUserAccess$Type extends MessageType<DocumentUserAccess> {
357
356
  return message;
358
357
  }
359
358
  internalBinaryWrite(message: DocumentUserAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
360
- /* uint64 id = 1; */
359
+ /* int64 id = 1; */
361
360
  if (message.id !== 0)
362
- writer.tag(1, WireType.Varint).uint64(message.id);
361
+ writer.tag(1, WireType.Varint).int64(message.id);
363
362
  /* optional resources.timestamp.Timestamp created_at = 2; */
364
363
  if (message.createdAt)
365
364
  Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
366
- /* uint64 target_id = 3; */
365
+ /* int64 target_id = 3; */
367
366
  if (message.targetId !== 0)
368
- writer.tag(3, WireType.Varint).uint64(message.targetId);
367
+ writer.tag(3, WireType.Varint).int64(message.targetId);
369
368
  /* int32 user_id = 4; */
370
369
  if (message.userId !== 0)
371
370
  writer.tag(4, WireType.Varint).int32(message.userId);