@ttctl/core 0.1.0-rc.2 → 0.1.0-rc.4
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/__tests__/fixtures/profile/builders.d.ts.map +1 -1
- package/dist/__tests__/fixtures/profile/builders.js +2 -0
- package/dist/__tests__/fixtures/profile/builders.js.map +1 -1
- package/dist/__tests__/fixtures/profile/data.d.ts.map +1 -1
- package/dist/__tests__/fixtures/profile/data.js +4 -0
- package/dist/__tests__/fixtures/profile/data.js.map +1 -1
- package/dist/services/applications/index.d.ts +64 -9
- package/dist/services/applications/index.d.ts.map +1 -1
- package/dist/services/applications/index.js +67 -13
- package/dist/services/applications/index.js.map +1 -1
- package/dist/services/engagements/index.d.ts +76 -2
- package/dist/services/engagements/index.d.ts.map +1 -1
- package/dist/services/engagements/index.js +65 -5
- package/dist/services/engagements/index.js.map +1 -1
- package/dist/services/jobs/index.d.ts +26 -13
- package/dist/services/jobs/index.d.ts.map +1 -1
- package/dist/services/jobs/index.js +87 -15
- package/dist/services/jobs/index.js.map +1 -1
- package/dist/services/payments/index.d.ts +56 -10
- package/dist/services/payments/index.d.ts.map +1 -1
- package/dist/services/payments/index.js +59 -15
- package/dist/services/payments/index.js.map +1 -1
- package/dist/services/profile/basic/index.d.ts +113 -27
- package/dist/services/profile/basic/index.d.ts.map +1 -1
- package/dist/services/profile/basic/index.js +176 -66
- package/dist/services/profile/basic/index.js.map +1 -1
- package/dist/services/profile/employment/index.d.ts +175 -3
- package/dist/services/profile/employment/index.d.ts.map +1 -1
- package/dist/services/profile/employment/index.js +265 -14
- package/dist/services/profile/employment/index.js.map +1 -1
- package/dist/services/timesheet/index.d.ts +51 -2
- package/dist/services/timesheet/index.d.ts.map +1 -1
- package/dist/services/timesheet/index.js +32 -5
- package/dist/services/timesheet/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/payments/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/payments/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,16 @@ export interface ProfileLanguage {
|
|
|
67
67
|
id: string;
|
|
68
68
|
name: string;
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* One software-skill entry on `Profile.softwareSkills.nodes` — identifier
|
|
72
|
+
* + display name. Same `Unknown`-typed-in-SDL story as {@link ProfileLanguage};
|
|
73
|
+
* runtime contract is the source of truth. Filtering of malformed entries
|
|
74
|
+
* happens in {@link getBasicInfo}.
|
|
75
|
+
*/
|
|
76
|
+
export interface ProfileSoftwareSkill {
|
|
77
|
+
id: string;
|
|
78
|
+
name: string;
|
|
79
|
+
}
|
|
70
80
|
/**
|
|
71
81
|
* Read-side projection of the `talent_profile`-only profile fields that
|
|
72
82
|
* complement {@link show}. Returned by {@link getBasicInfo}.
|
|
@@ -79,9 +89,25 @@ export interface ProfileLanguage {
|
|
|
79
89
|
* the user typed.
|
|
80
90
|
*
|
|
81
91
|
* `null` indicates the user hasn't set the field (or the server didn't
|
|
82
|
-
* return it). `languages`
|
|
83
|
-
* `null` (the empty-collection convention agreed in
|
|
84
|
-
* null-rendering recommendation).
|
|
92
|
+
* return it). `languages` and `softwareSkills` are arrays — empty when
|
|
93
|
+
* none are set, never `null` (the empty-collection convention agreed in
|
|
94
|
+
* the #124 audit's null-rendering recommendation).
|
|
95
|
+
*
|
|
96
|
+
* **Scope expansion (#393, 2026-05-19)**: pre-#393 this projection carried
|
|
97
|
+
* only `{profileId, bio, headline, languages}`. The Toptal `talent_profile`
|
|
98
|
+
* API treats `UpdateBasicInfoInput` as a **full-replacement contract** —
|
|
99
|
+
* any required non-null field omitted from the input fails with
|
|
100
|
+
* "Expected value to not be null". To support a robust read-merge
|
|
101
|
+
* mutation path in {@link set}, we now fetch the full set of server-
|
|
102
|
+
* required scalars (`fullName`, `legalName`, `city`, `placeIdentity`,
|
|
103
|
+
* `phoneNumber`) and id-bearing relations (`countryId`, `citizenshipId`,
|
|
104
|
+
* `languageIds`, `softwareSkills` — the last surfaced as objects rather
|
|
105
|
+
* than just ids because the API's read-side returns the rich shape).
|
|
106
|
+
* Each is `null` when the user hasn't set it on their profile (the
|
|
107
|
+
* server then rejects an UPDATE if a required field is null on read AND
|
|
108
|
+
* the input omits it — see issue #393's repro). Callers that only want
|
|
109
|
+
* the narrative bits (`bio` / `headline` / `languages`) continue to read
|
|
110
|
+
* what they always did; the additional fields are additive.
|
|
85
111
|
*/
|
|
86
112
|
export interface BasicInfo {
|
|
87
113
|
/** Echoes the talent_profile-side `Profile.id` (matches `show()`'s `viewerRole.profileId`). */
|
|
@@ -92,11 +118,31 @@ export interface BasicInfo {
|
|
|
92
118
|
headline: string | null;
|
|
93
119
|
/** User-declared languages. Empty array when none. */
|
|
94
120
|
languages: ProfileLanguage[];
|
|
121
|
+
/** Display name as the user typed it. `null` when unset on this account. */
|
|
122
|
+
fullName: string | null;
|
|
123
|
+
/** Legal name (matches the legal-documents name). `null` when unset. */
|
|
124
|
+
legalName: string | null;
|
|
125
|
+
/** City of residence (free-text). `null` when unset. */
|
|
126
|
+
city: string | null;
|
|
127
|
+
/** Google place identity (string token from the geocoder). `null` when unset. */
|
|
128
|
+
placeIdentity: string | null;
|
|
129
|
+
/** Country-of-residence id (`Country.id`). `null` when unset. */
|
|
130
|
+
countryId: string | null;
|
|
131
|
+
/** Citizenship country id (`Country.id`). `null` when unset. */
|
|
132
|
+
citizenshipId: string | null;
|
|
133
|
+
/** Phone number (free-text, server-validated). `null` when unset. */
|
|
134
|
+
phoneNumber: string | null;
|
|
135
|
+
/** User-declared software skills (free-form, distinct from the rated `Skill` catalog). Empty array when none. */
|
|
136
|
+
softwareSkills: ProfileSoftwareSkill[];
|
|
95
137
|
}
|
|
96
138
|
/**
|
|
97
|
-
* Fetch the
|
|
98
|
-
* complement {@link show} —
|
|
99
|
-
* `
|
|
139
|
+
* Fetch the {@link BasicInfo} projection of the `talent_profile`-only
|
|
140
|
+
* profile fields that complement {@link show} — narrative scalars
|
|
141
|
+
* (`bio`, `headline`), identity (`fullName`, `legalName`, `phoneNumber`),
|
|
142
|
+
* location (`city`, `placeIdentity`, `countryId`, `citizenshipId`), and
|
|
143
|
+
* collections (`languages`, `softwareSkills`). The full field roster
|
|
144
|
+
* is required by `set()`'s read-merge path (#393); see
|
|
145
|
+
* {@link BasicInfo} for per-field semantics.
|
|
100
146
|
*
|
|
101
147
|
* Routed against `https://www.toptal.com/api/talent_profile/graphql` via
|
|
102
148
|
* {@link impersonatedTransport} (Cloudflare-protected; Chrome TLS
|
|
@@ -104,8 +150,9 @@ export interface BasicInfo {
|
|
|
104
150
|
* the `profileId` required by the `profile(id: ID!)` field — same
|
|
105
151
|
* pattern as {@link photoShow}.
|
|
106
152
|
*
|
|
107
|
-
* Returns a typed {@link BasicInfo} projection — `null` for
|
|
108
|
-
* user hasn't set,
|
|
153
|
+
* Returns a typed {@link BasicInfo} projection — `null` for scalars the
|
|
154
|
+
* user hasn't set, empty arrays for `languages` and `softwareSkills`
|
|
155
|
+
* when none.
|
|
109
156
|
*
|
|
110
157
|
* Errors:
|
|
111
158
|
* - `Cf403Error` propagates from the talent-profile transport.
|
|
@@ -183,6 +230,28 @@ export interface SetOptions {
|
|
|
183
230
|
* recognize the placeholder when surfacing the preview.
|
|
184
231
|
*/
|
|
185
232
|
export declare const DRY_RUN_PROFILE_ID_PLACEHOLDER: "<resolved at send-time from session token>";
|
|
233
|
+
/**
|
|
234
|
+
* Placeholder string substituted for the basic-info scalar fields that
|
|
235
|
+
* the apply-path merges from the current profile state via
|
|
236
|
+
* {@link getBasicInfo}. The dry-run preview keeps the full input shape
|
|
237
|
+
* (so consumers see exactly which fields the live mutation will send)
|
|
238
|
+
* but uses these placeholders for values that would normally be read
|
|
239
|
+
* server-side. The placeholder is intentionally distinct from
|
|
240
|
+
* {@link DRY_RUN_PROFILE_ID_PLACEHOLDER} so the two preview surfaces
|
|
241
|
+
* remain separately recognisable.
|
|
242
|
+
*
|
|
243
|
+
* Applies to: `fullName`, `legalName`, `city`, `placeIdentity`,
|
|
244
|
+
* `countryId`, `citizenshipId`, `phoneNumber`, `about`, `quote` —
|
|
245
|
+
* any scalar field that the merge path reads from current state when
|
|
246
|
+
* the user didn't supply it. (Fields the user DID supply are echoed
|
|
247
|
+
* verbatim into the preview, same as the apply path.)
|
|
248
|
+
*
|
|
249
|
+
* `languageIds` and `softwareSkills` use a dedicated empty-array
|
|
250
|
+
* placeholder (`[]`) — the absence of an array is more readable than a
|
|
251
|
+
* placeholder array, and consumers branching on the dry-run shape can
|
|
252
|
+
* inspect `Array.isArray(...)` without special-case logic.
|
|
253
|
+
*/
|
|
254
|
+
export declare const DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER: "<preserved from current profile state>";
|
|
186
255
|
/**
|
|
187
256
|
* Discriminated outcome of a {@link set} call when the apply-path
|
|
188
257
|
* succeeded — the server-confirmed payload normalised to {@link
|
|
@@ -218,39 +287,56 @@ export type SetOutcome = SetOutcomeApplied | SetOutcomePreview;
|
|
|
218
287
|
*
|
|
219
288
|
* Authenticates via `Authorization: Token token=<token>` (the canonical
|
|
220
289
|
* Toptal auth mechanism). Cookies are NOT load-bearing — Chrome TLS
|
|
221
|
-
* impersonation alone passes Cloudflare.
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
290
|
+
* impersonation alone passes Cloudflare.
|
|
291
|
+
*
|
|
292
|
+
* **Read-merge protocol (#393)**: the server treats `UpdateBasicInfoInput!`
|
|
293
|
+
* as a **full-replacement contract** — required non-null fields omitted
|
|
294
|
+
* from the input fail with "Expected value to not be null", regardless
|
|
295
|
+
* of their value in the current profile state. To support a partial
|
|
296
|
+
* "I only want to change bio + headline" use case without losing
|
|
297
|
+
* any of the other required fields, the apply path:
|
|
298
|
+
*
|
|
299
|
+
* 1. Calls {@link getBasicInfo} to read the current full state (this
|
|
300
|
+
* transitively calls `show()` for `profileId`).
|
|
301
|
+
* 2. Merges user-supplied fields (`bio` → `about`, `headline` → `quote`)
|
|
302
|
+
* over the read snapshot.
|
|
303
|
+
* 3. Submits the full {@link UpdateBasicInfoInput} with every required
|
|
304
|
+
* field populated.
|
|
226
305
|
*
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
*
|
|
231
|
-
* (
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
*
|
|
306
|
+
* The extra read round-trip is acceptable for an update-the-profile
|
|
307
|
+
* use case (profile updates are infrequent; the read is plain HTTPS
|
|
308
|
+
* against the talent-profile surface).
|
|
309
|
+
*
|
|
310
|
+
* Dry-run path (issue #52, extended for #393): when invoked with
|
|
311
|
+
* `options.dryRun === true`, the preview is built WITHOUT firing any
|
|
312
|
+
* transport (zero network I/O — preserved from the #52 AC). Fields that
|
|
313
|
+
* the apply-path would have read from current state use
|
|
314
|
+
* {@link DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER}; user-supplied fields
|
|
315
|
+
* are echoed verbatim. Result: the preview's `variables.input.profile`
|
|
316
|
+
* carries the exact key set the live mutation will send, with values
|
|
317
|
+
* differentiated by `<preserved from current profile state>` (read-merged)
|
|
318
|
+
* vs the user's literals (overridden). The bearer token is redacted in
|
|
319
|
+
* the preview's `headers.authorization` per the security contract
|
|
320
|
+
* documented on {@link DryRunPreview}.
|
|
236
321
|
*
|
|
237
322
|
* Errors:
|
|
238
323
|
* - `ProfileError` with code `VALIDATION_ERROR` when neither `bio` nor
|
|
239
324
|
* `headline` is supplied — the contract requires at least one. Fires
|
|
240
325
|
* in BOTH the apply-path and the dry-run path.
|
|
241
326
|
* - `Cf403Error` propagates from the talent-profile transport when
|
|
242
|
-
* Cloudflare returns 403. Apply-path only
|
|
327
|
+
* Cloudflare returns 403. Apply-path only (dry-run never touches the
|
|
328
|
+
* network).
|
|
243
329
|
* - `AuthRevokedError` on token expiry (HTTP 401, or any GraphQL
|
|
244
330
|
* `extensions.code` matching `isAuthRevokedExtensionCode` — currently
|
|
245
331
|
* `'UNAUTHENTICATED'`, `'AUTHENTICATION_REQUIRED'`, or `'UNAUTHORIZED'`).
|
|
246
|
-
* Apply-path only.
|
|
332
|
+
* Apply-path only — fires on EITHER the read-merge call or the write.
|
|
247
333
|
* - `ProfileError` with code `NO_VIEWER` when no viewer is bound.
|
|
248
|
-
* Apply-path only —
|
|
334
|
+
* Apply-path only — fires on the read-merge call.
|
|
249
335
|
* - `ProfileError` with code `USER_ERROR` when the mutation returns a
|
|
250
336
|
* non-empty `errors` array (validation failures from the server, e.g., a
|
|
251
337
|
* bio that exceeds the platform's length limit). Apply-path only.
|
|
252
|
-
* - `ProfileError` with code `GRAPHQL_ERROR` on top-level GraphQL errors
|
|
253
|
-
* Apply-path only.
|
|
338
|
+
* - `ProfileError` with code `GRAPHQL_ERROR` on top-level GraphQL errors
|
|
339
|
+
* from EITHER the read or write call. Apply-path only.
|
|
254
340
|
* - `ProfileError` with code `NETWORK_ERROR` on transport-level throws.
|
|
255
341
|
* Apply-path only.
|
|
256
342
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/profile/basic/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAY1E,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,uBAAuB,CAAC;AAmN9E;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,eAAe,GACf,eAAe,GACf,YAAY,GACZ,kBAAkB,GAClB,kBAAkB,GAClB,SAAS,CAAC;AAEd,qBAAa,YAAa,SAAQ,KAAK;aAGnB,IAAI,EAAE,gBAAgB;IAFxC,SAAkB,IAAI,kBAAkB;gBAEtB,IAAI,EAAE,gBAAgB,EACtC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAIhC;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8CnE;AAoCD;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/profile/basic/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -302,16 +302,26 @@ export async function show(token) {
|
|
|
302
302
|
return body.data;
|
|
303
303
|
}
|
|
304
304
|
/**
|
|
305
|
-
* Full-document `GET_BASIC_INFO` query string.
|
|
306
|
-
*
|
|
305
|
+
* Full-document `GET_BASIC_INFO` query string. Subset of the canonical
|
|
306
|
+
* bundle-extracted operation
|
|
307
307
|
* (`research/graphql/talent_profile/operations/GET_BASIC_INFO.graphql`):
|
|
308
|
-
* we ask
|
|
309
|
-
*
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
* payloads
|
|
308
|
+
* we ask for the fields surfaced by {@link BasicInfo} — narrative
|
|
309
|
+
* (`about`, `quote`), identity (`fullName`, `legalName`, `phoneNumber`),
|
|
310
|
+
* location (`city`, `placeIdentity`, `country.id`, `citizenship.id`),
|
|
311
|
+
* collections (`languages.nodes`, `softwareSkills.nodes`) — and skip
|
|
312
|
+
* the `ProfileRecommendations` fragment, social URLs (owned by the
|
|
313
|
+
* `external` sub-domain), `timeZone`, `skype`, and the top-level
|
|
314
|
+
* `countries` / `languages` catalog payloads that the canonical
|
|
315
|
+
* operation also fetches (autocomplete-tier, not needed for read or
|
|
316
|
+
* merge-on-write).
|
|
317
|
+
*
|
|
318
|
+
* **Scope rationale (#393)**: this selection set covers the full set of
|
|
319
|
+
* server-required non-null fields on `UpdateBasicInfoInput` (per the
|
|
320
|
+
* issue's wire-error trace — `fullName`, `legalName`, `countryId`,
|
|
321
|
+
* `city`, `placeIdentity`, `citizenshipId`, `languageIds`,
|
|
322
|
+
* `phoneNumber`, `softwareSkills`). Adding any of these to the query
|
|
323
|
+
* later would be an additive wire change — the snapshot diff catches
|
|
324
|
+
* accidental regressions.
|
|
315
325
|
*
|
|
316
326
|
* Operation name `GET_BASIC_INFO` (SCREAMING_CASE) matches the bundle-
|
|
317
327
|
* extracted document so the server's literal `operationName` allowlist
|
|
@@ -322,18 +332,39 @@ const GET_BASIC_INFO_QUERY = `query GET_BASIC_INFO($profileId: ID!) {
|
|
|
322
332
|
id
|
|
323
333
|
about
|
|
324
334
|
quote
|
|
335
|
+
fullName
|
|
336
|
+
legalName
|
|
337
|
+
city
|
|
338
|
+
placeIdentity
|
|
339
|
+
phoneNumber
|
|
340
|
+
country {
|
|
341
|
+
id
|
|
342
|
+
}
|
|
343
|
+
citizenship {
|
|
344
|
+
id
|
|
345
|
+
}
|
|
325
346
|
languages {
|
|
326
347
|
nodes {
|
|
327
348
|
id
|
|
328
349
|
name
|
|
329
350
|
}
|
|
330
351
|
}
|
|
352
|
+
softwareSkills {
|
|
353
|
+
nodes {
|
|
354
|
+
id
|
|
355
|
+
name
|
|
356
|
+
}
|
|
357
|
+
}
|
|
331
358
|
}
|
|
332
359
|
}`;
|
|
333
360
|
/**
|
|
334
|
-
* Fetch the
|
|
335
|
-
* complement {@link show} —
|
|
336
|
-
* `
|
|
361
|
+
* Fetch the {@link BasicInfo} projection of the `talent_profile`-only
|
|
362
|
+
* profile fields that complement {@link show} — narrative scalars
|
|
363
|
+
* (`bio`, `headline`), identity (`fullName`, `legalName`, `phoneNumber`),
|
|
364
|
+
* location (`city`, `placeIdentity`, `countryId`, `citizenshipId`), and
|
|
365
|
+
* collections (`languages`, `softwareSkills`). The full field roster
|
|
366
|
+
* is required by `set()`'s read-merge path (#393); see
|
|
367
|
+
* {@link BasicInfo} for per-field semantics.
|
|
337
368
|
*
|
|
338
369
|
* Routed against `https://www.toptal.com/api/talent_profile/graphql` via
|
|
339
370
|
* {@link impersonatedTransport} (Cloudflare-protected; Chrome TLS
|
|
@@ -341,8 +372,9 @@ const GET_BASIC_INFO_QUERY = `query GET_BASIC_INFO($profileId: ID!) {
|
|
|
341
372
|
* the `profileId` required by the `profile(id: ID!)` field — same
|
|
342
373
|
* pattern as {@link photoShow}.
|
|
343
374
|
*
|
|
344
|
-
* Returns a typed {@link BasicInfo} projection — `null` for
|
|
345
|
-
* user hasn't set,
|
|
375
|
+
* Returns a typed {@link BasicInfo} projection — `null` for scalars the
|
|
376
|
+
* user hasn't set, empty arrays for `languages` and `softwareSkills`
|
|
377
|
+
* when none.
|
|
346
378
|
*
|
|
347
379
|
* Errors:
|
|
348
380
|
* - `Cf403Error` propagates from the talent-profile transport.
|
|
@@ -397,23 +429,42 @@ export async function getBasicInfo(token) {
|
|
|
397
429
|
throw new ProfileError("USER_ERROR", `No profile found with id "${profileId}".`);
|
|
398
430
|
}
|
|
399
431
|
const p = body.data.profile;
|
|
400
|
-
const
|
|
401
|
-
const
|
|
402
|
-
|
|
432
|
+
const languages = collectIdNameNodes(p.languages?.nodes);
|
|
433
|
+
const softwareSkills = collectIdNameNodes(p.softwareSkills?.nodes);
|
|
434
|
+
return {
|
|
435
|
+
profileId: typeof p.id === "string" && p.id.length > 0 ? p.id : profileId,
|
|
436
|
+
bio: typeof p.about === "string" ? p.about : null,
|
|
437
|
+
headline: typeof p.quote === "string" ? p.quote : null,
|
|
438
|
+
languages,
|
|
439
|
+
fullName: typeof p.fullName === "string" ? p.fullName : null,
|
|
440
|
+
legalName: typeof p.legalName === "string" ? p.legalName : null,
|
|
441
|
+
city: typeof p.city === "string" ? p.city : null,
|
|
442
|
+
placeIdentity: typeof p.placeIdentity === "string" ? p.placeIdentity : null,
|
|
443
|
+
countryId: typeof p.country?.id === "string" && p.country.id.length > 0 ? p.country.id : null,
|
|
444
|
+
citizenshipId: typeof p.citizenship?.id === "string" && p.citizenship.id.length > 0 ? p.citizenship.id : null,
|
|
445
|
+
phoneNumber: typeof p.phoneNumber === "string" ? p.phoneNumber : null,
|
|
446
|
+
softwareSkills,
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Normalise a `{nodes: [{id, name}, ...]}` connection — used identically
|
|
451
|
+
* for `languages` and `softwareSkills`. Drops null entries, entries with
|
|
452
|
+
* empty string ids, and entries where `name` is not a string. The
|
|
453
|
+
* filtered output guarantees both fields are non-empty strings, matching
|
|
454
|
+
* the {@link ProfileLanguage} / {@link ProfileSoftwareSkill} contract.
|
|
455
|
+
*/
|
|
456
|
+
function collectIdNameNodes(rawNodes) {
|
|
457
|
+
const out = [];
|
|
458
|
+
for (const node of rawNodes ?? []) {
|
|
403
459
|
if (node === null || typeof node !== "object")
|
|
404
460
|
continue;
|
|
405
461
|
if (typeof node.id !== "string" || node.id.length === 0)
|
|
406
462
|
continue;
|
|
407
463
|
if (typeof node.name !== "string")
|
|
408
464
|
continue;
|
|
409
|
-
|
|
465
|
+
out.push({ id: node.id, name: node.name });
|
|
410
466
|
}
|
|
411
|
-
return
|
|
412
|
-
profileId: typeof p.id === "string" && p.id.length > 0 ? p.id : profileId,
|
|
413
|
-
bio: typeof p.about === "string" ? p.about : null,
|
|
414
|
-
headline: typeof p.quote === "string" ? p.quote : null,
|
|
415
|
-
languages,
|
|
416
|
-
};
|
|
467
|
+
return out;
|
|
417
468
|
}
|
|
418
469
|
/**
|
|
419
470
|
* Full-document `UPDATE_BASIC_INFO` mutation string.
|
|
@@ -461,6 +512,28 @@ const UPDATE_BASIC_INFO_MUTATION = `mutation UPDATE_BASIC_INFO($input: UpdateBas
|
|
|
461
512
|
* recognize the placeholder when surfacing the preview.
|
|
462
513
|
*/
|
|
463
514
|
export const DRY_RUN_PROFILE_ID_PLACEHOLDER = "<resolved at send-time from session token>";
|
|
515
|
+
/**
|
|
516
|
+
* Placeholder string substituted for the basic-info scalar fields that
|
|
517
|
+
* the apply-path merges from the current profile state via
|
|
518
|
+
* {@link getBasicInfo}. The dry-run preview keeps the full input shape
|
|
519
|
+
* (so consumers see exactly which fields the live mutation will send)
|
|
520
|
+
* but uses these placeholders for values that would normally be read
|
|
521
|
+
* server-side. The placeholder is intentionally distinct from
|
|
522
|
+
* {@link DRY_RUN_PROFILE_ID_PLACEHOLDER} so the two preview surfaces
|
|
523
|
+
* remain separately recognisable.
|
|
524
|
+
*
|
|
525
|
+
* Applies to: `fullName`, `legalName`, `city`, `placeIdentity`,
|
|
526
|
+
* `countryId`, `citizenshipId`, `phoneNumber`, `about`, `quote` —
|
|
527
|
+
* any scalar field that the merge path reads from current state when
|
|
528
|
+
* the user didn't supply it. (Fields the user DID supply are echoed
|
|
529
|
+
* verbatim into the preview, same as the apply path.)
|
|
530
|
+
*
|
|
531
|
+
* `languageIds` and `softwareSkills` use a dedicated empty-array
|
|
532
|
+
* placeholder (`[]`) — the absence of an array is more readable than a
|
|
533
|
+
* placeholder array, and consumers branching on the dry-run shape can
|
|
534
|
+
* inspect `Array.isArray(...)` without special-case logic.
|
|
535
|
+
*/
|
|
536
|
+
export const DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER = "<preserved from current profile state>";
|
|
464
537
|
/**
|
|
465
538
|
* Update a subset of the signed-in user's basic-info fields (currently
|
|
466
539
|
* `bio` → `about` and `headline` → `quote`) via the Cloudflare-protected
|
|
@@ -468,39 +541,56 @@ export const DRY_RUN_PROFILE_ID_PLACEHOLDER = "<resolved at send-time from sessi
|
|
|
468
541
|
*
|
|
469
542
|
* Authenticates via `Authorization: Token token=<token>` (the canonical
|
|
470
543
|
* Toptal auth mechanism). Cookies are NOT load-bearing — Chrome TLS
|
|
471
|
-
* impersonation alone passes Cloudflare.
|
|
472
|
-
*
|
|
473
|
-
*
|
|
474
|
-
*
|
|
475
|
-
*
|
|
544
|
+
* impersonation alone passes Cloudflare.
|
|
545
|
+
*
|
|
546
|
+
* **Read-merge protocol (#393)**: the server treats `UpdateBasicInfoInput!`
|
|
547
|
+
* as a **full-replacement contract** — required non-null fields omitted
|
|
548
|
+
* from the input fail with "Expected value to not be null", regardless
|
|
549
|
+
* of their value in the current profile state. To support a partial
|
|
550
|
+
* "I only want to change bio + headline" use case without losing
|
|
551
|
+
* any of the other required fields, the apply path:
|
|
552
|
+
*
|
|
553
|
+
* 1. Calls {@link getBasicInfo} to read the current full state (this
|
|
554
|
+
* transitively calls `show()` for `profileId`).
|
|
555
|
+
* 2. Merges user-supplied fields (`bio` → `about`, `headline` → `quote`)
|
|
556
|
+
* over the read snapshot.
|
|
557
|
+
* 3. Submits the full {@link UpdateBasicInfoInput} with every required
|
|
558
|
+
* field populated.
|
|
476
559
|
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
*
|
|
480
|
-
*
|
|
481
|
-
* (
|
|
482
|
-
*
|
|
483
|
-
*
|
|
484
|
-
*
|
|
485
|
-
*
|
|
560
|
+
* The extra read round-trip is acceptable for an update-the-profile
|
|
561
|
+
* use case (profile updates are infrequent; the read is plain HTTPS
|
|
562
|
+
* against the talent-profile surface).
|
|
563
|
+
*
|
|
564
|
+
* Dry-run path (issue #52, extended for #393): when invoked with
|
|
565
|
+
* `options.dryRun === true`, the preview is built WITHOUT firing any
|
|
566
|
+
* transport (zero network I/O — preserved from the #52 AC). Fields that
|
|
567
|
+
* the apply-path would have read from current state use
|
|
568
|
+
* {@link DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER}; user-supplied fields
|
|
569
|
+
* are echoed verbatim. Result: the preview's `variables.input.profile`
|
|
570
|
+
* carries the exact key set the live mutation will send, with values
|
|
571
|
+
* differentiated by `<preserved from current profile state>` (read-merged)
|
|
572
|
+
* vs the user's literals (overridden). The bearer token is redacted in
|
|
573
|
+
* the preview's `headers.authorization` per the security contract
|
|
574
|
+
* documented on {@link DryRunPreview}.
|
|
486
575
|
*
|
|
487
576
|
* Errors:
|
|
488
577
|
* - `ProfileError` with code `VALIDATION_ERROR` when neither `bio` nor
|
|
489
578
|
* `headline` is supplied — the contract requires at least one. Fires
|
|
490
579
|
* in BOTH the apply-path and the dry-run path.
|
|
491
580
|
* - `Cf403Error` propagates from the talent-profile transport when
|
|
492
|
-
* Cloudflare returns 403. Apply-path only
|
|
581
|
+
* Cloudflare returns 403. Apply-path only (dry-run never touches the
|
|
582
|
+
* network).
|
|
493
583
|
* - `AuthRevokedError` on token expiry (HTTP 401, or any GraphQL
|
|
494
584
|
* `extensions.code` matching `isAuthRevokedExtensionCode` — currently
|
|
495
585
|
* `'UNAUTHENTICATED'`, `'AUTHENTICATION_REQUIRED'`, or `'UNAUTHORIZED'`).
|
|
496
|
-
* Apply-path only.
|
|
586
|
+
* Apply-path only — fires on EITHER the read-merge call or the write.
|
|
497
587
|
* - `ProfileError` with code `NO_VIEWER` when no viewer is bound.
|
|
498
|
-
* Apply-path only —
|
|
588
|
+
* Apply-path only — fires on the read-merge call.
|
|
499
589
|
* - `ProfileError` with code `USER_ERROR` when the mutation returns a
|
|
500
590
|
* non-empty `errors` array (validation failures from the server, e.g., a
|
|
501
591
|
* bio that exceeds the platform's length limit). Apply-path only.
|
|
502
|
-
* - `ProfileError` with code `GRAPHQL_ERROR` on top-level GraphQL errors
|
|
503
|
-
* Apply-path only.
|
|
592
|
+
* - `ProfileError` with code `GRAPHQL_ERROR` on top-level GraphQL errors
|
|
593
|
+
* from EITHER the read or write call. Apply-path only.
|
|
504
594
|
* - `ProfileError` with code `NETWORK_ERROR` on transport-level throws.
|
|
505
595
|
* Apply-path only.
|
|
506
596
|
*/
|
|
@@ -508,21 +598,26 @@ export async function set(token, changes, options = {}) {
|
|
|
508
598
|
if (changes.bio === undefined && changes.headline === undefined) {
|
|
509
599
|
throw new ProfileError("VALIDATION_ERROR", "Profile update requires at least one of `bio` or `headline`.");
|
|
510
600
|
}
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
profileFields.quote = changes.headline;
|
|
516
|
-
// Dry-run short-circuit: build the WRITE request shape with a
|
|
517
|
-
// placeholder `profileId` and return a preview without any transport
|
|
518
|
-
// call. Apply-path resolves `profileId` via `show()` (a mobile-gateway
|
|
519
|
-
// read), but dry-run skips that step so neither transport is invoked
|
|
520
|
-
// — the AC for issue #52 reads "transport never called" in the
|
|
521
|
-
// singular and the helper honors it for both directions.
|
|
601
|
+
// Dry-run short-circuit: build the WRITE request shape with placeholders
|
|
602
|
+
// for fields that the apply-path would read from current state. Zero
|
|
603
|
+
// transport calls (read OR write) — the #52 AC reads "transport never
|
|
604
|
+
// called" in the singular and we honor it for both directions.
|
|
522
605
|
if (options.dryRun === true) {
|
|
523
606
|
const previewInput = {
|
|
524
607
|
profileId: DRY_RUN_PROFILE_ID_PLACEHOLDER,
|
|
525
|
-
profile:
|
|
608
|
+
profile: {
|
|
609
|
+
about: changes.bio !== undefined ? changes.bio : DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
610
|
+
quote: changes.headline !== undefined ? changes.headline : DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
611
|
+
fullName: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
612
|
+
legalName: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
613
|
+
city: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
614
|
+
placeIdentity: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
615
|
+
countryId: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
616
|
+
citizenshipId: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
617
|
+
phoneNumber: DRY_RUN_BASIC_INFO_FIELD_PLACEHOLDER,
|
|
618
|
+
languageIds: [],
|
|
619
|
+
softwareSkills: [],
|
|
620
|
+
},
|
|
526
621
|
};
|
|
527
622
|
return {
|
|
528
623
|
kind: "preview",
|
|
@@ -537,16 +632,29 @@ export async function set(token, changes, options = {}) {
|
|
|
537
632
|
}),
|
|
538
633
|
};
|
|
539
634
|
}
|
|
540
|
-
//
|
|
541
|
-
//
|
|
542
|
-
//
|
|
543
|
-
//
|
|
544
|
-
//
|
|
545
|
-
|
|
546
|
-
const
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
635
|
+
// Read-merge: fetch the current full basic-info state so the mutation
|
|
636
|
+
// input carries every server-required non-null field (#393). Errors
|
|
637
|
+
// from getBasicInfo (ProfileError / AuthRevokedError / Cf403Error)
|
|
638
|
+
// propagate verbatim — a write attempt that can't read its own profile
|
|
639
|
+
// is unrecoverable, and surfacing the read-side error gives the user
|
|
640
|
+
// the same actionable message they'd get from `ttctl profile show`.
|
|
641
|
+
const current = await getBasicInfo(token);
|
|
642
|
+
// Merge user-supplied fields over the current state. User intent wins:
|
|
643
|
+
// `changes.bio === ""` is a real "clear the bio" intent, distinct from
|
|
644
|
+
// "leave it alone" (which is `changes.bio === undefined`).
|
|
645
|
+
const merged = {
|
|
646
|
+
about: changes.bio !== undefined ? changes.bio : current.bio,
|
|
647
|
+
quote: changes.headline !== undefined ? changes.headline : current.headline,
|
|
648
|
+
fullName: current.fullName,
|
|
649
|
+
legalName: current.legalName,
|
|
650
|
+
city: current.city,
|
|
651
|
+
placeIdentity: current.placeIdentity,
|
|
652
|
+
countryId: current.countryId,
|
|
653
|
+
citizenshipId: current.citizenshipId,
|
|
654
|
+
phoneNumber: current.phoneNumber,
|
|
655
|
+
languageIds: current.languages.map((l) => l.id),
|
|
656
|
+
softwareSkills: current.softwareSkills.map((s) => ({ id: s.id, name: s.name })),
|
|
657
|
+
};
|
|
550
658
|
let res;
|
|
551
659
|
try {
|
|
552
660
|
res = await impersonatedTransport({
|
|
@@ -555,7 +663,9 @@ export async function set(token, changes, options = {}) {
|
|
|
555
663
|
body: {
|
|
556
664
|
operationName: "UPDATE_BASIC_INFO",
|
|
557
665
|
query: UPDATE_BASIC_INFO_MUTATION,
|
|
558
|
-
variables: {
|
|
666
|
+
variables: {
|
|
667
|
+
input: { profileId: current.profileId, profile: merged },
|
|
668
|
+
},
|
|
559
669
|
},
|
|
560
670
|
});
|
|
561
671
|
}
|