@fivenet-app/gen 2025.9.1 → 2026.4.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 (134) hide show
  1. package/README.md +1 -1
  2. package/clients.ts +36 -0
  3. package/codegen/perms/perms.ts +186 -15
  4. package/codegen/sanitizer/sanitizer.ts +34 -1
  5. package/package.json +2 -2
  6. package/perms.ts +140 -8
  7. package/resources/accounts/accounts.ts +98 -31
  8. package/resources/accounts/{oauth2.ts → oauth2/oauth2.ts} +20 -20
  9. package/resources/audit/audit.ts +156 -38
  10. package/resources/calendar/{access.ts → access/access.ts} +30 -30
  11. package/resources/calendar/calendar.ts +17 -477
  12. package/resources/calendar/entries/entries.ts +474 -0
  13. package/resources/centrum/{access.ts → access/access.ts} +22 -22
  14. package/resources/centrum/{dispatchers.ts → dispatchers/dispatchers.ts} +14 -14
  15. package/resources/centrum/{dispatches.ts → dispatches/dispatches.ts} +151 -185
  16. package/resources/centrum/joblist.ts +136 -0
  17. package/resources/centrum/{settings.ts → settings/settings.ts} +70 -70
  18. package/resources/centrum/{units_access.ts → units/access/access.ts} +30 -30
  19. package/resources/centrum/{units.ts → units/units.ts} +131 -51
  20. package/resources/citizens/labels/labels.ts +526 -0
  21. package/resources/{users → citizens/licenses}/licenses.ts +17 -17
  22. package/resources/clientconfig/clientconfig.ts +126 -258
  23. package/resources/collab/collab.ts +4 -16
  24. package/resources/common/content/content.ts +108 -85
  25. package/resources/common/content/diff_activity.ts +267 -0
  26. package/resources/common/i18n.ts +2 -2
  27. package/resources/{common/cron → cron}/cron.ts +43 -43
  28. package/resources/documents/{access.ts → access/access.ts} +29 -52
  29. package/resources/documents/{activity.ts → activity/activity.ts} +171 -123
  30. package/resources/documents/approval/approval.ts +945 -0
  31. package/resources/documents/{category.ts → category/category.ts} +7 -7
  32. package/resources/documents/{comment.ts → comment/comment.ts} +10 -10
  33. package/resources/documents/data/data.ts +303 -0
  34. package/resources/documents/documents.ts +282 -667
  35. package/resources/{common/uuid.ts → documents/forms/forms.ts} +20 -20
  36. package/resources/documents/{pins.ts → pins/pins.ts} +5 -5
  37. package/resources/documents/references/references.ts +187 -0
  38. package/resources/documents/relations/relations.ts +184 -0
  39. package/resources/documents/{requests.ts → requests/requests.ts} +18 -18
  40. package/resources/documents/stamps/stamp.ts +355 -0
  41. package/resources/documents/{templates.ts → templates/templates.ts} +426 -84
  42. package/resources/documents/{workflow.ts → workflow/workflow.ts} +264 -26
  43. package/resources/file/filestore.ts +1 -1
  44. package/resources/{common/grpcws → grpcws}/grpcws.ts +52 -52
  45. package/resources/jobs/{activity.ts → colleagues/activity/activity.ts} +54 -54
  46. package/resources/jobs/{colleagues.ts → colleagues/colleagues.ts} +17 -28
  47. package/resources/jobs/{conduct.ts → conduct/conduct.ts} +70 -45
  48. package/resources/jobs/{labels.ts → labels/labels.ts} +34 -23
  49. package/resources/jobs/{job_props.ts → props/props.ts} +26 -38
  50. package/resources/jobs/{job_settings.ts → settings/settings.ts} +53 -53
  51. package/resources/jobs/{timeclock.ts → timeclock/timeclock.ts} +17 -17
  52. package/resources/livemap/{heatmap.ts → heatmap/heatmap.ts} +4 -4
  53. package/resources/livemap/{marker_marker.ts → markers/marker_marker.ts} +35 -35
  54. package/resources/livemap/{user_marker.ts → markers/user_marker.ts} +115 -36
  55. package/resources/mailer/{access.ts → access/access.ts} +67 -67
  56. package/resources/mailer/{email.ts → emails/email.ts} +19 -19
  57. package/resources/mailer/{events.ts → events/events.ts} +24 -24
  58. package/resources/mailer/{message.ts → messages/message.ts} +29 -29
  59. package/resources/mailer/{settings.ts → settings/settings.ts} +14 -13
  60. package/resources/mailer/{template.ts → templates/template.ts} +15 -15
  61. package/resources/mailer/{thread.ts → threads/thread.ts} +29 -29
  62. package/resources/notifications/{client_view.ts → clientview/clientview.ts} +22 -22
  63. package/resources/notifications/{events.ts → events/events.ts} +20 -20
  64. package/resources/notifications/notifications.ts +4 -4
  65. package/resources/permissions/{attributes.ts → attributes/attributes.ts} +42 -42
  66. package/resources/permissions/{events.ts → events/events.ts} +7 -7
  67. package/resources/permissions/{permissions.ts → permissions/permissions.ts} +30 -19
  68. package/resources/qualifications/{access.ts → access/access.ts} +19 -19
  69. package/resources/qualifications/{exam.ts → exam/exam.ts} +269 -141
  70. package/resources/qualifications/qualifications.ts +51 -179
  71. package/resources/settings/banner.ts +3 -3
  72. package/resources/settings/config.ts +527 -25
  73. package/resources/{documents/state.ts → settings/data.ts} +41 -20
  74. package/resources/settings/perms.ts +14 -14
  75. package/resources/stats/stats.ts +379 -0
  76. package/resources/sync/{activity.ts → activity/activity.ts} +104 -25
  77. package/resources/sync/{data.ts → data/data.ts} +405 -59
  78. package/resources/userinfo/{user_info.ts → userinfo.ts} +71 -93
  79. package/resources/users/{activity.ts → activity/activity.ts} +242 -101
  80. package/resources/users/{props.ts → props/props.ts} +91 -69
  81. package/resources/users/short/user.ts +184 -0
  82. package/resources/users/{users.ts → user.ts} +266 -195
  83. package/resources/vehicles/{activity.ts → activity/activity.ts} +20 -20
  84. package/resources/vehicles/{props.ts → props/props.ts} +28 -6
  85. package/resources/vehicles/vehicles.ts +20 -8
  86. package/resources/wiki/{access.ts → access/access.ts} +30 -30
  87. package/resources/wiki/{activity.ts → activity/activity.ts} +104 -70
  88. package/resources/wiki/page.ts +39 -15
  89. package/services/auth/auth.client.ts +23 -10
  90. package/services/auth/auth.ts +445 -262
  91. package/services/calendar/calendar.ts +56 -34
  92. package/services/centrum/centrum.ts +127 -127
  93. package/services/citizens/citizens.client.ts +0 -13
  94. package/services/citizens/citizens.ts +44 -134
  95. package/services/citizens/labels.client.ts +77 -0
  96. package/services/citizens/labels.ts +455 -0
  97. package/services/completor/completor.ts +36 -16
  98. package/services/documents/approval.client.ts +188 -0
  99. package/services/documents/approval.ts +1776 -0
  100. package/services/documents/documents.ts +164 -186
  101. package/services/documents/forms.client.ts +51 -0
  102. package/services/documents/forms.ts +232 -0
  103. package/services/documents/stamps.client.ts +77 -0
  104. package/services/documents/stamps.ts +481 -0
  105. package/services/documents/stats.client.ts +38 -0
  106. package/services/documents/stats.ts +245 -0
  107. package/services/jobs/conduct.client.ts +30 -3
  108. package/services/jobs/conduct.ts +159 -33
  109. package/services/jobs/jobs.ts +43 -43
  110. package/services/jobs/stats.client.ts +38 -0
  111. package/services/jobs/stats.ts +207 -0
  112. package/services/jobs/timeclock.ts +39 -39
  113. package/services/livemap/livemap.ts +18 -18
  114. package/services/mailer/mailer.ts +78 -78
  115. package/services/notifications/notifications.ts +35 -35
  116. package/services/qualifications/qualifications.ts +81 -46
  117. package/services/settings/accounts.client.ts +23 -10
  118. package/services/settings/accounts.ts +191 -30
  119. package/services/settings/cron.client.ts +13 -0
  120. package/services/settings/cron.ts +118 -5
  121. package/services/settings/laws.ts +1 -1
  122. package/services/settings/settings.ts +73 -52
  123. package/services/settings/system.client.ts +13 -0
  124. package/services/settings/system.ts +115 -15
  125. package/services/stats/stats.client.ts +7 -7
  126. package/services/stats/stats.ts +24 -24
  127. package/services/sync/sync.client.ts +271 -37
  128. package/services/sync/sync.ts +1525 -421
  129. package/services/vehicles/vehicles.ts +8 -8
  130. package/services/wiki/wiki.ts +8 -8
  131. package/svcs.ts +100 -6
  132. package/resources/centrum/attributes.ts +0 -183
  133. package/resources/documents/signoff.ts +0 -55
  134. package/resources/users/labels.ts +0 -160
@@ -0,0 +1,474 @@
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/calendar/entries/entries.proto" (package "resources.calendar.entries", syntax proto3)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
6
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
7
+ import { WireType } from "@protobuf-ts/runtime";
8
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
9
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
10
+ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
+ import type { PartialMessage } from "@protobuf-ts/runtime";
12
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
+ import { MessageType } from "@protobuf-ts/runtime";
14
+ import { UserShort } from "../../users/short/user";
15
+ import { Content } from "../../common/content/content";
16
+ import { Calendar } from "../calendar";
17
+ import { Timestamp } from "../../timestamp/timestamp";
18
+ /**
19
+ * @generated from protobuf message resources.calendar.entries.CalendarEntry
20
+ */
21
+ export interface CalendarEntry {
22
+ /**
23
+ * @generated from protobuf field: int64 id = 1
24
+ */
25
+ id: number;
26
+ /**
27
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2
28
+ */
29
+ createdAt?: Timestamp;
30
+ /**
31
+ * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 3
32
+ */
33
+ updatedAt?: Timestamp;
34
+ /**
35
+ * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 4
36
+ */
37
+ deletedAt?: Timestamp;
38
+ /**
39
+ * @generated from protobuf field: int64 calendar_id = 5
40
+ */
41
+ calendarId: number;
42
+ /**
43
+ * @generated from protobuf field: optional resources.calendar.Calendar calendar = 6
44
+ */
45
+ calendar?: Calendar;
46
+ /**
47
+ * @generated from protobuf field: optional string job = 7
48
+ */
49
+ job?: string;
50
+ /**
51
+ * @generated from protobuf field: resources.timestamp.Timestamp start_time = 8
52
+ */
53
+ startTime?: Timestamp;
54
+ /**
55
+ * @generated from protobuf field: optional resources.timestamp.Timestamp end_time = 9
56
+ */
57
+ endTime?: Timestamp;
58
+ /**
59
+ * @generated from protobuf field: string title = 10
60
+ */
61
+ title: string;
62
+ /**
63
+ * @generated from protobuf field: resources.common.content.Content content = 11
64
+ */
65
+ content?: Content;
66
+ /**
67
+ * @generated from protobuf field: bool closed = 12
68
+ */
69
+ closed: boolean;
70
+ /**
71
+ * @generated from protobuf field: optional bool rsvp_open = 13
72
+ */
73
+ rsvpOpen?: boolean;
74
+ /**
75
+ * @generated from protobuf field: optional int32 creator_id = 14
76
+ */
77
+ creatorId?: number;
78
+ /**
79
+ * @generated from protobuf field: optional resources.users.short.UserShort creator = 15
80
+ */
81
+ creator?: UserShort;
82
+ /**
83
+ * @generated from protobuf field: string creator_job = 16
84
+ */
85
+ creatorJob: string;
86
+ /**
87
+ * @generated from protobuf field: optional resources.calendar.entries.CalendarEntryRecurring recurring = 17
88
+ */
89
+ recurring?: CalendarEntryRecurring;
90
+ /**
91
+ * @generated from protobuf field: optional resources.calendar.entries.CalendarEntryRSVP rsvp = 18
92
+ */
93
+ rsvp?: CalendarEntryRSVP;
94
+ }
95
+ /**
96
+ * @generated from protobuf message resources.calendar.entries.CalendarEntryRecurring
97
+ */
98
+ export interface CalendarEntryRecurring {
99
+ /**
100
+ * @generated from protobuf field: string every = 1
101
+ */
102
+ every: string;
103
+ /**
104
+ * @generated from protobuf field: int32 count = 2
105
+ */
106
+ count: number;
107
+ /**
108
+ * @generated from protobuf field: optional resources.timestamp.Timestamp until = 3
109
+ */
110
+ until?: Timestamp;
111
+ }
112
+ /**
113
+ * @generated from protobuf message resources.calendar.entries.CalendarEntryRSVP
114
+ */
115
+ export interface CalendarEntryRSVP {
116
+ /**
117
+ * @generated from protobuf field: int64 entry_id = 1
118
+ */
119
+ entryId: number;
120
+ /**
121
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2
122
+ */
123
+ createdAt?: Timestamp;
124
+ /**
125
+ * @generated from protobuf field: int32 user_id = 3
126
+ */
127
+ userId: number;
128
+ /**
129
+ * @generated from protobuf field: optional resources.users.short.UserShort user = 4
130
+ */
131
+ user?: UserShort;
132
+ /**
133
+ * @generated from protobuf field: resources.calendar.entries.RsvpResponses response = 5
134
+ */
135
+ response: RsvpResponses;
136
+ }
137
+ /**
138
+ * @generated from protobuf enum resources.calendar.entries.RsvpResponses
139
+ */
140
+ export enum RsvpResponses {
141
+ /**
142
+ * @generated from protobuf enum value: RSVP_RESPONSES_UNSPECIFIED = 0;
143
+ */
144
+ UNSPECIFIED = 0,
145
+ /**
146
+ * @generated from protobuf enum value: RSVP_RESPONSES_HIDDEN = 1;
147
+ */
148
+ HIDDEN = 1,
149
+ /**
150
+ * @generated from protobuf enum value: RSVP_RESPONSES_INVITED = 2;
151
+ */
152
+ INVITED = 2,
153
+ /**
154
+ * @generated from protobuf enum value: RSVP_RESPONSES_NO = 3;
155
+ */
156
+ NO = 3,
157
+ /**
158
+ * @generated from protobuf enum value: RSVP_RESPONSES_MAYBE = 4;
159
+ */
160
+ MAYBE = 4,
161
+ /**
162
+ * @generated from protobuf enum value: RSVP_RESPONSES_YES = 5;
163
+ */
164
+ YES = 5
165
+ }
166
+ // @generated message type with reflection information, may provide speed optimized methods
167
+ class CalendarEntry$Type extends MessageType<CalendarEntry> {
168
+ constructor() {
169
+ super("resources.calendar.entries.CalendarEntry", [
170
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "sql:\"primary_key\" alias:\"id\"" } },
171
+ { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
172
+ { no: 3, name: "updated_at", kind: "message", T: () => Timestamp },
173
+ { no: 4, name: "deleted_at", kind: "message", T: () => Timestamp },
174
+ { no: 5, name: "calendar_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
175
+ { no: 6, name: "calendar", kind: "message", T: () => Calendar },
176
+ { no: 7, name: "job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
177
+ { no: 8, name: "start_time", kind: "message", T: () => Timestamp },
178
+ { no: 9, name: "end_time", kind: "message", T: () => Timestamp },
179
+ { no: 10, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "512" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
180
+ { no: 11, name: "content", kind: "message", T: () => Content },
181
+ { no: 12, name: "closed", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
182
+ { no: 13, name: "rsvp_open", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
183
+ { no: 14, name: "creator_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
184
+ { no: 15, name: "creator", kind: "message", T: () => UserShort, options: { "tagger.tags": "alias:\"creator\"" } },
185
+ { no: 16, name: "creator_job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
186
+ { no: 17, name: "recurring", kind: "message", T: () => CalendarEntryRecurring },
187
+ { no: 18, name: "rsvp", kind: "message", T: () => CalendarEntryRSVP }
188
+ ]);
189
+ }
190
+ create(value?: PartialMessage<CalendarEntry>): CalendarEntry {
191
+ const message = globalThis.Object.create((this.messagePrototype!));
192
+ message.id = 0;
193
+ message.calendarId = 0;
194
+ message.title = "";
195
+ message.closed = false;
196
+ message.creatorJob = "";
197
+ if (value !== undefined)
198
+ reflectionMergePartial<CalendarEntry>(this, message, value);
199
+ return message;
200
+ }
201
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CalendarEntry): CalendarEntry {
202
+ let message = target ?? this.create(), end = reader.pos + length;
203
+ while (reader.pos < end) {
204
+ let [fieldNo, wireType] = reader.tag();
205
+ switch (fieldNo) {
206
+ case /* int64 id */ 1:
207
+ message.id = reader.int64().toNumber();
208
+ break;
209
+ case /* optional resources.timestamp.Timestamp created_at */ 2:
210
+ message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
211
+ break;
212
+ case /* optional resources.timestamp.Timestamp updated_at */ 3:
213
+ message.updatedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.updatedAt);
214
+ break;
215
+ case /* optional resources.timestamp.Timestamp deleted_at */ 4:
216
+ message.deletedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.deletedAt);
217
+ break;
218
+ case /* int64 calendar_id */ 5:
219
+ message.calendarId = reader.int64().toNumber();
220
+ break;
221
+ case /* optional resources.calendar.Calendar calendar */ 6:
222
+ message.calendar = Calendar.internalBinaryRead(reader, reader.uint32(), options, message.calendar);
223
+ break;
224
+ case /* optional string job */ 7:
225
+ message.job = reader.string();
226
+ break;
227
+ case /* resources.timestamp.Timestamp start_time */ 8:
228
+ message.startTime = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.startTime);
229
+ break;
230
+ case /* optional resources.timestamp.Timestamp end_time */ 9:
231
+ message.endTime = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.endTime);
232
+ break;
233
+ case /* string title */ 10:
234
+ message.title = reader.string();
235
+ break;
236
+ case /* resources.common.content.Content content */ 11:
237
+ message.content = Content.internalBinaryRead(reader, reader.uint32(), options, message.content);
238
+ break;
239
+ case /* bool closed */ 12:
240
+ message.closed = reader.bool();
241
+ break;
242
+ case /* optional bool rsvp_open */ 13:
243
+ message.rsvpOpen = reader.bool();
244
+ break;
245
+ case /* optional int32 creator_id */ 14:
246
+ message.creatorId = reader.int32();
247
+ break;
248
+ case /* optional resources.users.short.UserShort creator */ 15:
249
+ message.creator = UserShort.internalBinaryRead(reader, reader.uint32(), options, message.creator);
250
+ break;
251
+ case /* string creator_job */ 16:
252
+ message.creatorJob = reader.string();
253
+ break;
254
+ case /* optional resources.calendar.entries.CalendarEntryRecurring recurring */ 17:
255
+ message.recurring = CalendarEntryRecurring.internalBinaryRead(reader, reader.uint32(), options, message.recurring);
256
+ break;
257
+ case /* optional resources.calendar.entries.CalendarEntryRSVP rsvp */ 18:
258
+ message.rsvp = CalendarEntryRSVP.internalBinaryRead(reader, reader.uint32(), options, message.rsvp);
259
+ break;
260
+ default:
261
+ let u = options.readUnknownField;
262
+ if (u === "throw")
263
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
264
+ let d = reader.skip(wireType);
265
+ if (u !== false)
266
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
267
+ }
268
+ }
269
+ return message;
270
+ }
271
+ internalBinaryWrite(message: CalendarEntry, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
272
+ /* int64 id = 1; */
273
+ if (message.id !== 0)
274
+ writer.tag(1, WireType.Varint).int64(message.id);
275
+ /* optional resources.timestamp.Timestamp created_at = 2; */
276
+ if (message.createdAt)
277
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
278
+ /* optional resources.timestamp.Timestamp updated_at = 3; */
279
+ if (message.updatedAt)
280
+ Timestamp.internalBinaryWrite(message.updatedAt, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
281
+ /* optional resources.timestamp.Timestamp deleted_at = 4; */
282
+ if (message.deletedAt)
283
+ Timestamp.internalBinaryWrite(message.deletedAt, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
284
+ /* int64 calendar_id = 5; */
285
+ if (message.calendarId !== 0)
286
+ writer.tag(5, WireType.Varint).int64(message.calendarId);
287
+ /* optional resources.calendar.Calendar calendar = 6; */
288
+ if (message.calendar)
289
+ Calendar.internalBinaryWrite(message.calendar, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
290
+ /* optional string job = 7; */
291
+ if (message.job !== undefined)
292
+ writer.tag(7, WireType.LengthDelimited).string(message.job);
293
+ /* resources.timestamp.Timestamp start_time = 8; */
294
+ if (message.startTime)
295
+ Timestamp.internalBinaryWrite(message.startTime, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
296
+ /* optional resources.timestamp.Timestamp end_time = 9; */
297
+ if (message.endTime)
298
+ Timestamp.internalBinaryWrite(message.endTime, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
299
+ /* string title = 10; */
300
+ if (message.title !== "")
301
+ writer.tag(10, WireType.LengthDelimited).string(message.title);
302
+ /* resources.common.content.Content content = 11; */
303
+ if (message.content)
304
+ Content.internalBinaryWrite(message.content, writer.tag(11, WireType.LengthDelimited).fork(), options).join();
305
+ /* bool closed = 12; */
306
+ if (message.closed !== false)
307
+ writer.tag(12, WireType.Varint).bool(message.closed);
308
+ /* optional bool rsvp_open = 13; */
309
+ if (message.rsvpOpen !== undefined)
310
+ writer.tag(13, WireType.Varint).bool(message.rsvpOpen);
311
+ /* optional int32 creator_id = 14; */
312
+ if (message.creatorId !== undefined)
313
+ writer.tag(14, WireType.Varint).int32(message.creatorId);
314
+ /* optional resources.users.short.UserShort creator = 15; */
315
+ if (message.creator)
316
+ UserShort.internalBinaryWrite(message.creator, writer.tag(15, WireType.LengthDelimited).fork(), options).join();
317
+ /* string creator_job = 16; */
318
+ if (message.creatorJob !== "")
319
+ writer.tag(16, WireType.LengthDelimited).string(message.creatorJob);
320
+ /* optional resources.calendar.entries.CalendarEntryRecurring recurring = 17; */
321
+ if (message.recurring)
322
+ CalendarEntryRecurring.internalBinaryWrite(message.recurring, writer.tag(17, WireType.LengthDelimited).fork(), options).join();
323
+ /* optional resources.calendar.entries.CalendarEntryRSVP rsvp = 18; */
324
+ if (message.rsvp)
325
+ CalendarEntryRSVP.internalBinaryWrite(message.rsvp, writer.tag(18, WireType.LengthDelimited).fork(), options).join();
326
+ let u = options.writeUnknownFields;
327
+ if (u !== false)
328
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
329
+ return writer;
330
+ }
331
+ }
332
+ /**
333
+ * @generated MessageType for protobuf message resources.calendar.entries.CalendarEntry
334
+ */
335
+ export const CalendarEntry = new CalendarEntry$Type();
336
+ // @generated message type with reflection information, may provide speed optimized methods
337
+ class CalendarEntryRecurring$Type extends MessageType<CalendarEntryRecurring> {
338
+ constructor() {
339
+ super("resources.calendar.entries.CalendarEntryRecurring", [
340
+ { no: 1, name: "every", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
341
+ { no: 2, name: "count", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
342
+ { no: 3, name: "until", kind: "message", T: () => Timestamp }
343
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
344
+ }
345
+ create(value?: PartialMessage<CalendarEntryRecurring>): CalendarEntryRecurring {
346
+ const message = globalThis.Object.create((this.messagePrototype!));
347
+ message.every = "";
348
+ message.count = 0;
349
+ if (value !== undefined)
350
+ reflectionMergePartial<CalendarEntryRecurring>(this, message, value);
351
+ return message;
352
+ }
353
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CalendarEntryRecurring): CalendarEntryRecurring {
354
+ let message = target ?? this.create(), end = reader.pos + length;
355
+ while (reader.pos < end) {
356
+ let [fieldNo, wireType] = reader.tag();
357
+ switch (fieldNo) {
358
+ case /* string every */ 1:
359
+ message.every = reader.string();
360
+ break;
361
+ case /* int32 count */ 2:
362
+ message.count = reader.int32();
363
+ break;
364
+ case /* optional resources.timestamp.Timestamp until */ 3:
365
+ message.until = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.until);
366
+ break;
367
+ default:
368
+ let u = options.readUnknownField;
369
+ if (u === "throw")
370
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
371
+ let d = reader.skip(wireType);
372
+ if (u !== false)
373
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
374
+ }
375
+ }
376
+ return message;
377
+ }
378
+ internalBinaryWrite(message: CalendarEntryRecurring, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
379
+ /* string every = 1; */
380
+ if (message.every !== "")
381
+ writer.tag(1, WireType.LengthDelimited).string(message.every);
382
+ /* int32 count = 2; */
383
+ if (message.count !== 0)
384
+ writer.tag(2, WireType.Varint).int32(message.count);
385
+ /* optional resources.timestamp.Timestamp until = 3; */
386
+ if (message.until)
387
+ Timestamp.internalBinaryWrite(message.until, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
388
+ let u = options.writeUnknownFields;
389
+ if (u !== false)
390
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
391
+ return writer;
392
+ }
393
+ }
394
+ /**
395
+ * @generated MessageType for protobuf message resources.calendar.entries.CalendarEntryRecurring
396
+ */
397
+ export const CalendarEntryRecurring = new CalendarEntryRecurring$Type();
398
+ // @generated message type with reflection information, may provide speed optimized methods
399
+ class CalendarEntryRSVP$Type extends MessageType<CalendarEntryRSVP> {
400
+ constructor() {
401
+ super("resources.calendar.entries.CalendarEntryRSVP", [
402
+ { no: 1, name: "entry_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
403
+ { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
404
+ { no: 3, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
405
+ { no: 4, name: "user", kind: "message", T: () => UserShort },
406
+ { no: 5, name: "response", kind: "enum", T: () => ["resources.calendar.entries.RsvpResponses", RsvpResponses, "RSVP_RESPONSES_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } }
407
+ ]);
408
+ }
409
+ create(value?: PartialMessage<CalendarEntryRSVP>): CalendarEntryRSVP {
410
+ const message = globalThis.Object.create((this.messagePrototype!));
411
+ message.entryId = 0;
412
+ message.userId = 0;
413
+ message.response = 0;
414
+ if (value !== undefined)
415
+ reflectionMergePartial<CalendarEntryRSVP>(this, message, value);
416
+ return message;
417
+ }
418
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CalendarEntryRSVP): CalendarEntryRSVP {
419
+ let message = target ?? this.create(), end = reader.pos + length;
420
+ while (reader.pos < end) {
421
+ let [fieldNo, wireType] = reader.tag();
422
+ switch (fieldNo) {
423
+ case /* int64 entry_id */ 1:
424
+ message.entryId = reader.int64().toNumber();
425
+ break;
426
+ case /* optional resources.timestamp.Timestamp created_at */ 2:
427
+ message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
428
+ break;
429
+ case /* int32 user_id */ 3:
430
+ message.userId = reader.int32();
431
+ break;
432
+ case /* optional resources.users.short.UserShort user */ 4:
433
+ message.user = UserShort.internalBinaryRead(reader, reader.uint32(), options, message.user);
434
+ break;
435
+ case /* resources.calendar.entries.RsvpResponses response */ 5:
436
+ message.response = reader.int32();
437
+ break;
438
+ default:
439
+ let u = options.readUnknownField;
440
+ if (u === "throw")
441
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
442
+ let d = reader.skip(wireType);
443
+ if (u !== false)
444
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
445
+ }
446
+ }
447
+ return message;
448
+ }
449
+ internalBinaryWrite(message: CalendarEntryRSVP, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
450
+ /* int64 entry_id = 1; */
451
+ if (message.entryId !== 0)
452
+ writer.tag(1, WireType.Varint).int64(message.entryId);
453
+ /* optional resources.timestamp.Timestamp created_at = 2; */
454
+ if (message.createdAt)
455
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
456
+ /* int32 user_id = 3; */
457
+ if (message.userId !== 0)
458
+ writer.tag(3, WireType.Varint).int32(message.userId);
459
+ /* optional resources.users.short.UserShort user = 4; */
460
+ if (message.user)
461
+ UserShort.internalBinaryWrite(message.user, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
462
+ /* resources.calendar.entries.RsvpResponses response = 5; */
463
+ if (message.response !== 0)
464
+ writer.tag(5, WireType.Varint).int32(message.response);
465
+ let u = options.writeUnknownFields;
466
+ if (u !== false)
467
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
468
+ return writer;
469
+ }
470
+ }
471
+ /**
472
+ * @generated MessageType for protobuf message resources.calendar.entries.CalendarEntryRSVP
473
+ */
474
+ export const CalendarEntryRSVP = new CalendarEntryRSVP$Type();
@@ -1,5 +1,5 @@
1
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/centrum/access.proto" (package "resources.centrum", syntax proto3)
2
+ // @generated from protobuf file "resources/centrum/access/access.proto" (package "resources.centrum.access", syntax proto3)
3
3
  // tslint:disable
4
4
  // @ts-nocheck
5
5
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
@@ -11,18 +11,18 @@ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
11
  import type { PartialMessage } from "@protobuf-ts/runtime";
12
12
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
13
  import { MessageType } from "@protobuf-ts/runtime";
14
- import { Timestamp } from "../timestamp/timestamp";
14
+ import { Timestamp } from "../../timestamp/timestamp";
15
15
  /**
16
- * @generated from protobuf message resources.centrum.CentrumAccess
16
+ * @generated from protobuf message resources.centrum.access.CentrumAccess
17
17
  */
18
18
  export interface CentrumAccess {
19
19
  /**
20
- * @generated from protobuf field: repeated resources.centrum.CentrumJobAccess jobs = 1
20
+ * @generated from protobuf field: repeated resources.centrum.access.CentrumJobAccess jobs = 1
21
21
  */
22
22
  jobs: CentrumJobAccess[];
23
23
  }
24
24
  /**
25
- * @generated from protobuf message resources.centrum.CentrumJobAccess
25
+ * @generated from protobuf message resources.centrum.access.CentrumJobAccess
26
26
  */
27
27
  export interface CentrumJobAccess {
28
28
  /**
@@ -58,7 +58,7 @@ export interface CentrumJobAccess {
58
58
  */
59
59
  jobGradeLabel?: string;
60
60
  /**
61
- * @generated from protobuf field: resources.centrum.CentrumAccessLevel access = 8
61
+ * @generated from protobuf field: resources.centrum.access.CentrumAccessLevel access = 8
62
62
  */
63
63
  access: CentrumAccessLevel;
64
64
  /**
@@ -69,19 +69,19 @@ export interface CentrumJobAccess {
69
69
  /**
70
70
  * Dummy - DO NOT USE!
71
71
  *
72
- * @generated from protobuf message resources.centrum.CentrumUserAccess
72
+ * @generated from protobuf message resources.centrum.access.CentrumUserAccess
73
73
  */
74
74
  export interface CentrumUserAccess {
75
75
  }
76
76
  /**
77
77
  * Dummy - DO NOT USE!
78
78
  *
79
- * @generated from protobuf message resources.centrum.CentrumQualificationAccess
79
+ * @generated from protobuf message resources.centrum.access.CentrumQualificationAccess
80
80
  */
81
81
  export interface CentrumQualificationAccess {
82
82
  }
83
83
  /**
84
- * @generated from protobuf enum resources.centrum.CentrumAccessLevel
84
+ * @generated from protobuf enum resources.centrum.access.CentrumAccessLevel
85
85
  */
86
86
  export enum CentrumAccessLevel {
87
87
  /**
@@ -108,7 +108,7 @@ export enum CentrumAccessLevel {
108
108
  // @generated message type with reflection information, may provide speed optimized methods
109
109
  class CentrumAccess$Type extends MessageType<CentrumAccess> {
110
110
  constructor() {
111
- super("resources.centrum.CentrumAccess", [
111
+ super("resources.centrum.access.CentrumAccess", [
112
112
  { no: 1, name: "jobs", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => CentrumJobAccess, options: { "buf.validate.field": { repeated: { maxItems: "10" } }, "tagger.tags": "alias:\"job_access\"" } }
113
113
  ], { "codegen.dbscanner.dbscanner": { enabled: true } });
114
114
  }
@@ -124,7 +124,7 @@ class CentrumAccess$Type extends MessageType<CentrumAccess> {
124
124
  while (reader.pos < end) {
125
125
  let [fieldNo, wireType] = reader.tag();
126
126
  switch (fieldNo) {
127
- case /* repeated resources.centrum.CentrumJobAccess jobs */ 1:
127
+ case /* repeated resources.centrum.access.CentrumJobAccess jobs */ 1:
128
128
  message.jobs.push(CentrumJobAccess.internalBinaryRead(reader, reader.uint32(), options));
129
129
  break;
130
130
  default:
@@ -139,7 +139,7 @@ class CentrumAccess$Type extends MessageType<CentrumAccess> {
139
139
  return message;
140
140
  }
141
141
  internalBinaryWrite(message: CentrumAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
142
- /* repeated resources.centrum.CentrumJobAccess jobs = 1; */
142
+ /* repeated resources.centrum.access.CentrumJobAccess jobs = 1; */
143
143
  for (let i = 0; i < message.jobs.length; i++)
144
144
  CentrumJobAccess.internalBinaryWrite(message.jobs[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
145
145
  let u = options.writeUnknownFields;
@@ -149,13 +149,13 @@ class CentrumAccess$Type extends MessageType<CentrumAccess> {
149
149
  }
150
150
  }
151
151
  /**
152
- * @generated MessageType for protobuf message resources.centrum.CentrumAccess
152
+ * @generated MessageType for protobuf message resources.centrum.access.CentrumAccess
153
153
  */
154
154
  export const CentrumAccess = new CentrumAccess$Type();
155
155
  // @generated message type with reflection information, may provide speed optimized methods
156
156
  class CentrumJobAccess$Type extends MessageType<CentrumJobAccess> {
157
157
  constructor() {
158
- super("resources.centrum.CentrumJobAccess", [
158
+ super("resources.centrum.access.CentrumJobAccess", [
159
159
  { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
160
160
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
161
161
  { no: 3, name: "target_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
@@ -164,7 +164,7 @@ class CentrumJobAccess$Type extends MessageType<CentrumJobAccess> {
164
164
  { no: 5, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
165
165
  { no: 6, name: "minimum_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
166
166
  { no: 7, name: "job_grade_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
167
- { no: 8, name: "access", kind: "enum", T: () => ["resources.centrum.CentrumAccessLevel", CentrumAccessLevel, "CENTRUM_ACCESS_LEVEL_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
167
+ { no: 8, name: "access", kind: "enum", T: () => ["resources.centrum.access.CentrumAccessLevel", CentrumAccessLevel, "CENTRUM_ACCESS_LEVEL_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
168
168
  { no: 10, name: "accepted_at", kind: "message", T: () => Timestamp }
169
169
  ]);
170
170
  }
@@ -209,7 +209,7 @@ class CentrumJobAccess$Type extends MessageType<CentrumJobAccess> {
209
209
  case /* optional string job_grade_label */ 7:
210
210
  message.jobGradeLabel = reader.string();
211
211
  break;
212
- case /* resources.centrum.CentrumAccessLevel access */ 8:
212
+ case /* resources.centrum.access.CentrumAccessLevel access */ 8:
213
213
  message.access = reader.int32();
214
214
  break;
215
215
  case /* optional resources.timestamp.Timestamp accepted_at */ 10:
@@ -248,7 +248,7 @@ class CentrumJobAccess$Type extends MessageType<CentrumJobAccess> {
248
248
  /* optional string job_grade_label = 7; */
249
249
  if (message.jobGradeLabel !== undefined)
250
250
  writer.tag(7, WireType.LengthDelimited).string(message.jobGradeLabel);
251
- /* resources.centrum.CentrumAccessLevel access = 8; */
251
+ /* resources.centrum.access.CentrumAccessLevel access = 8; */
252
252
  if (message.access !== 0)
253
253
  writer.tag(8, WireType.Varint).int32(message.access);
254
254
  /* string source_job = 9; */
@@ -264,13 +264,13 @@ class CentrumJobAccess$Type extends MessageType<CentrumJobAccess> {
264
264
  }
265
265
  }
266
266
  /**
267
- * @generated MessageType for protobuf message resources.centrum.CentrumJobAccess
267
+ * @generated MessageType for protobuf message resources.centrum.access.CentrumJobAccess
268
268
  */
269
269
  export const CentrumJobAccess = new CentrumJobAccess$Type();
270
270
  // @generated message type with reflection information, may provide speed optimized methods
271
271
  class CentrumUserAccess$Type extends MessageType<CentrumUserAccess> {
272
272
  constructor() {
273
- super("resources.centrum.CentrumUserAccess", []);
273
+ super("resources.centrum.access.CentrumUserAccess", []);
274
274
  }
275
275
  create(value?: PartialMessage<CentrumUserAccess>): CentrumUserAccess {
276
276
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -302,13 +302,13 @@ class CentrumUserAccess$Type extends MessageType<CentrumUserAccess> {
302
302
  }
303
303
  }
304
304
  /**
305
- * @generated MessageType for protobuf message resources.centrum.CentrumUserAccess
305
+ * @generated MessageType for protobuf message resources.centrum.access.CentrumUserAccess
306
306
  */
307
307
  export const CentrumUserAccess = new CentrumUserAccess$Type();
308
308
  // @generated message type with reflection information, may provide speed optimized methods
309
309
  class CentrumQualificationAccess$Type extends MessageType<CentrumQualificationAccess> {
310
310
  constructor() {
311
- super("resources.centrum.CentrumQualificationAccess", []);
311
+ super("resources.centrum.access.CentrumQualificationAccess", []);
312
312
  }
313
313
  create(value?: PartialMessage<CentrumQualificationAccess>): CentrumQualificationAccess {
314
314
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -340,6 +340,6 @@ class CentrumQualificationAccess$Type extends MessageType<CentrumQualificationAc
340
340
  }
341
341
  }
342
342
  /**
343
- * @generated MessageType for protobuf message resources.centrum.CentrumQualificationAccess
343
+ * @generated MessageType for protobuf message resources.centrum.access.CentrumQualificationAccess
344
344
  */
345
345
  export const CentrumQualificationAccess = new CentrumQualificationAccess$Type();