@fivenet-app/gen 2025.5.3 → 2026.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/README.md +1 -1
  2. package/buf/validate/validate.ts +11301 -0
  3. package/clients.ts +193 -154
  4. package/codegen/dbscanner/dbscanner.ts +91 -0
  5. package/codegen/perms/perms.ts +287 -0
  6. package/codegen/sanitizer/sanitizer.ts +113 -0
  7. package/google/protobuf/any.ts +4 -3
  8. package/google/protobuf/descriptor.ts +393 -239
  9. package/google/protobuf/duration.ts +4 -3
  10. package/google/protobuf/struct.ts +485 -0
  11. package/google/protobuf/timestamp.ts +4 -3
  12. package/package.json +3 -3
  13. package/perms.ts +217 -160
  14. package/resources/accounts/accounts.ts +115 -47
  15. package/resources/accounts/{oauth2.ts → oauth2/oauth2.ts} +33 -32
  16. package/resources/audit/audit.ts +172 -53
  17. package/resources/calendar/{access.ts → access/access.ts} +72 -71
  18. package/resources/calendar/calendar.ts +79 -543
  19. package/resources/calendar/entries/entries.ts +474 -0
  20. package/resources/centrum/access/access.ts +345 -0
  21. package/resources/centrum/dispatchers/dispatchers.ts +149 -0
  22. package/resources/centrum/{dispatches.ts → dispatches/dispatches.ts} +267 -164
  23. package/resources/centrum/joblist.ts +136 -0
  24. package/resources/centrum/settings/settings.ts +657 -0
  25. package/resources/centrum/{units_access.ts → units/access/access.ts} +78 -79
  26. package/resources/centrum/{units.ts → units/units.ts} +230 -130
  27. package/resources/clientconfig/clientconfig.ts +1015 -0
  28. package/resources/collab/collab.ts +805 -0
  29. package/resources/common/content/content.ts +169 -63
  30. package/resources/common/content/diff_activity.ts +267 -0
  31. package/resources/common/database/database.ts +92 -35
  32. package/resources/common/error.ts +17 -16
  33. package/resources/common/i18n.ts +20 -24
  34. package/resources/common/id_mapping.ts +69 -0
  35. package/resources/common/tests/objects.ts +4 -3
  36. package/resources/{common/cron → cron}/cron.ts +77 -65
  37. package/resources/discord/discord.ts +209 -0
  38. package/resources/documents/{access.ts → access/access.ts} +75 -76
  39. package/resources/documents/{activity.ts → activity/activity.ts} +349 -124
  40. package/resources/documents/approval/approval.ts +945 -0
  41. package/resources/documents/{category.ts → category/category.ts} +25 -32
  42. package/resources/documents/{comment.ts → comment/comment.ts} +35 -34
  43. package/resources/documents/data/data.ts +303 -0
  44. package/resources/documents/documents.ts +374 -686
  45. package/resources/{common/uuid.ts → documents/forms/forms.ts} +22 -21
  46. package/resources/documents/pins/pins.ts +127 -0
  47. package/resources/documents/references/references.ts +187 -0
  48. package/resources/documents/relations/relations.ts +184 -0
  49. package/resources/documents/{requests.ts → requests/requests.ts} +45 -44
  50. package/resources/documents/stamps/stamp.ts +355 -0
  51. package/resources/documents/{templates.ts → templates/templates.ts} +524 -199
  52. package/resources/documents/workflow/workflow.ts +600 -0
  53. package/resources/file/file.ts +152 -0
  54. package/{services/settings → resources/file}/filestore.ts +179 -165
  55. package/resources/file/meta.ts +148 -0
  56. package/resources/{common/grpcws → grpcws}/grpcws.ts +66 -65
  57. package/resources/jobs/{activity.ts → colleagues/activity/activity.ts} +83 -86
  58. package/resources/jobs/{colleagues.ts → colleagues/colleagues.ts} +76 -80
  59. package/resources/jobs/{conduct.ts → conduct/conduct.ts} +86 -62
  60. package/resources/jobs/jobs.ts +14 -13
  61. package/resources/jobs/{labels.ts → labels/labels.ts} +36 -37
  62. package/resources/jobs/{job_props.ts → props/props.ts} +63 -65
  63. package/resources/jobs/{job_settings.ts → settings/settings.ts} +89 -96
  64. package/resources/jobs/{timeclock.ts → timeclock/timeclock.ts} +42 -41
  65. package/resources/laws/laws.ts +40 -49
  66. package/resources/livemap/coords.ts +81 -0
  67. package/resources/livemap/heatmap/heatmap.ts +93 -0
  68. package/resources/livemap/{livemap.ts → markers/marker_marker.ts} +68 -335
  69. package/resources/livemap/markers/user_marker.ts +377 -0
  70. package/resources/mailer/{access.ts → access/access.ts} +119 -118
  71. package/resources/mailer/{email.ts → emails/email.ts} +38 -41
  72. package/resources/mailer/{events.ts → events/events.ts} +44 -43
  73. package/resources/mailer/{message.ts → messages/message.ts} +69 -74
  74. package/resources/mailer/{settings.ts → settings/settings.ts} +23 -25
  75. package/resources/mailer/{template.ts → templates/template.ts} +37 -40
  76. package/resources/mailer/{thread.ts → threads/thread.ts} +93 -94
  77. package/resources/notifications/clientview/clientview.ts +239 -0
  78. package/resources/notifications/{events.ts → events/events.ts} +67 -130
  79. package/resources/notifications/notifications.ts +55 -60
  80. package/resources/permissions/{attributes.ts → attributes/attributes.ts} +94 -237
  81. package/resources/permissions/events/events.ts +149 -0
  82. package/resources/permissions/{permissions.ts → permissions/permissions.ts} +127 -47
  83. package/resources/qualifications/{access.ts → access/access.ts} +43 -42
  84. package/resources/qualifications/{exam.ts → exam/exam.ts} +419 -229
  85. package/resources/qualifications/qualifications.ts +327 -388
  86. package/resources/settings/banner.ts +14 -21
  87. package/resources/settings/config.ts +663 -79
  88. package/resources/settings/data.ts +90 -0
  89. package/resources/settings/perms.ts +151 -0
  90. package/resources/settings/status.ts +533 -0
  91. package/resources/stats/stats.ts +382 -2
  92. package/resources/sync/{activity.ts → activity/activity.ts} +126 -46
  93. package/resources/sync/data/data.ts +1001 -0
  94. package/resources/sync/data/v2/data.ts +220 -0
  95. package/resources/timestamp/timestamp.ts +3 -2
  96. package/resources/{centrum/user_unit.ts → tracker/mapping.ts} +44 -44
  97. package/resources/userinfo/userinfo.ts +442 -0
  98. package/resources/users/{activity.ts → activity/activity.ts} +182 -166
  99. package/resources/users/{labels.ts → labels/labels.ts} +27 -30
  100. package/resources/users/{licenses.ts → licenses/licenses.ts} +18 -17
  101. package/resources/users/{props.ts → props/props.ts} +109 -77
  102. package/resources/users/short/user.ts +184 -0
  103. package/resources/users/user.ts +528 -0
  104. package/resources/vehicles/activity/activity.ts +231 -0
  105. package/resources/vehicles/props/props.ts +125 -0
  106. package/resources/vehicles/vehicles.ts +43 -18
  107. package/resources/wiki/{access.ts → access/access.ts} +72 -71
  108. package/resources/wiki/{activity.ts → activity/activity.ts} +218 -102
  109. package/resources/wiki/page.ts +164 -93
  110. package/services/auth/auth.client.ts +45 -35
  111. package/services/auth/auth.ts +498 -288
  112. package/services/calendar/calendar.client.ts +32 -91
  113. package/services/calendar/calendar.ts +157 -134
  114. package/services/centrum/centrum.client.ts +97 -137
  115. package/services/centrum/centrum.ts +755 -352
  116. package/services/citizens/citizens.client.ts +70 -39
  117. package/services/citizens/citizens.ts +226 -112
  118. package/services/completor/completor.client.ts +16 -35
  119. package/services/completor/completor.ts +95 -54
  120. package/services/documents/approval.client.ts +188 -0
  121. package/services/documents/approval.ts +1776 -0
  122. package/services/documents/collab.client.ts +46 -0
  123. package/services/documents/collab.ts +13 -0
  124. package/services/documents/documents.client.ts +88 -217
  125. package/services/documents/documents.ts +579 -619
  126. package/services/documents/forms.client.ts +51 -0
  127. package/services/documents/forms.ts +232 -0
  128. package/services/documents/stamps.client.ts +77 -0
  129. package/services/documents/stamps.ts +481 -0
  130. package/services/documents/stats.client.ts +38 -0
  131. package/services/documents/stats.ts +245 -0
  132. package/services/filestore/filestore.client.ts +86 -0
  133. package/services/filestore/filestore.ts +262 -0
  134. package/services/jobs/conduct.client.ts +40 -28
  135. package/services/jobs/conduct.ts +183 -56
  136. package/services/jobs/jobs.client.ts +22 -61
  137. package/services/jobs/jobs.ts +138 -121
  138. package/services/jobs/stats.client.ts +38 -0
  139. package/services/jobs/stats.ts +207 -0
  140. package/services/jobs/timeclock.client.ts +8 -19
  141. package/services/jobs/timeclock.ts +76 -75
  142. package/services/livemap/livemap.client.ts +8 -19
  143. package/services/livemap/livemap.ts +297 -126
  144. package/services/mailer/mailer.client.ts +44 -127
  145. package/services/mailer/mailer.ts +266 -269
  146. package/services/notifications/notifications.client.ts +65 -0
  147. package/services/{notificator/notificator.ts → notifications/notifications.ts} +126 -83
  148. package/services/qualifications/qualifications.client.ts +46 -91
  149. package/services/qualifications/qualifications.ts +250 -209
  150. package/services/settings/accounts.client.ts +31 -33
  151. package/services/settings/accounts.ts +251 -67
  152. package/services/settings/config.client.ts +6 -13
  153. package/services/settings/config.ts +8 -7
  154. package/services/settings/cron.client.ts +4 -7
  155. package/services/settings/cron.ts +7 -6
  156. package/services/settings/laws.client.ts +10 -25
  157. package/services/settings/laws.ts +30 -29
  158. package/services/settings/settings.client.ts +57 -103
  159. package/services/settings/settings.ts +237 -633
  160. package/services/settings/system.client.ts +103 -0
  161. package/services/settings/system.ts +718 -0
  162. package/services/stats/stats.client.ts +9 -8
  163. package/services/stats/stats.ts +27 -26
  164. package/services/sync/sync.client.ts +16 -15
  165. package/services/sync/sync.ts +174 -97
  166. package/services/sync/v2/sync.client.ts +331 -0
  167. package/services/sync/v2/sync.ts +1766 -0
  168. package/services/vehicles/vehicles.client.ts +17 -7
  169. package/services/vehicles/vehicles.ts +170 -25
  170. package/services/wiki/collab.client.ts +46 -0
  171. package/services/wiki/collab.ts +13 -0
  172. package/services/wiki/wiki.client.ts +28 -37
  173. package/services/wiki/wiki.ts +97 -67
  174. package/svcs.ts +174 -106
  175. package/resources/centrum/attributes.ts +0 -186
  176. package/resources/centrum/disponents.ts +0 -81
  177. package/resources/centrum/settings.ts +0 -307
  178. package/resources/documents/workflow.ts +0 -351
  179. package/resources/filestore/file.ts +0 -204
  180. package/resources/internet/access.ts +0 -358
  181. package/resources/internet/ads.ts +0 -257
  182. package/resources/internet/domain.ts +0 -328
  183. package/resources/internet/page.ts +0 -428
  184. package/resources/internet/search.ts +0 -128
  185. package/resources/livemap/tracker.ts +0 -81
  186. package/resources/sync/data.ts +0 -587
  187. package/resources/users/users.ts +0 -435
  188. package/services/internet/ads.client.ts +0 -41
  189. package/services/internet/ads.ts +0 -145
  190. package/services/internet/domain.client.ts +0 -109
  191. package/services/internet/domain.ts +0 -658
  192. package/services/internet/internet.client.ts +0 -58
  193. package/services/internet/internet.ts +0 -268
  194. package/services/notificator/notificator.client.ts +0 -76
  195. package/services/settings/filestore.client.ts +0 -75
@@ -1,5 +1,6 @@
1
- // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
2
  // @generated from protobuf file "resources/wiki/page.proto" (package "resources.wiki", 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";
@@ -10,161 +11,177 @@ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
10
11
  import type { PartialMessage } from "@protobuf-ts/runtime";
11
12
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
12
13
  import { MessageType } from "@protobuf-ts/runtime";
13
- import { File } from "../filestore/file";
14
14
  import { ContentType } from "../common/content/content";
15
- import { UserShort } from "../users/users";
15
+ import { UserShort } from "../users/short/user";
16
16
  import { Timestamp } from "../timestamp/timestamp";
17
- import { PageAccess } from "./access";
17
+ import { File } from "../file/file";
18
+ import { PageAccess } from "./access/access";
18
19
  import { Content } from "../common/content/content";
19
20
  /**
20
21
  * @generated from protobuf message resources.wiki.Page
21
22
  */
22
23
  export interface Page {
23
24
  /**
24
- * @generated from protobuf field: uint64 id = 1;
25
+ * @generated from protobuf field: int64 id = 1
25
26
  */
26
- id: number; // @gotags: sql:"primary_key" alias:"id"
27
+ id: number;
27
28
  /**
28
- * @sanitize: method=StripTags
29
- *
30
- * @generated from protobuf field: string job = 2;
29
+ * @generated from protobuf field: string job = 2
31
30
  */
32
31
  job: string;
33
32
  /**
34
- * @generated from protobuf field: optional string job_label = 3;
33
+ * @generated from protobuf field: optional string job_label = 3
35
34
  */
36
35
  jobLabel?: string;
37
36
  /**
38
- * @generated from protobuf field: optional uint64 parent_id = 4;
37
+ * @generated from protobuf field: optional int64 parent_id = 4
39
38
  */
40
39
  parentId?: number;
41
40
  /**
42
- * @generated from protobuf field: resources.wiki.PageMeta meta = 5;
41
+ * @generated from protobuf field: resources.wiki.PageMeta meta = 5
43
42
  */
44
43
  meta?: PageMeta;
45
44
  /**
46
- * @generated from protobuf field: resources.common.content.Content content = 6;
45
+ * @generated from protobuf field: resources.common.content.Content content = 6
47
46
  */
48
47
  content?: Content;
49
48
  /**
50
- * @generated from protobuf field: resources.wiki.PageAccess access = 7;
49
+ * @generated from protobuf field: resources.wiki.access.PageAccess access = 7
51
50
  */
52
51
  access?: PageAccess;
52
+ /**
53
+ * @generated from protobuf field: repeated resources.file.File files = 8
54
+ */
55
+ files: File[];
53
56
  }
54
57
  /**
55
58
  * @generated from protobuf message resources.wiki.PageMeta
56
59
  */
57
60
  export interface PageMeta {
58
61
  /**
59
- * @generated from protobuf field: resources.timestamp.Timestamp created_at = 1;
62
+ * @generated from protobuf field: resources.timestamp.Timestamp created_at = 1
60
63
  */
61
64
  createdAt?: Timestamp;
62
65
  /**
63
- * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 2;
66
+ * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 2
64
67
  */
65
68
  updatedAt?: Timestamp;
66
69
  /**
67
- * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 3;
70
+ * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 3
68
71
  */
69
72
  deletedAt?: Timestamp;
70
73
  /**
71
- * @sanitize: method=StripTags
72
- *
73
- * @generated from protobuf field: optional string slug = 4;
74
+ * @generated from protobuf field: optional string slug = 4
74
75
  */
75
76
  slug?: string;
76
77
  /**
77
- * @sanitize
78
- *
79
- * @generated from protobuf field: string title = 5;
78
+ * @generated from protobuf field: string title = 5
80
79
  */
81
80
  title: string;
82
81
  /**
83
- * @sanitize: method=StripTags
84
- *
85
- * @generated from protobuf field: string description = 6;
82
+ * @generated from protobuf field: string description = 6
86
83
  */
87
84
  description: string;
88
85
  /**
89
- * @generated from protobuf field: optional int32 creator_id = 7;
86
+ * @generated from protobuf field: optional int32 creator_id = 7
90
87
  */
91
88
  creatorId?: number;
92
89
  /**
93
- * @generated from protobuf field: optional resources.users.UserShort creator = 8;
90
+ * @generated from protobuf field: optional resources.users.short.UserShort creator = 8
94
91
  */
95
- creator?: UserShort; // @gotags: alias:"creator"
92
+ creator?: UserShort;
96
93
  /**
97
- * @generated from protobuf field: resources.common.content.ContentType content_type = 9;
94
+ * @generated from protobuf field: resources.common.content.ContentType content_type = 9
98
95
  */
99
96
  contentType: ContentType;
100
97
  /**
101
- * @sanitize: method=StripTags
102
- *
103
- * @generated from protobuf field: repeated string tags = 10;
98
+ * @generated from protobuf field: repeated string tags = 10
104
99
  */
105
100
  tags: string[];
106
101
  /**
107
- * @generated from protobuf field: optional bool toc = 11;
102
+ * @generated from protobuf field: optional bool toc = 11
108
103
  */
109
104
  toc?: boolean;
110
105
  /**
111
- * @generated from protobuf field: bool public = 12;
106
+ * @generated from protobuf field: bool public = 12
112
107
  */
113
108
  public: boolean;
109
+ /**
110
+ * @generated from protobuf field: bool draft = 13
111
+ */
112
+ draft: boolean;
113
+ /**
114
+ * @generated from protobuf field: bool startpage = 14
115
+ */
116
+ startpage: boolean;
114
117
  }
115
118
  /**
116
119
  * @generated from protobuf message resources.wiki.PageShort
117
120
  */
118
121
  export interface PageShort {
119
122
  /**
120
- * @generated from protobuf field: uint64 id = 1;
123
+ * @generated from protobuf field: int64 id = 1
121
124
  */
122
- id: number; // @gotags: sql:"primary_key" alias:"id"
125
+ id: number;
123
126
  /**
124
- * @generated from protobuf field: string job = 2;
127
+ * @generated from protobuf field: string job = 2
125
128
  */
126
129
  job: string;
127
130
  /**
128
- * @generated from protobuf field: optional string job_label = 3;
131
+ * @generated from protobuf field: optional string job_label = 3
129
132
  */
130
133
  jobLabel?: string;
131
134
  /**
132
- * @generated from protobuf field: optional uint64 parent_id = 4;
135
+ * @generated from protobuf field: optional int64 parent_id = 4
133
136
  */
134
137
  parentId?: number;
135
138
  /**
136
- * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 5;
139
+ * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 5
137
140
  */
138
141
  deletedAt?: Timestamp;
139
142
  /**
140
- * @sanitize: method=StripTags
141
- *
142
- * @generated from protobuf field: optional string slug = 6;
143
+ * @generated from protobuf field: optional string slug = 6
143
144
  */
144
145
  slug?: string;
145
146
  /**
146
- * @generated from protobuf field: string title = 7;
147
+ * @generated from protobuf field: string title = 7
147
148
  */
148
149
  title: string;
149
150
  /**
150
- * @generated from protobuf field: string description = 8;
151
+ * @generated from protobuf field: string description = 8
151
152
  */
152
153
  description: string;
153
154
  /**
154
- * @generated from protobuf field: repeated resources.wiki.PageShort children = 9;
155
+ * @generated from protobuf field: repeated resources.wiki.PageShort children = 9
155
156
  */
156
157
  children: PageShort[];
157
158
  /**
158
- * @generated from protobuf field: optional resources.wiki.PageRootInfo root_info = 10;
159
+ * @generated from protobuf field: optional resources.wiki.PageRootInfo root_info = 10
159
160
  */
160
161
  rootInfo?: PageRootInfo;
162
+ /**
163
+ * @generated from protobuf field: optional int32 level = 11
164
+ */
165
+ level?: number;
166
+ /**
167
+ * @generated from protobuf field: bool draft = 13
168
+ */
169
+ draft: boolean;
170
+ /**
171
+ * @generated from protobuf field: bool startpage = 14
172
+ */
173
+ startpage: boolean;
161
174
  }
162
175
  /**
163
176
  * @generated from protobuf message resources.wiki.PageRootInfo
164
177
  */
165
178
  export interface PageRootInfo {
166
179
  /**
167
- * @generated from protobuf field: optional resources.filestore.File logo = 1;
180
+ * @generated from protobuf field: optional int64 logo_file_id = 1
181
+ */
182
+ logoFileId?: number;
183
+ /**
184
+ * @generated from protobuf field: optional resources.file.File logo = 2
168
185
  */
169
186
  logo?: File;
170
187
  }
@@ -172,19 +189,21 @@ export interface PageRootInfo {
172
189
  class Page$Type extends MessageType<Page> {
173
190
  constructor() {
174
191
  super("resources.wiki.Page", [
175
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
176
- { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
177
- { no: 3, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
178
- { no: 4, name: "parent_id", kind: "scalar", opt: true, T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
179
- { no: 5, name: "meta", kind: "message", T: () => PageMeta, options: { "validate.rules": { message: { required: true } } } },
192
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "sql:\"primary_key\" alias:\"id\"" } },
193
+ { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
194
+ { no: 3, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
195
+ { no: 4, name: "parent_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
196
+ { no: 5, name: "meta", kind: "message", T: () => PageMeta, options: { "buf.validate.field": { required: true } } },
180
197
  { no: 6, name: "content", kind: "message", T: () => Content },
181
- { no: 7, name: "access", kind: "message", T: () => PageAccess, options: { "validate.rules": { message: { required: true } } } }
198
+ { no: 7, name: "access", kind: "message", T: () => PageAccess, options: { "buf.validate.field": { required: true } } },
199
+ { no: 8, name: "files", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => File, options: { "tagger.tags": "alias:\"files\"" } }
182
200
  ]);
183
201
  }
184
202
  create(value?: PartialMessage<Page>): Page {
185
203
  const message = globalThis.Object.create((this.messagePrototype!));
186
204
  message.id = 0;
187
205
  message.job = "";
206
+ message.files = [];
188
207
  if (value !== undefined)
189
208
  reflectionMergePartial<Page>(this, message, value);
190
209
  return message;
@@ -194,8 +213,8 @@ class Page$Type extends MessageType<Page> {
194
213
  while (reader.pos < end) {
195
214
  let [fieldNo, wireType] = reader.tag();
196
215
  switch (fieldNo) {
197
- case /* uint64 id */ 1:
198
- message.id = reader.uint64().toNumber();
216
+ case /* int64 id */ 1:
217
+ message.id = reader.int64().toNumber();
199
218
  break;
200
219
  case /* string job */ 2:
201
220
  message.job = reader.string();
@@ -203,8 +222,8 @@ class Page$Type extends MessageType<Page> {
203
222
  case /* optional string job_label */ 3:
204
223
  message.jobLabel = reader.string();
205
224
  break;
206
- case /* optional uint64 parent_id */ 4:
207
- message.parentId = reader.uint64().toNumber();
225
+ case /* optional int64 parent_id */ 4:
226
+ message.parentId = reader.int64().toNumber();
208
227
  break;
209
228
  case /* resources.wiki.PageMeta meta */ 5:
210
229
  message.meta = PageMeta.internalBinaryRead(reader, reader.uint32(), options, message.meta);
@@ -212,9 +231,12 @@ class Page$Type extends MessageType<Page> {
212
231
  case /* resources.common.content.Content content */ 6:
213
232
  message.content = Content.internalBinaryRead(reader, reader.uint32(), options, message.content);
214
233
  break;
215
- case /* resources.wiki.PageAccess access */ 7:
234
+ case /* resources.wiki.access.PageAccess access */ 7:
216
235
  message.access = PageAccess.internalBinaryRead(reader, reader.uint32(), options, message.access);
217
236
  break;
237
+ case /* repeated resources.file.File files */ 8:
238
+ message.files.push(File.internalBinaryRead(reader, reader.uint32(), options));
239
+ break;
218
240
  default:
219
241
  let u = options.readUnknownField;
220
242
  if (u === "throw")
@@ -227,27 +249,30 @@ class Page$Type extends MessageType<Page> {
227
249
  return message;
228
250
  }
229
251
  internalBinaryWrite(message: Page, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
230
- /* uint64 id = 1; */
252
+ /* int64 id = 1; */
231
253
  if (message.id !== 0)
232
- writer.tag(1, WireType.Varint).uint64(message.id);
254
+ writer.tag(1, WireType.Varint).int64(message.id);
233
255
  /* string job = 2; */
234
256
  if (message.job !== "")
235
257
  writer.tag(2, WireType.LengthDelimited).string(message.job);
236
258
  /* optional string job_label = 3; */
237
259
  if (message.jobLabel !== undefined)
238
260
  writer.tag(3, WireType.LengthDelimited).string(message.jobLabel);
239
- /* optional uint64 parent_id = 4; */
261
+ /* optional int64 parent_id = 4; */
240
262
  if (message.parentId !== undefined)
241
- writer.tag(4, WireType.Varint).uint64(message.parentId);
263
+ writer.tag(4, WireType.Varint).int64(message.parentId);
242
264
  /* resources.wiki.PageMeta meta = 5; */
243
265
  if (message.meta)
244
266
  PageMeta.internalBinaryWrite(message.meta, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
245
267
  /* resources.common.content.Content content = 6; */
246
268
  if (message.content)
247
269
  Content.internalBinaryWrite(message.content, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
248
- /* resources.wiki.PageAccess access = 7; */
270
+ /* resources.wiki.access.PageAccess access = 7; */
249
271
  if (message.access)
250
272
  PageAccess.internalBinaryWrite(message.access, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
273
+ /* repeated resources.file.File files = 8; */
274
+ for (let i = 0; i < message.files.length; i++)
275
+ File.internalBinaryWrite(message.files[i], writer.tag(8, WireType.LengthDelimited).fork(), options).join();
251
276
  let u = options.writeUnknownFields;
252
277
  if (u !== false)
253
278
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -265,15 +290,17 @@ class PageMeta$Type extends MessageType<PageMeta> {
265
290
  { no: 1, name: "created_at", kind: "message", T: () => Timestamp },
266
291
  { no: 2, name: "updated_at", kind: "message", T: () => Timestamp },
267
292
  { no: 3, name: "deleted_at", kind: "message", T: () => Timestamp },
268
- { no: 4, name: "slug", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "100" } } } },
269
- { no: 5, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxLen: "1024" } } } },
270
- { no: 6, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "128" } } } },
271
- { no: 7, name: "creator_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gt: 0 } } } },
272
- { no: 8, name: "creator", kind: "message", T: () => UserShort },
273
- { no: 9, name: "content_type", kind: "enum", T: () => ["resources.common.content.ContentType", ContentType, "CONTENT_TYPE_"], options: { "validate.rules": { enum: { definedOnly: true } } } },
274
- { no: 10, name: "tags", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
293
+ { no: 4, name: "slug", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "100" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
294
+ { no: 5, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "1024" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
295
+ { no: 6, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
296
+ { no: 7, name: "creator_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
297
+ { no: 8, name: "creator", kind: "message", T: () => UserShort, options: { "tagger.tags": "alias:\"creator\"" } },
298
+ { no: 9, name: "content_type", kind: "enum", T: () => ["resources.common.content.ContentType", ContentType, "CONTENT_TYPE_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
299
+ { no: 10, name: "tags", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
275
300
  { no: 11, name: "toc", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
276
- { no: 12, name: "public", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
301
+ { no: 12, name: "public", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
302
+ { no: 13, name: "draft", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
303
+ { no: 14, name: "startpage", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
277
304
  ]);
278
305
  }
279
306
  create(value?: PartialMessage<PageMeta>): PageMeta {
@@ -283,6 +310,8 @@ class PageMeta$Type extends MessageType<PageMeta> {
283
310
  message.contentType = 0;
284
311
  message.tags = [];
285
312
  message.public = false;
313
+ message.draft = false;
314
+ message.startpage = false;
286
315
  if (value !== undefined)
287
316
  reflectionMergePartial<PageMeta>(this, message, value);
288
317
  return message;
@@ -313,7 +342,7 @@ class PageMeta$Type extends MessageType<PageMeta> {
313
342
  case /* optional int32 creator_id */ 7:
314
343
  message.creatorId = reader.int32();
315
344
  break;
316
- case /* optional resources.users.UserShort creator */ 8:
345
+ case /* optional resources.users.short.UserShort creator */ 8:
317
346
  message.creator = UserShort.internalBinaryRead(reader, reader.uint32(), options, message.creator);
318
347
  break;
319
348
  case /* resources.common.content.ContentType content_type */ 9:
@@ -328,6 +357,12 @@ class PageMeta$Type extends MessageType<PageMeta> {
328
357
  case /* bool public */ 12:
329
358
  message.public = reader.bool();
330
359
  break;
360
+ case /* bool draft */ 13:
361
+ message.draft = reader.bool();
362
+ break;
363
+ case /* bool startpage */ 14:
364
+ message.startpage = reader.bool();
365
+ break;
331
366
  default:
332
367
  let u = options.readUnknownField;
333
368
  if (u === "throw")
@@ -361,7 +396,7 @@ class PageMeta$Type extends MessageType<PageMeta> {
361
396
  /* optional int32 creator_id = 7; */
362
397
  if (message.creatorId !== undefined)
363
398
  writer.tag(7, WireType.Varint).int32(message.creatorId);
364
- /* optional resources.users.UserShort creator = 8; */
399
+ /* optional resources.users.short.UserShort creator = 8; */
365
400
  if (message.creator)
366
401
  UserShort.internalBinaryWrite(message.creator, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
367
402
  /* resources.common.content.ContentType content_type = 9; */
@@ -376,6 +411,12 @@ class PageMeta$Type extends MessageType<PageMeta> {
376
411
  /* bool public = 12; */
377
412
  if (message.public !== false)
378
413
  writer.tag(12, WireType.Varint).bool(message.public);
414
+ /* bool draft = 13; */
415
+ if (message.draft !== false)
416
+ writer.tag(13, WireType.Varint).bool(message.draft);
417
+ /* bool startpage = 14; */
418
+ if (message.startpage !== false)
419
+ writer.tag(14, WireType.Varint).bool(message.startpage);
379
420
  let u = options.writeUnknownFields;
380
421
  if (u !== false)
381
422
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -390,16 +431,19 @@ export const PageMeta = new PageMeta$Type();
390
431
  class PageShort$Type extends MessageType<PageShort> {
391
432
  constructor() {
392
433
  super("resources.wiki.PageShort", [
393
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
394
- { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
395
- { no: 3, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
396
- { no: 4, name: "parent_id", kind: "scalar", opt: true, T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
434
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "sql:\"primary_key\" alias:\"id\"" } },
435
+ { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
436
+ { no: 3, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
437
+ { no: 4, name: "parent_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
397
438
  { no: 5, name: "deleted_at", kind: "message", T: () => Timestamp },
398
- { no: 6, name: "slug", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "100" } } } },
439
+ { no: 6, name: "slug", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "100" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
399
440
  { no: 7, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
400
441
  { no: 8, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
401
442
  { no: 9, name: "children", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => PageShort },
402
- { no: 10, name: "root_info", kind: "message", T: () => PageRootInfo }
443
+ { no: 10, name: "root_info", kind: "message", T: () => PageRootInfo },
444
+ { no: 11, name: "level", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
445
+ { no: 13, name: "draft", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
446
+ { no: 14, name: "startpage", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
403
447
  ]);
404
448
  }
405
449
  create(value?: PartialMessage<PageShort>): PageShort {
@@ -409,6 +453,8 @@ class PageShort$Type extends MessageType<PageShort> {
409
453
  message.title = "";
410
454
  message.description = "";
411
455
  message.children = [];
456
+ message.draft = false;
457
+ message.startpage = false;
412
458
  if (value !== undefined)
413
459
  reflectionMergePartial<PageShort>(this, message, value);
414
460
  return message;
@@ -418,8 +464,8 @@ class PageShort$Type extends MessageType<PageShort> {
418
464
  while (reader.pos < end) {
419
465
  let [fieldNo, wireType] = reader.tag();
420
466
  switch (fieldNo) {
421
- case /* uint64 id */ 1:
422
- message.id = reader.uint64().toNumber();
467
+ case /* int64 id */ 1:
468
+ message.id = reader.int64().toNumber();
423
469
  break;
424
470
  case /* string job */ 2:
425
471
  message.job = reader.string();
@@ -427,8 +473,8 @@ class PageShort$Type extends MessageType<PageShort> {
427
473
  case /* optional string job_label */ 3:
428
474
  message.jobLabel = reader.string();
429
475
  break;
430
- case /* optional uint64 parent_id */ 4:
431
- message.parentId = reader.uint64().toNumber();
476
+ case /* optional int64 parent_id */ 4:
477
+ message.parentId = reader.int64().toNumber();
432
478
  break;
433
479
  case /* optional resources.timestamp.Timestamp deleted_at */ 5:
434
480
  message.deletedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.deletedAt);
@@ -448,6 +494,15 @@ class PageShort$Type extends MessageType<PageShort> {
448
494
  case /* optional resources.wiki.PageRootInfo root_info */ 10:
449
495
  message.rootInfo = PageRootInfo.internalBinaryRead(reader, reader.uint32(), options, message.rootInfo);
450
496
  break;
497
+ case /* optional int32 level */ 11:
498
+ message.level = reader.int32();
499
+ break;
500
+ case /* bool draft */ 13:
501
+ message.draft = reader.bool();
502
+ break;
503
+ case /* bool startpage */ 14:
504
+ message.startpage = reader.bool();
505
+ break;
451
506
  default:
452
507
  let u = options.readUnknownField;
453
508
  if (u === "throw")
@@ -460,18 +515,18 @@ class PageShort$Type extends MessageType<PageShort> {
460
515
  return message;
461
516
  }
462
517
  internalBinaryWrite(message: PageShort, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
463
- /* uint64 id = 1; */
518
+ /* int64 id = 1; */
464
519
  if (message.id !== 0)
465
- writer.tag(1, WireType.Varint).uint64(message.id);
520
+ writer.tag(1, WireType.Varint).int64(message.id);
466
521
  /* string job = 2; */
467
522
  if (message.job !== "")
468
523
  writer.tag(2, WireType.LengthDelimited).string(message.job);
469
524
  /* optional string job_label = 3; */
470
525
  if (message.jobLabel !== undefined)
471
526
  writer.tag(3, WireType.LengthDelimited).string(message.jobLabel);
472
- /* optional uint64 parent_id = 4; */
527
+ /* optional int64 parent_id = 4; */
473
528
  if (message.parentId !== undefined)
474
- writer.tag(4, WireType.Varint).uint64(message.parentId);
529
+ writer.tag(4, WireType.Varint).int64(message.parentId);
475
530
  /* optional resources.timestamp.Timestamp deleted_at = 5; */
476
531
  if (message.deletedAt)
477
532
  Timestamp.internalBinaryWrite(message.deletedAt, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
@@ -490,6 +545,15 @@ class PageShort$Type extends MessageType<PageShort> {
490
545
  /* optional resources.wiki.PageRootInfo root_info = 10; */
491
546
  if (message.rootInfo)
492
547
  PageRootInfo.internalBinaryWrite(message.rootInfo, writer.tag(10, WireType.LengthDelimited).fork(), options).join();
548
+ /* optional int32 level = 11; */
549
+ if (message.level !== undefined)
550
+ writer.tag(11, WireType.Varint).int32(message.level);
551
+ /* bool draft = 13; */
552
+ if (message.draft !== false)
553
+ writer.tag(13, WireType.Varint).bool(message.draft);
554
+ /* bool startpage = 14; */
555
+ if (message.startpage !== false)
556
+ writer.tag(14, WireType.Varint).bool(message.startpage);
493
557
  let u = options.writeUnknownFields;
494
558
  if (u !== false)
495
559
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -504,7 +568,8 @@ export const PageShort = new PageShort$Type();
504
568
  class PageRootInfo$Type extends MessageType<PageRootInfo> {
505
569
  constructor() {
506
570
  super("resources.wiki.PageRootInfo", [
507
- { no: 1, name: "logo", kind: "message", T: () => File }
571
+ { no: 1, name: "logo_file_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
572
+ { no: 2, name: "logo", kind: "message", T: () => File, options: { "tagger.tags": "alias:\"logo\"" } }
508
573
  ]);
509
574
  }
510
575
  create(value?: PartialMessage<PageRootInfo>): PageRootInfo {
@@ -518,7 +583,10 @@ class PageRootInfo$Type extends MessageType<PageRootInfo> {
518
583
  while (reader.pos < end) {
519
584
  let [fieldNo, wireType] = reader.tag();
520
585
  switch (fieldNo) {
521
- case /* optional resources.filestore.File logo */ 1:
586
+ case /* optional int64 logo_file_id */ 1:
587
+ message.logoFileId = reader.int64().toNumber();
588
+ break;
589
+ case /* optional resources.file.File logo */ 2:
522
590
  message.logo = File.internalBinaryRead(reader, reader.uint32(), options, message.logo);
523
591
  break;
524
592
  default:
@@ -533,9 +601,12 @@ class PageRootInfo$Type extends MessageType<PageRootInfo> {
533
601
  return message;
534
602
  }
535
603
  internalBinaryWrite(message: PageRootInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
536
- /* optional resources.filestore.File logo = 1; */
604
+ /* optional int64 logo_file_id = 1; */
605
+ if (message.logoFileId !== undefined)
606
+ writer.tag(1, WireType.Varint).int64(message.logoFileId);
607
+ /* optional resources.file.File logo = 2; */
537
608
  if (message.logo)
538
- File.internalBinaryWrite(message.logo, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
609
+ File.internalBinaryWrite(message.logo, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
539
610
  let u = options.writeUnknownFields;
540
611
  if (u !== false)
541
612
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);