@fivenet-app/gen 2026.5.1 → 2026.7.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 -0
- package/codegen/perms/perms.ts +14 -2
- package/codegen/sanitizer/sanitizer.ts +6 -0
- package/google/protobuf/descriptor.ts +11 -3
- package/google/protobuf/timestamp.ts +7 -6
- package/package.json +1 -1
- package/perms.ts +343 -3
- package/resources/access/access.ts +481 -0
- package/resources/calendar/access/access.ts +0 -330
- package/resources/calendar/calendar.ts +307 -25
- package/resources/calendar/entries/entries.ts +204 -11
- package/resources/centrum/units/access/access.ts +0 -373
- package/resources/centrum/units/units.ts +20 -8
- package/resources/citizens/labels/access.ts +0 -191
- package/resources/citizens/labels/labels.ts +20 -8
- package/resources/common/content/diff_activity.ts +1 -1
- package/resources/cron/cron.ts +1 -1
- package/resources/documents/access/access.ts +0 -329
- package/resources/documents/activity/activity.ts +49 -45
- package/resources/documents/documents.ts +1 -1
- package/resources/documents/requests/requests.ts +1 -1
- package/resources/documents/stamps/stamp.ts +40 -210
- package/resources/documents/templates/templates.ts +158 -318
- package/resources/jobs/colleagues/activity/activity.ts +1 -1
- package/resources/jobs/conduct/conduct.ts +2 -2
- package/resources/jobs/jobs.ts +22 -0
- package/resources/jobs/labels/labels.ts +9 -9
- package/resources/laws/laws.ts +24 -0
- package/resources/livemap/markers/marker_marker.ts +311 -4
- package/resources/mailer/access/access.ts +0 -457
- package/resources/mailer/emails/email.ts +4 -4
- package/resources/notifications/events/events.ts +18 -1
- package/resources/qualifications/access/access.ts +0 -248
- package/resources/qualifications/qualifications.ts +9 -9
- package/resources/settings/config.ts +53 -5
- package/resources/settings/data.ts +1 -1
- package/resources/stats/stats.ts +32 -20
- package/resources/sync/data/data.ts +13 -1
- package/resources/userinfo/userinfo.ts +202 -51
- package/resources/users/activity/activity.ts +1 -1
- package/resources/wiki/access/access.ts +0 -330
- package/resources/wiki/activity/activity.ts +45 -45
- package/resources/wiki/page.ts +9 -9
- package/services/calendar/calendar.ts +1 -1
- package/services/calendar/entries.ts +12 -1
- package/services/centrum/dispatches.ts +27 -7
- package/services/centrum/units.client.ts +15 -2
- package/services/centrum/units.ts +231 -123
- package/services/citizens/citizens.ts +1 -1
- package/services/citizens/labels.client.ts +7 -20
- package/services/citizens/labels.ts +35 -183
- package/services/documents/approval.ts +15 -4
- package/services/documents/collab.ts +1 -1
- package/services/documents/documents.ts +38 -38
- package/services/documents/stats.ts +14 -2
- package/services/filestore/filestore.ts +4 -4
- package/services/jobs/colleagues.ts +3 -3
- package/services/jobs/conduct.ts +2 -2
- package/services/jobs/groups.client.ts +22 -0
- package/services/jobs/groups.ts +9 -0
- package/services/jobs/timeclock.ts +2 -2
- package/services/mailer/thread.ts +2 -2
- package/services/qualifications/qualifications.ts +52 -34
- package/services/settings/accounts.ts +5 -5
- package/services/settings/config.ts +2 -2
- package/services/settings/cron.ts +2 -2
- package/services/settings/laws.client.ts +28 -2
- package/services/settings/laws.ts +229 -1
- package/services/settings/system.ts +6 -6
- package/services/sync/sync.client.ts +42 -14
- package/services/sync/sync.ts +162 -13
- package/services/wiki/wiki.client.ts +15 -2
- package/services/wiki/wiki.ts +122 -0
- package/svcs.ts +18 -2
package/clients.ts
CHANGED
|
@@ -128,6 +128,12 @@ export async function getJobsConductClient() {
|
|
|
128
128
|
return new ConductServiceClient(useGRPCTransport());
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
+
// Factory for jobs.groups client.
|
|
132
|
+
export async function getJobsGroupsClient() {
|
|
133
|
+
const { GroupsServiceClient } = await import('~~/gen/ts/services/jobs/groups.client');
|
|
134
|
+
return new GroupsServiceClient(useGRPCTransport());
|
|
135
|
+
}
|
|
136
|
+
|
|
131
137
|
// Factory for jobs.jobs client.
|
|
132
138
|
export async function getJobsJobsClient() {
|
|
133
139
|
const { JobsServiceClient } = await import('~~/gen/ts/services/jobs/jobs.client');
|
package/codegen/perms/perms.ts
CHANGED
|
@@ -44,6 +44,10 @@ export interface PermsOptions {
|
|
|
44
44
|
* @generated from protobuf field: repeated codegen.perms.Attr attrs = 7
|
|
45
45
|
*/
|
|
46
46
|
attrs: Attr[];
|
|
47
|
+
/**
|
|
48
|
+
* @generated from protobuf field: bool internal = 8
|
|
49
|
+
*/
|
|
50
|
+
internal: boolean;
|
|
47
51
|
}
|
|
48
52
|
/**
|
|
49
53
|
* @generated from protobuf message codegen.perms.Attr
|
|
@@ -118,7 +122,8 @@ class PermsOptions$Type extends MessageType<PermsOptions> {
|
|
|
118
122
|
{ no: 4, name: "name", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
|
|
119
123
|
{ no: 5, name: "names", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
|
|
120
124
|
{ no: 6, name: "order", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
121
|
-
{ no: 7, name: "attrs", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Attr }
|
|
125
|
+
{ no: 7, name: "attrs", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Attr },
|
|
126
|
+
{ no: 8, name: "internal", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
|
|
122
127
|
]);
|
|
123
128
|
}
|
|
124
129
|
create(value?: PartialMessage<PermsOptions>): PermsOptions {
|
|
@@ -127,6 +132,7 @@ class PermsOptions$Type extends MessageType<PermsOptions> {
|
|
|
127
132
|
message.names = [];
|
|
128
133
|
message.order = 0;
|
|
129
134
|
message.attrs = [];
|
|
135
|
+
message.internal = false;
|
|
130
136
|
if (value !== undefined)
|
|
131
137
|
reflectionMergePartial<PermsOptions>(this, message, value);
|
|
132
138
|
return message;
|
|
@@ -157,6 +163,9 @@ class PermsOptions$Type extends MessageType<PermsOptions> {
|
|
|
157
163
|
case /* repeated codegen.perms.Attr attrs */ 7:
|
|
158
164
|
message.attrs.push(Attr.internalBinaryRead(reader, reader.uint32(), options));
|
|
159
165
|
break;
|
|
166
|
+
case /* bool internal */ 8:
|
|
167
|
+
message.internal = reader.bool();
|
|
168
|
+
break;
|
|
160
169
|
default:
|
|
161
170
|
let u = options.readUnknownField;
|
|
162
171
|
if (u === "throw")
|
|
@@ -190,6 +199,9 @@ class PermsOptions$Type extends MessageType<PermsOptions> {
|
|
|
190
199
|
/* repeated codegen.perms.Attr attrs = 7; */
|
|
191
200
|
for (let i = 0; i < message.attrs.length; i++)
|
|
192
201
|
Attr.internalBinaryWrite(message.attrs[i], writer.tag(7, WireType.LengthDelimited).fork(), options).join();
|
|
202
|
+
/* bool internal = 8; */
|
|
203
|
+
if (message.internal !== false)
|
|
204
|
+
writer.tag(8, WireType.Varint).bool(message.internal);
|
|
193
205
|
let u = options.writeUnknownFields;
|
|
194
206
|
if (u !== false)
|
|
195
207
|
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
@@ -206,7 +218,7 @@ class Attr$Type extends MessageType<Attr> {
|
|
|
206
218
|
super("codegen.perms.Attr", [
|
|
207
219
|
{ no: 1, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
208
220
|
{ no: 2, name: "value", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
209
|
-
{ no: 3, name: "type", kind: "enum", T: () => ["resources.permissions.attributes.AttributeType", AttributeType, "ATTRIBUTE_TYPE_"] },
|
|
221
|
+
{ no: 3, name: "type", kind: "enum", T: () => ["resources.permissions.attributes.AttributeType", AttributeType, "ATTRIBUTE_TYPE_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
|
|
210
222
|
{ no: 4, name: "valid_string_list", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
|
|
211
223
|
]);
|
|
212
224
|
}
|
|
@@ -16,6 +16,8 @@ import { MessageType } from "@protobuf-ts/runtime";
|
|
|
16
16
|
*/
|
|
17
17
|
export interface FieldOptions {
|
|
18
18
|
/**
|
|
19
|
+
* Default false
|
|
20
|
+
*
|
|
19
21
|
* @generated from protobuf field: bool enabled = 1
|
|
20
22
|
*/
|
|
21
23
|
enabled: boolean;
|
|
@@ -24,10 +26,14 @@ export interface FieldOptions {
|
|
|
24
26
|
*/
|
|
25
27
|
method?: string;
|
|
26
28
|
/**
|
|
29
|
+
* Default false
|
|
30
|
+
*
|
|
27
31
|
* @generated from protobuf field: optional bool strip_html_tags = 3
|
|
28
32
|
*/
|
|
29
33
|
stripHtmlTags?: boolean;
|
|
30
34
|
/**
|
|
35
|
+
* Default false
|
|
36
|
+
*
|
|
31
37
|
* @generated from protobuf field: optional bool tiptap_json = 4
|
|
32
38
|
*/
|
|
33
39
|
tiptapJson?: boolean;
|
|
@@ -1150,9 +1150,11 @@ export interface FieldOptions {
|
|
|
1150
1150
|
*/
|
|
1151
1151
|
deprecated?: boolean;
|
|
1152
1152
|
/**
|
|
1153
|
+
* DEPRECATED. DO NOT USE!
|
|
1153
1154
|
* For Google-internal migration only. Do not use.
|
|
1154
1155
|
*
|
|
1155
|
-
* @
|
|
1156
|
+
* @deprecated
|
|
1157
|
+
* @generated from protobuf field: optional bool weak = 10 [default = false, deprecated = true]
|
|
1156
1158
|
*/
|
|
1157
1159
|
weak?: boolean;
|
|
1158
1160
|
/**
|
|
@@ -2180,6 +2182,12 @@ export enum Edition {
|
|
|
2180
2182
|
* @generated from protobuf enum value: EDITION_2024 = 1001;
|
|
2181
2183
|
*/
|
|
2182
2184
|
EDITION_2024 = 1001,
|
|
2185
|
+
/**
|
|
2186
|
+
* A placeholder edition for developing and testing unscheduled features.
|
|
2187
|
+
*
|
|
2188
|
+
* @generated from protobuf enum value: EDITION_UNSTABLE = 9999;
|
|
2189
|
+
*/
|
|
2190
|
+
EDITION_UNSTABLE = 9999,
|
|
2183
2191
|
/**
|
|
2184
2192
|
* Placeholder editions for testing feature resolution. These should not be
|
|
2185
2193
|
* used or relied on outside of tests.
|
|
@@ -3651,7 +3659,7 @@ class FieldOptions$Type extends MessageType<FieldOptions> {
|
|
|
3651
3659
|
case /* optional bool deprecated = 3 [default = false] */ 3:
|
|
3652
3660
|
message.deprecated = reader.bool();
|
|
3653
3661
|
break;
|
|
3654
|
-
case /* optional bool weak = 10 [default = false] */ 10:
|
|
3662
|
+
case /* optional bool weak = 10 [default = false, deprecated = true] */ 10:
|
|
3655
3663
|
message.weak = reader.bool();
|
|
3656
3664
|
break;
|
|
3657
3665
|
case /* optional bool debug_redact = 16 [default = false] */ 16:
|
|
@@ -3706,7 +3714,7 @@ class FieldOptions$Type extends MessageType<FieldOptions> {
|
|
|
3706
3714
|
/* optional google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL]; */
|
|
3707
3715
|
if (message.jstype !== undefined)
|
|
3708
3716
|
writer.tag(6, WireType.Varint).int32(message.jstype);
|
|
3709
|
-
/* optional bool weak = 10 [default = false]; */
|
|
3717
|
+
/* optional bool weak = 10 [default = false, deprecated = true]; */
|
|
3710
3718
|
if (message.weak !== undefined)
|
|
3711
3719
|
writer.tag(10, WireType.Varint).bool(message.weak);
|
|
3712
3720
|
/* optional bool unverified_lazy = 15 [default = false]; */
|
|
@@ -143,17 +143,18 @@ import { MessageType } from "@protobuf-ts/runtime";
|
|
|
143
143
|
*/
|
|
144
144
|
export interface Timestamp {
|
|
145
145
|
/**
|
|
146
|
-
* Represents seconds of UTC time since Unix epoch
|
|
147
|
-
*
|
|
148
|
-
* 9999-12-31T23:59:59Z
|
|
146
|
+
* Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must
|
|
147
|
+
* be between -315576000000 and 315576000000 inclusive (which corresponds to
|
|
148
|
+
* 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).
|
|
149
149
|
*
|
|
150
150
|
* @generated from protobuf field: int64 seconds = 1
|
|
151
151
|
*/
|
|
152
152
|
seconds: number;
|
|
153
153
|
/**
|
|
154
|
-
* Non-negative fractions of a second at nanosecond resolution.
|
|
155
|
-
*
|
|
156
|
-
*
|
|
154
|
+
* Non-negative fractions of a second at nanosecond resolution. This field is
|
|
155
|
+
* the nanosecond portion of the duration, not an alternative to seconds.
|
|
156
|
+
* Negative second values with fractions must still have non-negative nanos
|
|
157
|
+
* values that count forward in time. Must be between 0 and 999,999,999
|
|
157
158
|
* inclusive.
|
|
158
159
|
*
|
|
159
160
|
* @generated from protobuf field: int32 nanos = 2
|
package/package.json
CHANGED
package/perms.ts
CHANGED
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
// source: services/filestore/filestore.proto
|
|
21
21
|
// source: services/jobs/colleagues.proto
|
|
22
22
|
// source: services/jobs/conduct.proto
|
|
23
|
+
// source: services/jobs/groups.proto
|
|
23
24
|
// source: services/jobs/jobs.proto
|
|
24
25
|
// source: services/jobs/stats.proto
|
|
25
26
|
// source: services/jobs/timeclock.proto
|
|
@@ -44,7 +45,7 @@
|
|
|
44
45
|
|
|
45
46
|
export type Perms = SystemPerms | GRPCServicePerms;
|
|
46
47
|
|
|
47
|
-
export type SystemPerms = 'internal.Superuser/CanBeSuperuser' | 'internal.Superuser/Superuser' | 'TODOService/TODOMethod';
|
|
48
|
+
export type SystemPerms = 'internal.Superuser/CanBeSuperuser' | 'internal.Superuser/JobAdmin' | 'internal.Superuser/ConfigAdmin' | 'TODOService/TODOMethod';
|
|
48
49
|
|
|
49
50
|
export type GRPCServicePerms =
|
|
50
51
|
| 'auth.AuthService/ChooseCharacter'
|
|
@@ -65,7 +66,6 @@ export type GRPCServicePerms =
|
|
|
65
66
|
| 'citizens.CitizensService/SetUserProps'
|
|
66
67
|
| 'citizens.LabelsService/CreateOrUpdateLabel'
|
|
67
68
|
| 'citizens.LabelsService/DeleteLabel'
|
|
68
|
-
| 'citizens.LabelsService/ListLabels'
|
|
69
69
|
| 'documents.ApprovalService/DeleteApprovalTasks'
|
|
70
70
|
| 'documents.ApprovalService/RevokeApproval'
|
|
71
71
|
| 'documents.ApprovalService/UpsertApprovalPolicy'
|
|
@@ -133,6 +133,7 @@ export type GRPCServicePerms =
|
|
|
133
133
|
| 'wiki.WikiService/DeletePage'
|
|
134
134
|
| 'wiki.WikiService/ListPageActivity'
|
|
135
135
|
| 'wiki.WikiService/ListPages'
|
|
136
|
+
| 'wiki.WikiService/MovePage'
|
|
136
137
|
| 'wiki.WikiService/UpdatePage'
|
|
137
138
|
| 'wiki.WikiService/UploadFile';
|
|
138
139
|
|
|
@@ -184,7 +185,6 @@ export const GRPCServiceMethods = [
|
|
|
184
185
|
'citizens.CitizensService/SetUserProps',
|
|
185
186
|
'citizens.LabelsService/CreateOrUpdateLabel',
|
|
186
187
|
'citizens.LabelsService/DeleteLabel',
|
|
187
|
-
'citizens.LabelsService/ListLabels',
|
|
188
188
|
'documents.ApprovalService/DeleteApprovalTasks',
|
|
189
189
|
'documents.ApprovalService/RevokeApproval',
|
|
190
190
|
'documents.ApprovalService/UpsertApprovalPolicy',
|
|
@@ -252,6 +252,346 @@ export const GRPCServiceMethods = [
|
|
|
252
252
|
'wiki.WikiService/DeletePage',
|
|
253
253
|
'wiki.WikiService/ListPageActivity',
|
|
254
254
|
'wiki.WikiService/ListPages',
|
|
255
|
+
'wiki.WikiService/MovePage',
|
|
255
256
|
'wiki.WikiService/UpdatePage',
|
|
256
257
|
'wiki.WikiService/UploadFile',
|
|
257
258
|
];
|
|
259
|
+
|
|
260
|
+
export const PermAttributes = {
|
|
261
|
+
'auth.AuthService/ChooseCharacter': {
|
|
262
|
+
},
|
|
263
|
+
'calendar.CalendarService/CreateCalendar': {
|
|
264
|
+
'Fields': {
|
|
265
|
+
type: 'stringList',
|
|
266
|
+
values: ['Job','Public',] as const,
|
|
267
|
+
},
|
|
268
|
+
},
|
|
269
|
+
'centrum.CentrumService/Stream': {
|
|
270
|
+
},
|
|
271
|
+
'centrum.CentrumService/TakeControl': {
|
|
272
|
+
},
|
|
273
|
+
'centrum.CentrumService/UpdateDispatchers': {
|
|
274
|
+
},
|
|
275
|
+
'centrum.CentrumService/UpdateSettings': {
|
|
276
|
+
'Access': {
|
|
277
|
+
type: 'stringList',
|
|
278
|
+
values: ['Shared','Public',] as const,
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
'centrum.DispatchesService/CreateDispatch': {
|
|
282
|
+
},
|
|
283
|
+
'centrum.DispatchesService/DeleteDispatch': {
|
|
284
|
+
},
|
|
285
|
+
'centrum.DispatchesService/TakeDispatch': {
|
|
286
|
+
},
|
|
287
|
+
'centrum.DispatchesService/UpdateDispatch': {
|
|
288
|
+
},
|
|
289
|
+
'centrum.UnitsService/CreateOrUpdateUnit': {
|
|
290
|
+
},
|
|
291
|
+
'centrum.UnitsService/DeleteUnit': {
|
|
292
|
+
},
|
|
293
|
+
'citizens.CitizensService/GetUser': {
|
|
294
|
+
'Jobs': {
|
|
295
|
+
type: 'jobGradeList',
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
'citizens.CitizensService/ListCitizens': {
|
|
299
|
+
'Fields': {
|
|
300
|
+
type: 'stringList',
|
|
301
|
+
values: ['PhoneNumber','Licenses','UserProps.Wanted','UserProps.Job','UserProps.TrafficInfractionPoints','UserProps.OpenFines','UserProps.BloodType','UserProps.Mugshot','UserProps.Labels','UserProps.Email',] as const,
|
|
302
|
+
},
|
|
303
|
+
},
|
|
304
|
+
'citizens.CitizensService/ListUserActivity': {
|
|
305
|
+
'Fields': {
|
|
306
|
+
type: 'stringList',
|
|
307
|
+
values: ['SourceUser','Own',] as const,
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
'citizens.CitizensService/SetUserProps': {
|
|
311
|
+
'Fields': {
|
|
312
|
+
type: 'stringList',
|
|
313
|
+
values: ['Wanted','Job','TrafficInfractionPoints','Mugshot','Labels',] as const,
|
|
314
|
+
},
|
|
315
|
+
},
|
|
316
|
+
'citizens.LabelsService/CreateOrUpdateLabel': {
|
|
317
|
+
},
|
|
318
|
+
'citizens.LabelsService/DeleteLabel': {
|
|
319
|
+
},
|
|
320
|
+
'documents.ApprovalService/DeleteApprovalTasks': {
|
|
321
|
+
},
|
|
322
|
+
'documents.ApprovalService/RevokeApproval': {
|
|
323
|
+
},
|
|
324
|
+
'documents.ApprovalService/UpsertApprovalPolicy': {
|
|
325
|
+
},
|
|
326
|
+
'documents.ApprovalService/UpsertApprovalTasks': {
|
|
327
|
+
},
|
|
328
|
+
'documents.CategoriesService/CreateOrUpdateCategory': {
|
|
329
|
+
},
|
|
330
|
+
'documents.CategoriesService/DeleteCategory': {
|
|
331
|
+
},
|
|
332
|
+
'documents.CategoriesService/ListCategories': {
|
|
333
|
+
'Jobs': {
|
|
334
|
+
type: 'jobList',
|
|
335
|
+
},
|
|
336
|
+
},
|
|
337
|
+
'documents.CommentsService/DeleteComment': {
|
|
338
|
+
'Access': {
|
|
339
|
+
type: 'stringList',
|
|
340
|
+
values: ['Own','Lower_Rank','Same_Rank','Any',] as const,
|
|
341
|
+
},
|
|
342
|
+
},
|
|
343
|
+
'documents.DocumentsService/AddDocumentReference': {
|
|
344
|
+
},
|
|
345
|
+
'documents.DocumentsService/AddDocumentRelation': {
|
|
346
|
+
},
|
|
347
|
+
'documents.DocumentsService/ChangeDocumentOwner': {
|
|
348
|
+
'Access': {
|
|
349
|
+
type: 'stringList',
|
|
350
|
+
values: ['Own','Lower_Rank','Same_Rank','Any',] as const,
|
|
351
|
+
},
|
|
352
|
+
},
|
|
353
|
+
'documents.DocumentsService/CreateDocumentReq': {
|
|
354
|
+
'Types': {
|
|
355
|
+
type: 'stringList',
|
|
356
|
+
values: ['Access','Closure','Update','Deletion','OwnerChange',] as const,
|
|
357
|
+
},
|
|
358
|
+
},
|
|
359
|
+
'documents.DocumentsService/DeleteDocument': {
|
|
360
|
+
'Access': {
|
|
361
|
+
type: 'stringList',
|
|
362
|
+
values: ['Own','Lower_Rank','Same_Rank','Any',] as const,
|
|
363
|
+
},
|
|
364
|
+
},
|
|
365
|
+
'documents.DocumentsService/DeleteDocumentReq': {
|
|
366
|
+
},
|
|
367
|
+
'documents.DocumentsService/ListDocumentActivity': {
|
|
368
|
+
},
|
|
369
|
+
'documents.DocumentsService/ListDocumentReqs': {
|
|
370
|
+
},
|
|
371
|
+
'documents.DocumentsService/ListDocuments': {
|
|
372
|
+
},
|
|
373
|
+
'documents.DocumentsService/ListUserDocuments': {
|
|
374
|
+
},
|
|
375
|
+
'documents.DocumentsService/SetDocumentReminder': {
|
|
376
|
+
},
|
|
377
|
+
'documents.DocumentsService/ToggleDocument': {
|
|
378
|
+
'Access': {
|
|
379
|
+
type: 'stringList',
|
|
380
|
+
values: ['Own','Lower_Rank','Same_Rank','Any',] as const,
|
|
381
|
+
},
|
|
382
|
+
},
|
|
383
|
+
'documents.DocumentsService/ToggleDocumentPin': {
|
|
384
|
+
'Types': {
|
|
385
|
+
type: 'stringList',
|
|
386
|
+
values: ['JobWide',] as const,
|
|
387
|
+
},
|
|
388
|
+
},
|
|
389
|
+
'documents.DocumentsService/UpdateDocument': {
|
|
390
|
+
'Access': {
|
|
391
|
+
type: 'stringList',
|
|
392
|
+
values: ['Own','Lower_Rank','Same_Rank','Any',] as const,
|
|
393
|
+
},
|
|
394
|
+
},
|
|
395
|
+
'documents.StampsService/DeleteStamp': {
|
|
396
|
+
},
|
|
397
|
+
'documents.StampsService/ListUsableStamps': {
|
|
398
|
+
},
|
|
399
|
+
'documents.StampsService/UpsertStamp': {
|
|
400
|
+
},
|
|
401
|
+
'documents.StatsService/GetStats': {
|
|
402
|
+
'Categories': {
|
|
403
|
+
type: 'stringList',
|
|
404
|
+
values: ['PenaltyCalculator',] as const,
|
|
405
|
+
},
|
|
406
|
+
'Jobs': {
|
|
407
|
+
type: 'jobList',
|
|
408
|
+
},
|
|
409
|
+
},
|
|
410
|
+
'documents.TemplatesService/CreateTemplate': {
|
|
411
|
+
},
|
|
412
|
+
'documents.TemplatesService/DeleteTemplate': {
|
|
413
|
+
},
|
|
414
|
+
'documents.TemplatesService/ListTemplates': {
|
|
415
|
+
},
|
|
416
|
+
'jobs.ColleaguesService/GetColleague': {
|
|
417
|
+
'Access': {
|
|
418
|
+
type: 'stringList',
|
|
419
|
+
values: ['Own','Lower_Rank','Same_Rank','Any',] as const,
|
|
420
|
+
},
|
|
421
|
+
'Types': {
|
|
422
|
+
type: 'stringList',
|
|
423
|
+
values: ['Note','Labels',] as const,
|
|
424
|
+
},
|
|
425
|
+
},
|
|
426
|
+
'jobs.ColleaguesService/ListColleagueActivity': {
|
|
427
|
+
'Types': {
|
|
428
|
+
type: 'stringList',
|
|
429
|
+
values: ['HIRED','FIRED','PROMOTED','DEMOTED','ABSENCE_DATE','NOTE','LABELS','NAME',] as const,
|
|
430
|
+
},
|
|
431
|
+
},
|
|
432
|
+
'jobs.ColleaguesService/ListColleagues': {
|
|
433
|
+
},
|
|
434
|
+
'jobs.ColleaguesService/ManageLabels': {
|
|
435
|
+
},
|
|
436
|
+
'jobs.ColleaguesService/SetColleagueProps': {
|
|
437
|
+
'Access': {
|
|
438
|
+
type: 'stringList',
|
|
439
|
+
values: ['Own','Lower_Rank','Same_Rank','Any',] as const,
|
|
440
|
+
},
|
|
441
|
+
'Types': {
|
|
442
|
+
type: 'stringList',
|
|
443
|
+
values: ['AbsenceDate','Note','Labels','Name',] as const,
|
|
444
|
+
},
|
|
445
|
+
},
|
|
446
|
+
'jobs.ConductService/CreateConductEntry': {
|
|
447
|
+
},
|
|
448
|
+
'jobs.ConductService/DeleteConductEntry': {
|
|
449
|
+
},
|
|
450
|
+
'jobs.ConductService/ListConductEntries': {
|
|
451
|
+
'Access': {
|
|
452
|
+
type: 'stringList',
|
|
453
|
+
values: ['Own','All',] as const,
|
|
454
|
+
},
|
|
455
|
+
},
|
|
456
|
+
'jobs.ConductService/UpdateConductEntry': {
|
|
457
|
+
},
|
|
458
|
+
'jobs.ConductService/UploadFile': {
|
|
459
|
+
},
|
|
460
|
+
'jobs.JobsService/SetMOTD': {
|
|
461
|
+
},
|
|
462
|
+
'jobs.StatsService/GetStats': {
|
|
463
|
+
},
|
|
464
|
+
'jobs.TimeclockService/ListInactiveEmployees': {
|
|
465
|
+
},
|
|
466
|
+
'jobs.TimeclockService/ListTimeclock': {
|
|
467
|
+
'Access': {
|
|
468
|
+
type: 'stringList',
|
|
469
|
+
values: ['All',] as const,
|
|
470
|
+
},
|
|
471
|
+
},
|
|
472
|
+
'livemap.LivemapService/CreateOrUpdateMarker': {
|
|
473
|
+
'Access': {
|
|
474
|
+
type: 'stringList',
|
|
475
|
+
values: ['Own','Lower_Rank','Same_Rank','Any',] as const,
|
|
476
|
+
},
|
|
477
|
+
},
|
|
478
|
+
'livemap.LivemapService/DeleteMarker': {
|
|
479
|
+
'Access': {
|
|
480
|
+
type: 'stringList',
|
|
481
|
+
values: ['Own','Lower_Rank','Same_Rank','Any',] as const,
|
|
482
|
+
},
|
|
483
|
+
},
|
|
484
|
+
'livemap.LivemapService/Stream': {
|
|
485
|
+
'Markers': {
|
|
486
|
+
type: 'jobList',
|
|
487
|
+
},
|
|
488
|
+
'Players': {
|
|
489
|
+
type: 'jobGradeList',
|
|
490
|
+
},
|
|
491
|
+
},
|
|
492
|
+
'mailer.MailerService/CreateOrUpdateEmail': {
|
|
493
|
+
'Fields': {
|
|
494
|
+
type: 'stringList',
|
|
495
|
+
values: ['Job',] as const,
|
|
496
|
+
},
|
|
497
|
+
},
|
|
498
|
+
'mailer.MailerService/DeleteEmail': {
|
|
499
|
+
},
|
|
500
|
+
'mailer.MailerService/ListEmails': {
|
|
501
|
+
},
|
|
502
|
+
'qualifications.QualificationsService/DeleteQualification': {
|
|
503
|
+
'Access': {
|
|
504
|
+
type: 'stringList',
|
|
505
|
+
values: ['Own','Lower_Rank','Same_Rank','Any',] as const,
|
|
506
|
+
},
|
|
507
|
+
},
|
|
508
|
+
'qualifications.QualificationsService/ListQualifications': {
|
|
509
|
+
},
|
|
510
|
+
'qualifications.QualificationsService/UpdateQualification': {
|
|
511
|
+
'Access': {
|
|
512
|
+
type: 'stringList',
|
|
513
|
+
values: ['Own','Lower_Rank','Same_Rank','Any',] as const,
|
|
514
|
+
},
|
|
515
|
+
'Fields': {
|
|
516
|
+
type: 'stringList',
|
|
517
|
+
values: ['Public',] as const,
|
|
518
|
+
},
|
|
519
|
+
},
|
|
520
|
+
'settings.LawsService/CreateOrUpdateLawBook': {
|
|
521
|
+
},
|
|
522
|
+
'settings.LawsService/DeleteLawBook': {
|
|
523
|
+
},
|
|
524
|
+
'settings.SettingsService/CreateRole': {
|
|
525
|
+
},
|
|
526
|
+
'settings.SettingsService/DeleteRole': {
|
|
527
|
+
},
|
|
528
|
+
'settings.SettingsService/GetJobProps': {
|
|
529
|
+
},
|
|
530
|
+
'settings.SettingsService/GetRoles': {
|
|
531
|
+
},
|
|
532
|
+
'settings.SettingsService/SetJobProps': {
|
|
533
|
+
},
|
|
534
|
+
'settings.SettingsService/UpdateRolePerms': {
|
|
535
|
+
},
|
|
536
|
+
'settings.SettingsService/ViewAuditLog': {
|
|
537
|
+
},
|
|
538
|
+
'vehicles.VehiclesService/ListVehicles': {
|
|
539
|
+
'Fields': {
|
|
540
|
+
type: 'stringList',
|
|
541
|
+
values: ['Wanted',] as const,
|
|
542
|
+
},
|
|
543
|
+
},
|
|
544
|
+
'vehicles.VehiclesService/SetVehicleProps': {
|
|
545
|
+
'Fields': {
|
|
546
|
+
type: 'stringList',
|
|
547
|
+
values: ['Wanted',] as const,
|
|
548
|
+
},
|
|
549
|
+
},
|
|
550
|
+
'wiki.WikiService/CreatePage': {
|
|
551
|
+
},
|
|
552
|
+
'wiki.WikiService/DeletePage': {
|
|
553
|
+
},
|
|
554
|
+
'wiki.WikiService/ListPageActivity': {
|
|
555
|
+
},
|
|
556
|
+
'wiki.WikiService/ListPages': {
|
|
557
|
+
},
|
|
558
|
+
'wiki.WikiService/MovePage': {
|
|
559
|
+
},
|
|
560
|
+
'wiki.WikiService/UpdatePage': {
|
|
561
|
+
'Fields': {
|
|
562
|
+
type: 'stringList',
|
|
563
|
+
values: ['Public',] as const,
|
|
564
|
+
},
|
|
565
|
+
},
|
|
566
|
+
'wiki.WikiService/UploadFile': {
|
|
567
|
+
},
|
|
568
|
+
} as const;
|
|
569
|
+
|
|
570
|
+
export type PermAttributesMap = typeof PermAttributes;
|
|
571
|
+
export type PermAttrKind = 'stringList' | 'jobList' | 'jobGradeList';
|
|
572
|
+
|
|
573
|
+
export type PermAttrPerm = keyof PermAttributesMap;
|
|
574
|
+
|
|
575
|
+
export type PermAttrKey<P extends Perms> = P extends keyof PermAttributesMap
|
|
576
|
+
? keyof PermAttributesMap[P] & string
|
|
577
|
+
: never;
|
|
578
|
+
|
|
579
|
+
export type PermAttrDescriptor<P extends Perms, K extends PermAttrKey<P>> = P extends keyof PermAttributesMap
|
|
580
|
+
? K extends keyof PermAttributesMap[P]
|
|
581
|
+
? PermAttributesMap[P][K]
|
|
582
|
+
: never
|
|
583
|
+
: never;
|
|
584
|
+
|
|
585
|
+
export type PermAttrType<P extends Perms, K extends PermAttrKey<P>> = PermAttrDescriptor<P, K>['type'];
|
|
586
|
+
|
|
587
|
+
export type PermAttrValue<P extends Perms, K extends PermAttrKey<P>> = PermAttrDescriptor<P, K> extends {
|
|
588
|
+
values: readonly (infer V)[];
|
|
589
|
+
}
|
|
590
|
+
? V
|
|
591
|
+
: string;
|
|
592
|
+
|
|
593
|
+
export type PermAttrKeysByType<P extends Perms, T extends PermAttrKind> = P extends keyof PermAttributesMap
|
|
594
|
+
? {
|
|
595
|
+
[K in keyof PermAttributesMap[P] & string]: PermAttributesMap[P][K] extends { type: T } ? K : never;
|
|
596
|
+
}[keyof PermAttributesMap[P] & string]
|
|
597
|
+
: never;
|