feat(placements): v0.11 P5 learner placement visibility (REQ-11-005) [6/10] — wave 5-2: placement.ts mirrors for the learner status reads (D-110)
This commit is contained in:
@@ -133,4 +133,35 @@ export interface PlacementOverview {
|
||||
guiding_goal: number;
|
||||
by_employer: Array<{ employer_id: string; count: number }>;
|
||||
by_cohort_month: Array<{ month: string; count: number }>;
|
||||
}
|
||||
}
|
||||
|
||||
/** The application row on the learner status read (base.py
|
||||
* LearnerApplicationSummary, D-104): the mine-visible fields only —
|
||||
* ids + status + the apply timestamp (nullable per the v0.6 row). */
|
||||
export interface LearnerApplicationSummary {
|
||||
id: string;
|
||||
posting_id: string;
|
||||
learner_id: string;
|
||||
status: ApplicationStatus;
|
||||
created_at: string | null;
|
||||
}
|
||||
|
||||
/** GET /v1/marketplace/applications/{application_id}?learner_id=
|
||||
* response (base.py LearnerApplicationStatusResponse, REQ-11-005):
|
||||
* the learner's-own application read — current status + the full
|
||||
* id-ordered event history for THIS application + the placement
|
||||
* record when hired (the honest null otherwise, A-304). */
|
||||
export interface LearnerApplicationStatus {
|
||||
application: LearnerApplicationSummary;
|
||||
events: PlacementEvent[];
|
||||
placement: Placement | null;
|
||||
}
|
||||
|
||||
/** GET /v1/marketplace/applications/mine response (base.py
|
||||
* MineApplicationResponse, G-322): the panel's application discovery
|
||||
* on revisit — a 404 renders the apply CTA (the panel never depends
|
||||
* on client-persisted application_ids). */
|
||||
export interface MineApplication {
|
||||
application_id: string;
|
||||
status: ApplicationStatus;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user