Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/missionmatch / frontend/src/tools/recruitmatch/pipelineApi.ts |
| Date | Not specified in source |
| Repository | Janady13/missionmatch |
| Revision | 720d47fae476b0d38477ae4401697d372b1ea2bc |
| Branch | feature/opportunity-to-outcome |
| Path or archive member | frontend/src/tools/recruitmatch/pipelineApi.ts |
| Original SHA-256 | e47d13cf8525aafc481fa3b370778be9aef1115ecec7570389f0892cb66608d3 |
| Git blob SHA | 955e256c803181fdcb8204e45395171c051c4b4c |
| Reading-copy SHA-256 | e47d13cf8525aafc481fa3b370778be9aef1115ecec7570389f0892cb66608d3 |
Every recorded occurrence
These 2 records contain identical original source bytes. Their paths and revisions remain part of the archive.
| Original record | Branch or archive | Revision / identifier | Original location |
|---|---|---|---|
| Janady13/missionmatch / frontend/src/tools/recruitmatch/pipelineApi.ts | feature/opportunity-to-outcome | 720d47fae476b0d38477ae4401697d372b1ea2bc | Open original |
| Janady13/missionmatch / frontend/src/tools/recruitmatch/pipelineApi.ts | feature/aioe-upgrade | 2178e7298d0e5d9af83afa12402fd587f0ba6ed8 | Open original |
Recovered source transcript
Download complete source text ↓31 lines · 1.5 KB
import { request } from '../../lib/api'
import type {
RApplication,
RApplicationDetail,
RApplicationList,
RDispositionCatalog,
RPipelineBoard,
} from '../../lib/types'
const NS = '/recruiting'
const body = (v: unknown) => ({ body: JSON.stringify(v) })
export const pipelineApi = {
board: (reqId: string) => request<RPipelineBoard>(`${NS}/requisitions/${encodeURIComponent(reqId)}/pipeline`),
submit: (reqId: string, v: { candidate_id: string; stage?: string; source_touch?: string; reason?: string }) =>
request<RApplication>(`${NS}/requisitions/${encodeURIComponent(reqId)}/applications`, { method: 'POST', ...body(v) }),
get: (id: string) => request<RApplicationDetail>(`${NS}/applications/${encodeURIComponent(id)}`),
list: (p: { candidate_id?: string; stage?: string }) => {
const s = new URLSearchParams()
if (p.candidate_id) s.set('candidate_id', p.candidate_id)
if (p.stage) s.set('stage', p.stage)
const qs = s.toString()
return request<RApplicationList>(`${NS}/applications${qs ? `?${qs}` : ''}`)
},
// expected_stage is required. It is the concurrency token, and the database refuses the move unless the
// application is still where this screen last saw it.
move: (id: string, v: { expected_stage: string; to_stage: string; reason?: string; disposition_code?: string }) =>
request<RApplication>(`${NS}/applications/${encodeURIComponent(id)}/stage`, { method: 'POST', ...body(v) }),
dispositions: () => request<RDispositionCatalog>(`${NS}/dispositions`),
}