@fabriktor/fx 0.0.124 → 0.0.125
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BillableOperator, PayrollsOperator, QueryOptions } from "@fabriktor/client";
|
|
2
|
-
import { ColPayrollsPayrolls, ColPayrollsHourBanks, ColPayrollsPayables, ColPayrollsAdjustments, ColPayrollsAdjustmentFolders, ColPayrollsPayConfigs, ColPayrollsEmployeePayConfigs, ColPayrollsAdjustmentRecords, ColPayrollsAdjustmentAggregates, ColPayrollsPayrollPrograms, type Payroll, type HourBank, type Payable, type Adjustment, type AdjustmentFolder, type PayConfig, type EmployeePayConfig, type AdjustmentRecord, type AdjustmentAggregate, type PayrollProgram, type InPayroll, type InAdjustment, type InAdjustmentFolder, type InPayConfig, type InEmployeePayConfig, type InPayrollProgram, type InAdjustmentAggregate, type PLPayrollsGeneratePayrollFromEntities, type InDate, type Period } from "@fabriktor/schema";
|
|
2
|
+
import { ColPayrollsPayrolls, ColPayrollsHourBanks, ColPayrollsPayables, ColPayrollsAdjustments, ColPayrollsAdjustmentFolders, ColPayrollsPayConfigs, ColPayrollsEmployeePayConfigs, ColPayrollsAdjustmentRecords, ColPayrollsAdjustmentAggregates, ColPayrollsPayrollPrograms, type Payroll, type HourBank, type Payable, type Adjustment, type AdjustmentFolder, type PayConfig, type EmployeePayConfig, type AdjustmentRecord, type AdjustmentAggregate, type PayrollProgram, type InPayroll, type InAdjustment, type InAdjustmentFolder, type InPayConfig, type InEmployeePayConfig, type InPayrollProgram, type InAdjustmentAggregate, type PLPayrollsGeneratePayrollFromEntities, type InDate, type Period, type Folder } from "@fabriktor/schema";
|
|
3
3
|
import type { EmploymentActor, EmploymentReadContext } from "../contacts/scope.js";
|
|
4
4
|
import { type SearchOptions, type SearchPage } from "../core/search.js";
|
|
5
5
|
import type { MultiCreateAttempt } from "../core/multi-create.js";
|
|
@@ -87,12 +87,12 @@ export declare const payrollPolicies: {
|
|
|
87
87
|
report: boolean;
|
|
88
88
|
};
|
|
89
89
|
adjustment_folders: {
|
|
90
|
+
archive: false;
|
|
91
|
+
remove: true;
|
|
90
92
|
filters: "is_archived"[];
|
|
91
93
|
employee_read: boolean;
|
|
92
94
|
searchable: boolean;
|
|
93
95
|
create: boolean;
|
|
94
|
-
archive: boolean;
|
|
95
|
-
remove: boolean;
|
|
96
96
|
report: boolean;
|
|
97
97
|
};
|
|
98
98
|
pay_configs: {
|
|
@@ -204,6 +204,7 @@ export declare class PayrollsWorkspace {
|
|
|
204
204
|
private adjustments;
|
|
205
205
|
private config;
|
|
206
206
|
private validateCommand;
|
|
207
|
+
updateFolder(actor: EmploymentActor, id: string, input: Folder): Promise<AdjustmentFolder>;
|
|
207
208
|
setArchived(actor: EmploymentActor, resource: PayrollResource, record: PayrollRecord, value: boolean): Promise<void>;
|
|
208
209
|
setEnabled(actor: EmploymentActor, record: PayrollProgram, is_enabled: boolean): Promise<void>;
|
|
209
210
|
remove(actor: EmploymentActor, resource: PayrollResource, record: PayrollRecord): Promise<void>;
|
|
@@ -31,7 +31,7 @@ const catalog = {
|
|
|
31
31
|
create: true,
|
|
32
32
|
archive: true,
|
|
33
33
|
};
|
|
34
|
-
//
|
|
34
|
+
// Service routes, record behavior and Rules() define this capability/filter table.
|
|
35
35
|
// A generic CRUD method in the client is not permission to edit an immutable record.
|
|
36
36
|
export const payrollPolicies = {
|
|
37
37
|
[PayrollResource.Payrolls]: {
|
|
@@ -82,7 +82,12 @@ export const payrollPolicies = {
|
|
|
82
82
|
"is_archived",
|
|
83
83
|
],
|
|
84
84
|
},
|
|
85
|
-
[PayrollResource.Folders]: {
|
|
85
|
+
[PayrollResource.Folders]: {
|
|
86
|
+
...catalog,
|
|
87
|
+
archive: false,
|
|
88
|
+
remove: true,
|
|
89
|
+
filters: ["is_archived"],
|
|
90
|
+
},
|
|
86
91
|
[PayrollResource.PayConfigs]: {
|
|
87
92
|
...catalog,
|
|
88
93
|
filters: ["type", "name", "currency", "is_archived"],
|
|
@@ -483,6 +488,19 @@ export class PayrollsWorkspace {
|
|
|
483
488
|
break;
|
|
484
489
|
}
|
|
485
490
|
}
|
|
491
|
+
async updateFolder(actor, id, input) {
|
|
492
|
+
await this.owned(actor, PayrollResource.Folders, id);
|
|
493
|
+
const folder_name = input.folder_name.trim();
|
|
494
|
+
requirePayroll(folder_name, "invalid");
|
|
495
|
+
await this.payrolls.replaceOneAdjustmentFolder({
|
|
496
|
+
id,
|
|
497
|
+
in: {
|
|
498
|
+
folder_name,
|
|
499
|
+
folder_description: input.folder_description.trim(),
|
|
500
|
+
},
|
|
501
|
+
});
|
|
502
|
+
return this.owned(actor, PayrollResource.Folders, id);
|
|
503
|
+
}
|
|
486
504
|
async setArchived(actor, resource, record, value) {
|
|
487
505
|
requirePayroll(payrollCanManage(actor, record) && payrollPolicies[resource].archive, "access");
|
|
488
506
|
await this.owned(actor, resource, record.id);
|
|
@@ -491,9 +509,6 @@ export class PayrollsWorkspace {
|
|
|
491
509
|
case PayrollResource.Adjustments:
|
|
492
510
|
await this.payrolls.replaceOneAdjustment(opts);
|
|
493
511
|
break;
|
|
494
|
-
case PayrollResource.Folders:
|
|
495
|
-
await this.payrolls.replaceOneAdjustmentFolder(opts);
|
|
496
|
-
break;
|
|
497
512
|
case PayrollResource.PayConfigs:
|
|
498
513
|
await this.payrolls.replaceOnePayConfig(opts);
|
|
499
514
|
break;
|
|
@@ -518,5 +533,7 @@ export class PayrollsWorkspace {
|
|
|
518
533
|
await this.payrolls.deleteOnePayroll({ id: record.id });
|
|
519
534
|
else if (resource === PayrollResource.Programs)
|
|
520
535
|
await this.payrolls.deleteOnePayrollProgram({ id: record.id });
|
|
536
|
+
else if (resource === PayrollResource.Folders)
|
|
537
|
+
await this.payrolls.deleteOneAdjustmentFolder({ id: record.id });
|
|
521
538
|
}
|
|
522
539
|
}
|