@fivenet-app/gen 2026.5.0 → 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.
Files changed (87) hide show
  1. package/clients.ts +6 -0
  2. package/codegen/perms/perms.ts +74 -40
  3. package/codegen/sanitizer/sanitizer.ts +6 -0
  4. package/google/protobuf/descriptor.ts +11 -3
  5. package/google/protobuf/timestamp.ts +7 -6
  6. package/package.json +1 -1
  7. package/perms.ts +387 -41
  8. package/resources/access/access.ts +481 -0
  9. package/resources/accounts/accounts.ts +41 -30
  10. package/resources/audit/audit.ts +5 -1
  11. package/resources/calendar/access/access.ts +0 -330
  12. package/resources/calendar/calendar.ts +307 -25
  13. package/resources/calendar/entries/entries.ts +204 -11
  14. package/resources/centrum/units/access/access.ts +0 -373
  15. package/resources/centrum/units/units.ts +20 -8
  16. package/resources/citizens/labels/access.ts +0 -191
  17. package/resources/citizens/labels/labels.ts +20 -8
  18. package/resources/common/content/diff_activity.ts +1 -1
  19. package/resources/cron/cron.ts +1 -1
  20. package/resources/documents/access/access.ts +0 -329
  21. package/resources/documents/activity/activity.ts +49 -45
  22. package/resources/documents/documents.ts +1 -1
  23. package/resources/documents/requests/requests.ts +1 -1
  24. package/resources/documents/stamps/stamp.ts +40 -210
  25. package/resources/documents/templates/templates.ts +158 -318
  26. package/resources/jobs/colleagues/activity/activity.ts +2 -2
  27. package/resources/jobs/conduct/conduct.ts +2 -2
  28. package/resources/jobs/jobs.ts +22 -0
  29. package/resources/jobs/labels/labels.ts +9 -9
  30. package/resources/laws/laws.ts +96 -50
  31. package/resources/livemap/markers/marker_marker.ts +311 -4
  32. package/resources/mailer/access/access.ts +0 -457
  33. package/resources/mailer/emails/email.ts +4 -4
  34. package/resources/notifications/events/events.ts +18 -1
  35. package/resources/permissions/attributes/attributes.ts +51 -39
  36. package/resources/permissions/permissions/permissions.ts +46 -34
  37. package/resources/qualifications/access/access.ts +0 -248
  38. package/resources/qualifications/qualifications.ts +9 -9
  39. package/resources/settings/config.ts +53 -5
  40. package/resources/settings/data.ts +1 -1
  41. package/resources/stats/stats.ts +32 -20
  42. package/resources/sync/data/data.ts +22 -10
  43. package/resources/userinfo/userinfo.ts +202 -51
  44. package/resources/users/activity/activity.ts +70 -77
  45. package/resources/wiki/access/access.ts +0 -330
  46. package/resources/wiki/activity/activity.ts +45 -45
  47. package/resources/wiki/page.ts +9 -9
  48. package/services/auth/auth.ts +1 -1
  49. package/services/calendar/calendar.ts +1 -1
  50. package/services/calendar/entries.ts +13 -2
  51. package/services/centrum/dispatches.ts +32 -12
  52. package/services/centrum/units.client.ts +15 -2
  53. package/services/centrum/units.ts +237 -129
  54. package/services/citizens/citizens.ts +1 -1
  55. package/services/citizens/labels.client.ts +13 -0
  56. package/services/citizens/labels.ts +135 -4
  57. package/services/completor/completor.client.ts +0 -13
  58. package/services/completor/completor.ts +2 -116
  59. package/services/documents/approval.ts +20 -9
  60. package/services/documents/categories.ts +1 -1
  61. package/services/documents/collab.ts +1 -1
  62. package/services/documents/comments.ts +4 -4
  63. package/services/documents/documents.ts +38 -38
  64. package/services/documents/stats.ts +14 -2
  65. package/services/documents/templates.ts +1 -1
  66. package/services/filestore/filestore.ts +4 -4
  67. package/services/jobs/colleagues.ts +4 -4
  68. package/services/jobs/conduct.ts +2 -2
  69. package/services/jobs/groups.client.ts +22 -0
  70. package/services/jobs/groups.ts +9 -0
  71. package/services/jobs/timeclock.ts +2 -2
  72. package/services/mailer/settings.ts +1 -1
  73. package/services/mailer/thread.ts +3 -3
  74. package/services/qualifications/exam.ts +5 -5
  75. package/services/qualifications/qualifications.ts +52 -34
  76. package/services/settings/accounts.ts +19 -6
  77. package/services/settings/config.ts +2 -2
  78. package/services/settings/cron.ts +2 -2
  79. package/services/settings/laws.client.ts +44 -5
  80. package/services/settings/laws.ts +357 -4
  81. package/services/settings/system.ts +6 -6
  82. package/services/sync/sync.client.ts +42 -14
  83. package/services/sync/sync.ts +162 -13
  84. package/services/wiki/collab.ts +1 -1
  85. package/services/wiki/wiki.client.ts +15 -2
  86. package/services/wiki/wiki.ts +122 -0
  87. package/svcs.ts +19 -1
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,48 +45,44 @@
44
45
 
45
46
  export type Perms = SystemPerms | GRPCServicePerms;
46
47
 
47
- export type SystemPerms = 'Superuser/CanBeSuperuser' | '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'
51
52
  | 'calendar.CalendarService/CreateCalendar'
52
- | 'centrum.CentrumService/CreateDispatch'
53
- | 'centrum.CentrumService/CreateOrUpdateUnit'
54
- | 'centrum.CentrumService/DeleteDispatch'
55
- | 'centrum.CentrumService/DeleteUnit'
56
53
  | 'centrum.CentrumService/Stream'
57
54
  | 'centrum.CentrumService/TakeControl'
58
- | 'centrum.CentrumService/TakeDispatch'
59
- | 'centrum.CentrumService/UpdateDispatch'
60
55
  | 'centrum.CentrumService/UpdateDispatchers'
61
56
  | 'centrum.CentrumService/UpdateSettings'
57
+ | 'centrum.DispatchesService/CreateDispatch'
58
+ | 'centrum.DispatchesService/DeleteDispatch'
59
+ | 'centrum.DispatchesService/TakeDispatch'
60
+ | 'centrum.DispatchesService/UpdateDispatch'
61
+ | 'centrum.UnitsService/CreateOrUpdateUnit'
62
+ | 'centrum.UnitsService/DeleteUnit'
62
63
  | 'citizens.CitizensService/GetUser'
63
64
  | 'citizens.CitizensService/ListCitizens'
64
65
  | 'citizens.CitizensService/ListUserActivity'
65
66
  | 'citizens.CitizensService/SetUserProps'
66
67
  | 'citizens.LabelsService/CreateOrUpdateLabel'
67
68
  | 'citizens.LabelsService/DeleteLabel'
68
- | 'completor.CompletorService/CompleteCitizenLabels'
69
69
  | 'documents.ApprovalService/DeleteApprovalTasks'
70
70
  | 'documents.ApprovalService/RevokeApproval'
71
71
  | 'documents.ApprovalService/UpsertApprovalPolicy'
72
72
  | 'documents.ApprovalService/UpsertApprovalTasks'
73
+ | 'documents.CategoriesService/CreateOrUpdateCategory'
74
+ | 'documents.CategoriesService/DeleteCategory'
75
+ | 'documents.CategoriesService/ListCategories'
76
+ | 'documents.CommentsService/DeleteComment'
73
77
  | 'documents.DocumentsService/AddDocumentReference'
74
78
  | 'documents.DocumentsService/AddDocumentRelation'
75
79
  | 'documents.DocumentsService/ChangeDocumentOwner'
76
80
  | 'documents.DocumentsService/CreateDocumentReq'
77
- | 'documents.DocumentsService/CreateOrUpdateCategory'
78
- | 'documents.DocumentsService/CreateTemplate'
79
- | 'documents.DocumentsService/DeleteCategory'
80
- | 'documents.DocumentsService/DeleteComment'
81
81
  | 'documents.DocumentsService/DeleteDocument'
82
82
  | 'documents.DocumentsService/DeleteDocumentReq'
83
- | 'documents.DocumentsService/DeleteTemplate'
84
- | 'documents.DocumentsService/ListCategories'
85
83
  | 'documents.DocumentsService/ListDocumentActivity'
86
84
  | 'documents.DocumentsService/ListDocumentReqs'
87
85
  | 'documents.DocumentsService/ListDocuments'
88
- | 'documents.DocumentsService/ListTemplates'
89
86
  | 'documents.DocumentsService/ListUserDocuments'
90
87
  | 'documents.DocumentsService/SetDocumentReminder'
91
88
  | 'documents.DocumentsService/ToggleDocument'
@@ -95,16 +92,19 @@ export type GRPCServicePerms =
95
92
  | 'documents.StampsService/ListUsableStamps'
96
93
  | 'documents.StampsService/UpsertStamp'
97
94
  | 'documents.StatsService/GetStats'
95
+ | 'documents.TemplatesService/CreateTemplate'
96
+ | 'documents.TemplatesService/DeleteTemplate'
97
+ | 'documents.TemplatesService/ListTemplates'
98
+ | 'jobs.ColleaguesService/GetColleague'
99
+ | 'jobs.ColleaguesService/ListColleagueActivity'
100
+ | 'jobs.ColleaguesService/ListColleagues'
101
+ | 'jobs.ColleaguesService/ManageLabels'
102
+ | 'jobs.ColleaguesService/SetColleagueProps'
98
103
  | 'jobs.ConductService/CreateConductEntry'
99
104
  | 'jobs.ConductService/DeleteConductEntry'
100
105
  | 'jobs.ConductService/ListConductEntries'
101
106
  | 'jobs.ConductService/UpdateConductEntry'
102
107
  | 'jobs.ConductService/UploadFile'
103
- | 'jobs.JobsService/GetColleague'
104
- | 'jobs.JobsService/ListColleagueActivity'
105
- | 'jobs.JobsService/ListColleagues'
106
- | 'jobs.JobsService/ManageLabels'
107
- | 'jobs.JobsService/SetColleagueProps'
108
108
  | 'jobs.JobsService/SetMOTD'
109
109
  | 'jobs.StatsService/GetStats'
110
110
  | 'jobs.TimeclockService/ListInactiveEmployees'
@@ -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
 
@@ -140,13 +141,18 @@ export const GRPCServices = [
140
141
  'auth.AuthService',
141
142
  'calendar.CalendarService',
142
143
  'centrum.CentrumService',
144
+ 'centrum.DispatchesService',
145
+ 'centrum.UnitsService',
143
146
  'citizens.CitizensService',
144
147
  'citizens.LabelsService',
145
- 'completor.CompletorService',
146
148
  'documents.ApprovalService',
149
+ 'documents.CategoriesService',
150
+ 'documents.CommentsService',
147
151
  'documents.DocumentsService',
148
152
  'documents.StampsService',
149
153
  'documents.StatsService',
154
+ 'documents.TemplatesService',
155
+ 'jobs.ColleaguesService',
150
156
  'jobs.ConductService',
151
157
  'jobs.JobsService',
152
158
  'jobs.StatsService',
@@ -163,43 +169,39 @@ export const GRPCServices = [
163
169
  export const GRPCServiceMethods = [
164
170
  'auth.AuthService/ChooseCharacter',
165
171
  'calendar.CalendarService/CreateCalendar',
166
- 'centrum.CentrumService/CreateDispatch',
167
- 'centrum.CentrumService/CreateOrUpdateUnit',
168
- 'centrum.CentrumService/DeleteDispatch',
169
- 'centrum.CentrumService/DeleteUnit',
170
172
  'centrum.CentrumService/Stream',
171
173
  'centrum.CentrumService/TakeControl',
172
- 'centrum.CentrumService/TakeDispatch',
173
- 'centrum.CentrumService/UpdateDispatch',
174
174
  'centrum.CentrumService/UpdateDispatchers',
175
175
  'centrum.CentrumService/UpdateSettings',
176
+ 'centrum.DispatchesService/CreateDispatch',
177
+ 'centrum.DispatchesService/DeleteDispatch',
178
+ 'centrum.DispatchesService/TakeDispatch',
179
+ 'centrum.DispatchesService/UpdateDispatch',
180
+ 'centrum.UnitsService/CreateOrUpdateUnit',
181
+ 'centrum.UnitsService/DeleteUnit',
176
182
  'citizens.CitizensService/GetUser',
177
183
  'citizens.CitizensService/ListCitizens',
178
184
  'citizens.CitizensService/ListUserActivity',
179
185
  'citizens.CitizensService/SetUserProps',
180
186
  'citizens.LabelsService/CreateOrUpdateLabel',
181
187
  'citizens.LabelsService/DeleteLabel',
182
- 'completor.CompletorService/CompleteCitizenLabels',
183
188
  'documents.ApprovalService/DeleteApprovalTasks',
184
189
  'documents.ApprovalService/RevokeApproval',
185
190
  'documents.ApprovalService/UpsertApprovalPolicy',
186
191
  'documents.ApprovalService/UpsertApprovalTasks',
192
+ 'documents.CategoriesService/CreateOrUpdateCategory',
193
+ 'documents.CategoriesService/DeleteCategory',
194
+ 'documents.CategoriesService/ListCategories',
195
+ 'documents.CommentsService/DeleteComment',
187
196
  'documents.DocumentsService/AddDocumentReference',
188
197
  'documents.DocumentsService/AddDocumentRelation',
189
198
  'documents.DocumentsService/ChangeDocumentOwner',
190
199
  'documents.DocumentsService/CreateDocumentReq',
191
- 'documents.DocumentsService/CreateOrUpdateCategory',
192
- 'documents.DocumentsService/CreateTemplate',
193
- 'documents.DocumentsService/DeleteCategory',
194
- 'documents.DocumentsService/DeleteComment',
195
200
  'documents.DocumentsService/DeleteDocument',
196
201
  'documents.DocumentsService/DeleteDocumentReq',
197
- 'documents.DocumentsService/DeleteTemplate',
198
- 'documents.DocumentsService/ListCategories',
199
202
  'documents.DocumentsService/ListDocumentActivity',
200
203
  'documents.DocumentsService/ListDocumentReqs',
201
204
  'documents.DocumentsService/ListDocuments',
202
- 'documents.DocumentsService/ListTemplates',
203
205
  'documents.DocumentsService/ListUserDocuments',
204
206
  'documents.DocumentsService/SetDocumentReminder',
205
207
  'documents.DocumentsService/ToggleDocument',
@@ -209,16 +211,19 @@ export const GRPCServiceMethods = [
209
211
  'documents.StampsService/ListUsableStamps',
210
212
  'documents.StampsService/UpsertStamp',
211
213
  'documents.StatsService/GetStats',
214
+ 'documents.TemplatesService/CreateTemplate',
215
+ 'documents.TemplatesService/DeleteTemplate',
216
+ 'documents.TemplatesService/ListTemplates',
217
+ 'jobs.ColleaguesService/GetColleague',
218
+ 'jobs.ColleaguesService/ListColleagueActivity',
219
+ 'jobs.ColleaguesService/ListColleagues',
220
+ 'jobs.ColleaguesService/ManageLabels',
221
+ 'jobs.ColleaguesService/SetColleagueProps',
212
222
  'jobs.ConductService/CreateConductEntry',
213
223
  'jobs.ConductService/DeleteConductEntry',
214
224
  'jobs.ConductService/ListConductEntries',
215
225
  'jobs.ConductService/UpdateConductEntry',
216
226
  'jobs.ConductService/UploadFile',
217
- 'jobs.JobsService/GetColleague',
218
- 'jobs.JobsService/ListColleagueActivity',
219
- 'jobs.JobsService/ListColleagues',
220
- 'jobs.JobsService/ManageLabels',
221
- 'jobs.JobsService/SetColleagueProps',
222
227
  'jobs.JobsService/SetMOTD',
223
228
  'jobs.StatsService/GetStats',
224
229
  'jobs.TimeclockService/ListInactiveEmployees',
@@ -247,5 +252,346 @@ export const GRPCServiceMethods = [
247
252
  'wiki.WikiService/DeletePage',
248
253
  'wiki.WikiService/ListPageActivity',
249
254
  'wiki.WikiService/ListPages',
255
+ 'wiki.WikiService/MovePage',
250
256
  'wiki.WikiService/UpdatePage',
251
- 'wiki.WikiService/UploadFile',];
257
+ 'wiki.WikiService/UploadFile',
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;