@playaos/api-client 0.13.0 → 0.15.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/README.md +3 -1
- package/dist/index.d.ts +465 -56
- package/dist/index.js +202 -32
- package/dist/index.js.map +1 -1
- package/package.json +21 -13
package/dist/index.d.ts
CHANGED
|
@@ -55,6 +55,8 @@ interface Member {
|
|
|
55
55
|
emergencyContactRelationship?: string | null;
|
|
56
56
|
emergencyContactPhone?: string | null;
|
|
57
57
|
yearJoined?: number | null;
|
|
58
|
+
adminRoles?: string[] | null;
|
|
59
|
+
isDeveloper?: boolean | null;
|
|
58
60
|
}
|
|
59
61
|
interface Application {
|
|
60
62
|
id: string;
|
|
@@ -391,7 +393,16 @@ interface ApplicationEvent {
|
|
|
391
393
|
applicationId: string;
|
|
392
394
|
actorId: string | null;
|
|
393
395
|
actorName: string | null;
|
|
394
|
-
|
|
396
|
+
/**
|
|
397
|
+
* Mirrors `APPLICATION_AUDIT_ACTIONS` in `@playa-os/portal-data`, except that
|
|
398
|
+
* the server's `status_changed` is surfaced as `status_change` for backwards
|
|
399
|
+
* compatibility with the original embed shape. `tags_updated` and `score_set`
|
|
400
|
+
* predate that vocabulary and are kept so existing consumers still compile.
|
|
401
|
+
*
|
|
402
|
+
* Widening the server list without widening this union lets a value escape
|
|
403
|
+
* the declared type through the cast in `client.ts` — see PLA-1199.
|
|
404
|
+
*/
|
|
405
|
+
type: "status_change" | "note_added" | "tags_updated" | "score_set" | "message_sent" | "message_received" | "approved" | "rejected" | "waitlisted" | "interview_invite_sent" | "interview_scheduled_manually" | "interview_completed" | "interviewer_assigned" | "red_flag_added";
|
|
395
406
|
timestamp: string;
|
|
396
407
|
fromStatus?: string | null;
|
|
397
408
|
toStatus?: string;
|
|
@@ -408,6 +419,11 @@ interface AvailabilityWindow {
|
|
|
408
419
|
interface SetAvailabilityInput {
|
|
409
420
|
windows: AvailabilityWindow[];
|
|
410
421
|
}
|
|
422
|
+
/** Response from GET /scheduling/availability/{id}. */
|
|
423
|
+
interface GetAvailabilityResponse {
|
|
424
|
+
windows: AvailabilityWindow[];
|
|
425
|
+
}
|
|
426
|
+
/** Response from PUT /scheduling/availability/{id}. */
|
|
411
427
|
interface SetAvailabilityResponse {
|
|
412
428
|
windows: {
|
|
413
429
|
count: number;
|
|
@@ -457,6 +473,209 @@ interface SelectCalendarInput {
|
|
|
457
473
|
calendarId: string;
|
|
458
474
|
calendarName?: string;
|
|
459
475
|
}
|
|
476
|
+
/** Per-member status for one packing item. Mirrors `PACKING_ITEM_STATUSES`. */
|
|
477
|
+
type PackingItemStatus = "have" | "need" | "nope" | "packed" | "camp_has";
|
|
478
|
+
/** Which layer a resolved row came from (ADR-071). */
|
|
479
|
+
type PackingLayer = "global" | "camp" | "personal";
|
|
480
|
+
/**
|
|
481
|
+
* One row of the resolved list. Identity is `slug`, never a row uuid — the
|
|
482
|
+
* curated base is regenerated wholesale and uuids do not survive it (ADR-071).
|
|
483
|
+
*/
|
|
484
|
+
interface PackingItem {
|
|
485
|
+
slug: string;
|
|
486
|
+
category: string;
|
|
487
|
+
name: string;
|
|
488
|
+
notes: string | null;
|
|
489
|
+
shelters: string[];
|
|
490
|
+
qty: number | null;
|
|
491
|
+
unit: string | null;
|
|
492
|
+
source: string | null;
|
|
493
|
+
contested: string | null;
|
|
494
|
+
sortOrder: number;
|
|
495
|
+
/** Base-layer rows only — which packing-template source this came from. */
|
|
496
|
+
sourceList?: string;
|
|
497
|
+
layer: PackingLayer;
|
|
498
|
+
status: string | null;
|
|
499
|
+
/** The member's own annotation. Distinct from the item's `notes`. */
|
|
500
|
+
memberNotes: string | null;
|
|
501
|
+
containerId: string | null;
|
|
502
|
+
containerName: string | null;
|
|
503
|
+
}
|
|
504
|
+
interface PackingListResponse {
|
|
505
|
+
items: PackingItem[];
|
|
506
|
+
year: number;
|
|
507
|
+
}
|
|
508
|
+
/** A row in the member's personal layer. These are user-owned, so keyed by uuid. */
|
|
509
|
+
interface PackingPersonalItem {
|
|
510
|
+
id: string;
|
|
511
|
+
catalogItemId: string | null;
|
|
512
|
+
name: string;
|
|
513
|
+
category: string;
|
|
514
|
+
tags: string[];
|
|
515
|
+
qty: number;
|
|
516
|
+
unit: string | null;
|
|
517
|
+
status: string;
|
|
518
|
+
containerId: string | null;
|
|
519
|
+
notes: string | null;
|
|
520
|
+
}
|
|
521
|
+
/**
|
|
522
|
+
* Camp packing-layer row (PLA-1204). Published identity is `slug`
|
|
523
|
+
* (`overrides_slug`, or `camp:<uuid>` when standalone) — not the row uuid alone.
|
|
524
|
+
*/
|
|
525
|
+
interface PackingCampItem {
|
|
526
|
+
slug: string;
|
|
527
|
+
id: string;
|
|
528
|
+
categoryId: string;
|
|
529
|
+
categoryName: string;
|
|
530
|
+
name: string;
|
|
531
|
+
notes: string | null;
|
|
532
|
+
sortOrder: number;
|
|
533
|
+
overridesSlug: string | null;
|
|
534
|
+
}
|
|
535
|
+
interface UpsertPackingCampItemInput {
|
|
536
|
+
slug: string;
|
|
537
|
+
name: string;
|
|
538
|
+
category: string;
|
|
539
|
+
notes?: string | null;
|
|
540
|
+
sortOrder?: number;
|
|
541
|
+
}
|
|
542
|
+
/** Active-year allocation summary. Year is always the org's active camp year. */
|
|
543
|
+
interface SapAllocation {
|
|
544
|
+
year: number;
|
|
545
|
+
totalAllocated: number;
|
|
546
|
+
notes: string | null;
|
|
547
|
+
totalAssigned: number;
|
|
548
|
+
}
|
|
549
|
+
interface UpdateSapAllocationInput {
|
|
550
|
+
totalAllocated: number;
|
|
551
|
+
notes?: string | null;
|
|
552
|
+
}
|
|
553
|
+
interface SapDayAllocation {
|
|
554
|
+
id: string;
|
|
555
|
+
year: number;
|
|
556
|
+
accessDate: string;
|
|
557
|
+
slotsAvailable: number;
|
|
558
|
+
notes: string | null;
|
|
559
|
+
}
|
|
560
|
+
interface UpsertSapDayAllocationInput {
|
|
561
|
+
accessDate: string;
|
|
562
|
+
slotsAvailable: number;
|
|
563
|
+
notes?: string | null;
|
|
564
|
+
}
|
|
565
|
+
interface SapAssignment {
|
|
566
|
+
id: string;
|
|
567
|
+
userId: string;
|
|
568
|
+
year: number;
|
|
569
|
+
sapNumber: string | null;
|
|
570
|
+
vehicleDescription: string | null;
|
|
571
|
+
licensePlate: string | null;
|
|
572
|
+
arrivalDate: string | null;
|
|
573
|
+
notes: string | null;
|
|
574
|
+
}
|
|
575
|
+
interface CreateSapAssignmentInput {
|
|
576
|
+
userId: string;
|
|
577
|
+
sapNumber?: string | null;
|
|
578
|
+
vehicleDescription?: string | null;
|
|
579
|
+
licensePlate?: string | null;
|
|
580
|
+
arrivalDate?: string | null;
|
|
581
|
+
notes?: string | null;
|
|
582
|
+
}
|
|
583
|
+
interface UpdateSapAssignmentInput {
|
|
584
|
+
assignmentId: string;
|
|
585
|
+
sapNumber?: string | null;
|
|
586
|
+
vehicleDescription?: string | null;
|
|
587
|
+
licensePlate?: string | null;
|
|
588
|
+
arrivalDate?: string | null;
|
|
589
|
+
notes?: string | null;
|
|
590
|
+
}
|
|
591
|
+
/** How the rental reaches the member. The server defaults to `camp_delivery`. */
|
|
592
|
+
type BikeRentalDeliveryMode = "individual_pickup" | "camp_delivery";
|
|
593
|
+
type BikeRentalFramePreference = "standard" | "step-through";
|
|
594
|
+
interface BikeRentalCatalogItem {
|
|
595
|
+
/** Customer-facing option label. Send it back as `model` when requesting a bike. */
|
|
596
|
+
model: string;
|
|
597
|
+
/** DustJunkie bike_type behind the option. */
|
|
598
|
+
bikeType: string;
|
|
599
|
+
framePreference: BikeRentalFramePreference;
|
|
600
|
+
/** Per-rental price. */
|
|
601
|
+
price: number;
|
|
602
|
+
/** Refundable security deposit for this bike type. */
|
|
603
|
+
deposit: number;
|
|
604
|
+
/** Transport fee for the requested delivery mode; 0 for pickup. */
|
|
605
|
+
transportFee: number;
|
|
606
|
+
/** Display estimate: price + deposit + transportFee. DustJunkie sets the amount it actually charges. */
|
|
607
|
+
estimatedTotal: number;
|
|
608
|
+
/** Bikes of this type tracked in the delivery pool, in any status. */
|
|
609
|
+
totalCount: number;
|
|
610
|
+
/** Bikes of this type ready to ride; 0 means sold out. */
|
|
611
|
+
ready: number;
|
|
612
|
+
}
|
|
613
|
+
interface BikeRentalCatalogResponse {
|
|
614
|
+
items: BikeRentalCatalogItem[];
|
|
615
|
+
}
|
|
616
|
+
interface BikeRentalWaiver {
|
|
617
|
+
/** Waiver version recorded with every request. */
|
|
618
|
+
version: string;
|
|
619
|
+
/** Full rental agreement and liability waiver. */
|
|
620
|
+
text: string;
|
|
621
|
+
/** Every box must be accepted to submit a request. */
|
|
622
|
+
checkboxes: string[];
|
|
623
|
+
}
|
|
624
|
+
/** Body of `POST /bike-rentals/requests`. The request is always for the acting member. */
|
|
625
|
+
interface BikeRentalRequestInput {
|
|
626
|
+
/** A `model` from `bikeRentals.catalog()`. */
|
|
627
|
+
model: string;
|
|
628
|
+
firstName: string;
|
|
629
|
+
lastName: string;
|
|
630
|
+
/** Must contain at least 10 digits. */
|
|
631
|
+
phone: string;
|
|
632
|
+
billingStreet: string;
|
|
633
|
+
billingCity: string;
|
|
634
|
+
billingState: string;
|
|
635
|
+
billingPostalCode: string;
|
|
636
|
+
billingCountry: string;
|
|
637
|
+
/** The member accepted the waiver and all of its checkboxes. */
|
|
638
|
+
agreementConfirmed: true;
|
|
639
|
+
}
|
|
640
|
+
interface BikeRentalRequestResult {
|
|
641
|
+
/** DustJunkie's id for the pending request. */
|
|
642
|
+
requestId: string | null;
|
|
643
|
+
status: string | null;
|
|
644
|
+
/** True when this matched an earlier request within the short dedupe window (ADR-091). */
|
|
645
|
+
duplicate?: boolean;
|
|
646
|
+
}
|
|
647
|
+
interface BikeRentalReservation {
|
|
648
|
+
id: string;
|
|
649
|
+
name: string;
|
|
650
|
+
email: string | null;
|
|
651
|
+
reservationType: string | null;
|
|
652
|
+
/** Bike description parsed from DustJunkie's notes. */
|
|
653
|
+
bikeSummary: string | null;
|
|
654
|
+
paymentAmount: number | null;
|
|
655
|
+
paymentStatus: string | null;
|
|
656
|
+
rentalStatus: string | null;
|
|
657
|
+
waiverStatus: string | null;
|
|
658
|
+
depositStatus: string | null;
|
|
659
|
+
deliveryType: string | null;
|
|
660
|
+
reservedAt: string | null;
|
|
661
|
+
}
|
|
662
|
+
interface BikeRentalReservationListResponse {
|
|
663
|
+
items: BikeRentalReservation[];
|
|
664
|
+
}
|
|
665
|
+
interface BikeRentalInterestedMember {
|
|
666
|
+
userId: string;
|
|
667
|
+
name: string | null;
|
|
668
|
+
email: string | null;
|
|
669
|
+
bikeTypePreference: string | null;
|
|
670
|
+
arrivalDate: string | null;
|
|
671
|
+
/** No email on file, so no reservation can ever match. */
|
|
672
|
+
unmatchable: boolean;
|
|
673
|
+
}
|
|
674
|
+
interface BikeRentalInterestedNotReservedResponse {
|
|
675
|
+
/** Active camp year; the calendar year when no camp year is active. */
|
|
676
|
+
year: number;
|
|
677
|
+
items: BikeRentalInterestedMember[];
|
|
678
|
+
}
|
|
460
679
|
//#endregion
|
|
461
680
|
//#region src/client.d.ts
|
|
462
681
|
interface ClientOptions {
|
|
@@ -492,6 +711,14 @@ declare class PlayaOSClient {
|
|
|
492
711
|
* server that holds one org key and serves many signed-in members.
|
|
493
712
|
*/
|
|
494
713
|
withMember(memberToken: string): PlayaOSClient;
|
|
714
|
+
/**
|
|
715
|
+
* Admin dual-path (PLA-1203): when the client has a memberToken, call `/api/v1`
|
|
716
|
+
* (org key + X-PlayaOS-Member-Token). Otherwise keep the legacy embed-admin
|
|
717
|
+
* Bearer-JWT path so published consumers without withMember() still work.
|
|
718
|
+
*/
|
|
719
|
+
private adminV1OrEmbed;
|
|
720
|
+
/** Resolve admin credential: memberToken clients skip accessToken; embed path requires it. */
|
|
721
|
+
private adminAccess;
|
|
495
722
|
readonly members: {
|
|
496
723
|
list: (params?: {
|
|
497
724
|
role?: MemberRole;
|
|
@@ -506,7 +733,7 @@ declare class PlayaOSClient {
|
|
|
506
733
|
get: (id: string, opts?: {
|
|
507
734
|
signal?: AbortSignal;
|
|
508
735
|
}) => Promise<Member>;
|
|
509
|
-
/** Member-self profile update (PLA-700).
|
|
736
|
+
/** Member-self profile update (PLA-700 / PLA-1203). Prefers v1 when memberToken is set. */
|
|
510
737
|
selfUpdate: (payload: {
|
|
511
738
|
bio?: string | null;
|
|
512
739
|
playaName?: string | null;
|
|
@@ -524,7 +751,7 @@ declare class PlayaOSClient {
|
|
|
524
751
|
}) => Promise<{
|
|
525
752
|
profileId: string;
|
|
526
753
|
}>;
|
|
527
|
-
/** Member-self shift signup + cancel (PLA-705).
|
|
754
|
+
/** Member-self shift signup + cancel (PLA-705 / PLA-1203). Prefers v1 when memberToken is set. */
|
|
528
755
|
shifts: {
|
|
529
756
|
signup: (payload: {
|
|
530
757
|
shiftId: string;
|
|
@@ -690,6 +917,51 @@ declare class PlayaOSClient {
|
|
|
690
917
|
get: (id: string, opts?: {
|
|
691
918
|
signal?: AbortSignal;
|
|
692
919
|
}) => Promise<Bike>;
|
|
920
|
+
/**
|
|
921
|
+
* Cancel an in-house fleet rental owned by the acting member (PLA-1232).
|
|
922
|
+
* Requires a member token. 404 when missing, not owned, or not cancellable.
|
|
923
|
+
*/
|
|
924
|
+
cancelRental: (rentalId: string, opts?: {
|
|
925
|
+
signal?: AbortSignal;
|
|
926
|
+
}) => Promise<{
|
|
927
|
+
cancelled: true;
|
|
928
|
+
}>;
|
|
929
|
+
};
|
|
930
|
+
/**
|
|
931
|
+
* DustJunkie bike rentals (PLA-1180), passed through to the vendor. A camp
|
|
932
|
+
* without the integration gets 403; a DustJunkie failure is a 502.
|
|
933
|
+
*/
|
|
934
|
+
readonly bikeRentals: {
|
|
935
|
+
/** Bookable options with estimated totals for `delivery` (server default `camp_delivery`). Org key only. */
|
|
936
|
+
catalog: (params?: {
|
|
937
|
+
delivery?: BikeRentalDeliveryMode;
|
|
938
|
+
}, opts?: {
|
|
939
|
+
signal?: AbortSignal;
|
|
940
|
+
}) => Promise<BikeRentalCatalogResponse>;
|
|
941
|
+
/** The rental agreement the member must accept before `requestReservation`. Org key only. */
|
|
942
|
+
waiver: (opts?: {
|
|
943
|
+
signal?: AbortSignal;
|
|
944
|
+
}) => Promise<BikeRentalWaiver>;
|
|
945
|
+
/**
|
|
946
|
+
* Requires a member token. Admins get the whole camp when `memberId` is
|
|
947
|
+
* omitted; any other role gets their own reservations and 403 naming someone else.
|
|
948
|
+
*/
|
|
949
|
+
reservations: (params?: {
|
|
950
|
+
memberId?: string;
|
|
951
|
+
}, opts?: {
|
|
952
|
+
signal?: AbortSignal;
|
|
953
|
+
}) => Promise<BikeRentalReservationListResponse>;
|
|
954
|
+
/**
|
|
955
|
+
* Requires a member token; always requests for the acting member. 409 when
|
|
956
|
+
* the model is sold out, 400 when it is unknown or no longer bookable.
|
|
957
|
+
*/
|
|
958
|
+
requestReservation: (payload: BikeRentalRequestInput, opts?: {
|
|
959
|
+
signal?: AbortSignal;
|
|
960
|
+
}) => Promise<BikeRentalRequestResult>;
|
|
961
|
+
/** Members who said they want a bike but have no reservation, for the active camp year. Org key only. */
|
|
962
|
+
interestedNotReserved: (opts?: {
|
|
963
|
+
signal?: AbortSignal;
|
|
964
|
+
}) => Promise<BikeRentalInterestedNotReservedResponse>;
|
|
693
965
|
};
|
|
694
966
|
readonly tags: {
|
|
695
967
|
list: (opts?: {
|
|
@@ -712,49 +984,186 @@ declare class PlayaOSClient {
|
|
|
712
984
|
id: string;
|
|
713
985
|
}>;
|
|
714
986
|
};
|
|
987
|
+
/**
|
|
988
|
+
* Camp-scoped packing (PLA-1197). Every method is the acting member's own
|
|
989
|
+
* list — packing has no `memberId` to widen, so these require `memberToken`
|
|
990
|
+
* and 401 on an org key alone.
|
|
991
|
+
*/
|
|
992
|
+
readonly packing: {
|
|
993
|
+
/** The resolved list: curated base + camp layer + personal layer (ADR-071). */
|
|
994
|
+
list: (params?: {
|
|
995
|
+
year?: number;
|
|
996
|
+
shelter?: string;
|
|
997
|
+
}, opts?: {
|
|
998
|
+
signal?: AbortSignal;
|
|
999
|
+
}) => Promise<PackingListResponse>;
|
|
1000
|
+
/**
|
|
1001
|
+
* Set the member's status for one item. The slug goes in the body, not the
|
|
1002
|
+
* path: slugs are `${category}/${name}` and contain a `/`.
|
|
1003
|
+
*
|
|
1004
|
+
* Pass the same `shelter` the list was read under — validation filters by
|
|
1005
|
+
* shelter, so an override omitted here rejects shelter-specific items.
|
|
1006
|
+
*/
|
|
1007
|
+
setStatus: (payload: {
|
|
1008
|
+
slug: string;
|
|
1009
|
+
status: PackingItemStatus;
|
|
1010
|
+
year?: number;
|
|
1011
|
+
shelter?: string;
|
|
1012
|
+
}, opts?: {
|
|
1013
|
+
signal?: AbortSignal;
|
|
1014
|
+
}) => Promise<{
|
|
1015
|
+
ok: true;
|
|
1016
|
+
}>;
|
|
1017
|
+
personalItems: {
|
|
1018
|
+
list: (params?: {
|
|
1019
|
+
containerId?: string;
|
|
1020
|
+
}, opts?: {
|
|
1021
|
+
signal?: AbortSignal;
|
|
1022
|
+
}) => Promise<{
|
|
1023
|
+
items: PackingPersonalItem[];
|
|
1024
|
+
}>;
|
|
1025
|
+
create: (payload: {
|
|
1026
|
+
name: string;
|
|
1027
|
+
category: string;
|
|
1028
|
+
qty?: number;
|
|
1029
|
+
unit?: string | null;
|
|
1030
|
+
notes?: string | null;
|
|
1031
|
+
}, opts?: {
|
|
1032
|
+
signal?: AbortSignal;
|
|
1033
|
+
}) => Promise<{
|
|
1034
|
+
id: string;
|
|
1035
|
+
}>;
|
|
1036
|
+
/**
|
|
1037
|
+
* Flip the item between `need` and `have`. It does **not** set `packed` —
|
|
1038
|
+
* use `setStatus` for the full vocabulary. 404 if the item is not the
|
|
1039
|
+
* acting member's.
|
|
1040
|
+
*/
|
|
1041
|
+
toggle: (id: string, opts?: {
|
|
1042
|
+
signal?: AbortSignal;
|
|
1043
|
+
}) => Promise<{
|
|
1044
|
+
ok: true;
|
|
1045
|
+
}>;
|
|
1046
|
+
/** 404 if the item is not the acting member's. */
|
|
1047
|
+
remove: (id: string, opts?: {
|
|
1048
|
+
signal?: AbortSignal;
|
|
1049
|
+
}) => Promise<{
|
|
1050
|
+
ok: true;
|
|
1051
|
+
}>;
|
|
1052
|
+
};
|
|
1053
|
+
/**
|
|
1054
|
+
* Camp packing layer (PLA-1204). Admin/super_admin only — non-admins get 403.
|
|
1055
|
+
* Identity is the published slug (`overrides_slug` or `camp:<uuid>`).
|
|
1056
|
+
*/
|
|
1057
|
+
campItems: {
|
|
1058
|
+
list: (opts?: {
|
|
1059
|
+
signal?: AbortSignal;
|
|
1060
|
+
}) => Promise<{
|
|
1061
|
+
items: PackingCampItem[];
|
|
1062
|
+
}>;
|
|
1063
|
+
upsert: (payload: UpsertPackingCampItemInput, opts?: {
|
|
1064
|
+
signal?: AbortSignal;
|
|
1065
|
+
}) => Promise<PackingCampItem>;
|
|
1066
|
+
};
|
|
1067
|
+
};
|
|
1068
|
+
/**
|
|
1069
|
+
* SAP — Special Access Pass, for early/overnight vehicle arrival (PLA-1202).
|
|
1070
|
+
* Admin/super_admin only; there is no member-facing SAP surface. Year is
|
|
1071
|
+
* always the org's active camp year — the server derives it, callers never
|
|
1072
|
+
* pass one.
|
|
1073
|
+
*/
|
|
1074
|
+
readonly sap: {
|
|
1075
|
+
allocation: {
|
|
1076
|
+
get: (opts?: {
|
|
1077
|
+
signal?: AbortSignal;
|
|
1078
|
+
}) => Promise<SapAllocation>;
|
|
1079
|
+
update: (payload: UpdateSapAllocationInput, opts?: {
|
|
1080
|
+
signal?: AbortSignal;
|
|
1081
|
+
}) => Promise<SapAllocation>;
|
|
1082
|
+
};
|
|
1083
|
+
dayAllocations: {
|
|
1084
|
+
list: (opts?: {
|
|
1085
|
+
signal?: AbortSignal;
|
|
1086
|
+
}) => Promise<{
|
|
1087
|
+
items: SapDayAllocation[];
|
|
1088
|
+
}>;
|
|
1089
|
+
/** Upserts by (active year, accessDate); 409 on a cross-org date collision. */
|
|
1090
|
+
upsert: (payload: UpsertSapDayAllocationInput, opts?: {
|
|
1091
|
+
signal?: AbortSignal;
|
|
1092
|
+
}) => Promise<SapDayAllocation>;
|
|
1093
|
+
};
|
|
1094
|
+
assignments: {
|
|
1095
|
+
list: (opts?: {
|
|
1096
|
+
signal?: AbortSignal;
|
|
1097
|
+
}) => Promise<{
|
|
1098
|
+
items: SapAssignment[];
|
|
1099
|
+
}>;
|
|
1100
|
+
create: (payload: CreateSapAssignmentInput, opts?: {
|
|
1101
|
+
signal?: AbortSignal;
|
|
1102
|
+
}) => Promise<SapAssignment>;
|
|
1103
|
+
update: (payload: UpdateSapAssignmentInput, opts?: {
|
|
1104
|
+
signal?: AbortSignal;
|
|
1105
|
+
}) => Promise<SapAssignment>;
|
|
1106
|
+
remove: (assignmentId: string, opts?: {
|
|
1107
|
+
signal?: AbortSignal;
|
|
1108
|
+
}) => Promise<{
|
|
1109
|
+
ok: true;
|
|
1110
|
+
}>;
|
|
1111
|
+
};
|
|
1112
|
+
};
|
|
715
1113
|
readonly admin: {
|
|
716
1114
|
applications: {
|
|
717
|
-
/**
|
|
718
|
-
|
|
719
|
-
|
|
1115
|
+
/**
|
|
1116
|
+
* Get application audit timeline (PLA-712). Requires admin Bearer token.
|
|
1117
|
+
*
|
|
1118
|
+
* @deprecated The embed handler for this method never existed — calls
|
|
1119
|
+
* always 404'd (see PLA-1199). Retained as a compile-time compatibility
|
|
1120
|
+
* surface for published-consumer code; delegates to the canonical
|
|
1121
|
+
* `GET /api/v1/audit/application-logs?applicationId=` (ADR-054), which
|
|
1122
|
+
* reads the same `application_audit_logs` table. The `accessToken`
|
|
1123
|
+
* argument is accepted but unused — the v1 surface authenticates with
|
|
1124
|
+
* the org API key (`audit:read` scope) instead of an admin JWT. Remove
|
|
1125
|
+
* in the next major version.
|
|
1126
|
+
*/
|
|
1127
|
+
history: (id: string, opts?: {
|
|
1128
|
+
accessToken?: string;
|
|
720
1129
|
signal?: AbortSignal;
|
|
721
1130
|
}) => Promise<ApplicationHistoryResponse>;
|
|
722
|
-
transition: (id: string, payload: ApplicationTransitionPayload, opts
|
|
723
|
-
accessToken
|
|
1131
|
+
transition: (id: string, payload: ApplicationTransitionPayload, opts?: {
|
|
1132
|
+
accessToken?: string;
|
|
724
1133
|
signal?: AbortSignal;
|
|
725
1134
|
}) => Promise<ApplicationTransitionResponse>;
|
|
726
|
-
getAnnotations: (id: string, opts
|
|
727
|
-
accessToken
|
|
1135
|
+
getAnnotations: (id: string, opts?: {
|
|
1136
|
+
accessToken?: string;
|
|
728
1137
|
signal?: AbortSignal;
|
|
729
1138
|
}) => Promise<ApplicationAnnotations>;
|
|
730
1139
|
addNote: (id: string, payload: {
|
|
731
1140
|
body: string;
|
|
732
|
-
}, opts
|
|
733
|
-
accessToken
|
|
1141
|
+
}, opts?: {
|
|
1142
|
+
accessToken?: string;
|
|
734
1143
|
signal?: AbortSignal;
|
|
735
1144
|
}) => Promise<ApplicationNote>;
|
|
736
1145
|
setTags: (id: string, payload: {
|
|
737
1146
|
tags: string[];
|
|
738
|
-
}, opts
|
|
739
|
-
accessToken
|
|
1147
|
+
}, opts?: {
|
|
1148
|
+
accessToken?: string;
|
|
740
1149
|
signal?: AbortSignal;
|
|
741
1150
|
}) => Promise<string[]>;
|
|
742
1151
|
setScore: (id: string, payload: {
|
|
743
1152
|
value: number;
|
|
744
|
-
}, opts
|
|
745
|
-
accessToken
|
|
1153
|
+
}, opts?: {
|
|
1154
|
+
accessToken?: string;
|
|
746
1155
|
signal?: AbortSignal;
|
|
747
1156
|
}) => Promise<ApplicationScore>;
|
|
748
1157
|
};
|
|
749
1158
|
givebutter: {
|
|
750
1159
|
campaigns: {
|
|
751
|
-
list: (opts
|
|
752
|
-
accessToken
|
|
1160
|
+
list: (opts?: {
|
|
1161
|
+
accessToken?: string;
|
|
753
1162
|
signal?: AbortSignal;
|
|
754
1163
|
}) => Promise<unknown[]>;
|
|
755
1164
|
discountCodes: {
|
|
756
|
-
list: (campaignId: number, opts
|
|
757
|
-
accessToken
|
|
1165
|
+
list: (campaignId: number, opts?: {
|
|
1166
|
+
accessToken?: string;
|
|
758
1167
|
signal?: AbortSignal;
|
|
759
1168
|
}) => Promise<unknown[]>;
|
|
760
1169
|
create: (campaignId: number, payload: {
|
|
@@ -762,8 +1171,8 @@ declare class PlayaOSClient {
|
|
|
762
1171
|
value: number;
|
|
763
1172
|
type: "percent" | "fixed";
|
|
764
1173
|
expirationDate?: string;
|
|
765
|
-
}, opts
|
|
766
|
-
accessToken
|
|
1174
|
+
}, opts?: {
|
|
1175
|
+
accessToken?: string;
|
|
767
1176
|
signal?: AbortSignal;
|
|
768
1177
|
}) => Promise<unknown>;
|
|
769
1178
|
};
|
|
@@ -772,89 +1181,89 @@ declare class PlayaOSClient {
|
|
|
772
1181
|
name: string;
|
|
773
1182
|
price: number;
|
|
774
1183
|
totalQuantity?: number;
|
|
775
|
-
}, opts
|
|
776
|
-
accessToken
|
|
1184
|
+
}, opts?: {
|
|
1185
|
+
accessToken?: string;
|
|
777
1186
|
signal?: AbortSignal;
|
|
778
1187
|
}) => Promise<unknown>;
|
|
779
1188
|
};
|
|
780
1189
|
};
|
|
781
1190
|
};
|
|
782
1191
|
members: {
|
|
783
|
-
create: (payload: MemberCreatePayload, opts
|
|
784
|
-
accessToken
|
|
1192
|
+
create: (payload: MemberCreatePayload, opts?: {
|
|
1193
|
+
accessToken?: string;
|
|
785
1194
|
signal?: AbortSignal;
|
|
786
1195
|
}) => Promise<MemberCreateResponse>;
|
|
787
|
-
update: (id: string, patch: MemberUpdatePayload, opts
|
|
788
|
-
accessToken
|
|
1196
|
+
update: (id: string, patch: MemberUpdatePayload, opts?: {
|
|
1197
|
+
accessToken?: string;
|
|
789
1198
|
signal?: AbortSignal;
|
|
790
1199
|
}) => Promise<MemberUpdateResponse>;
|
|
791
|
-
deactivate: (id: string, opts
|
|
792
|
-
accessToken
|
|
1200
|
+
deactivate: (id: string, opts?: {
|
|
1201
|
+
accessToken?: string;
|
|
793
1202
|
signal?: AbortSignal;
|
|
794
1203
|
}) => Promise<MemberDeactivateResponse>;
|
|
795
1204
|
};
|
|
796
1205
|
announcements: {
|
|
797
1206
|
/** Send an email blast to camp members (PLA-706). Requires admin Bearer token. */
|
|
798
|
-
send: (payload: AnnouncementSendPayload, opts
|
|
799
|
-
accessToken
|
|
1207
|
+
send: (payload: AnnouncementSendPayload, opts?: {
|
|
1208
|
+
accessToken?: string;
|
|
800
1209
|
signal?: AbortSignal;
|
|
801
1210
|
}) => Promise<AnnouncementSendResponse>;
|
|
802
1211
|
};
|
|
803
1212
|
dues: {
|
|
804
1213
|
/** Create a manual dues/payment record (PLA-708). Requires admin Bearer token. */
|
|
805
|
-
create: (payload: DuesCreatePayload, opts
|
|
806
|
-
accessToken
|
|
1214
|
+
create: (payload: DuesCreatePayload, opts?: {
|
|
1215
|
+
accessToken?: string;
|
|
807
1216
|
signal?: AbortSignal;
|
|
808
1217
|
}) => Promise<DuesCreateResponse>;
|
|
809
1218
|
/** Update a dues/payment record (PLA-708). Requires admin Bearer token. */
|
|
810
|
-
update: (id: string, payload: DuesUpdatePayload, opts
|
|
811
|
-
accessToken
|
|
1219
|
+
update: (id: string, payload: DuesUpdatePayload, opts?: {
|
|
1220
|
+
accessToken?: string;
|
|
812
1221
|
signal?: AbortSignal;
|
|
813
1222
|
}) => Promise<DuesUpdateResponse>;
|
|
814
1223
|
};
|
|
815
1224
|
org: {
|
|
816
1225
|
/** Update camp configuration settings (PLA-709). Requires admin Bearer token. */
|
|
817
|
-
update: (payload: OrgUpdatePayload, opts
|
|
818
|
-
accessToken
|
|
1226
|
+
update: (payload: OrgUpdatePayload, opts?: {
|
|
1227
|
+
accessToken?: string;
|
|
819
1228
|
signal?: AbortSignal;
|
|
820
1229
|
}) => Promise<OrgUpdateResponse>;
|
|
821
1230
|
};
|
|
822
1231
|
scheduling: {
|
|
823
1232
|
availability: {
|
|
824
1233
|
/** Get interview availability for an interviewer (PLA-713). Requires admin Bearer token. */
|
|
825
|
-
get: (interviewerId: string, opts
|
|
826
|
-
accessToken
|
|
1234
|
+
get: (interviewerId: string, opts?: {
|
|
1235
|
+
accessToken?: string;
|
|
827
1236
|
signal?: AbortSignal;
|
|
828
|
-
}) => Promise<
|
|
1237
|
+
}) => Promise<GetAvailabilityResponse>;
|
|
829
1238
|
/** Set interview availability for an interviewer (PLA-713). Requires admin Bearer token. */
|
|
830
|
-
set: (interviewerId: string, payload: SetAvailabilityInput, opts
|
|
831
|
-
accessToken
|
|
1239
|
+
set: (interviewerId: string, payload: SetAvailabilityInput, opts?: {
|
|
1240
|
+
accessToken?: string;
|
|
832
1241
|
signal?: AbortSignal;
|
|
833
1242
|
}) => Promise<SetAvailabilityResponse>;
|
|
834
1243
|
};
|
|
835
1244
|
calendar: {
|
|
836
1245
|
/** Get Google Calendar connection status for an interviewer (PLA-726). Requires admin Bearer. */
|
|
837
|
-
status: (interviewerId: string, opts
|
|
838
|
-
accessToken
|
|
1246
|
+
status: (interviewerId: string, opts?: {
|
|
1247
|
+
accessToken?: string;
|
|
839
1248
|
signal?: AbortSignal;
|
|
840
1249
|
}) => Promise<CalendarStatus>;
|
|
841
1250
|
/** List available Google Calendars (PLA-726). Requires admin Bearer. */
|
|
842
|
-
listCalendars: (interviewerId: string, opts
|
|
843
|
-
accessToken
|
|
1251
|
+
listCalendars: (interviewerId: string, opts?: {
|
|
1252
|
+
accessToken?: string;
|
|
844
1253
|
signal?: AbortSignal;
|
|
845
1254
|
}) => Promise<{
|
|
846
1255
|
calendars: GoogleCalendar[];
|
|
847
1256
|
}>;
|
|
848
1257
|
/** Select which Google Calendar to use (PLA-726). Requires admin Bearer. */
|
|
849
|
-
select: (interviewerId: string, payload: SelectCalendarInput, opts
|
|
850
|
-
accessToken
|
|
1258
|
+
select: (interviewerId: string, payload: SelectCalendarInput, opts?: {
|
|
1259
|
+
accessToken?: string;
|
|
851
1260
|
signal?: AbortSignal;
|
|
852
1261
|
}) => Promise<{
|
|
853
1262
|
calendarId: string;
|
|
854
1263
|
}>;
|
|
855
1264
|
/** Disconnect Google Calendar from interviewer (PLA-726). Requires admin Bearer. */
|
|
856
|
-
disconnect: (interviewerId: string, opts
|
|
857
|
-
accessToken
|
|
1265
|
+
disconnect: (interviewerId: string, opts?: {
|
|
1266
|
+
accessToken?: string;
|
|
858
1267
|
signal?: AbortSignal;
|
|
859
1268
|
}) => Promise<{
|
|
860
1269
|
disconnected: boolean;
|
|
@@ -862,13 +1271,13 @@ declare class PlayaOSClient {
|
|
|
862
1271
|
};
|
|
863
1272
|
bookingTokens: {
|
|
864
1273
|
/** Create a booking token for an application's interview link (PLA-714). Requires admin Bearer token. */
|
|
865
|
-
create: (payload: CreateBookingTokenInput, opts
|
|
866
|
-
accessToken
|
|
1274
|
+
create: (payload: CreateBookingTokenInput, opts?: {
|
|
1275
|
+
accessToken?: string;
|
|
867
1276
|
signal?: AbortSignal;
|
|
868
1277
|
}) => Promise<BookingToken>;
|
|
869
1278
|
/** Get an existing booking token for an application (PLA-714). Requires admin Bearer token. */
|
|
870
|
-
get: (applicationId: string, opts
|
|
871
|
-
accessToken
|
|
1279
|
+
get: (applicationId: string, opts?: {
|
|
1280
|
+
accessToken?: string;
|
|
872
1281
|
signal?: AbortSignal;
|
|
873
1282
|
}) => Promise<BookingToken>;
|
|
874
1283
|
};
|
|
@@ -1007,5 +1416,5 @@ interface PublicMarketplaceClient {
|
|
|
1007
1416
|
}
|
|
1008
1417
|
declare function createPublicMarketplaceClient(opts: PublicMarketplaceClientOptions): PublicMarketplaceClient;
|
|
1009
1418
|
//#endregion
|
|
1010
|
-
export { ApiClientError, type Application, type ApplicationAnnotations, type ApplicationCreatePayload, type ApplicationCreateResponse, type ApplicationNote, type ApplicationScore, type ApplicationStatus, type ApplicationTransitionPayload, type ApplicationTransitionResponse, type Commitment, type CommitmentDataType, type CommitmentValue, type CommitmentsListResponse, type DuesStatus, type ExchangeParams, type ExchangeResult, type ImageUploadTarget, type ListingImage, MAX_IMAGE_POSITION, type MarketplaceFlagReason, type Member, type MemberCreatePayload, type MemberCreateResponse, type MemberDeactivateResponse, type MemberRole, type MemberUpdatePayload, type MemberUpdateResponse, type NewListingInput, type OrgConfig, type PaymentPageResponse, PlayaOSClient, type PublicMarketplaceClient, type PublicMarketplaceClientOptions, type Shift, type ShiftSignup, type ShiftType, type Waiver, type WaiverContent, type WaiverSection, type WaiverSignPayload, type WaiverSignResponse, type WaiverStatus, createClient, createPublicMarketplaceClient, exchangeCode };
|
|
1419
|
+
export { ApiClientError, type Application, type ApplicationAnnotations, type ApplicationCreatePayload, type ApplicationCreateResponse, type ApplicationNote, type ApplicationScore, type ApplicationStatus, type ApplicationTransitionPayload, type ApplicationTransitionResponse, type BikeRentalCatalogItem, type BikeRentalCatalogResponse, type BikeRentalDeliveryMode, type BikeRentalFramePreference, type BikeRentalInterestedMember, type BikeRentalInterestedNotReservedResponse, type BikeRentalRequestInput, type BikeRentalRequestResult, type BikeRentalReservation, type BikeRentalReservationListResponse, type BikeRentalWaiver, type Commitment, type CommitmentDataType, type CommitmentValue, type CommitmentsListResponse, type CreateSapAssignmentInput, type DuesStatus, type ExchangeParams, type ExchangeResult, type ImageUploadTarget, type ListingImage, MAX_IMAGE_POSITION, type MarketplaceFlagReason, type Member, type MemberCreatePayload, type MemberCreateResponse, type MemberDeactivateResponse, type MemberRole, type MemberUpdatePayload, type MemberUpdateResponse, type NewListingInput, type OrgConfig, type PackingCampItem, type PackingItem, type PackingItemStatus, type PackingLayer, type PackingListResponse, type PackingPersonalItem, type PaymentPageResponse, PlayaOSClient, type PublicMarketplaceClient, type PublicMarketplaceClientOptions, type SapAllocation, type SapAssignment, type SapDayAllocation, type Shift, type ShiftSignup, type ShiftType, type UpdateSapAllocationInput, type UpdateSapAssignmentInput, type UpsertPackingCampItemInput, type UpsertSapDayAllocationInput, type Waiver, type WaiverContent, type WaiverSection, type WaiverSignPayload, type WaiverSignResponse, type WaiverStatus, createClient, createPublicMarketplaceClient, exchangeCode };
|
|
1011
1420
|
//# sourceMappingURL=index.d.ts.map
|