@fivenet-app/gen 2026.7.3 → 2026.8.5

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 (40) hide show
  1. package/google/protobuf/descriptor.ts +3 -11
  2. package/google/protobuf/timestamp.ts +6 -7
  3. package/package.json +1 -1
  4. package/perms.ts +21 -4
  5. package/resources/audit/audit.ts +19 -9
  6. package/resources/calendar/calendar.ts +11 -0
  7. package/resources/calendar/entries/entries.ts +23 -0
  8. package/resources/centrum/dispatches/dispatches.ts +8 -8
  9. package/resources/centrum/units/units.ts +5 -5
  10. package/resources/citizens/labels/access.ts +10 -6
  11. package/resources/dbsync/state.ts +192 -0
  12. package/resources/documents/stamps/access.ts +25 -0
  13. package/resources/documents/stamps/stamp.ts +0 -21
  14. package/resources/documents/templates/templates.ts +61 -83
  15. package/resources/documents/workflow/workflow.ts +61 -1
  16. package/resources/jobs/groups/access/access.ts +29 -0
  17. package/resources/jobs/groups/activity.ts +332 -0
  18. package/resources/jobs/groups/group.ts +1666 -0
  19. package/resources/jobs/user_selector.ts +184 -0
  20. package/resources/settings/status.ts +197 -105
  21. package/services/calendar/calendar.ts +1 -1
  22. package/services/calendar/entries.ts +3 -3
  23. package/services/centrum/units.ts +3 -3
  24. package/services/completor/completor.ts +2 -2
  25. package/services/documents/approval.ts +2 -2
  26. package/services/documents/documents.ts +9 -9
  27. package/services/documents/templates.client.ts +13 -0
  28. package/services/documents/templates.ts +136 -14
  29. package/services/jobs/colleagues.client.ts +34 -8
  30. package/services/jobs/colleagues.ts +263 -74
  31. package/services/jobs/conduct.ts +11 -19
  32. package/services/jobs/groups.client.ts +311 -0
  33. package/services/jobs/groups.ts +3596 -1
  34. package/services/jobs/timeclock.ts +30 -27
  35. package/services/qualifications/qualifications.ts +26 -4
  36. package/services/settings/settings.ts +1 -1
  37. package/services/sync/sync.client.ts +90 -37
  38. package/services/sync/sync.ts +555 -6
  39. package/services/vehicles/vehicles.ts +2 -2
  40. package/svcs.ts +31 -1
@@ -0,0 +1,29 @@
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/jobs/groups/access/access.proto" (package "resources.jobs.groups.access", syntax proto3)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ /**
6
+ * @generated from protobuf enum resources.jobs.groups.access.AccessLevel
7
+ */
8
+ export enum AccessLevel {
9
+ /**
10
+ * @generated from protobuf enum value: ACCESS_LEVEL_UNSPECIFIED = 0;
11
+ */
12
+ UNSPECIFIED = 0,
13
+ /**
14
+ * @generated from protobuf enum value: ACCESS_LEVEL_BLOCKED = 1;
15
+ */
16
+ BLOCKED = 1,
17
+ /**
18
+ * @generated from protobuf enum value: ACCESS_LEVEL_VIEW = 2;
19
+ */
20
+ VIEW = 2,
21
+ /**
22
+ * @generated from protobuf enum value: ACCESS_LEVEL_EDIT = 4;
23
+ */
24
+ EDIT = 4,
25
+ /**
26
+ * @generated from protobuf enum value: ACCESS_LEVEL_MANAGE = 5;
27
+ */
28
+ MANAGE = 5
29
+ }
@@ -0,0 +1,332 @@
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/jobs/groups/activity.proto" (package "resources.jobs.groups", 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 { GroupRule } from "./group";
15
+ import { Timestamp } from "../../timestamp/timestamp";
16
+ import { Colleague } from "../colleagues/colleagues";
17
+ /**
18
+ * @generated from protobuf message resources.jobs.groups.GroupActivity
19
+ */
20
+ export interface GroupActivity {
21
+ /**
22
+ * @generated from protobuf field: int64 id = 1
23
+ */
24
+ id: number;
25
+ /**
26
+ * @generated from protobuf field: string job = 2
27
+ */
28
+ job: string;
29
+ /**
30
+ * @generated from protobuf field: int64 group_id = 3
31
+ */
32
+ groupId: number;
33
+ /**
34
+ * @generated from protobuf field: resources.jobs.groups.GroupActivityType type = 4
35
+ */
36
+ type: GroupActivityType;
37
+ /**
38
+ * @generated from protobuf field: optional int32 actor_user_id = 5
39
+ */
40
+ actorUserId?: number;
41
+ /**
42
+ * @generated from protobuf field: optional resources.jobs.colleagues.Colleague actor_user = 6
43
+ */
44
+ actorUser?: Colleague;
45
+ /**
46
+ * Optional target user for member/leader events.
47
+ *
48
+ * @generated from protobuf field: optional int32 target_user_id = 7
49
+ */
50
+ targetUserId?: number;
51
+ /**
52
+ * @generated from protobuf field: optional resources.jobs.colleagues.Colleague target_user = 8
53
+ */
54
+ targetUser?: Colleague;
55
+ /**
56
+ * Optional target rule for rule events.
57
+ *
58
+ * @generated from protobuf field: optional int64 rule_id = 9
59
+ */
60
+ ruleId?: number;
61
+ /**
62
+ * @generated from protobuf field: optional string reason = 10
63
+ */
64
+ reason?: string;
65
+ /**
66
+ * @generated from protobuf field: resources.timestamp.Timestamp created_at = 11
67
+ */
68
+ createdAt?: Timestamp;
69
+ /**
70
+ * @generated from protobuf field: resources.jobs.groups.GroupActivityData data = 12
71
+ */
72
+ data?: GroupActivityData;
73
+ }
74
+ /**
75
+ * @generated from protobuf message resources.jobs.groups.GroupActivityData
76
+ */
77
+ export interface GroupActivityData {
78
+ /**
79
+ * @generated from protobuf oneof: data
80
+ */
81
+ data: {
82
+ oneofKind: "rule";
83
+ /**
84
+ * @generated from protobuf field: resources.jobs.groups.GroupRule rule = 1
85
+ */
86
+ rule: GroupRule;
87
+ } | {
88
+ oneofKind: undefined;
89
+ };
90
+ }
91
+ /**
92
+ * @generated from protobuf enum resources.jobs.groups.GroupActivityType
93
+ */
94
+ export enum GroupActivityType {
95
+ /**
96
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_UNSPECIFIED = 0;
97
+ */
98
+ UNSPECIFIED = 0,
99
+ /**
100
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_CREATED = 1;
101
+ */
102
+ CREATED = 1,
103
+ /**
104
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_UPDATED = 2;
105
+ */
106
+ UPDATED = 2,
107
+ /**
108
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_ARCHIVED = 3;
109
+ */
110
+ ARCHIVED = 3,
111
+ /**
112
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_RESTORED = 4;
113
+ */
114
+ RESTORED = 4,
115
+ /**
116
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_MEMBER_ADDED = 10;
117
+ */
118
+ MEMBER_ADDED = 10,
119
+ /**
120
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_MEMBER_REMOVED = 11;
121
+ */
122
+ MEMBER_REMOVED = 11,
123
+ /**
124
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_MEMBER_EXCLUDED = 12;
125
+ */
126
+ MEMBER_EXCLUDED = 12,
127
+ /**
128
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_MEMBER_EXCLUSION_REMOVED = 13;
129
+ */
130
+ MEMBER_EXCLUSION_REMOVED = 13,
131
+ /**
132
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_LEADER_ADDED = 20;
133
+ */
134
+ LEADER_ADDED = 20,
135
+ /**
136
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_LEADER_REMOVED = 21;
137
+ */
138
+ LEADER_REMOVED = 21,
139
+ /**
140
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_RULE_ADDED = 30;
141
+ */
142
+ RULE_ADDED = 30,
143
+ /**
144
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_RULE_UPDATED = 31;
145
+ */
146
+ RULE_UPDATED = 31,
147
+ /**
148
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_RULE_REMOVED = 32;
149
+ */
150
+ RULE_REMOVED = 32,
151
+ /**
152
+ * @generated from protobuf enum value: GROUP_ACTIVITY_TYPE_LOGO_UPDATED = 40;
153
+ */
154
+ LOGO_UPDATED = 40
155
+ }
156
+ // @generated message type with reflection information, may provide speed optimized methods
157
+ class GroupActivity$Type extends MessageType<GroupActivity> {
158
+ constructor() {
159
+ super("resources.jobs.groups.GroupActivity", [
160
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
161
+ { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
162
+ { no: 3, name: "group_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
163
+ { no: 4, name: "type", kind: "enum", T: () => ["resources.jobs.groups.GroupActivityType", GroupActivityType, "GROUP_ACTIVITY_TYPE_"] },
164
+ { no: 5, name: "actor_user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
165
+ { no: 6, name: "actor_user", kind: "message", T: () => Colleague },
166
+ { no: 7, name: "target_user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
167
+ { no: 8, name: "target_user", kind: "message", T: () => Colleague },
168
+ { no: 9, name: "rule_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
169
+ { no: 10, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
170
+ { no: 11, name: "created_at", kind: "message", T: () => Timestamp },
171
+ { no: 12, name: "data", kind: "message", T: () => GroupActivityData }
172
+ ]);
173
+ }
174
+ create(value?: PartialMessage<GroupActivity>): GroupActivity {
175
+ const message = globalThis.Object.create((this.messagePrototype!));
176
+ message.id = 0;
177
+ message.job = "";
178
+ message.groupId = 0;
179
+ message.type = 0;
180
+ if (value !== undefined)
181
+ reflectionMergePartial<GroupActivity>(this, message, value);
182
+ return message;
183
+ }
184
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GroupActivity): GroupActivity {
185
+ let message = target ?? this.create(), end = reader.pos + length;
186
+ while (reader.pos < end) {
187
+ let [fieldNo, wireType] = reader.tag();
188
+ switch (fieldNo) {
189
+ case /* int64 id */ 1:
190
+ message.id = reader.int64().toNumber();
191
+ break;
192
+ case /* string job */ 2:
193
+ message.job = reader.string();
194
+ break;
195
+ case /* int64 group_id */ 3:
196
+ message.groupId = reader.int64().toNumber();
197
+ break;
198
+ case /* resources.jobs.groups.GroupActivityType type */ 4:
199
+ message.type = reader.int32();
200
+ break;
201
+ case /* optional int32 actor_user_id */ 5:
202
+ message.actorUserId = reader.int32();
203
+ break;
204
+ case /* optional resources.jobs.colleagues.Colleague actor_user */ 6:
205
+ message.actorUser = Colleague.internalBinaryRead(reader, reader.uint32(), options, message.actorUser);
206
+ break;
207
+ case /* optional int32 target_user_id */ 7:
208
+ message.targetUserId = reader.int32();
209
+ break;
210
+ case /* optional resources.jobs.colleagues.Colleague target_user */ 8:
211
+ message.targetUser = Colleague.internalBinaryRead(reader, reader.uint32(), options, message.targetUser);
212
+ break;
213
+ case /* optional int64 rule_id */ 9:
214
+ message.ruleId = reader.int64().toNumber();
215
+ break;
216
+ case /* optional string reason */ 10:
217
+ message.reason = reader.string();
218
+ break;
219
+ case /* resources.timestamp.Timestamp created_at */ 11:
220
+ message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
221
+ break;
222
+ case /* resources.jobs.groups.GroupActivityData data */ 12:
223
+ message.data = GroupActivityData.internalBinaryRead(reader, reader.uint32(), options, message.data);
224
+ break;
225
+ default:
226
+ let u = options.readUnknownField;
227
+ if (u === "throw")
228
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
229
+ let d = reader.skip(wireType);
230
+ if (u !== false)
231
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
232
+ }
233
+ }
234
+ return message;
235
+ }
236
+ internalBinaryWrite(message: GroupActivity, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
237
+ /* int64 id = 1; */
238
+ if (message.id !== 0)
239
+ writer.tag(1, WireType.Varint).int64(message.id);
240
+ /* string job = 2; */
241
+ if (message.job !== "")
242
+ writer.tag(2, WireType.LengthDelimited).string(message.job);
243
+ /* int64 group_id = 3; */
244
+ if (message.groupId !== 0)
245
+ writer.tag(3, WireType.Varint).int64(message.groupId);
246
+ /* resources.jobs.groups.GroupActivityType type = 4; */
247
+ if (message.type !== 0)
248
+ writer.tag(4, WireType.Varint).int32(message.type);
249
+ /* optional int32 actor_user_id = 5; */
250
+ if (message.actorUserId !== undefined)
251
+ writer.tag(5, WireType.Varint).int32(message.actorUserId);
252
+ /* optional resources.jobs.colleagues.Colleague actor_user = 6; */
253
+ if (message.actorUser)
254
+ Colleague.internalBinaryWrite(message.actorUser, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
255
+ /* optional int32 target_user_id = 7; */
256
+ if (message.targetUserId !== undefined)
257
+ writer.tag(7, WireType.Varint).int32(message.targetUserId);
258
+ /* optional resources.jobs.colleagues.Colleague target_user = 8; */
259
+ if (message.targetUser)
260
+ Colleague.internalBinaryWrite(message.targetUser, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
261
+ /* optional int64 rule_id = 9; */
262
+ if (message.ruleId !== undefined)
263
+ writer.tag(9, WireType.Varint).int64(message.ruleId);
264
+ /* optional string reason = 10; */
265
+ if (message.reason !== undefined)
266
+ writer.tag(10, WireType.LengthDelimited).string(message.reason);
267
+ /* resources.timestamp.Timestamp created_at = 11; */
268
+ if (message.createdAt)
269
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(11, WireType.LengthDelimited).fork(), options).join();
270
+ /* resources.jobs.groups.GroupActivityData data = 12; */
271
+ if (message.data)
272
+ GroupActivityData.internalBinaryWrite(message.data, writer.tag(12, WireType.LengthDelimited).fork(), options).join();
273
+ let u = options.writeUnknownFields;
274
+ if (u !== false)
275
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
276
+ return writer;
277
+ }
278
+ }
279
+ /**
280
+ * @generated MessageType for protobuf message resources.jobs.groups.GroupActivity
281
+ */
282
+ export const GroupActivity = new GroupActivity$Type();
283
+ // @generated message type with reflection information, may provide speed optimized methods
284
+ class GroupActivityData$Type extends MessageType<GroupActivityData> {
285
+ constructor() {
286
+ super("resources.jobs.groups.GroupActivityData", [
287
+ { no: 1, name: "rule", kind: "message", oneof: "data", T: () => GroupRule }
288
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
289
+ }
290
+ create(value?: PartialMessage<GroupActivityData>): GroupActivityData {
291
+ const message = globalThis.Object.create((this.messagePrototype!));
292
+ message.data = { oneofKind: undefined };
293
+ if (value !== undefined)
294
+ reflectionMergePartial<GroupActivityData>(this, message, value);
295
+ return message;
296
+ }
297
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GroupActivityData): GroupActivityData {
298
+ let message = target ?? this.create(), end = reader.pos + length;
299
+ while (reader.pos < end) {
300
+ let [fieldNo, wireType] = reader.tag();
301
+ switch (fieldNo) {
302
+ case /* resources.jobs.groups.GroupRule rule */ 1:
303
+ message.data = {
304
+ oneofKind: "rule",
305
+ rule: GroupRule.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).rule)
306
+ };
307
+ break;
308
+ default:
309
+ let u = options.readUnknownField;
310
+ if (u === "throw")
311
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
312
+ let d = reader.skip(wireType);
313
+ if (u !== false)
314
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
315
+ }
316
+ }
317
+ return message;
318
+ }
319
+ internalBinaryWrite(message: GroupActivityData, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
320
+ /* resources.jobs.groups.GroupRule rule = 1; */
321
+ if (message.data.oneofKind === "rule")
322
+ GroupRule.internalBinaryWrite(message.data.rule, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
323
+ let u = options.writeUnknownFields;
324
+ if (u !== false)
325
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
326
+ return writer;
327
+ }
328
+ }
329
+ /**
330
+ * @generated MessageType for protobuf message resources.jobs.groups.GroupActivityData
331
+ */
332
+ export const GroupActivityData = new GroupActivityData$Type();