@kernhq/module-hr 0.16.0 → 0.17.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/dist/contract/index.d.ts +1 -0
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/contract/index.js +1 -0
- package/dist/contract/index.js.map +1 -1
- package/dist/contract/models.d.ts +1 -0
- package/dist/contract/models.d.ts.map +1 -1
- package/dist/contract/models.js +15 -0
- package/dist/contract/models.js.map +1 -1
- package/dist/contract/permissions.d.ts +8 -0
- package/dist/contract/permissions.d.ts.map +1 -1
- package/dist/contract/permissions.js +20 -0
- package/dist/contract/permissions.js.map +1 -1
- package/dist/contract/privacy.d.ts +860 -0
- package/dist/contract/privacy.d.ts.map +1 -0
- package/dist/contract/privacy.js +412 -0
- package/dist/contract/privacy.js.map +1 -0
- package/dist/contract/router.d.ts +815 -0
- package/dist/contract/router.d.ts.map +1 -1
- package/dist/contract/router.js +105 -0
- package/dist/contract/router.js.map +1 -1
- package/dist/server/router.d.ts +876 -0
- package/dist/server/router.d.ts.map +1 -1
- package/dist/server/router.js +312 -2
- package/dist/server/router.js.map +1 -1
- package/dist/server/schema.d.ts +397 -1
- package/dist/server/schema.d.ts.map +1 -1
- package/dist/server/schema.js +109 -0
- package/dist/server/schema.js.map +1 -1
- package/dist/server/services/audit.d.ts +249 -0
- package/dist/server/services/audit.d.ts.map +1 -0
- package/dist/server/services/audit.js +230 -0
- package/dist/server/services/audit.js.map +1 -0
- package/dist/server/services/people.d.ts +53 -1
- package/dist/server/services/people.d.ts.map +1 -1
- package/dist/server/services/people.js +74 -1
- package/dist/server/services/people.js.map +1 -1
- package/dist/server/services/privacy.d.ts +514 -0
- package/dist/server/services/privacy.d.ts.map +1 -0
- package/dist/server/services/privacy.js +972 -0
- package/dist/server/services/privacy.js.map +1 -0
- package/migrations/0011_privacy.sql +77 -0
- package/migrations/meta/0011_snapshot.json +4450 -0
- package/migrations/meta/_journal.json +7 -0
- package/package.json +1 -1
- package/src/contract/index.ts +1 -0
- package/src/contract/models.ts +15 -0
- package/src/contract/permissions.ts +22 -0
- package/src/contract/privacy.ts +452 -0
- package/src/contract/router.ts +121 -0
|
@@ -38,6 +38,7 @@ export declare const hrContract: {
|
|
|
38
38
|
timezone: z.ZodNullable<z.ZodString>;
|
|
39
39
|
custom: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
40
40
|
personnelHidden: z.ZodDefault<z.ZodBoolean>;
|
|
41
|
+
erasedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
41
42
|
createdAt: z.ZodISODateTime;
|
|
42
43
|
updatedAt: z.ZodISODateTime;
|
|
43
44
|
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
@@ -93,6 +94,7 @@ export declare const hrContract: {
|
|
|
93
94
|
timezone: z.ZodNullable<z.ZodString>;
|
|
94
95
|
custom: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
95
96
|
personnelHidden: z.ZodDefault<z.ZodBoolean>;
|
|
97
|
+
erasedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
96
98
|
createdAt: z.ZodISODateTime;
|
|
97
99
|
updatedAt: z.ZodISODateTime;
|
|
98
100
|
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
@@ -149,6 +151,7 @@ export declare const hrContract: {
|
|
|
149
151
|
timezone: z.ZodNullable<z.ZodString>;
|
|
150
152
|
custom: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
151
153
|
personnelHidden: z.ZodDefault<z.ZodBoolean>;
|
|
154
|
+
erasedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
152
155
|
createdAt: z.ZodISODateTime;
|
|
153
156
|
updatedAt: z.ZodISODateTime;
|
|
154
157
|
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
@@ -215,6 +218,7 @@ export declare const hrContract: {
|
|
|
215
218
|
timezone: z.ZodNullable<z.ZodString>;
|
|
216
219
|
custom: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
217
220
|
personnelHidden: z.ZodDefault<z.ZodBoolean>;
|
|
221
|
+
erasedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
218
222
|
createdAt: z.ZodISODateTime;
|
|
219
223
|
updatedAt: z.ZodISODateTime;
|
|
220
224
|
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
@@ -272,6 +276,7 @@ export declare const hrContract: {
|
|
|
272
276
|
timezone: z.ZodNullable<z.ZodString>;
|
|
273
277
|
custom: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
274
278
|
personnelHidden: z.ZodDefault<z.ZodBoolean>;
|
|
279
|
+
erasedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
275
280
|
createdAt: z.ZodISODateTime;
|
|
276
281
|
updatedAt: z.ZodISODateTime;
|
|
277
282
|
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
@@ -325,6 +330,7 @@ export declare const hrContract: {
|
|
|
325
330
|
timezone: z.ZodNullable<z.ZodString>;
|
|
326
331
|
custom: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
327
332
|
personnelHidden: z.ZodDefault<z.ZodBoolean>;
|
|
333
|
+
erasedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
328
334
|
createdAt: z.ZodISODateTime;
|
|
329
335
|
updatedAt: z.ZodISODateTime;
|
|
330
336
|
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
@@ -1336,6 +1342,7 @@ export declare const hrContract: {
|
|
|
1336
1342
|
timezone: z.ZodNullable<z.ZodString>;
|
|
1337
1343
|
custom: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1338
1344
|
personnelHidden: z.ZodDefault<z.ZodBoolean>;
|
|
1345
|
+
erasedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
1339
1346
|
createdAt: z.ZodISODateTime;
|
|
1340
1347
|
updatedAt: z.ZodISODateTime;
|
|
1341
1348
|
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
@@ -5898,6 +5905,814 @@ export declare const hrContract: {
|
|
|
5898
5905
|
};
|
|
5899
5906
|
}>, Record<never, never>>;
|
|
5900
5907
|
};
|
|
5908
|
+
/**
|
|
5909
|
+
* Subject access, erasure and retention. All four behind `hr.privacy.manage`, which is granted to
|
|
5910
|
+
* nobody by default and ships in the same change as these — see `privacy.ts` for why there is one
|
|
5911
|
+
* key rather than four, and why none of this is a capability.
|
|
5912
|
+
*/
|
|
5913
|
+
privacy: {
|
|
5914
|
+
/**
|
|
5915
|
+
* Everything HR holds about one person, in one response.
|
|
5916
|
+
*
|
|
5917
|
+
* `personId` is required and there is no filter: a workspace-wide export is two and a half
|
|
5918
|
+
* million rows with decrypted bank details in flight, and it is not offered.
|
|
5919
|
+
*
|
|
5920
|
+
* The decrypt makes this a bulk read of the sensitive record, so it writes a
|
|
5921
|
+
* `sensitive_access_log` row with `via: 'export'` in the same transaction.
|
|
5922
|
+
*/
|
|
5923
|
+
subjectAccess: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
5924
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
5925
|
+
personId: z.ZodUUID;
|
|
5926
|
+
purpose: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5927
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
5928
|
+
manifest: z.ZodObject<{
|
|
5929
|
+
personId: z.ZodUUID;
|
|
5930
|
+
generatedAt: z.ZodISODateTime;
|
|
5931
|
+
generatedBy: z.ZodNullable<z.ZodUUID>;
|
|
5932
|
+
moduleVersion: z.ZodString;
|
|
5933
|
+
truncated: z.ZodArray<z.ZodObject<{
|
|
5934
|
+
section: z.ZodString;
|
|
5935
|
+
returned: z.ZodNumber;
|
|
5936
|
+
cap: z.ZodNumber;
|
|
5937
|
+
}, z.core.$strip>>;
|
|
5938
|
+
excluded: z.ZodArray<z.ZodObject<{
|
|
5939
|
+
section: z.ZodString;
|
|
5940
|
+
reason: z.ZodEnum<{
|
|
5941
|
+
fileContentsNotExportable: "fileContentsNotExportable";
|
|
5942
|
+
notRequested: "notRequested";
|
|
5943
|
+
}>;
|
|
5944
|
+
}, z.core.$strip>>;
|
|
5945
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
5946
|
+
}, z.core.$strip>;
|
|
5947
|
+
person: z.ZodObject<{
|
|
5948
|
+
userId: z.ZodNullable<z.ZodUUID>;
|
|
5949
|
+
employeeNo: z.ZodNullable<z.ZodString>;
|
|
5950
|
+
displayName: z.ZodString;
|
|
5951
|
+
workEmail: z.ZodNullable<z.ZodEmail>;
|
|
5952
|
+
personalEmail: z.ZodNullable<z.ZodEmail>;
|
|
5953
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
5954
|
+
photoFileId: z.ZodNullable<z.ZodUUID>;
|
|
5955
|
+
status: z.ZodEnum<{
|
|
5956
|
+
onboarding: "onboarding";
|
|
5957
|
+
active: "active";
|
|
5958
|
+
on_leave: "on_leave";
|
|
5959
|
+
offboarding: "offboarding";
|
|
5960
|
+
terminated: "terminated";
|
|
5961
|
+
}>;
|
|
5962
|
+
hiredOn: z.ZodNullable<z.ZodISODate>;
|
|
5963
|
+
terminatedOn: z.ZodNullable<z.ZodISODate>;
|
|
5964
|
+
timezone: z.ZodNullable<z.ZodString>;
|
|
5965
|
+
custom: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
5966
|
+
personnelHidden: z.ZodDefault<z.ZodBoolean>;
|
|
5967
|
+
erasedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
5968
|
+
createdAt: z.ZodISODateTime;
|
|
5969
|
+
updatedAt: z.ZodISODateTime;
|
|
5970
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
5971
|
+
id: z.ZodUUID;
|
|
5972
|
+
}, z.core.$strip>;
|
|
5973
|
+
sensitive: z.ZodObject<{
|
|
5974
|
+
nationalId: z.ZodNullable<z.ZodString>;
|
|
5975
|
+
birthDate: z.ZodNullable<z.ZodISODate>;
|
|
5976
|
+
iban: z.ZodNullable<z.ZodString>;
|
|
5977
|
+
emergencyContact: z.ZodNullable<z.ZodObject<{
|
|
5978
|
+
name: z.ZodString;
|
|
5979
|
+
relationship: z.ZodOptional<z.ZodString>;
|
|
5980
|
+
phone: z.ZodString;
|
|
5981
|
+
}, z.core.$strip>>;
|
|
5982
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
5983
|
+
personId: z.ZodUUID;
|
|
5984
|
+
}, z.core.$strip>;
|
|
5985
|
+
employment: z.ZodArray<z.ZodObject<{
|
|
5986
|
+
personId: z.ZodUUID;
|
|
5987
|
+
effectiveFrom: z.ZodISODate;
|
|
5988
|
+
effectiveTo: z.ZodNullable<z.ZodISODate>;
|
|
5989
|
+
orgUnitId: z.ZodNullable<z.ZodUUID>;
|
|
5990
|
+
positionId: z.ZodNullable<z.ZodUUID>;
|
|
5991
|
+
legalEntityId: z.ZodNullable<z.ZodUUID>;
|
|
5992
|
+
costCenterId: z.ZodNullable<z.ZodUUID>;
|
|
5993
|
+
managerPersonId: z.ZodNullable<z.ZodUUID>;
|
|
5994
|
+
employmentType: z.ZodEnum<{
|
|
5995
|
+
full_time: "full_time";
|
|
5996
|
+
part_time: "part_time";
|
|
5997
|
+
contract: "contract";
|
|
5998
|
+
intern: "intern";
|
|
5999
|
+
temporary: "temporary";
|
|
6000
|
+
freelance: "freelance";
|
|
6001
|
+
}>;
|
|
6002
|
+
fte: z.ZodNumber;
|
|
6003
|
+
contractHoursWeek: z.ZodNullable<z.ZodNumber>;
|
|
6004
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
6005
|
+
createdAt: z.ZodISODateTime;
|
|
6006
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6007
|
+
id: z.ZodUUID;
|
|
6008
|
+
}, z.core.$strip>>;
|
|
6009
|
+
offices: z.ZodArray<z.ZodObject<{
|
|
6010
|
+
personId: z.ZodUUID;
|
|
6011
|
+
officeId: z.ZodUUID;
|
|
6012
|
+
isPrimary: z.ZodBoolean;
|
|
6013
|
+
effectiveFrom: z.ZodISODate;
|
|
6014
|
+
effectiveTo: z.ZodNullable<z.ZodISODate>;
|
|
6015
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
6016
|
+
createdAt: z.ZodISODateTime;
|
|
6017
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6018
|
+
id: z.ZodUUID;
|
|
6019
|
+
}, z.core.$strip>>;
|
|
6020
|
+
history: z.ZodArray<z.ZodObject<{
|
|
6021
|
+
id: z.ZodUUID;
|
|
6022
|
+
field: z.ZodString;
|
|
6023
|
+
from: z.ZodUnknown;
|
|
6024
|
+
to: z.ZodUnknown;
|
|
6025
|
+
at: z.ZodISODateTime;
|
|
6026
|
+
actorId: z.ZodNullable<z.ZodUUID>;
|
|
6027
|
+
source: z.ZodString;
|
|
6028
|
+
}, z.core.$strip>>;
|
|
6029
|
+
documents: z.ZodArray<z.ZodObject<{
|
|
6030
|
+
personId: z.ZodUUID;
|
|
6031
|
+
fileId: z.ZodUUID;
|
|
6032
|
+
name: z.ZodString;
|
|
6033
|
+
kind: z.ZodString;
|
|
6034
|
+
issuedOn: z.ZodNullable<z.ZodISODate>;
|
|
6035
|
+
expiresOn: z.ZodNullable<z.ZodISODate>;
|
|
6036
|
+
uploadedBy: z.ZodNullable<z.ZodUUID>;
|
|
6037
|
+
createdAt: z.ZodISODateTime;
|
|
6038
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6039
|
+
id: z.ZodUUID;
|
|
6040
|
+
}, z.core.$strip>>;
|
|
6041
|
+
leave: z.ZodObject<{
|
|
6042
|
+
types: z.ZodArray<z.ZodObject<{
|
|
6043
|
+
key: z.ZodString;
|
|
6044
|
+
name: z.ZodString;
|
|
6045
|
+
paid: z.ZodBoolean;
|
|
6046
|
+
unit: z.ZodEnum<{
|
|
6047
|
+
half_day: "half_day";
|
|
6048
|
+
day: "day";
|
|
6049
|
+
hour: "hour";
|
|
6050
|
+
}>;
|
|
6051
|
+
color: z.ZodNullable<z.ZodString>;
|
|
6052
|
+
icon: z.ZodNullable<z.ZodString>;
|
|
6053
|
+
requiresDocumentAfterDays: z.ZodNullable<z.ZodNumber>;
|
|
6054
|
+
countsWorkingDaysOnly: z.ZodBoolean;
|
|
6055
|
+
allowNegative: z.ZodBoolean;
|
|
6056
|
+
maxNegativeMinutes: z.ZodNumber;
|
|
6057
|
+
order: z.ZodNumber;
|
|
6058
|
+
archivedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6059
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6060
|
+
id: z.ZodUUID;
|
|
6061
|
+
}, z.core.$strip>>;
|
|
6062
|
+
requests: z.ZodArray<z.ZodObject<{
|
|
6063
|
+
personId: z.ZodUUID;
|
|
6064
|
+
leaveTypeId: z.ZodUUID;
|
|
6065
|
+
startsOn: z.ZodISODate;
|
|
6066
|
+
endsOn: z.ZodISODate;
|
|
6067
|
+
startPart: z.ZodEnum<{
|
|
6068
|
+
full: "full";
|
|
6069
|
+
morning: "morning";
|
|
6070
|
+
afternoon: "afternoon";
|
|
6071
|
+
}>;
|
|
6072
|
+
endPart: z.ZodEnum<{
|
|
6073
|
+
full: "full";
|
|
6074
|
+
morning: "morning";
|
|
6075
|
+
afternoon: "afternoon";
|
|
6076
|
+
}>;
|
|
6077
|
+
hours: z.ZodNullable<z.ZodNumber>;
|
|
6078
|
+
workingDays: z.ZodNumber;
|
|
6079
|
+
minutes: z.ZodNumber;
|
|
6080
|
+
status: z.ZodEnum<{
|
|
6081
|
+
pending: "pending";
|
|
6082
|
+
approved: "approved";
|
|
6083
|
+
rejected: "rejected";
|
|
6084
|
+
cancelled: "cancelled";
|
|
6085
|
+
draft: "draft";
|
|
6086
|
+
withdrawn: "withdrawn";
|
|
6087
|
+
}>;
|
|
6088
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
6089
|
+
documentFileId: z.ZodNullable<z.ZodUUID>;
|
|
6090
|
+
approvalRequestId: z.ZodNullable<z.ZodUUID>;
|
|
6091
|
+
decidedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6092
|
+
createdAt: z.ZodISODateTime;
|
|
6093
|
+
updatedAt: z.ZodISODateTime;
|
|
6094
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6095
|
+
id: z.ZodUUID;
|
|
6096
|
+
}, z.core.$strip>>;
|
|
6097
|
+
days: z.ZodArray<z.ZodObject<{
|
|
6098
|
+
id: z.ZodUUID;
|
|
6099
|
+
requestId: z.ZodUUID;
|
|
6100
|
+
date: z.ZodISODate;
|
|
6101
|
+
fraction: z.ZodNumber;
|
|
6102
|
+
counted: z.ZodBoolean;
|
|
6103
|
+
status: z.ZodString;
|
|
6104
|
+
}, z.core.$strip>>;
|
|
6105
|
+
ledger: z.ZodArray<z.ZodObject<{
|
|
6106
|
+
personId: z.ZodUUID;
|
|
6107
|
+
leaveTypeId: z.ZodUUID;
|
|
6108
|
+
kind: z.ZodEnum<{
|
|
6109
|
+
grant: "grant";
|
|
6110
|
+
accrual: "accrual";
|
|
6111
|
+
consumption: "consumption";
|
|
6112
|
+
reversal: "reversal";
|
|
6113
|
+
expiry: "expiry";
|
|
6114
|
+
adjustment: "adjustment";
|
|
6115
|
+
carry_in: "carry_in";
|
|
6116
|
+
carry_out: "carry_out";
|
|
6117
|
+
encashment: "encashment";
|
|
6118
|
+
}>;
|
|
6119
|
+
amountMinutes: z.ZodNumber;
|
|
6120
|
+
effectiveOn: z.ZodISODate;
|
|
6121
|
+
periodYear: z.ZodNumber;
|
|
6122
|
+
requestId: z.ZodNullable<z.ZodUUID>;
|
|
6123
|
+
reversesEntryId: z.ZodNullable<z.ZodUUID>;
|
|
6124
|
+
policyHash: z.ZodNullable<z.ZodString>;
|
|
6125
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
6126
|
+
createdBy: z.ZodNullable<z.ZodUUID>;
|
|
6127
|
+
createdAt: z.ZodISODateTime;
|
|
6128
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6129
|
+
id: z.ZodUUID;
|
|
6130
|
+
}, z.core.$strip>>;
|
|
6131
|
+
closingBalanceMinutes: z.ZodNumber;
|
|
6132
|
+
}, z.core.$strip>;
|
|
6133
|
+
attendance: z.ZodObject<{
|
|
6134
|
+
punches: z.ZodArray<z.ZodObject<{
|
|
6135
|
+
personId: z.ZodUUID;
|
|
6136
|
+
direction: z.ZodEnum<{
|
|
6137
|
+
out: "out";
|
|
6138
|
+
in: "in";
|
|
6139
|
+
break_start: "break_start";
|
|
6140
|
+
break_end: "break_end";
|
|
6141
|
+
}>;
|
|
6142
|
+
at: z.ZodISODateTime;
|
|
6143
|
+
clientReportedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6144
|
+
skewMs: z.ZodNullable<z.ZodNumber>;
|
|
6145
|
+
businessDate: z.ZodISODate;
|
|
6146
|
+
timezone: z.ZodString;
|
|
6147
|
+
method: z.ZodEnum<{
|
|
6148
|
+
web: "web";
|
|
6149
|
+
mobile: "mobile";
|
|
6150
|
+
kiosk: "kiosk";
|
|
6151
|
+
qr: "qr";
|
|
6152
|
+
device: "device";
|
|
6153
|
+
import: "import";
|
|
6154
|
+
manual: "manual";
|
|
6155
|
+
auto: "auto";
|
|
6156
|
+
}>;
|
|
6157
|
+
officeId: z.ZodNullable<z.ZodUUID>;
|
|
6158
|
+
deviceId: z.ZodNullable<z.ZodUUID>;
|
|
6159
|
+
geo: z.ZodNullable<z.ZodObject<{
|
|
6160
|
+
lat: z.ZodNumber;
|
|
6161
|
+
lng: z.ZodNumber;
|
|
6162
|
+
accuracyM: z.ZodOptional<z.ZodNumber>;
|
|
6163
|
+
}, z.core.$strip>>;
|
|
6164
|
+
trust: z.ZodEnum<{
|
|
6165
|
+
trusted: "trusted";
|
|
6166
|
+
claimed: "claimed";
|
|
6167
|
+
disputed: "disputed";
|
|
6168
|
+
}>;
|
|
6169
|
+
voidedByPunchId: z.ZodNullable<z.ZodUUID>;
|
|
6170
|
+
note: z.ZodNullable<z.ZodString>;
|
|
6171
|
+
createdAt: z.ZodISODateTime;
|
|
6172
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6173
|
+
id: z.ZodUUID;
|
|
6174
|
+
}, z.core.$strip>>;
|
|
6175
|
+
days: z.ZodArray<z.ZodObject<{
|
|
6176
|
+
personId: z.ZodUUID;
|
|
6177
|
+
businessDate: z.ZodISODate;
|
|
6178
|
+
scheduledMinutes: z.ZodNumber;
|
|
6179
|
+
workedMinutes: z.ZodNumber;
|
|
6180
|
+
breakMinutes: z.ZodNumber;
|
|
6181
|
+
overtimeMinutes: z.ZodNumber;
|
|
6182
|
+
beyondCapMinutes: z.ZodNullable<z.ZodNumber>;
|
|
6183
|
+
lateMinutes: z.ZodNumber;
|
|
6184
|
+
earlyLeaveMinutes: z.ZodNumber;
|
|
6185
|
+
status: z.ZodEnum<{
|
|
6186
|
+
leave: "leave";
|
|
6187
|
+
pending: "pending";
|
|
6188
|
+
present: "present";
|
|
6189
|
+
absent: "absent";
|
|
6190
|
+
holiday: "holiday";
|
|
6191
|
+
weekend: "weekend";
|
|
6192
|
+
partial: "partial";
|
|
6193
|
+
}>;
|
|
6194
|
+
leaveRequestId: z.ZodNullable<z.ZodUUID>;
|
|
6195
|
+
anomalies: z.ZodArray<z.ZodString>;
|
|
6196
|
+
firstIn: z.ZodNullable<z.ZodISODateTime>;
|
|
6197
|
+
lastOut: z.ZodNullable<z.ZodISODateTime>;
|
|
6198
|
+
policyHash: z.ZodNullable<z.ZodString>;
|
|
6199
|
+
locked: z.ZodBoolean;
|
|
6200
|
+
computedAt: z.ZodISODateTime;
|
|
6201
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6202
|
+
id: z.ZodUUID;
|
|
6203
|
+
}, z.core.$strip>>;
|
|
6204
|
+
}, z.core.$strip>;
|
|
6205
|
+
regularizations: z.ZodArray<z.ZodObject<{
|
|
6206
|
+
personId: z.ZodUUID;
|
|
6207
|
+
businessDate: z.ZodISODate;
|
|
6208
|
+
punchId: z.ZodNullable<z.ZodUUID>;
|
|
6209
|
+
proposed: z.ZodArray<z.ZodObject<{
|
|
6210
|
+
direction: z.ZodEnum<{
|
|
6211
|
+
out: "out";
|
|
6212
|
+
in: "in";
|
|
6213
|
+
break_start: "break_start";
|
|
6214
|
+
break_end: "break_end";
|
|
6215
|
+
}>;
|
|
6216
|
+
at: z.ZodISODateTime;
|
|
6217
|
+
}, z.core.$strip>>;
|
|
6218
|
+
reason: z.ZodString;
|
|
6219
|
+
status: z.ZodEnum<{
|
|
6220
|
+
pending: "pending";
|
|
6221
|
+
approved: "approved";
|
|
6222
|
+
rejected: "rejected";
|
|
6223
|
+
cancelled: "cancelled";
|
|
6224
|
+
}>;
|
|
6225
|
+
approvalRequestId: z.ZodNullable<z.ZodUUID>;
|
|
6226
|
+
appliedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6227
|
+
createdAt: z.ZodISODateTime;
|
|
6228
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6229
|
+
id: z.ZodUUID;
|
|
6230
|
+
}, z.core.$strip>>;
|
|
6231
|
+
approvals: z.ZodObject<{
|
|
6232
|
+
raised: z.ZodArray<z.ZodObject<{
|
|
6233
|
+
subjectType: z.ZodEnum<{
|
|
6234
|
+
leave: "leave";
|
|
6235
|
+
regularization: "regularization";
|
|
6236
|
+
overtime: "overtime";
|
|
6237
|
+
timesheet: "timesheet";
|
|
6238
|
+
shift_swap: "shift_swap";
|
|
6239
|
+
}>;
|
|
6240
|
+
subjectId: z.ZodUUID;
|
|
6241
|
+
summary: z.ZodString;
|
|
6242
|
+
summaryParams: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
6243
|
+
status: z.ZodEnum<{
|
|
6244
|
+
pending: "pending";
|
|
6245
|
+
approved: "approved";
|
|
6246
|
+
rejected: "rejected";
|
|
6247
|
+
cancelled: "cancelled";
|
|
6248
|
+
}>;
|
|
6249
|
+
currentStep: z.ZodNumber;
|
|
6250
|
+
requestedBy: z.ZodNullable<z.ZodUUID>;
|
|
6251
|
+
requesterPersonId: z.ZodNullable<z.ZodUUID>;
|
|
6252
|
+
requesterName: z.ZodNullable<z.ZodString>;
|
|
6253
|
+
requestedAt: z.ZodISODateTime;
|
|
6254
|
+
decidedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6255
|
+
steps: z.ZodArray<z.ZodObject<{
|
|
6256
|
+
id: z.ZodUUID;
|
|
6257
|
+
requestId: z.ZodUUID;
|
|
6258
|
+
stepIndex: z.ZodNumber;
|
|
6259
|
+
name: z.ZodString;
|
|
6260
|
+
mode: z.ZodEnum<{
|
|
6261
|
+
any: "any";
|
|
6262
|
+
all: "all";
|
|
6263
|
+
quorum: "quorum";
|
|
6264
|
+
}>;
|
|
6265
|
+
minApprovals: z.ZodNumber;
|
|
6266
|
+
approverIds: z.ZodArray<z.ZodUUID>;
|
|
6267
|
+
status: z.ZodEnum<{
|
|
6268
|
+
pending: "pending";
|
|
6269
|
+
approved: "approved";
|
|
6270
|
+
rejected: "rejected";
|
|
6271
|
+
cancelled: "cancelled";
|
|
6272
|
+
}>;
|
|
6273
|
+
dueAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6274
|
+
escalatedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6275
|
+
decisions: z.ZodArray<z.ZodObject<{
|
|
6276
|
+
id: z.ZodUUID;
|
|
6277
|
+
stepId: z.ZodUUID;
|
|
6278
|
+
approverId: z.ZodUUID;
|
|
6279
|
+
onBehalfOfId: z.ZodNullable<z.ZodUUID>;
|
|
6280
|
+
decision: z.ZodEnum<{
|
|
6281
|
+
approve: "approve";
|
|
6282
|
+
reject: "reject";
|
|
6283
|
+
}>;
|
|
6284
|
+
comment: z.ZodNullable<z.ZodString>;
|
|
6285
|
+
at: z.ZodISODateTime;
|
|
6286
|
+
}, z.core.$strip>>;
|
|
6287
|
+
}, z.core.$strip>>;
|
|
6288
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6289
|
+
id: z.ZodUUID;
|
|
6290
|
+
}, z.core.$strip>>;
|
|
6291
|
+
approverOn: z.ZodArray<z.ZodObject<{
|
|
6292
|
+
id: z.ZodUUID;
|
|
6293
|
+
requestId: z.ZodUUID;
|
|
6294
|
+
stepIndex: z.ZodNumber;
|
|
6295
|
+
name: z.ZodString;
|
|
6296
|
+
mode: z.ZodEnum<{
|
|
6297
|
+
any: "any";
|
|
6298
|
+
all: "all";
|
|
6299
|
+
quorum: "quorum";
|
|
6300
|
+
}>;
|
|
6301
|
+
minApprovals: z.ZodNumber;
|
|
6302
|
+
approverIds: z.ZodArray<z.ZodUUID>;
|
|
6303
|
+
status: z.ZodEnum<{
|
|
6304
|
+
pending: "pending";
|
|
6305
|
+
approved: "approved";
|
|
6306
|
+
rejected: "rejected";
|
|
6307
|
+
cancelled: "cancelled";
|
|
6308
|
+
}>;
|
|
6309
|
+
dueAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6310
|
+
escalatedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6311
|
+
decisions: z.ZodArray<z.ZodObject<{
|
|
6312
|
+
id: z.ZodUUID;
|
|
6313
|
+
stepId: z.ZodUUID;
|
|
6314
|
+
approverId: z.ZodUUID;
|
|
6315
|
+
onBehalfOfId: z.ZodNullable<z.ZodUUID>;
|
|
6316
|
+
decision: z.ZodEnum<{
|
|
6317
|
+
approve: "approve";
|
|
6318
|
+
reject: "reject";
|
|
6319
|
+
}>;
|
|
6320
|
+
comment: z.ZodNullable<z.ZodString>;
|
|
6321
|
+
at: z.ZodISODateTime;
|
|
6322
|
+
}, z.core.$strip>>;
|
|
6323
|
+
}, z.core.$strip>>;
|
|
6324
|
+
decisions: z.ZodArray<z.ZodObject<{
|
|
6325
|
+
id: z.ZodUUID;
|
|
6326
|
+
stepId: z.ZodUUID;
|
|
6327
|
+
approverId: z.ZodUUID;
|
|
6328
|
+
onBehalfOfId: z.ZodNullable<z.ZodUUID>;
|
|
6329
|
+
decision: z.ZodEnum<{
|
|
6330
|
+
approve: "approve";
|
|
6331
|
+
reject: "reject";
|
|
6332
|
+
}>;
|
|
6333
|
+
comment: z.ZodNullable<z.ZodString>;
|
|
6334
|
+
at: z.ZodISODateTime;
|
|
6335
|
+
}, z.core.$strip>>;
|
|
6336
|
+
}, z.core.$strip>;
|
|
6337
|
+
delegations: z.ZodObject<{
|
|
6338
|
+
given: z.ZodArray<z.ZodObject<{
|
|
6339
|
+
fromPersonId: z.ZodUUID;
|
|
6340
|
+
toPersonId: z.ZodUUID;
|
|
6341
|
+
subjectType: z.ZodNullable<z.ZodEnum<{
|
|
6342
|
+
leave: "leave";
|
|
6343
|
+
regularization: "regularization";
|
|
6344
|
+
overtime: "overtime";
|
|
6345
|
+
timesheet: "timesheet";
|
|
6346
|
+
shift_swap: "shift_swap";
|
|
6347
|
+
}>>;
|
|
6348
|
+
startsOn: z.ZodISODate;
|
|
6349
|
+
endsOn: z.ZodISODate;
|
|
6350
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
6351
|
+
createdAt: z.ZodISODateTime;
|
|
6352
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6353
|
+
id: z.ZodUUID;
|
|
6354
|
+
}, z.core.$strip>>;
|
|
6355
|
+
received: z.ZodArray<z.ZodObject<{
|
|
6356
|
+
fromPersonId: z.ZodUUID;
|
|
6357
|
+
toPersonId: z.ZodUUID;
|
|
6358
|
+
subjectType: z.ZodNullable<z.ZodEnum<{
|
|
6359
|
+
leave: "leave";
|
|
6360
|
+
regularization: "regularization";
|
|
6361
|
+
overtime: "overtime";
|
|
6362
|
+
timesheet: "timesheet";
|
|
6363
|
+
shift_swap: "shift_swap";
|
|
6364
|
+
}>>;
|
|
6365
|
+
startsOn: z.ZodISODate;
|
|
6366
|
+
endsOn: z.ZodISODate;
|
|
6367
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
6368
|
+
createdAt: z.ZodISODateTime;
|
|
6369
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6370
|
+
id: z.ZodUUID;
|
|
6371
|
+
}, z.core.$strip>>;
|
|
6372
|
+
}, z.core.$strip>;
|
|
6373
|
+
policiesInForce: z.ZodArray<z.ZodObject<{
|
|
6374
|
+
kind: z.ZodEnum<{
|
|
6375
|
+
overtime: "overtime";
|
|
6376
|
+
accrual: "accrual";
|
|
6377
|
+
carry_forward: "carry_forward";
|
|
6378
|
+
rounding: "rounding";
|
|
6379
|
+
working_time: "working_time";
|
|
6380
|
+
}>;
|
|
6381
|
+
policyId: z.ZodNullable<z.ZodUUID>;
|
|
6382
|
+
policyName: z.ZodNullable<z.ZodString>;
|
|
6383
|
+
config: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6384
|
+
from: z.ZodNullable<z.ZodEnum<{
|
|
6385
|
+
person: "person";
|
|
6386
|
+
office: "office";
|
|
6387
|
+
legal_entity: "legal_entity";
|
|
6388
|
+
org_unit: "org_unit";
|
|
6389
|
+
position: "position";
|
|
6390
|
+
workspace: "workspace";
|
|
6391
|
+
}>>;
|
|
6392
|
+
fromSubjectId: z.ZodNullable<z.ZodUUID>;
|
|
6393
|
+
}, z.core.$strip>>;
|
|
6394
|
+
accessLog: z.ZodArray<z.ZodObject<{
|
|
6395
|
+
id: z.ZodUUID;
|
|
6396
|
+
personId: z.ZodUUID;
|
|
6397
|
+
actorUserId: z.ZodUUID;
|
|
6398
|
+
actorPersonId: z.ZodNullable<z.ZodUUID>;
|
|
6399
|
+
fields: z.ZodArray<z.ZodString>;
|
|
6400
|
+
purpose: z.ZodNullable<z.ZodString>;
|
|
6401
|
+
via: z.ZodEnum<{
|
|
6402
|
+
ui: "ui";
|
|
6403
|
+
api: "api";
|
|
6404
|
+
export: "export";
|
|
6405
|
+
}>;
|
|
6406
|
+
at: z.ZodISODateTime;
|
|
6407
|
+
}, z.core.$strip>>;
|
|
6408
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
6409
|
+
BAD_REQUEST: {
|
|
6410
|
+
data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
6411
|
+
};
|
|
6412
|
+
UNAUTHORIZED: {};
|
|
6413
|
+
FORBIDDEN: {
|
|
6414
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
6415
|
+
permission: z.ZodOptional<z.ZodString>;
|
|
6416
|
+
}, z.core.$strip>>;
|
|
6417
|
+
};
|
|
6418
|
+
NOT_FOUND: {};
|
|
6419
|
+
CONFLICT: {
|
|
6420
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
6421
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
6422
|
+
}, z.core.$strip>>;
|
|
6423
|
+
};
|
|
6424
|
+
RATE_LIMITED: {};
|
|
6425
|
+
MODULE_DISABLED: {
|
|
6426
|
+
data: z.ZodObject<{
|
|
6427
|
+
module: z.ZodString;
|
|
6428
|
+
}, z.core.$strip>;
|
|
6429
|
+
};
|
|
6430
|
+
}>, Record<never, never>>;
|
|
6431
|
+
/**
|
|
6432
|
+
* Redact a person, and say what survived.
|
|
6433
|
+
*
|
|
6434
|
+
* **`dryRun` defaults to true**, which is the opposite of every other write in this module and
|
|
6435
|
+
* deliberate. This is the one irreversible act HR offers, so a caller that forgets the flag has
|
|
6436
|
+
* to get the preview rather than the erasure. It matters more than it reads: core generates an
|
|
6437
|
+
* MCP tool from every hosted module's OpenAPI document, so a procedure with a REST route is
|
|
6438
|
+
* agent-callable the day it ships, and the call made with no arguments has to be the harmless
|
|
6439
|
+
* one. The preview runs the same predicates the run does and returns the same shape.
|
|
6440
|
+
*
|
|
6441
|
+
* Nothing is deleted. The identifying columns are cleared and every record a wage, an
|
|
6442
|
+
* entitlement or an authorisation was computed from stays, listed in `kept` with the basis it
|
|
6443
|
+
* survived under. Running it twice is safe and reports zero rows the second time: each step
|
|
6444
|
+
* matches only rows that still have something to clear.
|
|
6445
|
+
*/
|
|
6446
|
+
erase: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
6447
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6448
|
+
personId: z.ZodUUID;
|
|
6449
|
+
dryRun: z.ZodDefault<z.ZodBoolean>;
|
|
6450
|
+
reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6451
|
+
keepNationalIdForAudit: z.ZodDefault<z.ZodBoolean>;
|
|
6452
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
6453
|
+
personId: z.ZodUUID;
|
|
6454
|
+
dryRun: z.ZodBoolean;
|
|
6455
|
+
erasedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6456
|
+
displayName: z.ZodString;
|
|
6457
|
+
redacted: z.ZodArray<z.ZodObject<{
|
|
6458
|
+
class: z.ZodEnum<{
|
|
6459
|
+
sensitive: "sensitive";
|
|
6460
|
+
employment: "employment";
|
|
6461
|
+
approvals: "approvals";
|
|
6462
|
+
attendance: "attendance";
|
|
6463
|
+
documents: "documents";
|
|
6464
|
+
punches: "punches";
|
|
6465
|
+
identity: "identity";
|
|
6466
|
+
history: "history";
|
|
6467
|
+
leaveRequests: "leaveRequests";
|
|
6468
|
+
leaveLedger: "leaveLedger";
|
|
6469
|
+
officeAssignments: "officeAssignments";
|
|
6470
|
+
approvalDecisions: "approvalDecisions";
|
|
6471
|
+
regularizations: "regularizations";
|
|
6472
|
+
delegations: "delegations";
|
|
6473
|
+
headship: "headship";
|
|
6474
|
+
}>;
|
|
6475
|
+
table: z.ZodString;
|
|
6476
|
+
rows: z.ZodNumber;
|
|
6477
|
+
columns: z.ZodArray<z.ZodString>;
|
|
6478
|
+
}, z.core.$strip>>;
|
|
6479
|
+
kept: z.ZodArray<z.ZodObject<{
|
|
6480
|
+
class: z.ZodEnum<{
|
|
6481
|
+
sensitive: "sensitive";
|
|
6482
|
+
employment: "employment";
|
|
6483
|
+
approvals: "approvals";
|
|
6484
|
+
attendance: "attendance";
|
|
6485
|
+
documents: "documents";
|
|
6486
|
+
punches: "punches";
|
|
6487
|
+
identity: "identity";
|
|
6488
|
+
history: "history";
|
|
6489
|
+
leaveRequests: "leaveRequests";
|
|
6490
|
+
leaveLedger: "leaveLedger";
|
|
6491
|
+
officeAssignments: "officeAssignments";
|
|
6492
|
+
approvalDecisions: "approvalDecisions";
|
|
6493
|
+
regularizations: "regularizations";
|
|
6494
|
+
delegations: "delegations";
|
|
6495
|
+
headship: "headship";
|
|
6496
|
+
}>;
|
|
6497
|
+
table: z.ZodString;
|
|
6498
|
+
rows: z.ZodNumber;
|
|
6499
|
+
basis: z.ZodEnum<{
|
|
6500
|
+
payRecord: "payRecord";
|
|
6501
|
+
auditTrail: "auditTrail";
|
|
6502
|
+
retentionHorizon: "retentionHorizon";
|
|
6503
|
+
notRemovable: "notRemovable";
|
|
6504
|
+
anotherPersonsRecord: "anotherPersonsRecord";
|
|
6505
|
+
}>;
|
|
6506
|
+
retentionDays: z.ZodNullable<z.ZodNumber>;
|
|
6507
|
+
}, z.core.$strip>>;
|
|
6508
|
+
caveats: z.ZodArray<z.ZodEnum<{
|
|
6509
|
+
documentFilesRemain: "documentFilesRemain";
|
|
6510
|
+
photoFileOrphaned: "photoFileOrphaned";
|
|
6511
|
+
leaveDocumentFilesRemain: "leaveDocumentFilesRemain";
|
|
6512
|
+
nationalIdKeptForAudit: "nationalIdKeptForAudit";
|
|
6513
|
+
actorHistoryKept: "actorHistoryKept";
|
|
6514
|
+
lockedPeriodUntouched: "lockedPeriodUntouched";
|
|
6515
|
+
}>>;
|
|
6516
|
+
filesRemaining: z.ZodArray<z.ZodUUID>;
|
|
6517
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6518
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
6519
|
+
BAD_REQUEST: {
|
|
6520
|
+
data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
6521
|
+
};
|
|
6522
|
+
UNAUTHORIZED: {};
|
|
6523
|
+
FORBIDDEN: {
|
|
6524
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
6525
|
+
permission: z.ZodOptional<z.ZodString>;
|
|
6526
|
+
}, z.core.$strip>>;
|
|
6527
|
+
};
|
|
6528
|
+
NOT_FOUND: {};
|
|
6529
|
+
CONFLICT: {
|
|
6530
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
6531
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
6532
|
+
}, z.core.$strip>>;
|
|
6533
|
+
};
|
|
6534
|
+
RATE_LIMITED: {};
|
|
6535
|
+
MODULE_DISABLED: {
|
|
6536
|
+
data: z.ZodObject<{
|
|
6537
|
+
module: z.ZodString;
|
|
6538
|
+
}, z.core.$strip>;
|
|
6539
|
+
};
|
|
6540
|
+
}>, Record<never, never>>;
|
|
6541
|
+
/**
|
|
6542
|
+
* Who read somebody's identity, birth date or bank details.
|
|
6543
|
+
*
|
|
6544
|
+
* **About yourself this carries no permission**, which is why it has no `requires()` and sits in
|
|
6545
|
+
* `module.test.ts`'s `SELF_SERVICE` allowlist. Reading your own access log is a thing nobody may
|
|
6546
|
+
* lack, exactly like `people.me`; a grantable key here could only ever be one somebody could be
|
|
6547
|
+
* denied, and being denied sight of who has been looking at your bank details is not a state
|
|
6548
|
+
* this product should be able to express.
|
|
6549
|
+
*
|
|
6550
|
+
* About anybody else it needs `hr.privacy.manage`, and the handler is what asks — a `personId`
|
|
6551
|
+
* that is not the caller's own, or an `actorUserId` at all. The second is not a smaller question
|
|
6552
|
+
* than the first: "what has this account been looking at" is an investigation into a colleague,
|
|
6553
|
+
* and it is the query that makes this log something to be careful with rather than only
|
|
6554
|
+
* something to be reassured by.
|
|
6555
|
+
*/
|
|
6556
|
+
accessLog: {
|
|
6557
|
+
list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
6558
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6559
|
+
personId: z.ZodOptional<z.ZodUUID>;
|
|
6560
|
+
actorUserId: z.ZodOptional<z.ZodUUID>;
|
|
6561
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
6562
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
6563
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
6564
|
+
items: z.ZodArray<z.ZodObject<{
|
|
6565
|
+
id: z.ZodUUID;
|
|
6566
|
+
personId: z.ZodUUID;
|
|
6567
|
+
actorUserId: z.ZodUUID;
|
|
6568
|
+
actorPersonId: z.ZodNullable<z.ZodUUID>;
|
|
6569
|
+
fields: z.ZodArray<z.ZodString>;
|
|
6570
|
+
purpose: z.ZodNullable<z.ZodString>;
|
|
6571
|
+
via: z.ZodEnum<{
|
|
6572
|
+
ui: "ui";
|
|
6573
|
+
api: "api";
|
|
6574
|
+
export: "export";
|
|
6575
|
+
}>;
|
|
6576
|
+
at: z.ZodISODateTime;
|
|
6577
|
+
}, z.core.$strip>>;
|
|
6578
|
+
nextCursor: z.ZodNullable<z.ZodString>;
|
|
6579
|
+
total: z.ZodOptional<z.ZodNumber>;
|
|
6580
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
6581
|
+
BAD_REQUEST: {
|
|
6582
|
+
data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
6583
|
+
};
|
|
6584
|
+
UNAUTHORIZED: {};
|
|
6585
|
+
FORBIDDEN: {
|
|
6586
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
6587
|
+
permission: z.ZodOptional<z.ZodString>;
|
|
6588
|
+
}, z.core.$strip>>;
|
|
6589
|
+
};
|
|
6590
|
+
NOT_FOUND: {};
|
|
6591
|
+
CONFLICT: {
|
|
6592
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
6593
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
6594
|
+
}, z.core.$strip>>;
|
|
6595
|
+
};
|
|
6596
|
+
RATE_LIMITED: {};
|
|
6597
|
+
MODULE_DISABLED: {
|
|
6598
|
+
data: z.ZodObject<{
|
|
6599
|
+
module: z.ZodString;
|
|
6600
|
+
}, z.core.$strip>;
|
|
6601
|
+
};
|
|
6602
|
+
}>, Record<never, never>>;
|
|
6603
|
+
};
|
|
6604
|
+
retention: {
|
|
6605
|
+
/**
|
|
6606
|
+
* The horizons, and — with `withCounts` — how much is already past each one.
|
|
6607
|
+
*
|
|
6608
|
+
* The counts are the dry run. They cost a query per class that has a horizon set, so they are
|
|
6609
|
+
* asked for rather than always computed; a retention screen should ask for them.
|
|
6610
|
+
*/
|
|
6611
|
+
get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
6612
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6613
|
+
withCounts: z.ZodDefault<z.ZodBoolean>;
|
|
6614
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
6615
|
+
classes: z.ZodArray<z.ZodObject<{
|
|
6616
|
+
class: z.ZodEnum<{
|
|
6617
|
+
leave: "leave";
|
|
6618
|
+
punchDetail: "punchDetail";
|
|
6619
|
+
punches: "punches";
|
|
6620
|
+
attendanceDays: "attendanceDays";
|
|
6621
|
+
personHistory: "personHistory";
|
|
6622
|
+
personDocuments: "personDocuments";
|
|
6623
|
+
terminatedPeople: "terminatedPeople";
|
|
6624
|
+
sensitiveAccessLog: "sensitiveAccessLog";
|
|
6625
|
+
}>;
|
|
6626
|
+
days: z.ZodNullable<z.ZodNumber>;
|
|
6627
|
+
dueNow: z.ZodNullable<z.ZodNumber>;
|
|
6628
|
+
}, z.core.$strip>>;
|
|
6629
|
+
updatedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6630
|
+
updatedBy: z.ZodNullable<z.ZodUUID>;
|
|
6631
|
+
sweepEnabled: z.ZodLiteral<false>;
|
|
6632
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6633
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
6634
|
+
BAD_REQUEST: {
|
|
6635
|
+
data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
6636
|
+
};
|
|
6637
|
+
UNAUTHORIZED: {};
|
|
6638
|
+
FORBIDDEN: {
|
|
6639
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
6640
|
+
permission: z.ZodOptional<z.ZodString>;
|
|
6641
|
+
}, z.core.$strip>>;
|
|
6642
|
+
};
|
|
6643
|
+
NOT_FOUND: {};
|
|
6644
|
+
CONFLICT: {
|
|
6645
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
6646
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
6647
|
+
}, z.core.$strip>>;
|
|
6648
|
+
};
|
|
6649
|
+
RATE_LIMITED: {};
|
|
6650
|
+
MODULE_DISABLED: {
|
|
6651
|
+
data: z.ZodObject<{
|
|
6652
|
+
module: z.ZodString;
|
|
6653
|
+
}, z.core.$strip>;
|
|
6654
|
+
};
|
|
6655
|
+
}>, Record<never, never>>;
|
|
6656
|
+
/**
|
|
6657
|
+
* Set them. A field left out is unchanged; a field sent as `null` goes back to "keep
|
|
6658
|
+
* indefinitely", which is what every class ships as.
|
|
6659
|
+
*/
|
|
6660
|
+
set: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
6661
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6662
|
+
retention: z.ZodObject<{
|
|
6663
|
+
punchDetail: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
|
|
6664
|
+
punches: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
|
|
6665
|
+
attendanceDays: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
|
|
6666
|
+
leave: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
|
|
6667
|
+
personHistory: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
|
|
6668
|
+
personDocuments: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
|
|
6669
|
+
terminatedPeople: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
|
|
6670
|
+
sensitiveAccessLog: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
|
|
6671
|
+
}, z.core.$strip>;
|
|
6672
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
6673
|
+
classes: z.ZodArray<z.ZodObject<{
|
|
6674
|
+
class: z.ZodEnum<{
|
|
6675
|
+
leave: "leave";
|
|
6676
|
+
punchDetail: "punchDetail";
|
|
6677
|
+
punches: "punches";
|
|
6678
|
+
attendanceDays: "attendanceDays";
|
|
6679
|
+
personHistory: "personHistory";
|
|
6680
|
+
personDocuments: "personDocuments";
|
|
6681
|
+
terminatedPeople: "terminatedPeople";
|
|
6682
|
+
sensitiveAccessLog: "sensitiveAccessLog";
|
|
6683
|
+
}>;
|
|
6684
|
+
days: z.ZodNullable<z.ZodNumber>;
|
|
6685
|
+
dueNow: z.ZodNullable<z.ZodNumber>;
|
|
6686
|
+
}, z.core.$strip>>;
|
|
6687
|
+
updatedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
6688
|
+
updatedBy: z.ZodNullable<z.ZodUUID>;
|
|
6689
|
+
sweepEnabled: z.ZodLiteral<false>;
|
|
6690
|
+
workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
|
|
6691
|
+
}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
|
|
6692
|
+
BAD_REQUEST: {
|
|
6693
|
+
data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
6694
|
+
};
|
|
6695
|
+
UNAUTHORIZED: {};
|
|
6696
|
+
FORBIDDEN: {
|
|
6697
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
6698
|
+
permission: z.ZodOptional<z.ZodString>;
|
|
6699
|
+
}, z.core.$strip>>;
|
|
6700
|
+
};
|
|
6701
|
+
NOT_FOUND: {};
|
|
6702
|
+
CONFLICT: {
|
|
6703
|
+
data: z.ZodOptional<z.ZodObject<{
|
|
6704
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
6705
|
+
}, z.core.$strip>>;
|
|
6706
|
+
};
|
|
6707
|
+
RATE_LIMITED: {};
|
|
6708
|
+
MODULE_DISABLED: {
|
|
6709
|
+
data: z.ZodObject<{
|
|
6710
|
+
module: z.ZodString;
|
|
6711
|
+
}, z.core.$strip>;
|
|
6712
|
+
};
|
|
6713
|
+
}>, Record<never, never>>;
|
|
6714
|
+
};
|
|
6715
|
+
};
|
|
5901
6716
|
};
|
|
5902
6717
|
export type HrContract = typeof hrContract;
|
|
5903
6718
|
//# sourceMappingURL=router.d.ts.map
|