@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
2
- // @generated from protobuf file "resources/documents/templates.proto" (package "resources.documents", syntax proto3)
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/documents/templates/templates.proto" (package "resources.documents.templates", 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,297 +11,375 @@ 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 { AccessLevel } from "./access";
14
- import { Vehicle } from "../vehicles/vehicles";
15
- import { UserShort } from "../users/users";
16
- import { DocumentShort } from "./documents";
17
- import { User } from "../users/users";
18
- import { Workflow } from "./workflow";
19
- import { DocumentAccess } from "./access";
20
- import { Category } from "./category";
21
- import { Timestamp } from "../timestamp/timestamp";
14
+ import { OnEditBehavior } from "../approval/approval";
15
+ import { ApprovalRuleKind } from "../approval/approval";
16
+ import { AccessLevel } from "../access/access";
17
+ import { Vehicle } from "../../vehicles/vehicles";
18
+ import { UserShort } from "../../users/short/user";
19
+ import { DocumentShort } from "../documents";
20
+ import { User } from "../../users/user";
21
+ import { Workflow } from "../workflow/workflow";
22
+ import { DocumentAccess } from "../access/access";
23
+ import { Category } from "../category/category";
24
+ import { Timestamp } from "../../timestamp/timestamp";
22
25
  /**
23
- * @generated from protobuf message resources.documents.Template
26
+ * @generated from protobuf message resources.documents.templates.Template
24
27
  */
25
28
  export interface Template {
26
29
  /**
27
- * @generated from protobuf field: uint64 id = 1;
30
+ * @generated from protobuf field: int64 id = 1
28
31
  */
29
- id: number; // @gotags: alias:"id"
32
+ id: number;
30
33
  /**
31
- * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2;
34
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2
32
35
  */
33
36
  createdAt?: Timestamp;
34
37
  /**
35
- * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 3;
38
+ * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 3
36
39
  */
37
40
  updatedAt?: Timestamp;
38
41
  /**
39
- * @generated from protobuf field: resources.documents.Category category = 4;
42
+ * @generated from protobuf field: resources.documents.category.Category category = 4
40
43
  */
41
- category?: Category; // @gotags: alias:"category"
44
+ category?: Category;
42
45
  /**
43
- * @generated from protobuf field: uint32 weight = 5;
46
+ * @generated from protobuf field: uint32 weight = 5
44
47
  */
45
48
  weight: number;
46
49
  /**
47
- * @sanitize
48
- *
49
- * @generated from protobuf field: string title = 6;
50
+ * @generated from protobuf field: string title = 6
50
51
  */
51
52
  title: string;
52
53
  /**
53
- * @sanitize
54
- *
55
- * @generated from protobuf field: string description = 7;
54
+ * @generated from protobuf field: string description = 7
56
55
  */
57
56
  description: string;
58
57
  /**
59
- * @sanitize: method=StripTags
60
- *
61
- * @generated from protobuf field: optional string color = 8;
58
+ * @generated from protobuf field: optional string color = 8
62
59
  */
63
60
  color?: string;
64
61
  /**
65
- * @sanitize: method=StripTags
66
- *
67
- * @generated from protobuf field: optional string icon = 9;
62
+ * @generated from protobuf field: optional string icon = 9
68
63
  */
69
64
  icon?: string;
70
65
  /**
71
- * @generated from protobuf field: string content_title = 10;
66
+ * @generated from protobuf field: string content_title = 10
72
67
  */
73
- contentTitle: string; // @gotags: alias:"content_title"
68
+ contentTitle: string;
74
69
  /**
75
- * @generated from protobuf field: string content = 11;
70
+ * @generated from protobuf field: string content = 11
76
71
  */
77
- content: string; // @gotags: alias:"content"
72
+ content: string;
78
73
  /**
79
- * @generated from protobuf field: string state = 12;
74
+ * @generated from protobuf field: string state = 12
80
75
  */
81
- state: string; // @gotags: alias:"state"
76
+ state: string;
82
77
  /**
83
- * @generated from protobuf field: resources.documents.TemplateSchema schema = 13;
78
+ * @generated from protobuf field: resources.documents.templates.TemplateSchema schema = 13
84
79
  */
85
- schema?: TemplateSchema; // @gotags: alias:"schema"
80
+ schema?: TemplateSchema;
86
81
  /**
87
- * @generated from protobuf field: string creator_job = 14;
82
+ * @generated from protobuf field: string creator_job = 14
88
83
  */
89
84
  creatorJob: string;
90
85
  /**
91
- * @generated from protobuf field: optional string creator_job_label = 15;
86
+ * @generated from protobuf field: optional string creator_job_label = 15
92
87
  */
93
88
  creatorJobLabel?: string;
94
89
  /**
95
- * @generated from protobuf field: repeated resources.documents.TemplateJobAccess job_access = 16;
90
+ * @generated from protobuf field: repeated resources.documents.templates.TemplateJobAccess job_access = 16
96
91
  */
97
92
  jobAccess: TemplateJobAccess[];
98
93
  /**
99
- * @generated from protobuf field: resources.documents.DocumentAccess content_access = 17;
94
+ * @generated from protobuf field: resources.documents.access.DocumentAccess content_access = 17
100
95
  */
101
- contentAccess?: DocumentAccess; // @gotags: alias:"access"
96
+ contentAccess?: DocumentAccess;
102
97
  /**
103
- * @generated from protobuf field: optional resources.documents.Workflow workflow = 18;
98
+ * @generated from protobuf field: optional resources.documents.workflow.Workflow workflow = 18
104
99
  */
105
100
  workflow?: Workflow;
101
+ /**
102
+ * @generated from protobuf field: optional resources.documents.templates.TemplateApproval approval = 19
103
+ */
104
+ approval?: TemplateApproval;
106
105
  }
107
106
  /**
108
- * @generated from protobuf message resources.documents.TemplateShort
107
+ * @generated from protobuf message resources.documents.templates.TemplateShort
109
108
  */
110
109
  export interface TemplateShort {
111
110
  /**
112
- * @generated from protobuf field: uint64 id = 1;
111
+ * @generated from protobuf field: int64 id = 1
113
112
  */
114
- id: number; // @gotags: alias:"id"
113
+ id: number;
115
114
  /**
116
- * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2;
115
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2
117
116
  */
118
117
  createdAt?: Timestamp;
119
118
  /**
120
- * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 3;
119
+ * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 3
121
120
  */
122
121
  updatedAt?: Timestamp;
123
122
  /**
124
- * @generated from protobuf field: resources.documents.Category category = 4;
123
+ * @generated from protobuf field: resources.documents.category.Category category = 4
125
124
  */
126
- category?: Category; // @gotags: alias:"category"
125
+ category?: Category;
127
126
  /**
128
- * @generated from protobuf field: uint32 weight = 5;
127
+ * @generated from protobuf field: uint32 weight = 5
129
128
  */
130
129
  weight: number;
131
130
  /**
132
- * @sanitize
133
- *
134
- * @generated from protobuf field: string title = 6;
131
+ * @generated from protobuf field: string title = 6
135
132
  */
136
133
  title: string;
137
134
  /**
138
- * @sanitize
139
- *
140
- * @generated from protobuf field: string description = 7;
135
+ * @generated from protobuf field: string description = 7
141
136
  */
142
137
  description: string;
143
138
  /**
144
- * @sanitize: method=StripTags
145
- *
146
- * @generated from protobuf field: optional string color = 8;
139
+ * @generated from protobuf field: optional string color = 8
147
140
  */
148
141
  color?: string;
149
142
  /**
150
- * @sanitize: method=StripTags
151
- *
152
- * @generated from protobuf field: optional string icon = 9;
143
+ * @generated from protobuf field: optional string icon = 9
153
144
  */
154
145
  icon?: string;
155
146
  /**
156
- * @generated from protobuf field: resources.documents.TemplateSchema schema = 10;
147
+ * @generated from protobuf field: resources.documents.templates.TemplateSchema schema = 10
157
148
  */
158
- schema?: TemplateSchema; // @gotags: alias:"schema"
149
+ schema?: TemplateSchema;
159
150
  /**
160
- * @generated from protobuf field: string creator_job = 11;
151
+ * @generated from protobuf field: string creator_job = 11
161
152
  */
162
153
  creatorJob: string;
163
154
  /**
164
- * @generated from protobuf field: optional string creator_job_label = 12;
155
+ * @generated from protobuf field: optional string creator_job_label = 12
165
156
  */
166
157
  creatorJobLabel?: string;
167
158
  /**
168
- * @generated from protobuf field: optional resources.documents.Workflow workflow = 18;
159
+ * @generated from protobuf field: optional resources.documents.workflow.Workflow workflow = 18
169
160
  */
170
161
  workflow?: Workflow;
171
162
  }
172
163
  /**
173
- * @dbscanner: json
174
- *
175
- * @generated from protobuf message resources.documents.TemplateSchema
164
+ * @generated from protobuf message resources.documents.templates.TemplateSchema
176
165
  */
177
166
  export interface TemplateSchema {
178
167
  /**
179
- * @generated from protobuf field: resources.documents.TemplateRequirements requirements = 1;
168
+ * @generated from protobuf field: resources.documents.templates.TemplateRequirements requirements = 1
180
169
  */
181
170
  requirements?: TemplateRequirements;
182
171
  }
183
172
  /**
184
- * @generated from protobuf message resources.documents.TemplateRequirements
173
+ * @generated from protobuf message resources.documents.templates.TemplateRequirements
185
174
  */
186
175
  export interface TemplateRequirements {
187
176
  /**
188
- * @generated from protobuf field: optional resources.documents.ObjectSpecs documents = 1;
177
+ * @generated from protobuf field: optional resources.documents.templates.ObjectSpecs documents = 1
189
178
  */
190
179
  documents?: ObjectSpecs;
191
180
  /**
192
- * @generated from protobuf field: optional resources.documents.ObjectSpecs users = 2;
181
+ * @generated from protobuf field: optional resources.documents.templates.ObjectSpecs users = 2
193
182
  */
194
183
  users?: ObjectSpecs;
195
184
  /**
196
- * @generated from protobuf field: optional resources.documents.ObjectSpecs vehicles = 3;
185
+ * @generated from protobuf field: optional resources.documents.templates.ObjectSpecs vehicles = 3
197
186
  */
198
187
  vehicles?: ObjectSpecs;
199
188
  }
200
189
  /**
201
- * @generated from protobuf message resources.documents.ObjectSpecs
190
+ * @generated from protobuf message resources.documents.templates.ObjectSpecs
202
191
  */
203
192
  export interface ObjectSpecs {
204
193
  /**
205
- * @generated from protobuf field: optional bool required = 1;
194
+ * @generated from protobuf field: optional bool required = 1
206
195
  */
207
196
  required?: boolean;
208
197
  /**
209
- * @generated from protobuf field: optional int32 min = 2;
198
+ * @generated from protobuf field: optional int32 min = 2
210
199
  */
211
200
  min?: number;
212
201
  /**
213
- * @generated from protobuf field: optional int32 max = 3;
202
+ * @generated from protobuf field: optional int32 max = 3
214
203
  */
215
204
  max?: number;
216
205
  }
217
206
  /**
218
- * @generated from protobuf message resources.documents.TemplateData
207
+ * @generated from protobuf message resources.documents.templates.TemplateData
219
208
  */
220
209
  export interface TemplateData {
221
210
  /**
222
- * @generated from protobuf field: resources.users.User activeChar = 1;
211
+ * @generated from protobuf field: resources.users.User active_char = 1
223
212
  */
224
213
  activeChar?: User;
225
214
  /**
226
- * @generated from protobuf field: repeated resources.documents.DocumentShort documents = 2;
215
+ * @generated from protobuf field: repeated resources.documents.DocumentShort documents = 2
227
216
  */
228
217
  documents: DocumentShort[];
229
218
  /**
230
- * @generated from protobuf field: repeated resources.users.UserShort users = 3;
219
+ * @generated from protobuf field: repeated resources.users.short.UserShort users = 3
231
220
  */
232
221
  users: UserShort[];
233
222
  /**
234
- * @generated from protobuf field: repeated resources.vehicles.Vehicle vehicles = 4;
223
+ * @generated from protobuf field: repeated resources.vehicles.Vehicle vehicles = 4
235
224
  */
236
225
  vehicles: Vehicle[];
237
226
  }
238
227
  /**
239
- * @generated from protobuf message resources.documents.TemplateJobAccess
228
+ * @generated from protobuf message resources.documents.templates.TemplateJobAccess
240
229
  */
241
230
  export interface TemplateJobAccess {
242
231
  /**
243
- * @generated from protobuf field: uint64 id = 1;
232
+ * @generated from protobuf field: int64 id = 1
244
233
  */
245
- id: number; // @gotags: alias:"id"
234
+ id: number;
246
235
  /**
247
- * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2;
236
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2
248
237
  */
249
238
  createdAt?: Timestamp;
250
239
  /**
251
- * @generated from protobuf field: uint64 target_id = 3;
240
+ * @generated from protobuf field: int64 target_id = 3
252
241
  */
253
- targetId: number; // @gotags: alias:"template_id"
242
+ targetId: number;
254
243
  /**
255
- * @generated from protobuf field: string job = 4;
244
+ * @generated from protobuf field: string job = 4
256
245
  */
257
246
  job: string;
258
247
  /**
259
- * @generated from protobuf field: optional string job_label = 5;
248
+ * @generated from protobuf field: optional string job_label = 5
260
249
  */
261
250
  jobLabel?: string;
262
251
  /**
263
- * @generated from protobuf field: int32 minimum_grade = 6;
252
+ * @generated from protobuf field: int32 minimum_grade = 6
264
253
  */
265
254
  minimumGrade: number;
266
255
  /**
267
- * @generated from protobuf field: optional string job_grade_label = 7;
256
+ * @generated from protobuf field: optional string job_grade_label = 7
268
257
  */
269
258
  jobGradeLabel?: string;
270
259
  /**
271
- * @generated from protobuf field: resources.documents.AccessLevel access = 8;
260
+ * @generated from protobuf field: resources.documents.access.AccessLevel access = 8
272
261
  */
273
262
  access: AccessLevel;
274
263
  }
275
264
  /**
276
265
  * Dummy - DO NOT USE!
277
266
  *
278
- * @generated from protobuf message resources.documents.TemplateUserAccess
267
+ * @generated from protobuf message resources.documents.templates.TemplateUserAccess
279
268
  */
280
269
  export interface TemplateUserAccess {
281
270
  }
271
+ /**
272
+ * @generated from protobuf message resources.documents.templates.TemplateApproval
273
+ */
274
+ export interface TemplateApproval {
275
+ /**
276
+ * @generated from protobuf field: bool enabled = 1
277
+ */
278
+ enabled: boolean;
279
+ /**
280
+ * @generated from protobuf field: optional resources.documents.templates.TemplateApprovalPolicy policy = 2
281
+ */
282
+ policy?: TemplateApprovalPolicy;
283
+ /**
284
+ * @generated from protobuf field: repeated resources.documents.templates.TemplateApprovalTaskSeed tasks = 3
285
+ */
286
+ tasks: TemplateApprovalTaskSeed[];
287
+ }
288
+ /**
289
+ * @generated from protobuf message resources.documents.templates.TemplateApprovalPolicy
290
+ */
291
+ export interface TemplateApprovalPolicy {
292
+ /**
293
+ * @generated from protobuf field: resources.documents.approval.ApprovalRuleKind rule_kind = 1
294
+ */
295
+ ruleKind: ApprovalRuleKind;
296
+ /**
297
+ * @generated from protobuf field: resources.documents.approval.OnEditBehavior on_edit_behavior = 2
298
+ */
299
+ onEditBehavior: OnEditBehavior;
300
+ /**
301
+ * @generated from protobuf field: optional int32 required_count = 3
302
+ */
303
+ requiredCount?: number;
304
+ /**
305
+ * @generated from protobuf field: bool signature_required = 4
306
+ */
307
+ signatureRequired: boolean;
308
+ /**
309
+ * @generated from protobuf field: bool self_approve_allowed = 5
310
+ */
311
+ selfApproveAllowed: boolean;
312
+ }
313
+ /**
314
+ * @generated from protobuf message resources.documents.templates.TemplateApprovalTaskSeed
315
+ */
316
+ export interface TemplateApprovalTaskSeed {
317
+ /**
318
+ * @generated from protobuf field: int32 user_id = 1
319
+ */
320
+ userId: number;
321
+ /**
322
+ * If user_id == 0 -> JOB task
323
+ *
324
+ * @generated from protobuf field: string job = 2
325
+ */
326
+ job: string;
327
+ /**
328
+ * @generated from protobuf field: int32 minimum_grade = 3
329
+ */
330
+ minimumGrade: number;
331
+ /**
332
+ * Label of task
333
+ *
334
+ * @generated from protobuf field: optional string label = 4
335
+ */
336
+ label?: string;
337
+ /**
338
+ * @generated from protobuf field: bool signature_required = 5
339
+ */
340
+ signatureRequired: boolean;
341
+ /**
342
+ * Only for JOB tasks; number of PENDING slots to ensure (>=1)
343
+ *
344
+ * @generated from protobuf field: int32 slots = 6
345
+ */
346
+ slots: number;
347
+ /**
348
+ * Optional default due date for created slots
349
+ *
350
+ * @generated from protobuf field: optional int32 due_in_days = 7
351
+ */
352
+ dueInDays?: number;
353
+ /**
354
+ * Optional note set on created tasks
355
+ *
356
+ * @generated from protobuf field: optional string comment = 8
357
+ */
358
+ comment?: string;
359
+ }
282
360
  // @generated message type with reflection information, may provide speed optimized methods
283
361
  class Template$Type extends MessageType<Template> {
284
362
  constructor() {
285
- super("resources.documents.Template", [
286
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
363
+ super("resources.documents.templates.Template", [
364
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "alias:\"id\"" } },
287
365
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
288
366
  { no: 3, name: "updated_at", kind: "message", T: () => Timestamp },
289
- { no: 4, name: "category", kind: "message", T: () => Category },
290
- { no: 5, name: "weight", kind: "scalar", T: 13 /*ScalarType.UINT32*/, options: { "validate.rules": { uint32: { lt: 4294967295 } } } },
291
- { no: 6, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3" } } } },
292
- { no: 7, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
293
- { no: 8, name: "color", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxLen: "7" } } } },
294
- { no: 9, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "128" } } } },
295
- { no: 10, name: "content_title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxBytes: "10240" } } } },
296
- { no: 11, name: "content", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "0", maxBytes: "2000000" } } } },
297
- { no: 12, name: "state", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "512" } } } },
298
- { no: 13, name: "schema", kind: "message", T: () => TemplateSchema },
299
- { no: 14, name: "creator_job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
300
- { no: 15, name: "creator_job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
301
- { no: 16, name: "job_access", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TemplateJobAccess, options: { "validate.rules": { repeated: { maxItems: "20" } } } },
302
- { no: 17, name: "content_access", kind: "message", T: () => DocumentAccess },
303
- { no: 18, name: "workflow", kind: "message", T: () => Workflow }
367
+ { no: 4, name: "category", kind: "message", T: () => Category, options: { "tagger.tags": "alias:\"category\"" } },
368
+ { no: 5, name: "weight", kind: "scalar", T: 13 /*ScalarType.UINT32*/, options: { "buf.validate.field": { uint32: { lt: 4294967295 } } } },
369
+ { no: 6, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
370
+ { no: 7, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
371
+ { no: 8, name: "color", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "7" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
372
+ { no: 9, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128", suffix: "Icon" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
373
+ { no: 10, name: "content_title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxBytes: "10240" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "SanitizeAndUnescape" }, "tagger.tags": "alias:\"content_title\"" } },
374
+ { no: 11, name: "content", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "0", maxBytes: "2000000" } }, "codegen.sanitizer.sanitizer": { enabled: true, method: "SanitizeAndUnescape" }, "tagger.tags": "alias:\"content\"" } },
375
+ { no: 12, name: "state", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "512" } }, "tagger.tags": "alias:\"state\"" } },
376
+ { no: 13, name: "schema", kind: "message", T: () => TemplateSchema, options: { "tagger.tags": "alias:\"schema\"" } },
377
+ { no: 14, name: "creator_job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
378
+ { no: 15, name: "creator_job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
379
+ { no: 16, name: "job_access", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TemplateJobAccess, options: { "buf.validate.field": { repeated: { maxItems: "20" } } } },
380
+ { no: 17, name: "content_access", kind: "message", T: () => DocumentAccess, options: { "tagger.tags": "alias:\"access\"" } },
381
+ { no: 18, name: "workflow", kind: "message", T: () => Workflow },
382
+ { no: 19, name: "approval", kind: "message", T: () => TemplateApproval }
304
383
  ]);
305
384
  }
306
385
  create(value?: PartialMessage<Template>): Template {
@@ -323,8 +402,8 @@ class Template$Type extends MessageType<Template> {
323
402
  while (reader.pos < end) {
324
403
  let [fieldNo, wireType] = reader.tag();
325
404
  switch (fieldNo) {
326
- case /* uint64 id */ 1:
327
- message.id = reader.uint64().toNumber();
405
+ case /* int64 id */ 1:
406
+ message.id = reader.int64().toNumber();
328
407
  break;
329
408
  case /* optional resources.timestamp.Timestamp created_at */ 2:
330
409
  message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
@@ -332,7 +411,7 @@ class Template$Type extends MessageType<Template> {
332
411
  case /* optional resources.timestamp.Timestamp updated_at */ 3:
333
412
  message.updatedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.updatedAt);
334
413
  break;
335
- case /* resources.documents.Category category */ 4:
414
+ case /* resources.documents.category.Category category */ 4:
336
415
  message.category = Category.internalBinaryRead(reader, reader.uint32(), options, message.category);
337
416
  break;
338
417
  case /* uint32 weight */ 5:
@@ -359,7 +438,7 @@ class Template$Type extends MessageType<Template> {
359
438
  case /* string state */ 12:
360
439
  message.state = reader.string();
361
440
  break;
362
- case /* resources.documents.TemplateSchema schema */ 13:
441
+ case /* resources.documents.templates.TemplateSchema schema */ 13:
363
442
  message.schema = TemplateSchema.internalBinaryRead(reader, reader.uint32(), options, message.schema);
364
443
  break;
365
444
  case /* string creator_job */ 14:
@@ -368,15 +447,18 @@ class Template$Type extends MessageType<Template> {
368
447
  case /* optional string creator_job_label */ 15:
369
448
  message.creatorJobLabel = reader.string();
370
449
  break;
371
- case /* repeated resources.documents.TemplateJobAccess job_access */ 16:
450
+ case /* repeated resources.documents.templates.TemplateJobAccess job_access */ 16:
372
451
  message.jobAccess.push(TemplateJobAccess.internalBinaryRead(reader, reader.uint32(), options));
373
452
  break;
374
- case /* resources.documents.DocumentAccess content_access */ 17:
453
+ case /* resources.documents.access.DocumentAccess content_access */ 17:
375
454
  message.contentAccess = DocumentAccess.internalBinaryRead(reader, reader.uint32(), options, message.contentAccess);
376
455
  break;
377
- case /* optional resources.documents.Workflow workflow */ 18:
456
+ case /* optional resources.documents.workflow.Workflow workflow */ 18:
378
457
  message.workflow = Workflow.internalBinaryRead(reader, reader.uint32(), options, message.workflow);
379
458
  break;
459
+ case /* optional resources.documents.templates.TemplateApproval approval */ 19:
460
+ message.approval = TemplateApproval.internalBinaryRead(reader, reader.uint32(), options, message.approval);
461
+ break;
380
462
  default:
381
463
  let u = options.readUnknownField;
382
464
  if (u === "throw")
@@ -389,16 +471,16 @@ class Template$Type extends MessageType<Template> {
389
471
  return message;
390
472
  }
391
473
  internalBinaryWrite(message: Template, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
392
- /* uint64 id = 1; */
474
+ /* int64 id = 1; */
393
475
  if (message.id !== 0)
394
- writer.tag(1, WireType.Varint).uint64(message.id);
476
+ writer.tag(1, WireType.Varint).int64(message.id);
395
477
  /* optional resources.timestamp.Timestamp created_at = 2; */
396
478
  if (message.createdAt)
397
479
  Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
398
480
  /* optional resources.timestamp.Timestamp updated_at = 3; */
399
481
  if (message.updatedAt)
400
482
  Timestamp.internalBinaryWrite(message.updatedAt, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
401
- /* resources.documents.Category category = 4; */
483
+ /* resources.documents.category.Category category = 4; */
402
484
  if (message.category)
403
485
  Category.internalBinaryWrite(message.category, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
404
486
  /* uint32 weight = 5; */
@@ -425,7 +507,7 @@ class Template$Type extends MessageType<Template> {
425
507
  /* string state = 12; */
426
508
  if (message.state !== "")
427
509
  writer.tag(12, WireType.LengthDelimited).string(message.state);
428
- /* resources.documents.TemplateSchema schema = 13; */
510
+ /* resources.documents.templates.TemplateSchema schema = 13; */
429
511
  if (message.schema)
430
512
  TemplateSchema.internalBinaryWrite(message.schema, writer.tag(13, WireType.LengthDelimited).fork(), options).join();
431
513
  /* string creator_job = 14; */
@@ -434,15 +516,18 @@ class Template$Type extends MessageType<Template> {
434
516
  /* optional string creator_job_label = 15; */
435
517
  if (message.creatorJobLabel !== undefined)
436
518
  writer.tag(15, WireType.LengthDelimited).string(message.creatorJobLabel);
437
- /* repeated resources.documents.TemplateJobAccess job_access = 16; */
519
+ /* repeated resources.documents.templates.TemplateJobAccess job_access = 16; */
438
520
  for (let i = 0; i < message.jobAccess.length; i++)
439
521
  TemplateJobAccess.internalBinaryWrite(message.jobAccess[i], writer.tag(16, WireType.LengthDelimited).fork(), options).join();
440
- /* resources.documents.DocumentAccess content_access = 17; */
522
+ /* resources.documents.access.DocumentAccess content_access = 17; */
441
523
  if (message.contentAccess)
442
524
  DocumentAccess.internalBinaryWrite(message.contentAccess, writer.tag(17, WireType.LengthDelimited).fork(), options).join();
443
- /* optional resources.documents.Workflow workflow = 18; */
525
+ /* optional resources.documents.workflow.Workflow workflow = 18; */
444
526
  if (message.workflow)
445
527
  Workflow.internalBinaryWrite(message.workflow, writer.tag(18, WireType.LengthDelimited).fork(), options).join();
528
+ /* optional resources.documents.templates.TemplateApproval approval = 19; */
529
+ if (message.approval)
530
+ TemplateApproval.internalBinaryWrite(message.approval, writer.tag(19, WireType.LengthDelimited).fork(), options).join();
446
531
  let u = options.writeUnknownFields;
447
532
  if (u !== false)
448
533
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -450,25 +535,25 @@ class Template$Type extends MessageType<Template> {
450
535
  }
451
536
  }
452
537
  /**
453
- * @generated MessageType for protobuf message resources.documents.Template
538
+ * @generated MessageType for protobuf message resources.documents.templates.Template
454
539
  */
455
540
  export const Template = new Template$Type();
456
541
  // @generated message type with reflection information, may provide speed optimized methods
457
542
  class TemplateShort$Type extends MessageType<TemplateShort> {
458
543
  constructor() {
459
- super("resources.documents.TemplateShort", [
460
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
544
+ super("resources.documents.templates.TemplateShort", [
545
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "alias:\"id\"" } },
461
546
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
462
547
  { no: 3, name: "updated_at", kind: "message", T: () => Timestamp },
463
- { no: 4, name: "category", kind: "message", T: () => Category },
464
- { no: 5, name: "weight", kind: "scalar", T: 13 /*ScalarType.UINT32*/, options: { "validate.rules": { uint32: { lt: 4294967295 } } } },
465
- { no: 6, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3" } } } },
466
- { no: 7, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
467
- { no: 8, name: "color", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "3", maxLen: "7" } } } },
468
- { no: 9, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "128" } } } },
469
- { no: 10, name: "schema", kind: "message", T: () => TemplateSchema },
470
- { no: 11, name: "creator_job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
471
- { no: 12, name: "creator_job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
548
+ { no: 4, name: "category", kind: "message", T: () => Category, options: { "tagger.tags": "alias:\"category\"" } },
549
+ { no: 5, name: "weight", kind: "scalar", T: 13 /*ScalarType.UINT32*/, options: { "buf.validate.field": { uint32: { lt: 4294967295 } } } },
550
+ { no: 6, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
551
+ { no: 7, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
552
+ { no: 8, name: "color", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "7" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
553
+ { no: 9, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128", suffix: "Icon" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
554
+ { no: 10, name: "schema", kind: "message", T: () => TemplateSchema, options: { "tagger.tags": "alias:\"schema\"" } },
555
+ { no: 11, name: "creator_job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
556
+ { no: 12, name: "creator_job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
472
557
  { no: 18, name: "workflow", kind: "message", T: () => Workflow }
473
558
  ]);
474
559
  }
@@ -488,8 +573,8 @@ class TemplateShort$Type extends MessageType<TemplateShort> {
488
573
  while (reader.pos < end) {
489
574
  let [fieldNo, wireType] = reader.tag();
490
575
  switch (fieldNo) {
491
- case /* uint64 id */ 1:
492
- message.id = reader.uint64().toNumber();
576
+ case /* int64 id */ 1:
577
+ message.id = reader.int64().toNumber();
493
578
  break;
494
579
  case /* optional resources.timestamp.Timestamp created_at */ 2:
495
580
  message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
@@ -497,7 +582,7 @@ class TemplateShort$Type extends MessageType<TemplateShort> {
497
582
  case /* optional resources.timestamp.Timestamp updated_at */ 3:
498
583
  message.updatedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.updatedAt);
499
584
  break;
500
- case /* resources.documents.Category category */ 4:
585
+ case /* resources.documents.category.Category category */ 4:
501
586
  message.category = Category.internalBinaryRead(reader, reader.uint32(), options, message.category);
502
587
  break;
503
588
  case /* uint32 weight */ 5:
@@ -515,7 +600,7 @@ class TemplateShort$Type extends MessageType<TemplateShort> {
515
600
  case /* optional string icon */ 9:
516
601
  message.icon = reader.string();
517
602
  break;
518
- case /* resources.documents.TemplateSchema schema */ 10:
603
+ case /* resources.documents.templates.TemplateSchema schema */ 10:
519
604
  message.schema = TemplateSchema.internalBinaryRead(reader, reader.uint32(), options, message.schema);
520
605
  break;
521
606
  case /* string creator_job */ 11:
@@ -524,7 +609,7 @@ class TemplateShort$Type extends MessageType<TemplateShort> {
524
609
  case /* optional string creator_job_label */ 12:
525
610
  message.creatorJobLabel = reader.string();
526
611
  break;
527
- case /* optional resources.documents.Workflow workflow */ 18:
612
+ case /* optional resources.documents.workflow.Workflow workflow */ 18:
528
613
  message.workflow = Workflow.internalBinaryRead(reader, reader.uint32(), options, message.workflow);
529
614
  break;
530
615
  default:
@@ -539,16 +624,16 @@ class TemplateShort$Type extends MessageType<TemplateShort> {
539
624
  return message;
540
625
  }
541
626
  internalBinaryWrite(message: TemplateShort, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
542
- /* uint64 id = 1; */
627
+ /* int64 id = 1; */
543
628
  if (message.id !== 0)
544
- writer.tag(1, WireType.Varint).uint64(message.id);
629
+ writer.tag(1, WireType.Varint).int64(message.id);
545
630
  /* optional resources.timestamp.Timestamp created_at = 2; */
546
631
  if (message.createdAt)
547
632
  Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
548
633
  /* optional resources.timestamp.Timestamp updated_at = 3; */
549
634
  if (message.updatedAt)
550
635
  Timestamp.internalBinaryWrite(message.updatedAt, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
551
- /* resources.documents.Category category = 4; */
636
+ /* resources.documents.category.Category category = 4; */
552
637
  if (message.category)
553
638
  Category.internalBinaryWrite(message.category, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
554
639
  /* uint32 weight = 5; */
@@ -566,7 +651,7 @@ class TemplateShort$Type extends MessageType<TemplateShort> {
566
651
  /* optional string icon = 9; */
567
652
  if (message.icon !== undefined)
568
653
  writer.tag(9, WireType.LengthDelimited).string(message.icon);
569
- /* resources.documents.TemplateSchema schema = 10; */
654
+ /* resources.documents.templates.TemplateSchema schema = 10; */
570
655
  if (message.schema)
571
656
  TemplateSchema.internalBinaryWrite(message.schema, writer.tag(10, WireType.LengthDelimited).fork(), options).join();
572
657
  /* string creator_job = 11; */
@@ -575,7 +660,7 @@ class TemplateShort$Type extends MessageType<TemplateShort> {
575
660
  /* optional string creator_job_label = 12; */
576
661
  if (message.creatorJobLabel !== undefined)
577
662
  writer.tag(12, WireType.LengthDelimited).string(message.creatorJobLabel);
578
- /* optional resources.documents.Workflow workflow = 18; */
663
+ /* optional resources.documents.workflow.Workflow workflow = 18; */
579
664
  if (message.workflow)
580
665
  Workflow.internalBinaryWrite(message.workflow, writer.tag(18, WireType.LengthDelimited).fork(), options).join();
581
666
  let u = options.writeUnknownFields;
@@ -585,15 +670,15 @@ class TemplateShort$Type extends MessageType<TemplateShort> {
585
670
  }
586
671
  }
587
672
  /**
588
- * @generated MessageType for protobuf message resources.documents.TemplateShort
673
+ * @generated MessageType for protobuf message resources.documents.templates.TemplateShort
589
674
  */
590
675
  export const TemplateShort = new TemplateShort$Type();
591
676
  // @generated message type with reflection information, may provide speed optimized methods
592
677
  class TemplateSchema$Type extends MessageType<TemplateSchema> {
593
678
  constructor() {
594
- super("resources.documents.TemplateSchema", [
679
+ super("resources.documents.templates.TemplateSchema", [
595
680
  { no: 1, name: "requirements", kind: "message", T: () => TemplateRequirements }
596
- ]);
681
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
597
682
  }
598
683
  create(value?: PartialMessage<TemplateSchema>): TemplateSchema {
599
684
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -606,7 +691,7 @@ class TemplateSchema$Type extends MessageType<TemplateSchema> {
606
691
  while (reader.pos < end) {
607
692
  let [fieldNo, wireType] = reader.tag();
608
693
  switch (fieldNo) {
609
- case /* resources.documents.TemplateRequirements requirements */ 1:
694
+ case /* resources.documents.templates.TemplateRequirements requirements */ 1:
610
695
  message.requirements = TemplateRequirements.internalBinaryRead(reader, reader.uint32(), options, message.requirements);
611
696
  break;
612
697
  default:
@@ -621,7 +706,7 @@ class TemplateSchema$Type extends MessageType<TemplateSchema> {
621
706
  return message;
622
707
  }
623
708
  internalBinaryWrite(message: TemplateSchema, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
624
- /* resources.documents.TemplateRequirements requirements = 1; */
709
+ /* resources.documents.templates.TemplateRequirements requirements = 1; */
625
710
  if (message.requirements)
626
711
  TemplateRequirements.internalBinaryWrite(message.requirements, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
627
712
  let u = options.writeUnknownFields;
@@ -631,13 +716,13 @@ class TemplateSchema$Type extends MessageType<TemplateSchema> {
631
716
  }
632
717
  }
633
718
  /**
634
- * @generated MessageType for protobuf message resources.documents.TemplateSchema
719
+ * @generated MessageType for protobuf message resources.documents.templates.TemplateSchema
635
720
  */
636
721
  export const TemplateSchema = new TemplateSchema$Type();
637
722
  // @generated message type with reflection information, may provide speed optimized methods
638
723
  class TemplateRequirements$Type extends MessageType<TemplateRequirements> {
639
724
  constructor() {
640
- super("resources.documents.TemplateRequirements", [
725
+ super("resources.documents.templates.TemplateRequirements", [
641
726
  { no: 1, name: "documents", kind: "message", T: () => ObjectSpecs },
642
727
  { no: 2, name: "users", kind: "message", T: () => ObjectSpecs },
643
728
  { no: 3, name: "vehicles", kind: "message", T: () => ObjectSpecs }
@@ -654,13 +739,13 @@ class TemplateRequirements$Type extends MessageType<TemplateRequirements> {
654
739
  while (reader.pos < end) {
655
740
  let [fieldNo, wireType] = reader.tag();
656
741
  switch (fieldNo) {
657
- case /* optional resources.documents.ObjectSpecs documents */ 1:
742
+ case /* optional resources.documents.templates.ObjectSpecs documents */ 1:
658
743
  message.documents = ObjectSpecs.internalBinaryRead(reader, reader.uint32(), options, message.documents);
659
744
  break;
660
- case /* optional resources.documents.ObjectSpecs users */ 2:
745
+ case /* optional resources.documents.templates.ObjectSpecs users */ 2:
661
746
  message.users = ObjectSpecs.internalBinaryRead(reader, reader.uint32(), options, message.users);
662
747
  break;
663
- case /* optional resources.documents.ObjectSpecs vehicles */ 3:
748
+ case /* optional resources.documents.templates.ObjectSpecs vehicles */ 3:
664
749
  message.vehicles = ObjectSpecs.internalBinaryRead(reader, reader.uint32(), options, message.vehicles);
665
750
  break;
666
751
  default:
@@ -675,13 +760,13 @@ class TemplateRequirements$Type extends MessageType<TemplateRequirements> {
675
760
  return message;
676
761
  }
677
762
  internalBinaryWrite(message: TemplateRequirements, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
678
- /* optional resources.documents.ObjectSpecs documents = 1; */
763
+ /* optional resources.documents.templates.ObjectSpecs documents = 1; */
679
764
  if (message.documents)
680
765
  ObjectSpecs.internalBinaryWrite(message.documents, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
681
- /* optional resources.documents.ObjectSpecs users = 2; */
766
+ /* optional resources.documents.templates.ObjectSpecs users = 2; */
682
767
  if (message.users)
683
768
  ObjectSpecs.internalBinaryWrite(message.users, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
684
- /* optional resources.documents.ObjectSpecs vehicles = 3; */
769
+ /* optional resources.documents.templates.ObjectSpecs vehicles = 3; */
685
770
  if (message.vehicles)
686
771
  ObjectSpecs.internalBinaryWrite(message.vehicles, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
687
772
  let u = options.writeUnknownFields;
@@ -691,13 +776,13 @@ class TemplateRequirements$Type extends MessageType<TemplateRequirements> {
691
776
  }
692
777
  }
693
778
  /**
694
- * @generated MessageType for protobuf message resources.documents.TemplateRequirements
779
+ * @generated MessageType for protobuf message resources.documents.templates.TemplateRequirements
695
780
  */
696
781
  export const TemplateRequirements = new TemplateRequirements$Type();
697
782
  // @generated message type with reflection information, may provide speed optimized methods
698
783
  class ObjectSpecs$Type extends MessageType<ObjectSpecs> {
699
784
  constructor() {
700
- super("resources.documents.ObjectSpecs", [
785
+ super("resources.documents.templates.ObjectSpecs", [
701
786
  { no: 1, name: "required", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
702
787
  { no: 2, name: "min", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
703
788
  { no: 3, name: "max", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ }
@@ -751,17 +836,17 @@ class ObjectSpecs$Type extends MessageType<ObjectSpecs> {
751
836
  }
752
837
  }
753
838
  /**
754
- * @generated MessageType for protobuf message resources.documents.ObjectSpecs
839
+ * @generated MessageType for protobuf message resources.documents.templates.ObjectSpecs
755
840
  */
756
841
  export const ObjectSpecs = new ObjectSpecs$Type();
757
842
  // @generated message type with reflection information, may provide speed optimized methods
758
843
  class TemplateData$Type extends MessageType<TemplateData> {
759
844
  constructor() {
760
- super("resources.documents.TemplateData", [
761
- { no: 1, name: "activeChar", kind: "message", T: () => User, options: { "validate.rules": { message: { required: true } } } },
762
- { no: 2, name: "documents", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => DocumentShort, options: { "validate.rules": { repeated: { maxItems: "12" } } } },
763
- { no: 3, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UserShort, options: { "validate.rules": { repeated: { maxItems: "12" } } } },
764
- { no: 4, name: "vehicles", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Vehicle, options: { "validate.rules": { repeated: { maxItems: "12" } } } }
845
+ super("resources.documents.templates.TemplateData", [
846
+ { no: 1, name: "active_char", kind: "message", T: () => User, options: { "buf.validate.field": { required: true } } },
847
+ { no: 2, name: "documents", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => DocumentShort, options: { "buf.validate.field": { repeated: { maxItems: "12" } } } },
848
+ { no: 3, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UserShort, options: { "buf.validate.field": { repeated: { maxItems: "12" } } } },
849
+ { no: 4, name: "vehicles", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Vehicle, options: { "buf.validate.field": { repeated: { maxItems: "12" } } } }
765
850
  ]);
766
851
  }
767
852
  create(value?: PartialMessage<TemplateData>): TemplateData {
@@ -778,13 +863,13 @@ class TemplateData$Type extends MessageType<TemplateData> {
778
863
  while (reader.pos < end) {
779
864
  let [fieldNo, wireType] = reader.tag();
780
865
  switch (fieldNo) {
781
- case /* resources.users.User activeChar */ 1:
866
+ case /* resources.users.User active_char */ 1:
782
867
  message.activeChar = User.internalBinaryRead(reader, reader.uint32(), options, message.activeChar);
783
868
  break;
784
869
  case /* repeated resources.documents.DocumentShort documents */ 2:
785
870
  message.documents.push(DocumentShort.internalBinaryRead(reader, reader.uint32(), options));
786
871
  break;
787
- case /* repeated resources.users.UserShort users */ 3:
872
+ case /* repeated resources.users.short.UserShort users */ 3:
788
873
  message.users.push(UserShort.internalBinaryRead(reader, reader.uint32(), options));
789
874
  break;
790
875
  case /* repeated resources.vehicles.Vehicle vehicles */ 4:
@@ -802,13 +887,13 @@ class TemplateData$Type extends MessageType<TemplateData> {
802
887
  return message;
803
888
  }
804
889
  internalBinaryWrite(message: TemplateData, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
805
- /* resources.users.User activeChar = 1; */
890
+ /* resources.users.User active_char = 1; */
806
891
  if (message.activeChar)
807
892
  User.internalBinaryWrite(message.activeChar, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
808
893
  /* repeated resources.documents.DocumentShort documents = 2; */
809
894
  for (let i = 0; i < message.documents.length; i++)
810
895
  DocumentShort.internalBinaryWrite(message.documents[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
811
- /* repeated resources.users.UserShort users = 3; */
896
+ /* repeated resources.users.short.UserShort users = 3; */
812
897
  for (let i = 0; i < message.users.length; i++)
813
898
  UserShort.internalBinaryWrite(message.users[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
814
899
  /* repeated resources.vehicles.Vehicle vehicles = 4; */
@@ -821,21 +906,21 @@ class TemplateData$Type extends MessageType<TemplateData> {
821
906
  }
822
907
  }
823
908
  /**
824
- * @generated MessageType for protobuf message resources.documents.TemplateData
909
+ * @generated MessageType for protobuf message resources.documents.templates.TemplateData
825
910
  */
826
911
  export const TemplateData = new TemplateData$Type();
827
912
  // @generated message type with reflection information, may provide speed optimized methods
828
913
  class TemplateJobAccess$Type extends MessageType<TemplateJobAccess> {
829
914
  constructor() {
830
- super("resources.documents.TemplateJobAccess", [
831
- { no: 1, name: "id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
915
+ super("resources.documents.templates.TemplateJobAccess", [
916
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "alias:\"id\"" } },
832
917
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
833
- { no: 3, name: "target_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
834
- { no: 4, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } },
835
- { no: 5, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
836
- { no: 6, name: "minimum_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } },
837
- { no: 7, name: "job_grade_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "50" } } } },
838
- { no: 8, name: "access", kind: "enum", T: () => ["resources.documents.AccessLevel", AccessLevel, "ACCESS_LEVEL_"], options: { "validate.rules": { enum: { definedOnly: true } } } }
918
+ { no: 3, name: "target_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "alias:\"template_id\"" } },
919
+ { no: 4, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
920
+ { no: 5, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
921
+ { no: 6, name: "minimum_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
922
+ { no: 7, name: "job_grade_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
923
+ { no: 8, name: "access", kind: "enum", T: () => ["resources.documents.access.AccessLevel", AccessLevel, "ACCESS_LEVEL_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } }
839
924
  ]);
840
925
  }
841
926
  create(value?: PartialMessage<TemplateJobAccess>): TemplateJobAccess {
@@ -854,14 +939,14 @@ class TemplateJobAccess$Type extends MessageType<TemplateJobAccess> {
854
939
  while (reader.pos < end) {
855
940
  let [fieldNo, wireType] = reader.tag();
856
941
  switch (fieldNo) {
857
- case /* uint64 id */ 1:
858
- message.id = reader.uint64().toNumber();
942
+ case /* int64 id */ 1:
943
+ message.id = reader.int64().toNumber();
859
944
  break;
860
945
  case /* optional resources.timestamp.Timestamp created_at */ 2:
861
946
  message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
862
947
  break;
863
- case /* uint64 target_id */ 3:
864
- message.targetId = reader.uint64().toNumber();
948
+ case /* int64 target_id */ 3:
949
+ message.targetId = reader.int64().toNumber();
865
950
  break;
866
951
  case /* string job */ 4:
867
952
  message.job = reader.string();
@@ -875,7 +960,7 @@ class TemplateJobAccess$Type extends MessageType<TemplateJobAccess> {
875
960
  case /* optional string job_grade_label */ 7:
876
961
  message.jobGradeLabel = reader.string();
877
962
  break;
878
- case /* resources.documents.AccessLevel access */ 8:
963
+ case /* resources.documents.access.AccessLevel access */ 8:
879
964
  message.access = reader.int32();
880
965
  break;
881
966
  default:
@@ -890,15 +975,15 @@ class TemplateJobAccess$Type extends MessageType<TemplateJobAccess> {
890
975
  return message;
891
976
  }
892
977
  internalBinaryWrite(message: TemplateJobAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
893
- /* uint64 id = 1; */
978
+ /* int64 id = 1; */
894
979
  if (message.id !== 0)
895
- writer.tag(1, WireType.Varint).uint64(message.id);
980
+ writer.tag(1, WireType.Varint).int64(message.id);
896
981
  /* optional resources.timestamp.Timestamp created_at = 2; */
897
982
  if (message.createdAt)
898
983
  Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
899
- /* uint64 target_id = 3; */
984
+ /* int64 target_id = 3; */
900
985
  if (message.targetId !== 0)
901
- writer.tag(3, WireType.Varint).uint64(message.targetId);
986
+ writer.tag(3, WireType.Varint).int64(message.targetId);
902
987
  /* string job = 4; */
903
988
  if (message.job !== "")
904
989
  writer.tag(4, WireType.LengthDelimited).string(message.job);
@@ -911,7 +996,7 @@ class TemplateJobAccess$Type extends MessageType<TemplateJobAccess> {
911
996
  /* optional string job_grade_label = 7; */
912
997
  if (message.jobGradeLabel !== undefined)
913
998
  writer.tag(7, WireType.LengthDelimited).string(message.jobGradeLabel);
914
- /* resources.documents.AccessLevel access = 8; */
999
+ /* resources.documents.access.AccessLevel access = 8; */
915
1000
  if (message.access !== 0)
916
1001
  writer.tag(8, WireType.Varint).int32(message.access);
917
1002
  let u = options.writeUnknownFields;
@@ -921,13 +1006,13 @@ class TemplateJobAccess$Type extends MessageType<TemplateJobAccess> {
921
1006
  }
922
1007
  }
923
1008
  /**
924
- * @generated MessageType for protobuf message resources.documents.TemplateJobAccess
1009
+ * @generated MessageType for protobuf message resources.documents.templates.TemplateJobAccess
925
1010
  */
926
1011
  export const TemplateJobAccess = new TemplateJobAccess$Type();
927
1012
  // @generated message type with reflection information, may provide speed optimized methods
928
1013
  class TemplateUserAccess$Type extends MessageType<TemplateUserAccess> {
929
1014
  constructor() {
930
- super("resources.documents.TemplateUserAccess", []);
1015
+ super("resources.documents.templates.TemplateUserAccess", []);
931
1016
  }
932
1017
  create(value?: PartialMessage<TemplateUserAccess>): TemplateUserAccess {
933
1018
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -959,6 +1044,246 @@ class TemplateUserAccess$Type extends MessageType<TemplateUserAccess> {
959
1044
  }
960
1045
  }
961
1046
  /**
962
- * @generated MessageType for protobuf message resources.documents.TemplateUserAccess
1047
+ * @generated MessageType for protobuf message resources.documents.templates.TemplateUserAccess
963
1048
  */
964
1049
  export const TemplateUserAccess = new TemplateUserAccess$Type();
1050
+ // @generated message type with reflection information, may provide speed optimized methods
1051
+ class TemplateApproval$Type extends MessageType<TemplateApproval> {
1052
+ constructor() {
1053
+ super("resources.documents.templates.TemplateApproval", [
1054
+ { no: 1, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1055
+ { no: 2, name: "policy", kind: "message", T: () => TemplateApprovalPolicy },
1056
+ { no: 3, name: "tasks", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TemplateApprovalTaskSeed, options: { "buf.validate.field": { repeated: { maxItems: "5" } } } }
1057
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
1058
+ }
1059
+ create(value?: PartialMessage<TemplateApproval>): TemplateApproval {
1060
+ const message = globalThis.Object.create((this.messagePrototype!));
1061
+ message.enabled = false;
1062
+ message.tasks = [];
1063
+ if (value !== undefined)
1064
+ reflectionMergePartial<TemplateApproval>(this, message, value);
1065
+ return message;
1066
+ }
1067
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TemplateApproval): TemplateApproval {
1068
+ let message = target ?? this.create(), end = reader.pos + length;
1069
+ while (reader.pos < end) {
1070
+ let [fieldNo, wireType] = reader.tag();
1071
+ switch (fieldNo) {
1072
+ case /* bool enabled */ 1:
1073
+ message.enabled = reader.bool();
1074
+ break;
1075
+ case /* optional resources.documents.templates.TemplateApprovalPolicy policy */ 2:
1076
+ message.policy = TemplateApprovalPolicy.internalBinaryRead(reader, reader.uint32(), options, message.policy);
1077
+ break;
1078
+ case /* repeated resources.documents.templates.TemplateApprovalTaskSeed tasks */ 3:
1079
+ message.tasks.push(TemplateApprovalTaskSeed.internalBinaryRead(reader, reader.uint32(), options));
1080
+ break;
1081
+ default:
1082
+ let u = options.readUnknownField;
1083
+ if (u === "throw")
1084
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1085
+ let d = reader.skip(wireType);
1086
+ if (u !== false)
1087
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1088
+ }
1089
+ }
1090
+ return message;
1091
+ }
1092
+ internalBinaryWrite(message: TemplateApproval, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1093
+ /* bool enabled = 1; */
1094
+ if (message.enabled !== false)
1095
+ writer.tag(1, WireType.Varint).bool(message.enabled);
1096
+ /* optional resources.documents.templates.TemplateApprovalPolicy policy = 2; */
1097
+ if (message.policy)
1098
+ TemplateApprovalPolicy.internalBinaryWrite(message.policy, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
1099
+ /* repeated resources.documents.templates.TemplateApprovalTaskSeed tasks = 3; */
1100
+ for (let i = 0; i < message.tasks.length; i++)
1101
+ TemplateApprovalTaskSeed.internalBinaryWrite(message.tasks[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
1102
+ let u = options.writeUnknownFields;
1103
+ if (u !== false)
1104
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1105
+ return writer;
1106
+ }
1107
+ }
1108
+ /**
1109
+ * @generated MessageType for protobuf message resources.documents.templates.TemplateApproval
1110
+ */
1111
+ export const TemplateApproval = new TemplateApproval$Type();
1112
+ // @generated message type with reflection information, may provide speed optimized methods
1113
+ class TemplateApprovalPolicy$Type extends MessageType<TemplateApprovalPolicy> {
1114
+ constructor() {
1115
+ super("resources.documents.templates.TemplateApprovalPolicy", [
1116
+ { no: 1, name: "rule_kind", kind: "enum", T: () => ["resources.documents.approval.ApprovalRuleKind", ApprovalRuleKind, "APPROVAL_RULE_KIND_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
1117
+ { no: 2, name: "on_edit_behavior", kind: "enum", T: () => ["resources.documents.approval.OnEditBehavior", OnEditBehavior, "ON_EDIT_BEHAVIOR_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
1118
+ { no: 3, name: "required_count", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 1 } } } },
1119
+ { no: 4, name: "signature_required", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1120
+ { no: 5, name: "self_approve_allowed", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
1121
+ ]);
1122
+ }
1123
+ create(value?: PartialMessage<TemplateApprovalPolicy>): TemplateApprovalPolicy {
1124
+ const message = globalThis.Object.create((this.messagePrototype!));
1125
+ message.ruleKind = 0;
1126
+ message.onEditBehavior = 0;
1127
+ message.signatureRequired = false;
1128
+ message.selfApproveAllowed = false;
1129
+ if (value !== undefined)
1130
+ reflectionMergePartial<TemplateApprovalPolicy>(this, message, value);
1131
+ return message;
1132
+ }
1133
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TemplateApprovalPolicy): TemplateApprovalPolicy {
1134
+ let message = target ?? this.create(), end = reader.pos + length;
1135
+ while (reader.pos < end) {
1136
+ let [fieldNo, wireType] = reader.tag();
1137
+ switch (fieldNo) {
1138
+ case /* resources.documents.approval.ApprovalRuleKind rule_kind */ 1:
1139
+ message.ruleKind = reader.int32();
1140
+ break;
1141
+ case /* resources.documents.approval.OnEditBehavior on_edit_behavior */ 2:
1142
+ message.onEditBehavior = reader.int32();
1143
+ break;
1144
+ case /* optional int32 required_count */ 3:
1145
+ message.requiredCount = reader.int32();
1146
+ break;
1147
+ case /* bool signature_required */ 4:
1148
+ message.signatureRequired = reader.bool();
1149
+ break;
1150
+ case /* bool self_approve_allowed */ 5:
1151
+ message.selfApproveAllowed = reader.bool();
1152
+ break;
1153
+ default:
1154
+ let u = options.readUnknownField;
1155
+ if (u === "throw")
1156
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1157
+ let d = reader.skip(wireType);
1158
+ if (u !== false)
1159
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1160
+ }
1161
+ }
1162
+ return message;
1163
+ }
1164
+ internalBinaryWrite(message: TemplateApprovalPolicy, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1165
+ /* resources.documents.approval.ApprovalRuleKind rule_kind = 1; */
1166
+ if (message.ruleKind !== 0)
1167
+ writer.tag(1, WireType.Varint).int32(message.ruleKind);
1168
+ /* resources.documents.approval.OnEditBehavior on_edit_behavior = 2; */
1169
+ if (message.onEditBehavior !== 0)
1170
+ writer.tag(2, WireType.Varint).int32(message.onEditBehavior);
1171
+ /* optional int32 required_count = 3; */
1172
+ if (message.requiredCount !== undefined)
1173
+ writer.tag(3, WireType.Varint).int32(message.requiredCount);
1174
+ /* bool signature_required = 4; */
1175
+ if (message.signatureRequired !== false)
1176
+ writer.tag(4, WireType.Varint).bool(message.signatureRequired);
1177
+ /* bool self_approve_allowed = 5; */
1178
+ if (message.selfApproveAllowed !== false)
1179
+ writer.tag(5, WireType.Varint).bool(message.selfApproveAllowed);
1180
+ let u = options.writeUnknownFields;
1181
+ if (u !== false)
1182
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1183
+ return writer;
1184
+ }
1185
+ }
1186
+ /**
1187
+ * @generated MessageType for protobuf message resources.documents.templates.TemplateApprovalPolicy
1188
+ */
1189
+ export const TemplateApprovalPolicy = new TemplateApprovalPolicy$Type();
1190
+ // @generated message type with reflection information, may provide speed optimized methods
1191
+ class TemplateApprovalTaskSeed$Type extends MessageType<TemplateApprovalTaskSeed> {
1192
+ constructor() {
1193
+ super("resources.documents.templates.TemplateApprovalTaskSeed", [
1194
+ { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
1195
+ { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1196
+ { no: 3, name: "minimum_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
1197
+ { no: 4, name: "label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "120" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
1198
+ { no: 5, name: "signature_required", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1199
+ { no: 6, name: "slots", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { lte: 5, gte: 1 } } } },
1200
+ { no: 7, name: "due_in_days", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
1201
+ { no: 8, name: "comment", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
1202
+ ]);
1203
+ }
1204
+ create(value?: PartialMessage<TemplateApprovalTaskSeed>): TemplateApprovalTaskSeed {
1205
+ const message = globalThis.Object.create((this.messagePrototype!));
1206
+ message.userId = 0;
1207
+ message.job = "";
1208
+ message.minimumGrade = 0;
1209
+ message.signatureRequired = false;
1210
+ message.slots = 0;
1211
+ if (value !== undefined)
1212
+ reflectionMergePartial<TemplateApprovalTaskSeed>(this, message, value);
1213
+ return message;
1214
+ }
1215
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TemplateApprovalTaskSeed): TemplateApprovalTaskSeed {
1216
+ let message = target ?? this.create(), end = reader.pos + length;
1217
+ while (reader.pos < end) {
1218
+ let [fieldNo, wireType] = reader.tag();
1219
+ switch (fieldNo) {
1220
+ case /* int32 user_id */ 1:
1221
+ message.userId = reader.int32();
1222
+ break;
1223
+ case /* string job */ 2:
1224
+ message.job = reader.string();
1225
+ break;
1226
+ case /* int32 minimum_grade */ 3:
1227
+ message.minimumGrade = reader.int32();
1228
+ break;
1229
+ case /* optional string label */ 4:
1230
+ message.label = reader.string();
1231
+ break;
1232
+ case /* bool signature_required */ 5:
1233
+ message.signatureRequired = reader.bool();
1234
+ break;
1235
+ case /* int32 slots */ 6:
1236
+ message.slots = reader.int32();
1237
+ break;
1238
+ case /* optional int32 due_in_days */ 7:
1239
+ message.dueInDays = reader.int32();
1240
+ break;
1241
+ case /* optional string comment */ 8:
1242
+ message.comment = reader.string();
1243
+ break;
1244
+ default:
1245
+ let u = options.readUnknownField;
1246
+ if (u === "throw")
1247
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1248
+ let d = reader.skip(wireType);
1249
+ if (u !== false)
1250
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1251
+ }
1252
+ }
1253
+ return message;
1254
+ }
1255
+ internalBinaryWrite(message: TemplateApprovalTaskSeed, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1256
+ /* int32 user_id = 1; */
1257
+ if (message.userId !== 0)
1258
+ writer.tag(1, WireType.Varint).int32(message.userId);
1259
+ /* string job = 2; */
1260
+ if (message.job !== "")
1261
+ writer.tag(2, WireType.LengthDelimited).string(message.job);
1262
+ /* int32 minimum_grade = 3; */
1263
+ if (message.minimumGrade !== 0)
1264
+ writer.tag(3, WireType.Varint).int32(message.minimumGrade);
1265
+ /* optional string label = 4; */
1266
+ if (message.label !== undefined)
1267
+ writer.tag(4, WireType.LengthDelimited).string(message.label);
1268
+ /* bool signature_required = 5; */
1269
+ if (message.signatureRequired !== false)
1270
+ writer.tag(5, WireType.Varint).bool(message.signatureRequired);
1271
+ /* int32 slots = 6; */
1272
+ if (message.slots !== 0)
1273
+ writer.tag(6, WireType.Varint).int32(message.slots);
1274
+ /* optional int32 due_in_days = 7; */
1275
+ if (message.dueInDays !== undefined)
1276
+ writer.tag(7, WireType.Varint).int32(message.dueInDays);
1277
+ /* optional string comment = 8; */
1278
+ if (message.comment !== undefined)
1279
+ writer.tag(8, WireType.LengthDelimited).string(message.comment);
1280
+ let u = options.writeUnknownFields;
1281
+ if (u !== false)
1282
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1283
+ return writer;
1284
+ }
1285
+ }
1286
+ /**
1287
+ * @generated MessageType for protobuf message resources.documents.templates.TemplateApprovalTaskSeed
1288
+ */
1289
+ export const TemplateApprovalTaskSeed = new TemplateApprovalTaskSeed$Type();