@kernhq/module-hr 0.19.0 → 0.20.1

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 (40) hide show
  1. package/dist/contract/capabilities.d.ts.map +1 -1
  2. package/dist/contract/capabilities.js +29 -0
  3. package/dist/contract/capabilities.js.map +1 -1
  4. package/dist/contract/index.d.ts +1 -0
  5. package/dist/contract/index.d.ts.map +1 -1
  6. package/dist/contract/index.js +1 -0
  7. package/dist/contract/index.js.map +1 -1
  8. package/dist/contract/permissions.d.ts +2 -2
  9. package/dist/contract/permissions.d.ts.map +1 -1
  10. package/dist/contract/permissions.js +12 -2
  11. package/dist/contract/permissions.js.map +1 -1
  12. package/dist/contract/rosters.d.ts +183 -0
  13. package/dist/contract/rosters.d.ts.map +1 -0
  14. package/dist/contract/rosters.js +138 -0
  15. package/dist/contract/rosters.js.map +1 -0
  16. package/dist/contract/router.d.ts +621 -0
  17. package/dist/contract/router.d.ts.map +1 -1
  18. package/dist/contract/router.js +153 -1
  19. package/dist/contract/router.js.map +1 -1
  20. package/dist/server/router.d.ts +945 -2209
  21. package/dist/server/router.d.ts.map +1 -1
  22. package/dist/server/router.js +462 -1
  23. package/dist/server/router.js.map +1 -1
  24. package/dist/server/schema.d.ts +727 -1
  25. package/dist/server/schema.d.ts.map +1 -1
  26. package/dist/server/schema.js +105 -0
  27. package/dist/server/schema.js.map +1 -1
  28. package/dist/server/services/rosters.d.ts +166 -0
  29. package/dist/server/services/rosters.d.ts.map +1 -0
  30. package/dist/server/services/rosters.js +268 -0
  31. package/dist/server/services/rosters.js.map +1 -0
  32. package/migrations/0012_rosters.sql +163 -0
  33. package/migrations/meta/0012_snapshot.json +4847 -0
  34. package/migrations/meta/_journal.json +7 -0
  35. package/package.json +3 -3
  36. package/src/contract/capabilities.ts +29 -0
  37. package/src/contract/index.ts +1 -0
  38. package/src/contract/permissions.ts +13 -2
  39. package/src/contract/rosters.ts +156 -0
  40. package/src/contract/router.ts +183 -0
@@ -4215,6 +4215,627 @@ export declare const hrContract: {
4215
4215
  }>, Record<never, never>>;
4216
4216
  };
4217
4217
  };
4218
+ /**
4219
+ * Who works which shift on which **date**.
4220
+ *
4221
+ * Separate from `attendance.schedules` rather than folded into it, because the two answer
4222
+ * different questions and only one of them has a weekly period. A schedule is a week that repeats
4223
+ * for ever; a rotation is a cycle of any length anchored to a date, which is the only shape
4224
+ * 4-on-4-off has. Nothing here recomputes hours — grace, rounding, overnight attribution and the
4225
+ * auto-close sweep all stay in attendance, and a roster only decides what the day was meant to be.
4226
+ */
4227
+ rosters: {
4228
+ shifts: {
4229
+ list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4230
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4231
+ includeArchived: z.ZodDefault<z.ZodBoolean>;
4232
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
4233
+ name: z.ZodString;
4234
+ code: z.ZodNullable<z.ZodString>;
4235
+ start: z.ZodString;
4236
+ end: z.ZodString;
4237
+ breakMinutes: z.ZodNumber;
4238
+ graceInMinutes: z.ZodNumber;
4239
+ graceOutMinutes: z.ZodNumber;
4240
+ color: z.ZodNullable<z.ZodString>;
4241
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
4242
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4243
+ id: z.ZodUUID;
4244
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4245
+ BAD_REQUEST: {
4246
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4247
+ };
4248
+ UNAUTHORIZED: {};
4249
+ FORBIDDEN: {
4250
+ data: z.ZodOptional<z.ZodObject<{
4251
+ permission: z.ZodOptional<z.ZodString>;
4252
+ }, z.core.$strip>>;
4253
+ };
4254
+ NOT_FOUND: {};
4255
+ CONFLICT: {
4256
+ data: z.ZodOptional<z.ZodObject<{
4257
+ reason: z.ZodOptional<z.ZodString>;
4258
+ }, z.core.$strip>>;
4259
+ };
4260
+ RATE_LIMITED: {};
4261
+ MODULE_DISABLED: {
4262
+ data: z.ZodObject<{
4263
+ module: z.ZodString;
4264
+ }, z.core.$strip>;
4265
+ };
4266
+ }>, Record<never, never>>;
4267
+ create: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4268
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4269
+ name: z.ZodString;
4270
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4271
+ start: z.ZodString;
4272
+ end: z.ZodString;
4273
+ breakMinutes: z.ZodDefault<z.ZodNumber>;
4274
+ graceInMinutes: z.ZodDefault<z.ZodNumber>;
4275
+ graceOutMinutes: z.ZodDefault<z.ZodNumber>;
4276
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4277
+ }, z.core.$strip>, z.ZodObject<{
4278
+ name: z.ZodString;
4279
+ code: z.ZodNullable<z.ZodString>;
4280
+ start: z.ZodString;
4281
+ end: z.ZodString;
4282
+ breakMinutes: z.ZodNumber;
4283
+ graceInMinutes: z.ZodNumber;
4284
+ graceOutMinutes: z.ZodNumber;
4285
+ color: z.ZodNullable<z.ZodString>;
4286
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
4287
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4288
+ id: z.ZodUUID;
4289
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4290
+ BAD_REQUEST: {
4291
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4292
+ };
4293
+ UNAUTHORIZED: {};
4294
+ FORBIDDEN: {
4295
+ data: z.ZodOptional<z.ZodObject<{
4296
+ permission: z.ZodOptional<z.ZodString>;
4297
+ }, z.core.$strip>>;
4298
+ };
4299
+ NOT_FOUND: {};
4300
+ CONFLICT: {
4301
+ data: z.ZodOptional<z.ZodObject<{
4302
+ reason: z.ZodOptional<z.ZodString>;
4303
+ }, z.core.$strip>>;
4304
+ };
4305
+ RATE_LIMITED: {};
4306
+ MODULE_DISABLED: {
4307
+ data: z.ZodObject<{
4308
+ module: z.ZodString;
4309
+ }, z.core.$strip>;
4310
+ };
4311
+ }>, Record<never, never>>;
4312
+ update: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4313
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4314
+ shiftId: z.ZodUUID;
4315
+ name: z.ZodOptional<z.ZodString>;
4316
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4317
+ start: z.ZodOptional<z.ZodString>;
4318
+ end: z.ZodOptional<z.ZodString>;
4319
+ breakMinutes: z.ZodOptional<z.ZodNumber>;
4320
+ graceInMinutes: z.ZodOptional<z.ZodNumber>;
4321
+ graceOutMinutes: z.ZodOptional<z.ZodNumber>;
4322
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4323
+ }, z.core.$strip>, z.ZodObject<{
4324
+ name: z.ZodString;
4325
+ code: z.ZodNullable<z.ZodString>;
4326
+ start: z.ZodString;
4327
+ end: z.ZodString;
4328
+ breakMinutes: z.ZodNumber;
4329
+ graceInMinutes: z.ZodNumber;
4330
+ graceOutMinutes: z.ZodNumber;
4331
+ color: z.ZodNullable<z.ZodString>;
4332
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
4333
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4334
+ id: z.ZodUUID;
4335
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4336
+ BAD_REQUEST: {
4337
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4338
+ };
4339
+ UNAUTHORIZED: {};
4340
+ FORBIDDEN: {
4341
+ data: z.ZodOptional<z.ZodObject<{
4342
+ permission: z.ZodOptional<z.ZodString>;
4343
+ }, z.core.$strip>>;
4344
+ };
4345
+ NOT_FOUND: {};
4346
+ CONFLICT: {
4347
+ data: z.ZodOptional<z.ZodObject<{
4348
+ reason: z.ZodOptional<z.ZodString>;
4349
+ }, z.core.$strip>>;
4350
+ };
4351
+ RATE_LIMITED: {};
4352
+ MODULE_DISABLED: {
4353
+ data: z.ZodObject<{
4354
+ module: z.ZodString;
4355
+ }, z.core.$strip>;
4356
+ };
4357
+ }>, Record<never, never>>;
4358
+ /**
4359
+ * Archive, never delete. Patterns and stored overrides point at a shift by id, so deleting
4360
+ * one would empty out every day it appears on — past days included.
4361
+ */
4362
+ archive: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4363
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4364
+ shiftId: z.ZodUUID;
4365
+ }, z.core.$strip>, z.ZodObject<{
4366
+ ok: z.ZodLiteral<true>;
4367
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4368
+ BAD_REQUEST: {
4369
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4370
+ };
4371
+ UNAUTHORIZED: {};
4372
+ FORBIDDEN: {
4373
+ data: z.ZodOptional<z.ZodObject<{
4374
+ permission: z.ZodOptional<z.ZodString>;
4375
+ }, z.core.$strip>>;
4376
+ };
4377
+ NOT_FOUND: {};
4378
+ CONFLICT: {
4379
+ data: z.ZodOptional<z.ZodObject<{
4380
+ reason: z.ZodOptional<z.ZodString>;
4381
+ }, z.core.$strip>>;
4382
+ };
4383
+ RATE_LIMITED: {};
4384
+ MODULE_DISABLED: {
4385
+ data: z.ZodObject<{
4386
+ module: z.ZodString;
4387
+ }, z.core.$strip>;
4388
+ };
4389
+ }>, Record<never, never>>;
4390
+ };
4391
+ patterns: {
4392
+ list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4393
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4394
+ includeArchived: z.ZodDefault<z.ZodBoolean>;
4395
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
4396
+ name: z.ZodString;
4397
+ anchorDate: z.ZodISODate;
4398
+ days: z.ZodArray<z.ZodArray<z.ZodUUID>>;
4399
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
4400
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4401
+ id: z.ZodUUID;
4402
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4403
+ BAD_REQUEST: {
4404
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4405
+ };
4406
+ UNAUTHORIZED: {};
4407
+ FORBIDDEN: {
4408
+ data: z.ZodOptional<z.ZodObject<{
4409
+ permission: z.ZodOptional<z.ZodString>;
4410
+ }, z.core.$strip>>;
4411
+ };
4412
+ NOT_FOUND: {};
4413
+ CONFLICT: {
4414
+ data: z.ZodOptional<z.ZodObject<{
4415
+ reason: z.ZodOptional<z.ZodString>;
4416
+ }, z.core.$strip>>;
4417
+ };
4418
+ RATE_LIMITED: {};
4419
+ MODULE_DISABLED: {
4420
+ data: z.ZodObject<{
4421
+ module: z.ZodString;
4422
+ }, z.core.$strip>;
4423
+ };
4424
+ }>, Record<never, never>>;
4425
+ create: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4426
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4427
+ name: z.ZodString;
4428
+ anchorDate: z.ZodISODate;
4429
+ days: z.ZodArray<z.ZodArray<z.ZodUUID>>;
4430
+ }, z.core.$strip>, z.ZodObject<{
4431
+ name: z.ZodString;
4432
+ anchorDate: z.ZodISODate;
4433
+ days: z.ZodArray<z.ZodArray<z.ZodUUID>>;
4434
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
4435
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4436
+ id: z.ZodUUID;
4437
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4438
+ BAD_REQUEST: {
4439
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4440
+ };
4441
+ UNAUTHORIZED: {};
4442
+ FORBIDDEN: {
4443
+ data: z.ZodOptional<z.ZodObject<{
4444
+ permission: z.ZodOptional<z.ZodString>;
4445
+ }, z.core.$strip>>;
4446
+ };
4447
+ NOT_FOUND: {};
4448
+ CONFLICT: {
4449
+ data: z.ZodOptional<z.ZodObject<{
4450
+ reason: z.ZodOptional<z.ZodString>;
4451
+ }, z.core.$strip>>;
4452
+ };
4453
+ RATE_LIMITED: {};
4454
+ MODULE_DISABLED: {
4455
+ data: z.ZodObject<{
4456
+ module: z.ZodString;
4457
+ }, z.core.$strip>;
4458
+ };
4459
+ }>, Record<never, never>>;
4460
+ /**
4461
+ * Editing a rotation moves every crew on it, on every date, at once — which is the point of a
4462
+ * rotation being computed rather than generated, and worth saying out loud on the screen that
4463
+ * does it.
4464
+ */
4465
+ update: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4466
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4467
+ patternId: z.ZodUUID;
4468
+ name: z.ZodOptional<z.ZodString>;
4469
+ anchorDate: z.ZodOptional<z.ZodISODate>;
4470
+ days: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodUUID>>>;
4471
+ }, z.core.$strip>, z.ZodObject<{
4472
+ name: z.ZodString;
4473
+ anchorDate: z.ZodISODate;
4474
+ days: z.ZodArray<z.ZodArray<z.ZodUUID>>;
4475
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
4476
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4477
+ id: z.ZodUUID;
4478
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4479
+ BAD_REQUEST: {
4480
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4481
+ };
4482
+ UNAUTHORIZED: {};
4483
+ FORBIDDEN: {
4484
+ data: z.ZodOptional<z.ZodObject<{
4485
+ permission: z.ZodOptional<z.ZodString>;
4486
+ }, z.core.$strip>>;
4487
+ };
4488
+ NOT_FOUND: {};
4489
+ CONFLICT: {
4490
+ data: z.ZodOptional<z.ZodObject<{
4491
+ reason: z.ZodOptional<z.ZodString>;
4492
+ }, z.core.$strip>>;
4493
+ };
4494
+ RATE_LIMITED: {};
4495
+ MODULE_DISABLED: {
4496
+ data: z.ZodObject<{
4497
+ module: z.ZodString;
4498
+ }, z.core.$strip>;
4499
+ };
4500
+ }>, Record<never, never>>;
4501
+ archive: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4502
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4503
+ patternId: z.ZodUUID;
4504
+ }, z.core.$strip>, z.ZodObject<{
4505
+ ok: z.ZodLiteral<true>;
4506
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4507
+ BAD_REQUEST: {
4508
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4509
+ };
4510
+ UNAUTHORIZED: {};
4511
+ FORBIDDEN: {
4512
+ data: z.ZodOptional<z.ZodObject<{
4513
+ permission: z.ZodOptional<z.ZodString>;
4514
+ }, z.core.$strip>>;
4515
+ };
4516
+ NOT_FOUND: {};
4517
+ CONFLICT: {
4518
+ data: z.ZodOptional<z.ZodObject<{
4519
+ reason: z.ZodOptional<z.ZodString>;
4520
+ }, z.core.$strip>>;
4521
+ };
4522
+ RATE_LIMITED: {};
4523
+ MODULE_DISABLED: {
4524
+ data: z.ZodObject<{
4525
+ module: z.ZodString;
4526
+ }, z.core.$strip>;
4527
+ };
4528
+ }>, Record<never, never>>;
4529
+ };
4530
+ /** Who is on which rotation, and when. `attendance.schedules` has no equivalent and should. */
4531
+ assignments: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4532
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4533
+ personId: z.ZodOptional<z.ZodUUID>;
4534
+ patternId: z.ZodOptional<z.ZodUUID>;
4535
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
4536
+ personId: z.ZodUUID;
4537
+ patternId: z.ZodUUID;
4538
+ effectiveFrom: z.ZodISODate;
4539
+ effectiveTo: z.ZodNullable<z.ZodISODate>;
4540
+ cycleOffset: z.ZodNumber;
4541
+ createdAt: z.ZodISODateTime;
4542
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4543
+ id: z.ZodUUID;
4544
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4545
+ BAD_REQUEST: {
4546
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4547
+ };
4548
+ UNAUTHORIZED: {};
4549
+ FORBIDDEN: {
4550
+ data: z.ZodOptional<z.ZodObject<{
4551
+ permission: z.ZodOptional<z.ZodString>;
4552
+ }, z.core.$strip>>;
4553
+ };
4554
+ NOT_FOUND: {};
4555
+ CONFLICT: {
4556
+ data: z.ZodOptional<z.ZodObject<{
4557
+ reason: z.ZodOptional<z.ZodString>;
4558
+ }, z.core.$strip>>;
4559
+ };
4560
+ RATE_LIMITED: {};
4561
+ MODULE_DISABLED: {
4562
+ data: z.ZodObject<{
4563
+ module: z.ZodString;
4564
+ }, z.core.$strip>;
4565
+ };
4566
+ }>, Record<never, never>>;
4567
+ /**
4568
+ * Put a crew on a rotation.
4569
+ *
4570
+ * Takes a list of people because a rotation is a crew's, not a person's — assigning eleven
4571
+ * people one at a time is eleven chances to get the offset wrong. The previous assignment is
4572
+ * closed the day before, so "which rotation was she on in March" stays answerable.
4573
+ */
4574
+ assign: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4575
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4576
+ patternId: z.ZodUUID;
4577
+ personIds: z.ZodArray<z.ZodUUID>;
4578
+ effectiveFrom: z.ZodISODate;
4579
+ effectiveTo: z.ZodOptional<z.ZodNullable<z.ZodISODate>>;
4580
+ cycleOffset: z.ZodDefault<z.ZodNumber>;
4581
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
4582
+ personId: z.ZodUUID;
4583
+ patternId: z.ZodUUID;
4584
+ effectiveFrom: z.ZodISODate;
4585
+ effectiveTo: z.ZodNullable<z.ZodISODate>;
4586
+ cycleOffset: z.ZodNumber;
4587
+ createdAt: z.ZodISODateTime;
4588
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4589
+ id: z.ZodUUID;
4590
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4591
+ BAD_REQUEST: {
4592
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4593
+ };
4594
+ UNAUTHORIZED: {};
4595
+ FORBIDDEN: {
4596
+ data: z.ZodOptional<z.ZodObject<{
4597
+ permission: z.ZodOptional<z.ZodString>;
4598
+ }, z.core.$strip>>;
4599
+ };
4600
+ NOT_FOUND: {};
4601
+ CONFLICT: {
4602
+ data: z.ZodOptional<z.ZodObject<{
4603
+ reason: z.ZodOptional<z.ZodString>;
4604
+ }, z.core.$strip>>;
4605
+ };
4606
+ RATE_LIMITED: {};
4607
+ MODULE_DISABLED: {
4608
+ data: z.ZodObject<{
4609
+ module: z.ZodString;
4610
+ }, z.core.$strip>;
4611
+ };
4612
+ }>, Record<never, never>>;
4613
+ /** Take a crew off its rotation, from the day after `effectiveTo`. Nothing is deleted. */
4614
+ unassign: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4615
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4616
+ personIds: z.ZodArray<z.ZodUUID>;
4617
+ effectiveTo: z.ZodISODate;
4618
+ }, z.core.$strip>, z.ZodObject<{
4619
+ closed: z.ZodNumber;
4620
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4621
+ BAD_REQUEST: {
4622
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4623
+ };
4624
+ UNAUTHORIZED: {};
4625
+ FORBIDDEN: {
4626
+ data: z.ZodOptional<z.ZodObject<{
4627
+ permission: z.ZodOptional<z.ZodString>;
4628
+ }, z.core.$strip>>;
4629
+ };
4630
+ NOT_FOUND: {};
4631
+ CONFLICT: {
4632
+ data: z.ZodOptional<z.ZodObject<{
4633
+ reason: z.ZodOptional<z.ZodString>;
4634
+ }, z.core.$strip>>;
4635
+ };
4636
+ RATE_LIMITED: {};
4637
+ MODULE_DISABLED: {
4638
+ data: z.ZodObject<{
4639
+ module: z.ZodString;
4640
+ }, z.core.$strip>;
4641
+ };
4642
+ }>, Record<never, never>>;
4643
+ /** One person's roster over a range, rotation and overrides already resolved. */
4644
+ days: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4645
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4646
+ personId: z.ZodOptional<z.ZodUUID>;
4647
+ from: z.ZodISODate;
4648
+ to: z.ZodISODate;
4649
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
4650
+ personId: z.ZodUUID;
4651
+ businessDate: z.ZodISODate;
4652
+ shifts: z.ZodArray<z.ZodObject<{
4653
+ name: z.ZodString;
4654
+ code: z.ZodNullable<z.ZodString>;
4655
+ start: z.ZodString;
4656
+ end: z.ZodString;
4657
+ breakMinutes: z.ZodNumber;
4658
+ graceInMinutes: z.ZodNumber;
4659
+ graceOutMinutes: z.ZodNumber;
4660
+ color: z.ZodNullable<z.ZodString>;
4661
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
4662
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4663
+ id: z.ZodUUID;
4664
+ }, z.core.$strip>>;
4665
+ source: z.ZodEnum<{
4666
+ pattern: "pattern";
4667
+ override: "override";
4668
+ none: "none";
4669
+ }>;
4670
+ note: z.ZodNullable<z.ZodString>;
4671
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4672
+ BAD_REQUEST: {
4673
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4674
+ };
4675
+ UNAUTHORIZED: {};
4676
+ FORBIDDEN: {
4677
+ data: z.ZodOptional<z.ZodObject<{
4678
+ permission: z.ZodOptional<z.ZodString>;
4679
+ }, z.core.$strip>>;
4680
+ };
4681
+ NOT_FOUND: {};
4682
+ CONFLICT: {
4683
+ data: z.ZodOptional<z.ZodObject<{
4684
+ reason: z.ZodOptional<z.ZodString>;
4685
+ }, z.core.$strip>>;
4686
+ };
4687
+ RATE_LIMITED: {};
4688
+ MODULE_DISABLED: {
4689
+ data: z.ZodObject<{
4690
+ module: z.ZodString;
4691
+ }, z.core.$strip>;
4692
+ };
4693
+ }>, Record<never, never>>;
4694
+ /**
4695
+ * Change one day, leaving the rotation alone.
4696
+ *
4697
+ * An empty `shiftIds` is "off that day" and is stored — a planned rest day and a day nothing
4698
+ * rosters at all are different facts, and only one of them is somebody's decision.
4699
+ */
4700
+ set: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4701
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4702
+ personId: z.ZodUUID;
4703
+ businessDate: z.ZodISODate;
4704
+ shiftIds: z.ZodArray<z.ZodUUID>;
4705
+ note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4706
+ }, z.core.$strip>, z.ZodObject<{
4707
+ personId: z.ZodUUID;
4708
+ businessDate: z.ZodISODate;
4709
+ shifts: z.ZodArray<z.ZodObject<{
4710
+ name: z.ZodString;
4711
+ code: z.ZodNullable<z.ZodString>;
4712
+ start: z.ZodString;
4713
+ end: z.ZodString;
4714
+ breakMinutes: z.ZodNumber;
4715
+ graceInMinutes: z.ZodNumber;
4716
+ graceOutMinutes: z.ZodNumber;
4717
+ color: z.ZodNullable<z.ZodString>;
4718
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
4719
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4720
+ id: z.ZodUUID;
4721
+ }, z.core.$strip>>;
4722
+ source: z.ZodEnum<{
4723
+ pattern: "pattern";
4724
+ override: "override";
4725
+ none: "none";
4726
+ }>;
4727
+ note: z.ZodNullable<z.ZodString>;
4728
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4729
+ BAD_REQUEST: {
4730
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4731
+ };
4732
+ UNAUTHORIZED: {};
4733
+ FORBIDDEN: {
4734
+ data: z.ZodOptional<z.ZodObject<{
4735
+ permission: z.ZodOptional<z.ZodString>;
4736
+ }, z.core.$strip>>;
4737
+ };
4738
+ NOT_FOUND: {};
4739
+ CONFLICT: {
4740
+ data: z.ZodOptional<z.ZodObject<{
4741
+ reason: z.ZodOptional<z.ZodString>;
4742
+ }, z.core.$strip>>;
4743
+ };
4744
+ RATE_LIMITED: {};
4745
+ MODULE_DISABLED: {
4746
+ data: z.ZodObject<{
4747
+ module: z.ZodString;
4748
+ }, z.core.$strip>;
4749
+ };
4750
+ }>, Record<never, never>>;
4751
+ /** Drop the exception and let the rotation speak for that day again. */
4752
+ clear: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4753
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4754
+ personId: z.ZodUUID;
4755
+ businessDate: z.ZodISODate;
4756
+ }, z.core.$strip>, z.ZodObject<{
4757
+ ok: z.ZodLiteral<true>;
4758
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4759
+ BAD_REQUEST: {
4760
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4761
+ };
4762
+ UNAUTHORIZED: {};
4763
+ FORBIDDEN: {
4764
+ data: z.ZodOptional<z.ZodObject<{
4765
+ permission: z.ZodOptional<z.ZodString>;
4766
+ }, z.core.$strip>>;
4767
+ };
4768
+ NOT_FOUND: {};
4769
+ CONFLICT: {
4770
+ data: z.ZodOptional<z.ZodObject<{
4771
+ reason: z.ZodOptional<z.ZodString>;
4772
+ }, z.core.$strip>>;
4773
+ };
4774
+ RATE_LIMITED: {};
4775
+ MODULE_DISABLED: {
4776
+ data: z.ZodObject<{
4777
+ module: z.ZodString;
4778
+ }, z.core.$strip>;
4779
+ };
4780
+ }>, Record<never, never>>;
4781
+ /**
4782
+ * Who is on which shift, per day — the question a roster exists for and the one a set of weekly
4783
+ * schedules cannot be asked without walking everybody's week.
4784
+ */
4785
+ coverage: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4786
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4787
+ from: z.ZodISODate;
4788
+ to: z.ZodISODate;
4789
+ officeId: z.ZodOptional<z.ZodUUID>;
4790
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
4791
+ businessDate: z.ZodISODate;
4792
+ slots: z.ZodArray<z.ZodObject<{
4793
+ shift: z.ZodObject<{
4794
+ name: z.ZodString;
4795
+ code: z.ZodNullable<z.ZodString>;
4796
+ start: z.ZodString;
4797
+ end: z.ZodString;
4798
+ breakMinutes: z.ZodNumber;
4799
+ graceInMinutes: z.ZodNumber;
4800
+ graceOutMinutes: z.ZodNumber;
4801
+ color: z.ZodNullable<z.ZodString>;
4802
+ archivedAt: z.ZodNullable<z.ZodISODateTime>;
4803
+ workspaceId: z.core.$ZodBranded<z.ZodUUID, "WorkspaceId", "out">;
4804
+ id: z.ZodUUID;
4805
+ }, z.core.$strip>;
4806
+ people: z.ZodArray<z.ZodObject<{
4807
+ personId: z.ZodUUID;
4808
+ displayName: z.ZodString;
4809
+ }, z.core.$strip>>;
4810
+ }, z.core.$strip>>;
4811
+ off: z.ZodArray<z.ZodObject<{
4812
+ personId: z.ZodUUID;
4813
+ displayName: z.ZodString;
4814
+ }, z.core.$strip>>;
4815
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4816
+ BAD_REQUEST: {
4817
+ data: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4818
+ };
4819
+ UNAUTHORIZED: {};
4820
+ FORBIDDEN: {
4821
+ data: z.ZodOptional<z.ZodObject<{
4822
+ permission: z.ZodOptional<z.ZodString>;
4823
+ }, z.core.$strip>>;
4824
+ };
4825
+ NOT_FOUND: {};
4826
+ CONFLICT: {
4827
+ data: z.ZodOptional<z.ZodObject<{
4828
+ reason: z.ZodOptional<z.ZodString>;
4829
+ }, z.core.$strip>>;
4830
+ };
4831
+ RATE_LIMITED: {};
4832
+ MODULE_DISABLED: {
4833
+ data: z.ZodObject<{
4834
+ module: z.ZodString;
4835
+ }, z.core.$strip>;
4836
+ };
4837
+ }>, Record<never, never>>;
4838
+ };
4218
4839
  leave: {
4219
4840
  types: {
4220
4841
  list: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/contract/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAmGvB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4BnB;;;;;;WAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqCH,0FAA0F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAyD1F;;;;;WAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAkDD,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkG/E,0FAA0F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAyB1F;;;;;;WAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA6GD;;;eAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAiCH;;;;;;eAMG;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/contract/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA4GvB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4BnB;;;;;;WAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqCH,0FAA0F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAyD1F;;;;;WAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAkDD,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAkG/E,0FAA0F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAyB1F;;;;;;WAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA6GD;;;eAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAiCH;;;;;;eAMG;;;;;;;;;;;;;;;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"}