@fivenet-app/gen 2026.3.0 → 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.
- package/clients.ts +6 -6
- package/codegen/perms/perms.ts +93 -1
- package/package.json +1 -1
- package/perms.ts +6 -5
- package/resources/centrum/settings/settings.ts +1 -1
- package/resources/centrum/units/units.ts +1 -1
- package/resources/citizens/labels/labels.ts +526 -0
- package/resources/{users → citizens}/licenses/licenses.ts +17 -17
- package/resources/clientconfig/clientconfig.ts +32 -289
- package/resources/cron/cron.ts +2 -2
- package/resources/documents/access/access.ts +0 -23
- package/resources/documents/category/category.ts +1 -1
- package/resources/documents/templates/templates.ts +2 -2
- package/resources/jobs/labels/labels.ts +16 -5
- package/resources/livemap/markers/marker_marker.ts +1 -1
- package/resources/settings/banner.ts +1 -1
- package/resources/settings/config.ts +16 -14
- package/resources/sync/data/data.ts +9 -9
- package/resources/users/activity/activity.ts +132 -12
- package/resources/users/props/props.ts +4 -4
- package/resources/users/user.ts +4 -4
- package/services/citizens/citizens.client.ts +0 -13
- package/services/citizens/citizens.ts +1 -115
- package/services/citizens/labels.client.ts +77 -0
- package/services/citizens/labels.ts +455 -0
- package/services/completor/completor.ts +5 -5
- package/services/documents/documents.ts +1 -1
- package/services/qualifications/qualifications.ts +1 -1
- package/services/settings/cron.client.ts +13 -0
- package/services/settings/cron.ts +114 -1
- package/services/sync/sync.client.ts +271 -37
- package/services/sync/sync.ts +1438 -381
- package/svcs.ts +29 -27
- package/resources/sync/data/v2/data.ts +0 -220
- package/resources/users/labels/labels.ts +0 -160
- package/services/sync/v2/sync.client.ts +0 -331
- package/services/sync/v2/sync.ts +0 -1766
package/clients.ts
CHANGED
|
@@ -26,6 +26,12 @@ export async function getCitizensCitizensClient() {
|
|
|
26
26
|
return new CitizensServiceClient(useGRPCTransport());
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
// Factory for citizens.labels client.
|
|
30
|
+
export async function getCitizensLabelsClient() {
|
|
31
|
+
const { LabelsServiceClient } = await import('~~/gen/ts/services/citizens/labels.client');
|
|
32
|
+
return new LabelsServiceClient(useGRPCTransport());
|
|
33
|
+
}
|
|
34
|
+
|
|
29
35
|
// Factory for completor.completor client.
|
|
30
36
|
export async function getCompletorCompletorClient() {
|
|
31
37
|
const { CompletorServiceClient } = await import('~~/gen/ts/services/completor/completor.client');
|
|
@@ -170,12 +176,6 @@ export async function getSyncSyncClient() {
|
|
|
170
176
|
return new SyncServiceClient(useGRPCTransport());
|
|
171
177
|
}
|
|
172
178
|
|
|
173
|
-
// Factory for sync.v2.sync client.
|
|
174
|
-
export async function getSyncV2SyncClient() {
|
|
175
|
-
const { SyncServiceClient } = await import('~~/gen/ts/services/sync/v2/sync.client');
|
|
176
|
-
return new SyncServiceClient(useGRPCTransport());
|
|
177
|
-
}
|
|
178
|
-
|
|
179
179
|
// Factory for vehicles.vehicles client.
|
|
180
180
|
export async function getVehiclesVehiclesClient() {
|
|
181
181
|
const { VehiclesServiceClient } = await import('~~/gen/ts/services/vehicles/vehicles.client');
|
package/codegen/perms/perms.ts
CHANGED
|
@@ -74,6 +74,27 @@ export interface ServiceOptions {
|
|
|
74
74
|
* @generated from protobuf field: optional string icon = 2
|
|
75
75
|
*/
|
|
76
76
|
icon?: string;
|
|
77
|
+
/**
|
|
78
|
+
* @generated from protobuf field: repeated codegen.perms.AdditionalServicePerm additional_perms = 3
|
|
79
|
+
*/
|
|
80
|
+
additionalPerms: AdditionalServicePerm[];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @generated from protobuf message codegen.perms.AdditionalServicePerm
|
|
84
|
+
*/
|
|
85
|
+
export interface AdditionalServicePerm {
|
|
86
|
+
/**
|
|
87
|
+
* @generated from protobuf field: string name = 3
|
|
88
|
+
*/
|
|
89
|
+
name: string;
|
|
90
|
+
/**
|
|
91
|
+
* @generated from protobuf field: int32 order = 4
|
|
92
|
+
*/
|
|
93
|
+
order: number;
|
|
94
|
+
/**
|
|
95
|
+
* @generated from protobuf field: repeated codegen.perms.Attr attrs = 5
|
|
96
|
+
*/
|
|
97
|
+
attrs: Attr[];
|
|
77
98
|
}
|
|
78
99
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
79
100
|
class PermsOptions$Type extends MessageType<PermsOptions> {
|
|
@@ -236,12 +257,14 @@ class ServiceOptions$Type extends MessageType<ServiceOptions> {
|
|
|
236
257
|
constructor() {
|
|
237
258
|
super("codegen.perms.ServiceOptions", [
|
|
238
259
|
{ no: 1, name: "order", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
239
|
-
{ no: 2, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
|
|
260
|
+
{ no: 2, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
|
|
261
|
+
{ no: 3, name: "additional_perms", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => AdditionalServicePerm }
|
|
240
262
|
]);
|
|
241
263
|
}
|
|
242
264
|
create(value?: PartialMessage<ServiceOptions>): ServiceOptions {
|
|
243
265
|
const message = globalThis.Object.create((this.messagePrototype!));
|
|
244
266
|
message.order = 0;
|
|
267
|
+
message.additionalPerms = [];
|
|
245
268
|
if (value !== undefined)
|
|
246
269
|
reflectionMergePartial<ServiceOptions>(this, message, value);
|
|
247
270
|
return message;
|
|
@@ -257,6 +280,9 @@ class ServiceOptions$Type extends MessageType<ServiceOptions> {
|
|
|
257
280
|
case /* optional string icon */ 2:
|
|
258
281
|
message.icon = reader.string();
|
|
259
282
|
break;
|
|
283
|
+
case /* repeated codegen.perms.AdditionalServicePerm additional_perms */ 3:
|
|
284
|
+
message.additionalPerms.push(AdditionalServicePerm.internalBinaryRead(reader, reader.uint32(), options));
|
|
285
|
+
break;
|
|
260
286
|
default:
|
|
261
287
|
let u = options.readUnknownField;
|
|
262
288
|
if (u === "throw")
|
|
@@ -275,6 +301,9 @@ class ServiceOptions$Type extends MessageType<ServiceOptions> {
|
|
|
275
301
|
/* optional string icon = 2; */
|
|
276
302
|
if (message.icon !== undefined)
|
|
277
303
|
writer.tag(2, WireType.LengthDelimited).string(message.icon);
|
|
304
|
+
/* repeated codegen.perms.AdditionalServicePerm additional_perms = 3; */
|
|
305
|
+
for (let i = 0; i < message.additionalPerms.length; i++)
|
|
306
|
+
AdditionalServicePerm.internalBinaryWrite(message.additionalPerms[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
278
307
|
let u = options.writeUnknownFields;
|
|
279
308
|
if (u !== false)
|
|
280
309
|
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
@@ -285,3 +314,66 @@ class ServiceOptions$Type extends MessageType<ServiceOptions> {
|
|
|
285
314
|
* @generated MessageType for protobuf message codegen.perms.ServiceOptions
|
|
286
315
|
*/
|
|
287
316
|
export const ServiceOptions = new ServiceOptions$Type();
|
|
317
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
318
|
+
class AdditionalServicePerm$Type extends MessageType<AdditionalServicePerm> {
|
|
319
|
+
constructor() {
|
|
320
|
+
super("codegen.perms.AdditionalServicePerm", [
|
|
321
|
+
{ no: 3, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
322
|
+
{ no: 4, name: "order", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
323
|
+
{ no: 5, name: "attrs", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Attr }
|
|
324
|
+
]);
|
|
325
|
+
}
|
|
326
|
+
create(value?: PartialMessage<AdditionalServicePerm>): AdditionalServicePerm {
|
|
327
|
+
const message = globalThis.Object.create((this.messagePrototype!));
|
|
328
|
+
message.name = "";
|
|
329
|
+
message.order = 0;
|
|
330
|
+
message.attrs = [];
|
|
331
|
+
if (value !== undefined)
|
|
332
|
+
reflectionMergePartial<AdditionalServicePerm>(this, message, value);
|
|
333
|
+
return message;
|
|
334
|
+
}
|
|
335
|
+
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AdditionalServicePerm): AdditionalServicePerm {
|
|
336
|
+
let message = target ?? this.create(), end = reader.pos + length;
|
|
337
|
+
while (reader.pos < end) {
|
|
338
|
+
let [fieldNo, wireType] = reader.tag();
|
|
339
|
+
switch (fieldNo) {
|
|
340
|
+
case /* string name */ 3:
|
|
341
|
+
message.name = reader.string();
|
|
342
|
+
break;
|
|
343
|
+
case /* int32 order */ 4:
|
|
344
|
+
message.order = reader.int32();
|
|
345
|
+
break;
|
|
346
|
+
case /* repeated codegen.perms.Attr attrs */ 5:
|
|
347
|
+
message.attrs.push(Attr.internalBinaryRead(reader, reader.uint32(), options));
|
|
348
|
+
break;
|
|
349
|
+
default:
|
|
350
|
+
let u = options.readUnknownField;
|
|
351
|
+
if (u === "throw")
|
|
352
|
+
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
|
353
|
+
let d = reader.skip(wireType);
|
|
354
|
+
if (u !== false)
|
|
355
|
+
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
return message;
|
|
359
|
+
}
|
|
360
|
+
internalBinaryWrite(message: AdditionalServicePerm, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
361
|
+
/* string name = 3; */
|
|
362
|
+
if (message.name !== "")
|
|
363
|
+
writer.tag(3, WireType.LengthDelimited).string(message.name);
|
|
364
|
+
/* int32 order = 4; */
|
|
365
|
+
if (message.order !== 0)
|
|
366
|
+
writer.tag(4, WireType.Varint).int32(message.order);
|
|
367
|
+
/* repeated codegen.perms.Attr attrs = 5; */
|
|
368
|
+
for (let i = 0; i < message.attrs.length; i++)
|
|
369
|
+
Attr.internalBinaryWrite(message.attrs[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();
|
|
370
|
+
let u = options.writeUnknownFields;
|
|
371
|
+
if (u !== false)
|
|
372
|
+
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
373
|
+
return writer;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* @generated MessageType for protobuf message codegen.perms.AdditionalServicePerm
|
|
378
|
+
*/
|
|
379
|
+
export const AdditionalServicePerm = new AdditionalServicePerm$Type();
|
package/package.json
CHANGED
package/perms.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// source: services/calendar/calendar.proto
|
|
4
4
|
// source: services/centrum/centrum.proto
|
|
5
5
|
// source: services/citizens/citizens.proto
|
|
6
|
+
// source: services/citizens/labels.proto
|
|
6
7
|
// source: services/completor/completor.proto
|
|
7
8
|
// source: services/documents/approval.proto
|
|
8
9
|
// source: services/documents/collab.proto
|
|
@@ -27,7 +28,6 @@
|
|
|
27
28
|
// source: services/settings/system.proto
|
|
28
29
|
// source: services/stats/stats.proto
|
|
29
30
|
// source: services/sync/sync.proto
|
|
30
|
-
// source: services/sync/v2/sync.proto
|
|
31
31
|
// source: services/vehicles/vehicles.proto
|
|
32
32
|
// source: services/wiki/collab.proto
|
|
33
33
|
// source: services/wiki/wiki.proto
|
|
@@ -52,10 +52,10 @@ export type GRPCServicePerms =
|
|
|
52
52
|
| 'citizens.CitizensService/GetUser'
|
|
53
53
|
| 'citizens.CitizensService/ListCitizens'
|
|
54
54
|
| 'citizens.CitizensService/ListUserActivity'
|
|
55
|
-
| 'citizens.CitizensService/ManageLabels'
|
|
56
55
|
| 'citizens.CitizensService/SetUserProps'
|
|
56
|
+
| 'citizens.LabelsService/CreateOrUpdateLabel'
|
|
57
|
+
| 'citizens.LabelsService/DeleteLabel'
|
|
57
58
|
| 'completor.CompletorService/CompleteCitizenLabels'
|
|
58
|
-
| 'completor.CompletorService/CompleteDocumentCategories'
|
|
59
59
|
| 'documents.ApprovalService/DeleteApprovalTasks'
|
|
60
60
|
| 'documents.ApprovalService/RevokeApproval'
|
|
61
61
|
| 'documents.ApprovalService/UpsertApprovalPolicy'
|
|
@@ -131,6 +131,7 @@ export const GRPCServices = [
|
|
|
131
131
|
'calendar.CalendarService',
|
|
132
132
|
'centrum.CentrumService',
|
|
133
133
|
'citizens.CitizensService',
|
|
134
|
+
'citizens.LabelsService',
|
|
134
135
|
'completor.CompletorService',
|
|
135
136
|
'documents.ApprovalService',
|
|
136
137
|
'documents.DocumentsService',
|
|
@@ -165,10 +166,10 @@ export const GRPCServiceMethods = [
|
|
|
165
166
|
'citizens.CitizensService/GetUser',
|
|
166
167
|
'citizens.CitizensService/ListCitizens',
|
|
167
168
|
'citizens.CitizensService/ListUserActivity',
|
|
168
|
-
'citizens.CitizensService/ManageLabels',
|
|
169
169
|
'citizens.CitizensService/SetUserProps',
|
|
170
|
+
'citizens.LabelsService/CreateOrUpdateLabel',
|
|
171
|
+
'citizens.LabelsService/DeleteLabel',
|
|
170
172
|
'completor.CompletorService/CompleteCitizenLabels',
|
|
171
|
-
'completor.CompletorService/CompleteDocumentCategories',
|
|
172
173
|
'documents.ApprovalService/DeleteApprovalTasks',
|
|
173
174
|
'documents.ApprovalService/RevokeApproval',
|
|
174
175
|
'documents.ApprovalService/UpsertApprovalPolicy',
|
|
@@ -444,7 +444,7 @@ class Configuration$Type extends MessageType<Configuration> {
|
|
|
444
444
|
super("resources.centrum.settings.Configuration", [
|
|
445
445
|
{ no: 1, name: "deduplication_enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
|
|
446
446
|
{ no: 2, name: "deduplication_radius", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { lt: "1000000", gt: "5" } } } },
|
|
447
|
-
{ no: 3, name: "deduplication_duration", kind: "message", T: () => Duration }
|
|
447
|
+
{ no: 3, name: "deduplication_duration", kind: "message", T: () => Duration, options: { "buf.validate.field": { duration: { lte: { seconds: "3600" }, gt: {} } } } }
|
|
448
448
|
], { "codegen.dbscanner.dbscanner": { enabled: true } });
|
|
449
449
|
}
|
|
450
450
|
create(value?: PartialMessage<Configuration>): Configuration {
|
|
@@ -253,7 +253,7 @@ class Unit$Type extends MessageType<Unit> {
|
|
|
253
253
|
{ no: 5, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "3", maxLen: "24" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
|
|
254
254
|
{ no: 6, name: "initials", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "2", maxLen: "4" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
|
|
255
255
|
{ no: 7, name: "color", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { len: "7", pattern: "^#[A-Fa-f0-9]{6}$" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
|
|
256
|
-
{ no: 16, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128"
|
|
256
|
+
{ no: 16, name: "icon", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
|
|
257
257
|
{ no: 8, name: "description", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
|
|
258
258
|
{ no: 9, name: "status", kind: "message", T: () => UnitStatus },
|
|
259
259
|
{ no: 11, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UnitAssignment },
|