@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 "services/jobs/timeclock.proto" (package "services.jobs", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import { ServiceType } from "@protobuf-ts/runtime-rpc";
5
6
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
@@ -11,15 +12,15 @@ import { WireType } from "@protobuf-ts/runtime";
11
12
  import type { PartialMessage } from "@protobuf-ts/runtime";
12
13
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
14
  import { MessageType } from "@protobuf-ts/runtime";
14
- import { Colleague } from "../../resources/jobs/colleagues";
15
- import { TimeclockEntry } from "../../resources/jobs/timeclock";
15
+ import { Colleague } from "../../resources/jobs/colleagues/colleagues";
16
+ import { TimeclockEntry } from "../../resources/jobs/timeclock/timeclock";
16
17
  import { Timestamp } from "../../resources/timestamp/timestamp";
17
- import { TimeclockWeeklyStats } from "../../resources/jobs/timeclock";
18
- import { TimeclockStats } from "../../resources/jobs/timeclock";
18
+ import { TimeclockWeeklyStats } from "../../resources/jobs/timeclock/timeclock";
19
+ import { TimeclockStats } from "../../resources/jobs/timeclock/timeclock";
19
20
  import { PaginationResponse } from "../../resources/common/database/database";
20
21
  import { DateRange } from "../../resources/common/database/database";
21
- import { TimeclockMode } from "../../resources/jobs/timeclock";
22
- import { TimeclockViewMode } from "../../resources/jobs/timeclock";
22
+ import { TimeclockMode } from "../../resources/jobs/timeclock/timeclock";
23
+ import { TimeclockViewMode } from "../../resources/jobs/timeclock/timeclock";
23
24
  import { Sort } from "../../resources/common/database/database";
24
25
  import { PaginationRequest } from "../../resources/common/database/database";
25
26
  // Time Clock
@@ -29,33 +30,33 @@ import { PaginationRequest } from "../../resources/common/database/database";
29
30
  */
30
31
  export interface ListTimeclockRequest {
31
32
  /**
32
- * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1;
33
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
33
34
  */
34
35
  pagination?: PaginationRequest;
35
36
  /**
36
- * @generated from protobuf field: optional resources.common.database.Sort sort = 2;
37
+ * @generated from protobuf field: optional resources.common.database.Sort sort = 2
37
38
  */
38
39
  sort?: Sort;
39
40
  /**
40
41
  * Search params
41
42
  *
42
- * @generated from protobuf field: resources.jobs.TimeclockViewMode user_mode = 3;
43
+ * @generated from protobuf field: resources.jobs.timeclock.TimeclockViewMode user_mode = 3
43
44
  */
44
45
  userMode: TimeclockViewMode;
45
46
  /**
46
- * @generated from protobuf field: resources.jobs.TimeclockMode mode = 4;
47
+ * @generated from protobuf field: resources.jobs.timeclock.TimeclockMode mode = 4
47
48
  */
48
49
  mode: TimeclockMode;
49
50
  /**
50
- * @generated from protobuf field: optional resources.common.database.DateRange date = 5;
51
+ * @generated from protobuf field: optional resources.common.database.DateRange date = 5
51
52
  */
52
53
  date?: DateRange;
53
54
  /**
54
- * @generated from protobuf field: bool per_day = 6;
55
+ * @generated from protobuf field: bool per_day = 6
55
56
  */
56
57
  perDay: boolean;
57
58
  /**
58
- * @generated from protobuf field: repeated int32 user_ids = 7;
59
+ * @generated from protobuf field: repeated int32 user_ids = 7
59
60
  */
60
61
  userIds: number[];
61
62
  }
@@ -64,15 +65,15 @@ export interface ListTimeclockRequest {
64
65
  */
65
66
  export interface ListTimeclockResponse {
66
67
  /**
67
- * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1;
68
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
68
69
  */
69
70
  pagination?: PaginationResponse;
70
71
  /**
71
- * @generated from protobuf field: resources.jobs.TimeclockStats stats = 2;
72
+ * @generated from protobuf field: resources.jobs.timeclock.TimeclockStats stats = 2
72
73
  */
73
74
  stats?: TimeclockStats;
74
75
  /**
75
- * @generated from protobuf field: repeated resources.jobs.TimeclockWeeklyStats stats_weekly = 3;
76
+ * @generated from protobuf field: repeated resources.jobs.timeclock.TimeclockWeeklyStats stats_weekly = 3
76
77
  */
77
78
  statsWeekly: TimeclockWeeklyStats[];
78
79
  /**
@@ -81,19 +82,19 @@ export interface ListTimeclockResponse {
81
82
  entries: {
82
83
  oneofKind: "daily";
83
84
  /**
84
- * @generated from protobuf field: services.jobs.TimeclockDay daily = 4;
85
+ * @generated from protobuf field: services.jobs.TimeclockDay daily = 4
85
86
  */
86
87
  daily: TimeclockDay;
87
88
  } | {
88
89
  oneofKind: "weekly";
89
90
  /**
90
- * @generated from protobuf field: services.jobs.TimeclockWeekly weekly = 5;
91
+ * @generated from protobuf field: services.jobs.TimeclockWeekly weekly = 5
91
92
  */
92
93
  weekly: TimeclockWeekly;
93
94
  } | {
94
95
  oneofKind: "range";
95
96
  /**
96
- * @generated from protobuf field: services.jobs.TimeclockRange range = 6;
97
+ * @generated from protobuf field: services.jobs.TimeclockRange range = 6
97
98
  */
98
99
  range: TimeclockRange;
99
100
  } | {
@@ -105,15 +106,15 @@ export interface ListTimeclockResponse {
105
106
  */
106
107
  export interface TimeclockDay {
107
108
  /**
108
- * @generated from protobuf field: resources.timestamp.Timestamp date = 1;
109
+ * @generated from protobuf field: resources.timestamp.Timestamp date = 1
109
110
  */
110
111
  date?: Timestamp;
111
112
  /**
112
- * @generated from protobuf field: repeated resources.jobs.TimeclockEntry entries = 2;
113
+ * @generated from protobuf field: repeated resources.jobs.timeclock.TimeclockEntry entries = 2
113
114
  */
114
115
  entries: TimeclockEntry[];
115
116
  /**
116
- * @generated from protobuf field: int64 sum = 3;
117
+ * @generated from protobuf field: int64 sum = 3
117
118
  */
118
119
  sum: number;
119
120
  }
@@ -122,15 +123,15 @@ export interface TimeclockDay {
122
123
  */
123
124
  export interface TimeclockWeekly {
124
125
  /**
125
- * @generated from protobuf field: resources.timestamp.Timestamp date = 1;
126
+ * @generated from protobuf field: resources.timestamp.Timestamp date = 1
126
127
  */
127
- date?: Timestamp; // @gotags: sql:"primary_key"
128
+ date?: Timestamp;
128
129
  /**
129
- * @generated from protobuf field: repeated resources.jobs.TimeclockEntry entries = 2;
130
+ * @generated from protobuf field: repeated resources.jobs.timeclock.TimeclockEntry entries = 2
130
131
  */
131
132
  entries: TimeclockEntry[];
132
133
  /**
133
- * @generated from protobuf field: int64 sum = 3;
134
+ * @generated from protobuf field: int64 sum = 3
134
135
  */
135
136
  sum: number;
136
137
  }
@@ -139,15 +140,15 @@ export interface TimeclockWeekly {
139
140
  */
140
141
  export interface TimeclockRange {
141
142
  /**
142
- * @generated from protobuf field: resources.timestamp.Timestamp date = 1;
143
+ * @generated from protobuf field: resources.timestamp.Timestamp date = 1
143
144
  */
144
- date?: Timestamp; // @gotags: sql:"primary_key"
145
+ date?: Timestamp;
145
146
  /**
146
- * @generated from protobuf field: repeated resources.jobs.TimeclockEntry entries = 2;
147
+ * @generated from protobuf field: repeated resources.jobs.timeclock.TimeclockEntry entries = 2
147
148
  */
148
149
  entries: TimeclockEntry[];
149
150
  /**
150
- * @generated from protobuf field: int64 sum = 3;
151
+ * @generated from protobuf field: int64 sum = 3
151
152
  */
152
153
  sum: number;
153
154
  }
@@ -156,7 +157,7 @@ export interface TimeclockRange {
156
157
  */
157
158
  export interface GetTimeclockStatsRequest {
158
159
  /**
159
- * @generated from protobuf field: optional int32 user_id = 1;
160
+ * @generated from protobuf field: optional int32 user_id = 1
160
161
  */
161
162
  userId?: number;
162
163
  }
@@ -165,11 +166,11 @@ export interface GetTimeclockStatsRequest {
165
166
  */
166
167
  export interface GetTimeclockStatsResponse {
167
168
  /**
168
- * @generated from protobuf field: resources.jobs.TimeclockStats stats = 1;
169
+ * @generated from protobuf field: resources.jobs.timeclock.TimeclockStats stats = 1
169
170
  */
170
171
  stats?: TimeclockStats;
171
172
  /**
172
- * @generated from protobuf field: repeated resources.jobs.TimeclockWeeklyStats weekly = 2;
173
+ * @generated from protobuf field: repeated resources.jobs.timeclock.TimeclockWeeklyStats weekly = 2
173
174
  */
174
175
  weekly: TimeclockWeeklyStats[];
175
176
  }
@@ -178,17 +179,17 @@ export interface GetTimeclockStatsResponse {
178
179
  */
179
180
  export interface ListInactiveEmployeesRequest {
180
181
  /**
181
- * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1;
182
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
182
183
  */
183
184
  pagination?: PaginationRequest;
184
185
  /**
185
- * @generated from protobuf field: optional resources.common.database.Sort sort = 2;
186
+ * @generated from protobuf field: optional resources.common.database.Sort sort = 2
186
187
  */
187
188
  sort?: Sort;
188
189
  /**
189
190
  * Search params
190
191
  *
191
- * @generated from protobuf field: int32 days = 3;
192
+ * @generated from protobuf field: int32 days = 3
192
193
  */
193
194
  days: number;
194
195
  }
@@ -197,11 +198,11 @@ export interface ListInactiveEmployeesRequest {
197
198
  */
198
199
  export interface ListInactiveEmployeesResponse {
199
200
  /**
200
- * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1;
201
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
201
202
  */
202
203
  pagination?: PaginationResponse;
203
204
  /**
204
- * @generated from protobuf field: repeated resources.jobs.Colleague colleagues = 2;
205
+ * @generated from protobuf field: repeated resources.jobs.colleagues.Colleague colleagues = 2
205
206
  */
206
207
  colleagues: Colleague[];
207
208
  }
@@ -209,13 +210,13 @@ export interface ListInactiveEmployeesResponse {
209
210
  class ListTimeclockRequest$Type extends MessageType<ListTimeclockRequest> {
210
211
  constructor() {
211
212
  super("services.jobs.ListTimeclockRequest", [
212
- { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "validate.rules": { message: { required: true } } } },
213
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
213
214
  { no: 2, name: "sort", kind: "message", T: () => Sort },
214
- { no: 3, name: "user_mode", kind: "enum", T: () => ["resources.jobs.TimeclockViewMode", TimeclockViewMode, "TIMECLOCK_VIEW_MODE_"] },
215
- { no: 4, name: "mode", kind: "enum", T: () => ["resources.jobs.TimeclockMode", TimeclockMode, "TIMECLOCK_MODE_"] },
215
+ { no: 3, name: "user_mode", kind: "enum", T: () => ["resources.jobs.timeclock.TimeclockViewMode", TimeclockViewMode, "TIMECLOCK_VIEW_MODE_"] },
216
+ { no: 4, name: "mode", kind: "enum", T: () => ["resources.jobs.timeclock.TimeclockMode", TimeclockMode, "TIMECLOCK_MODE_"] },
216
217
  { no: 5, name: "date", kind: "message", T: () => DateRange },
217
218
  { no: 6, name: "per_day", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
218
- { no: 7, name: "user_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { repeated: { maxItems: "15" } } } }
219
+ { no: 7, name: "user_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { repeated: { maxItems: "15" } } } }
219
220
  ]);
220
221
  }
221
222
  create(value?: PartialMessage<ListTimeclockRequest>): ListTimeclockRequest {
@@ -239,10 +240,10 @@ class ListTimeclockRequest$Type extends MessageType<ListTimeclockRequest> {
239
240
  case /* optional resources.common.database.Sort sort */ 2:
240
241
  message.sort = Sort.internalBinaryRead(reader, reader.uint32(), options, message.sort);
241
242
  break;
242
- case /* resources.jobs.TimeclockViewMode user_mode */ 3:
243
+ case /* resources.jobs.timeclock.TimeclockViewMode user_mode */ 3:
243
244
  message.userMode = reader.int32();
244
245
  break;
245
- case /* resources.jobs.TimeclockMode mode */ 4:
246
+ case /* resources.jobs.timeclock.TimeclockMode mode */ 4:
246
247
  message.mode = reader.int32();
247
248
  break;
248
249
  case /* optional resources.common.database.DateRange date */ 5:
@@ -276,10 +277,10 @@ class ListTimeclockRequest$Type extends MessageType<ListTimeclockRequest> {
276
277
  /* optional resources.common.database.Sort sort = 2; */
277
278
  if (message.sort)
278
279
  Sort.internalBinaryWrite(message.sort, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
279
- /* resources.jobs.TimeclockViewMode user_mode = 3; */
280
+ /* resources.jobs.timeclock.TimeclockViewMode user_mode = 3; */
280
281
  if (message.userMode !== 0)
281
282
  writer.tag(3, WireType.Varint).int32(message.userMode);
282
- /* resources.jobs.TimeclockMode mode = 4; */
283
+ /* resources.jobs.timeclock.TimeclockMode mode = 4; */
283
284
  if (message.mode !== 0)
284
285
  writer.tag(4, WireType.Varint).int32(message.mode);
285
286
  /* optional resources.common.database.DateRange date = 5; */
@@ -309,7 +310,7 @@ export const ListTimeclockRequest = new ListTimeclockRequest$Type();
309
310
  class ListTimeclockResponse$Type extends MessageType<ListTimeclockResponse> {
310
311
  constructor() {
311
312
  super("services.jobs.ListTimeclockResponse", [
312
- { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse },
313
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
313
314
  { no: 2, name: "stats", kind: "message", T: () => TimeclockStats },
314
315
  { no: 3, name: "stats_weekly", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TimeclockWeeklyStats },
315
316
  { no: 4, name: "daily", kind: "message", oneof: "entries", T: () => TimeclockDay },
@@ -333,10 +334,10 @@ class ListTimeclockResponse$Type extends MessageType<ListTimeclockResponse> {
333
334
  case /* resources.common.database.PaginationResponse pagination */ 1:
334
335
  message.pagination = PaginationResponse.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
335
336
  break;
336
- case /* resources.jobs.TimeclockStats stats */ 2:
337
+ case /* resources.jobs.timeclock.TimeclockStats stats */ 2:
337
338
  message.stats = TimeclockStats.internalBinaryRead(reader, reader.uint32(), options, message.stats);
338
339
  break;
339
- case /* repeated resources.jobs.TimeclockWeeklyStats stats_weekly */ 3:
340
+ case /* repeated resources.jobs.timeclock.TimeclockWeeklyStats stats_weekly */ 3:
340
341
  message.statsWeekly.push(TimeclockWeeklyStats.internalBinaryRead(reader, reader.uint32(), options));
341
342
  break;
342
343
  case /* services.jobs.TimeclockDay daily */ 4:
@@ -372,10 +373,10 @@ class ListTimeclockResponse$Type extends MessageType<ListTimeclockResponse> {
372
373
  /* resources.common.database.PaginationResponse pagination = 1; */
373
374
  if (message.pagination)
374
375
  PaginationResponse.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
375
- /* resources.jobs.TimeclockStats stats = 2; */
376
+ /* resources.jobs.timeclock.TimeclockStats stats = 2; */
376
377
  if (message.stats)
377
378
  TimeclockStats.internalBinaryWrite(message.stats, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
378
- /* repeated resources.jobs.TimeclockWeeklyStats stats_weekly = 3; */
379
+ /* repeated resources.jobs.timeclock.TimeclockWeeklyStats stats_weekly = 3; */
379
380
  for (let i = 0; i < message.statsWeekly.length; i++)
380
381
  TimeclockWeeklyStats.internalBinaryWrite(message.statsWeekly[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
381
382
  /* services.jobs.TimeclockDay daily = 4; */
@@ -422,7 +423,7 @@ class TimeclockDay$Type extends MessageType<TimeclockDay> {
422
423
  case /* resources.timestamp.Timestamp date */ 1:
423
424
  message.date = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.date);
424
425
  break;
425
- case /* repeated resources.jobs.TimeclockEntry entries */ 2:
426
+ case /* repeated resources.jobs.timeclock.TimeclockEntry entries */ 2:
426
427
  message.entries.push(TimeclockEntry.internalBinaryRead(reader, reader.uint32(), options));
427
428
  break;
428
429
  case /* int64 sum */ 3:
@@ -443,7 +444,7 @@ class TimeclockDay$Type extends MessageType<TimeclockDay> {
443
444
  /* resources.timestamp.Timestamp date = 1; */
444
445
  if (message.date)
445
446
  Timestamp.internalBinaryWrite(message.date, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
446
- /* repeated resources.jobs.TimeclockEntry entries = 2; */
447
+ /* repeated resources.jobs.timeclock.TimeclockEntry entries = 2; */
447
448
  for (let i = 0; i < message.entries.length; i++)
448
449
  TimeclockEntry.internalBinaryWrite(message.entries[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
449
450
  /* int64 sum = 3; */
@@ -463,7 +464,7 @@ export const TimeclockDay = new TimeclockDay$Type();
463
464
  class TimeclockWeekly$Type extends MessageType<TimeclockWeekly> {
464
465
  constructor() {
465
466
  super("services.jobs.TimeclockWeekly", [
466
- { no: 1, name: "date", kind: "message", T: () => Timestamp },
467
+ { no: 1, name: "date", kind: "message", T: () => Timestamp, options: { "tagger.tags": "sql:\"primary_key\"" } },
467
468
  { no: 2, name: "entries", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TimeclockEntry },
468
469
  { no: 3, name: "sum", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
469
470
  ]);
@@ -484,7 +485,7 @@ class TimeclockWeekly$Type extends MessageType<TimeclockWeekly> {
484
485
  case /* resources.timestamp.Timestamp date */ 1:
485
486
  message.date = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.date);
486
487
  break;
487
- case /* repeated resources.jobs.TimeclockEntry entries */ 2:
488
+ case /* repeated resources.jobs.timeclock.TimeclockEntry entries */ 2:
488
489
  message.entries.push(TimeclockEntry.internalBinaryRead(reader, reader.uint32(), options));
489
490
  break;
490
491
  case /* int64 sum */ 3:
@@ -505,7 +506,7 @@ class TimeclockWeekly$Type extends MessageType<TimeclockWeekly> {
505
506
  /* resources.timestamp.Timestamp date = 1; */
506
507
  if (message.date)
507
508
  Timestamp.internalBinaryWrite(message.date, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
508
- /* repeated resources.jobs.TimeclockEntry entries = 2; */
509
+ /* repeated resources.jobs.timeclock.TimeclockEntry entries = 2; */
509
510
  for (let i = 0; i < message.entries.length; i++)
510
511
  TimeclockEntry.internalBinaryWrite(message.entries[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
511
512
  /* int64 sum = 3; */
@@ -525,7 +526,7 @@ export const TimeclockWeekly = new TimeclockWeekly$Type();
525
526
  class TimeclockRange$Type extends MessageType<TimeclockRange> {
526
527
  constructor() {
527
528
  super("services.jobs.TimeclockRange", [
528
- { no: 1, name: "date", kind: "message", T: () => Timestamp },
529
+ { no: 1, name: "date", kind: "message", T: () => Timestamp, options: { "tagger.tags": "sql:\"primary_key\"" } },
529
530
  { no: 2, name: "entries", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => TimeclockEntry },
530
531
  { no: 3, name: "sum", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
531
532
  ]);
@@ -546,7 +547,7 @@ class TimeclockRange$Type extends MessageType<TimeclockRange> {
546
547
  case /* resources.timestamp.Timestamp date */ 1:
547
548
  message.date = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.date);
548
549
  break;
549
- case /* repeated resources.jobs.TimeclockEntry entries */ 2:
550
+ case /* repeated resources.jobs.timeclock.TimeclockEntry entries */ 2:
550
551
  message.entries.push(TimeclockEntry.internalBinaryRead(reader, reader.uint32(), options));
551
552
  break;
552
553
  case /* int64 sum */ 3:
@@ -567,7 +568,7 @@ class TimeclockRange$Type extends MessageType<TimeclockRange> {
567
568
  /* resources.timestamp.Timestamp date = 1; */
568
569
  if (message.date)
569
570
  Timestamp.internalBinaryWrite(message.date, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
570
- /* repeated resources.jobs.TimeclockEntry entries = 2; */
571
+ /* repeated resources.jobs.timeclock.TimeclockEntry entries = 2; */
571
572
  for (let i = 0; i < message.entries.length; i++)
572
573
  TimeclockEntry.internalBinaryWrite(message.entries[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
573
574
  /* int64 sum = 3; */
@@ -587,7 +588,7 @@ export const TimeclockRange = new TimeclockRange$Type();
587
588
  class GetTimeclockStatsRequest$Type extends MessageType<GetTimeclockStatsRequest> {
588
589
  constructor() {
589
590
  super("services.jobs.GetTimeclockStatsRequest", [
590
- { no: 1, name: "user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } }
591
+ { no: 1, name: "user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } }
591
592
  ]);
592
593
  }
593
594
  create(value?: PartialMessage<GetTimeclockStatsRequest>): GetTimeclockStatsRequest {
@@ -649,10 +650,10 @@ class GetTimeclockStatsResponse$Type extends MessageType<GetTimeclockStatsRespon
649
650
  while (reader.pos < end) {
650
651
  let [fieldNo, wireType] = reader.tag();
651
652
  switch (fieldNo) {
652
- case /* resources.jobs.TimeclockStats stats */ 1:
653
+ case /* resources.jobs.timeclock.TimeclockStats stats */ 1:
653
654
  message.stats = TimeclockStats.internalBinaryRead(reader, reader.uint32(), options, message.stats);
654
655
  break;
655
- case /* repeated resources.jobs.TimeclockWeeklyStats weekly */ 2:
656
+ case /* repeated resources.jobs.timeclock.TimeclockWeeklyStats weekly */ 2:
656
657
  message.weekly.push(TimeclockWeeklyStats.internalBinaryRead(reader, reader.uint32(), options));
657
658
  break;
658
659
  default:
@@ -667,10 +668,10 @@ class GetTimeclockStatsResponse$Type extends MessageType<GetTimeclockStatsRespon
667
668
  return message;
668
669
  }
669
670
  internalBinaryWrite(message: GetTimeclockStatsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
670
- /* resources.jobs.TimeclockStats stats = 1; */
671
+ /* resources.jobs.timeclock.TimeclockStats stats = 1; */
671
672
  if (message.stats)
672
673
  TimeclockStats.internalBinaryWrite(message.stats, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
673
- /* repeated resources.jobs.TimeclockWeeklyStats weekly = 2; */
674
+ /* repeated resources.jobs.timeclock.TimeclockWeeklyStats weekly = 2; */
674
675
  for (let i = 0; i < message.weekly.length; i++)
675
676
  TimeclockWeeklyStats.internalBinaryWrite(message.weekly[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
676
677
  let u = options.writeUnknownFields;
@@ -687,9 +688,9 @@ export const GetTimeclockStatsResponse = new GetTimeclockStatsResponse$Type();
687
688
  class ListInactiveEmployeesRequest$Type extends MessageType<ListInactiveEmployeesRequest> {
688
689
  constructor() {
689
690
  super("services.jobs.ListInactiveEmployeesRequest", [
690
- { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "validate.rules": { message: { required: true } } } },
691
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
691
692
  { no: 2, name: "sort", kind: "message", T: () => Sort },
692
- { no: 3, name: "days", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 1 } } } }
693
+ { no: 3, name: "days", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 1 } } } }
693
694
  ]);
694
695
  }
695
696
  create(value?: PartialMessage<ListInactiveEmployeesRequest>): ListInactiveEmployeesRequest {
@@ -748,8 +749,8 @@ export const ListInactiveEmployeesRequest = new ListInactiveEmployeesRequest$Typ
748
749
  class ListInactiveEmployeesResponse$Type extends MessageType<ListInactiveEmployeesResponse> {
749
750
  constructor() {
750
751
  super("services.jobs.ListInactiveEmployeesResponse", [
751
- { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse },
752
- { no: 2, name: "colleagues", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Colleague }
752
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
753
+ { no: 2, name: "colleagues", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Colleague, options: { "codegen.itemslen.enabled": true } }
753
754
  ]);
754
755
  }
755
756
  create(value?: PartialMessage<ListInactiveEmployeesResponse>): ListInactiveEmployeesResponse {
@@ -767,7 +768,7 @@ class ListInactiveEmployeesResponse$Type extends MessageType<ListInactiveEmploye
767
768
  case /* resources.common.database.PaginationResponse pagination */ 1:
768
769
  message.pagination = PaginationResponse.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
769
770
  break;
770
- case /* repeated resources.jobs.Colleague colleagues */ 2:
771
+ case /* repeated resources.jobs.colleagues.Colleague colleagues */ 2:
771
772
  message.colleagues.push(Colleague.internalBinaryRead(reader, reader.uint32(), options));
772
773
  break;
773
774
  default:
@@ -785,7 +786,7 @@ class ListInactiveEmployeesResponse$Type extends MessageType<ListInactiveEmploye
785
786
  /* resources.common.database.PaginationResponse pagination = 1; */
786
787
  if (message.pagination)
787
788
  PaginationResponse.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
788
- /* repeated resources.jobs.Colleague colleagues = 2; */
789
+ /* repeated resources.jobs.colleagues.Colleague colleagues = 2; */
789
790
  for (let i = 0; i < message.colleagues.length; i++)
790
791
  Colleague.internalBinaryWrite(message.colleagues[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
791
792
  let u = options.writeUnknownFields;
@@ -802,7 +803,7 @@ export const ListInactiveEmployeesResponse = new ListInactiveEmployeesResponse$T
802
803
  * @generated ServiceType for protobuf service services.jobs.TimeclockService
803
804
  */
804
805
  export const TimeclockService = new ServiceType("services.jobs.TimeclockService", [
805
- { name: "ListTimeclock", options: {}, I: ListTimeclockRequest, O: ListTimeclockResponse },
806
- { name: "GetTimeclockStats", options: {}, I: GetTimeclockStatsRequest, O: GetTimeclockStatsResponse },
807
- { name: "ListInactiveEmployees", options: {}, I: ListInactiveEmployeesRequest, O: ListInactiveEmployeesResponse }
808
- ]);
806
+ { name: "ListTimeclock", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Access", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["All"] }] } }, I: ListTimeclockRequest, O: ListTimeclockResponse },
807
+ { name: "GetTimeclockStats", options: { "codegen.perms.perms": { enabled: true, name: "ListTimeclock" } }, I: GetTimeclockStatsRequest, O: GetTimeclockStatsResponse },
808
+ { name: "ListInactiveEmployees", options: { "codegen.perms.perms": { enabled: true } }, I: ListInactiveEmployeesRequest, O: ListInactiveEmployeesResponse }
809
+ ], { "codegen.perms.perms_svc": { order: 62, icon: "i-mdi-timeline-clock-outline" } });
@@ -1,5 +1,6 @@
1
- // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
2
  // @generated from protobuf file "services/livemap/livemap.proto" (package "services.livemap", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
4
5
  import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
5
6
  import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
@@ -19,21 +20,15 @@ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
19
20
  */
20
21
  export interface ILivemapServiceClient {
21
22
  /**
22
- * @perm: Attrs=Markers/JobList|Players/JobGradeList
23
- *
24
- * @generated from protobuf rpc: Stream(services.livemap.StreamRequest) returns (stream services.livemap.StreamResponse);
23
+ * @generated from protobuf rpc: Stream
25
24
  */
26
25
  stream(input: StreamRequest, options?: RpcOptions): ServerStreamingCall<StreamRequest, StreamResponse>;
27
26
  /**
28
- * @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"}
29
- *
30
- * @generated from protobuf rpc: CreateOrUpdateMarker(services.livemap.CreateOrUpdateMarkerRequest) returns (services.livemap.CreateOrUpdateMarkerResponse);
27
+ * @generated from protobuf rpc: CreateOrUpdateMarker
31
28
  */
32
29
  createOrUpdateMarker(input: CreateOrUpdateMarkerRequest, options?: RpcOptions): UnaryCall<CreateOrUpdateMarkerRequest, CreateOrUpdateMarkerResponse>;
33
30
  /**
34
- * @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"}
35
- *
36
- * @generated from protobuf rpc: DeleteMarker(services.livemap.DeleteMarkerRequest) returns (services.livemap.DeleteMarkerResponse);
31
+ * @generated from protobuf rpc: DeleteMarker
37
32
  */
38
33
  deleteMarker(input: DeleteMarkerRequest, options?: RpcOptions): UnaryCall<DeleteMarkerRequest, DeleteMarkerResponse>;
39
34
  }
@@ -47,27 +42,21 @@ export class LivemapServiceClient implements ILivemapServiceClient, ServiceInfo
47
42
  constructor(private readonly _transport: RpcTransport) {
48
43
  }
49
44
  /**
50
- * @perm: Attrs=Markers/JobList|Players/JobGradeList
51
- *
52
- * @generated from protobuf rpc: Stream(services.livemap.StreamRequest) returns (stream services.livemap.StreamResponse);
45
+ * @generated from protobuf rpc: Stream
53
46
  */
54
47
  stream(input: StreamRequest, options?: RpcOptions): ServerStreamingCall<StreamRequest, StreamResponse> {
55
48
  const method = this.methods[0], opt = this._transport.mergeOptions(options);
56
49
  return stackIntercept<StreamRequest, StreamResponse>("serverStreaming", this._transport, method, opt, input);
57
50
  }
58
51
  /**
59
- * @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"}
60
- *
61
- * @generated from protobuf rpc: CreateOrUpdateMarker(services.livemap.CreateOrUpdateMarkerRequest) returns (services.livemap.CreateOrUpdateMarkerResponse);
52
+ * @generated from protobuf rpc: CreateOrUpdateMarker
62
53
  */
63
54
  createOrUpdateMarker(input: CreateOrUpdateMarkerRequest, options?: RpcOptions): UnaryCall<CreateOrUpdateMarkerRequest, CreateOrUpdateMarkerResponse> {
64
55
  const method = this.methods[1], opt = this._transport.mergeOptions(options);
65
56
  return stackIntercept<CreateOrUpdateMarkerRequest, CreateOrUpdateMarkerResponse>("unary", this._transport, method, opt, input);
66
57
  }
67
58
  /**
68
- * @perm: Attrs=Access/StringList:[]string{"Own", "Lower_Rank", "Same_Rank", "Any"}
69
- *
70
- * @generated from protobuf rpc: DeleteMarker(services.livemap.DeleteMarkerRequest) returns (services.livemap.DeleteMarkerResponse);
59
+ * @generated from protobuf rpc: DeleteMarker
71
60
  */
72
61
  deleteMarker(input: DeleteMarkerRequest, options?: RpcOptions): UnaryCall<DeleteMarkerRequest, DeleteMarkerResponse> {
73
62
  const method = this.methods[2], opt = this._transport.mergeOptions(options);