@ttctl/cli 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/commands/applications/index.d.ts +9 -3
- package/dist/commands/applications/index.d.ts.map +1 -1
- package/dist/commands/applications/index.js +29 -3
- package/dist/commands/applications/index.js.map +1 -1
- package/dist/commands/applications/list.d.ts +12 -8
- package/dist/commands/applications/list.d.ts.map +1 -1
- package/dist/commands/applications/list.js +29 -6
- package/dist/commands/applications/list.js.map +1 -1
- package/dist/commands/applications/shared.d.ts +35 -0
- package/dist/commands/applications/shared.d.ts.map +1 -1
- package/dist/commands/applications/shared.js +40 -0
- package/dist/commands/applications/shared.js.map +1 -1
- package/dist/commands/engagements/index.d.ts.map +1 -1
- package/dist/commands/engagements/index.js +21 -0
- package/dist/commands/engagements/index.js.map +1 -1
- package/dist/commands/engagements/list.d.ts +10 -8
- package/dist/commands/engagements/list.d.ts.map +1 -1
- package/dist/commands/engagements/list.js +25 -6
- package/dist/commands/engagements/list.js.map +1 -1
- package/dist/commands/engagements/shared.d.ts +40 -0
- package/dist/commands/engagements/shared.d.ts.map +1 -1
- package/dist/commands/engagements/shared.js +45 -0
- package/dist/commands/engagements/shared.js.map +1 -1
- package/dist/commands/jobs/index.d.ts +9 -6
- package/dist/commands/jobs/index.d.ts.map +1 -1
- package/dist/commands/jobs/index.js +10 -7
- package/dist/commands/jobs/index.js.map +1 -1
- package/dist/commands/jobs/list.d.ts +17 -11
- package/dist/commands/jobs/list.d.ts.map +1 -1
- package/dist/commands/jobs/list.js +17 -11
- package/dist/commands/jobs/list.js.map +1 -1
- package/dist/commands/payments/index.d.ts.map +1 -1
- package/dist/commands/payments/index.js +22 -1
- package/dist/commands/payments/index.js.map +1 -1
- package/dist/commands/payments/payouts.d.ts +43 -10
- package/dist/commands/payments/payouts.d.ts.map +1 -1
- package/dist/commands/payments/payouts.js +50 -3
- package/dist/commands/payments/payouts.js.map +1 -1
- package/dist/commands/profile/employment/index.d.ts.map +1 -1
- package/dist/commands/profile/employment/index.js +12 -2
- package/dist/commands/profile/employment/index.js.map +1 -1
- package/dist/commands/timesheet/index.d.ts +11 -2
- package/dist/commands/timesheet/index.d.ts.map +1 -1
- package/dist/commands/timesheet/index.js +30 -2
- package/dist/commands/timesheet/index.js.map +1 -1
- package/dist/commands/timesheet/pending/list.d.ts +33 -0
- package/dist/commands/timesheet/pending/list.d.ts.map +1 -0
- package/dist/commands/timesheet/pending/list.js +26 -0
- package/dist/commands/timesheet/pending/list.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/commands/engagements/shared.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAAoB,EAAE,GAAY,EAAE,SAAuB,QAAQ;IACxG,iBAAiB,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;AACrG,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,IAAsC;IACpE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,yEAAyE,CAAC;QACnF,KAAK,eAAe;YAClB,OAAO,sHAAsH,CAAC;QAChI,KAAK,gBAAgB;YACnB,OAAO,kHAAkH,CAAC;QAC5H;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/commands/engagements/shared.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAAoB,EAAE,GAAY,EAAE,SAAuB,QAAQ;IACxG,iBAAiB,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;AACrG,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,IAAsC;IACpE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,yEAAyE,CAAC;QACnF,KAAK,eAAe;YAClB,OAAO,sHAAsH,CAAC;QAChI,KAAK,gBAAgB;YACnB,OAAO,kHAAkH,CAAC;QAC5H;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,OAAe,EAAE,UAAkB;IACvF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;IAChE,OAAO,QAAQ,WAAW,CAAC,QAAQ,EAAE,OAAO,UAAU,CAAC,QAAQ,EAAE,cAAc,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;AACvG,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAoC;IAM3E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,IAAI;QACtB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU;QACV,WAAW,EAAE,IAAI,CAAC,IAAI,GAAG,UAAU;KACpC,CAAC;AACJ,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { Command } from "commander";
|
|
|
10
10
|
* | `save <id>` | Mark a job as saved (bookmark) |
|
|
11
11
|
* | `unsave <id>` | Clear interest flags (the wire's only unsave path; also clears not-interested) |
|
|
12
12
|
* | `saved` | List saved jobs |
|
|
13
|
-
* | `viewed` | List jobs marked as viewed (
|
|
13
|
+
* | `viewed` | List jobs marked as viewed (full-pool aggregation, see R1) |
|
|
14
14
|
* | `mark-viewed <id>` | Explicitly mark a job as viewed |
|
|
15
15
|
* | `not-interested <id> --reason <text>` | Mark a job as not-interested with reason |
|
|
16
16
|
* | `not-interested-list` | List jobs marked as not-interested |
|
|
@@ -26,11 +26,14 @@ import { Command } from "commander";
|
|
|
26
26
|
*
|
|
27
27
|
* **Wire-shape notes**:
|
|
28
28
|
*
|
|
29
|
-
* - **R1**: `jobs viewed`
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
29
|
+
* - **R1**: `jobs viewed` iterates the FULL eligibleJobs pool and
|
|
30
|
+
* applies a client-side filter on `viewed` (the wire has no
|
|
31
|
+
* `viewed: BooleanFilter`; empirical from Toptal mobile-app
|
|
32
|
+
* decompile, see #372). `--page` / `--per-page` slice the
|
|
33
|
+
* POST-FILTER list; `pageInfo.totalCount` is the real count of
|
|
34
|
+
* viewed jobs. Cost: O(N/20) wire calls (capped at 50 internal
|
|
35
|
+
* pages); acceptable as a stop-gap until Toptal exposes a wire-
|
|
36
|
+
* level filter.
|
|
34
37
|
* - **R2**: `jobs search` operates on a single subscription per user.
|
|
35
38
|
* `--name` and remove-`<id>` are advisory/ignored. `search list` is
|
|
36
39
|
* NOT a paginated leaf (returns 0-or-1 envelope).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/jobs/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAC;AAiClE
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/jobs/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAC;AAiClE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAgS1C"}
|
|
@@ -31,7 +31,7 @@ function perPageOption() {
|
|
|
31
31
|
* | `save <id>` | Mark a job as saved (bookmark) |
|
|
32
32
|
* | `unsave <id>` | Clear interest flags (the wire's only unsave path; also clears not-interested) |
|
|
33
33
|
* | `saved` | List saved jobs |
|
|
34
|
-
* | `viewed` | List jobs marked as viewed (
|
|
34
|
+
* | `viewed` | List jobs marked as viewed (full-pool aggregation, see R1) |
|
|
35
35
|
* | `mark-viewed <id>` | Explicitly mark a job as viewed |
|
|
36
36
|
* | `not-interested <id> --reason <text>` | Mark a job as not-interested with reason |
|
|
37
37
|
* | `not-interested-list` | List jobs marked as not-interested |
|
|
@@ -47,11 +47,14 @@ function perPageOption() {
|
|
|
47
47
|
*
|
|
48
48
|
* **Wire-shape notes**:
|
|
49
49
|
*
|
|
50
|
-
* - **R1**: `jobs viewed`
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
50
|
+
* - **R1**: `jobs viewed` iterates the FULL eligibleJobs pool and
|
|
51
|
+
* applies a client-side filter on `viewed` (the wire has no
|
|
52
|
+
* `viewed: BooleanFilter`; empirical from Toptal mobile-app
|
|
53
|
+
* decompile, see #372). `--page` / `--per-page` slice the
|
|
54
|
+
* POST-FILTER list; `pageInfo.totalCount` is the real count of
|
|
55
|
+
* viewed jobs. Cost: O(N/20) wire calls (capped at 50 internal
|
|
56
|
+
* pages); acceptable as a stop-gap until Toptal exposes a wire-
|
|
57
|
+
* level filter.
|
|
55
58
|
* - **R2**: `jobs search` operates on a single subscription per user.
|
|
56
59
|
* `--name` and remove-`<id>` are advisory/ignored. `search list` is
|
|
57
60
|
* NOT a paginated leaf (returns 0-or-1 envelope).
|
|
@@ -162,7 +165,7 @@ export function buildJobsCommand() {
|
|
|
162
165
|
});
|
|
163
166
|
cmd
|
|
164
167
|
.command("viewed")
|
|
165
|
-
.description("List jobs marked as viewed (
|
|
168
|
+
.description("List jobs marked as viewed (full-pool aggregation + client-side filter — see R1)")
|
|
166
169
|
.addOption(pageOption())
|
|
167
170
|
.addOption(perPageOption())
|
|
168
171
|
.addOption(new Option("-o, --output <format>", "output format")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/jobs/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;GAKG;AACH,SAAS,UAAU;IACjB,OAAO,IAAI,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAChF,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,IAAI,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;AACxH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/jobs/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,19 +53,25 @@ export declare function runJobsList(opts: JobsListOptions): Promise<void>;
|
|
|
53
53
|
export declare function runJobsSaved(opts: JobsSavedOptions): Promise<void>;
|
|
54
54
|
/**
|
|
55
55
|
* Action handler for `ttctl jobs viewed`. Wraps `jobs.viewedList()`
|
|
56
|
-
* (which
|
|
57
|
-
* `viewed
|
|
56
|
+
* (which aggregates the FULL eligibleJobs pool and applies a client-
|
|
57
|
+
* side filter on `viewed`, per #372).
|
|
58
58
|
*
|
|
59
|
-
* **Wire-shape
|
|
60
|
-
* BooleanFilter
|
|
61
|
-
*
|
|
62
|
-
*
|
|
59
|
+
* **Wire-shape limitation (R1, #372)**: `eligibleJobs` has no
|
|
60
|
+
* `viewed: BooleanFilter` (confirmed empirically — the Toptal mobile
|
|
61
|
+
* app's `InitialJobs` operation lists filter fields exhaustively, no
|
|
62
|
+
* `viewed`). The service iterates ALL underlying pages, applies the
|
|
63
|
+
* client-side filter, dedups by id, then slices to the caller's
|
|
64
|
+
* `--page` / `--per-page`.
|
|
63
65
|
*
|
|
64
|
-
* **Pagination (#138, refactored per-command in #183
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
66
|
+
* **Pagination (#138, refactored per-command in #183, semantics
|
|
67
|
+
* refined in #372)**: `--page` and `--per-page` now slice the
|
|
68
|
+
* POST-FILTER list. `pageInfo.totalCount` reflects the count of
|
|
69
|
+
* viewed jobs (not the underlying pool); `items.length` matches the
|
|
70
|
+
* caller's `--per-page` request (modulo final-page truncation), no
|
|
71
|
+
* R1-style narrowing.
|
|
72
|
+
*
|
|
73
|
+
* **Cost**: O(N/20) wire calls per invocation. Acceptable as a
|
|
74
|
+
* stop-gap; tracked at #372 until Toptal exposes a wire-level filter.
|
|
69
75
|
*/
|
|
70
76
|
export declare function runJobsViewed(opts: JobsViewedOptions): Promise<void>;
|
|
71
77
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/jobs/list.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASxD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,UAAU,0BAA0B;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAC1D,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AAEtE,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BtE;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBxE;AAED
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/jobs/list.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASxD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,UAAU,0BAA0B;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAC1D,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAC3D,MAAM,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AAEtE,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BtE;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBxE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB1E;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhG"}
|
|
@@ -72,19 +72,25 @@ export async function runJobsSaved(opts) {
|
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
74
|
* Action handler for `ttctl jobs viewed`. Wraps `jobs.viewedList()`
|
|
75
|
-
* (which
|
|
76
|
-
* `viewed
|
|
75
|
+
* (which aggregates the FULL eligibleJobs pool and applies a client-
|
|
76
|
+
* side filter on `viewed`, per #372).
|
|
77
77
|
*
|
|
78
|
-
* **Wire-shape
|
|
79
|
-
* BooleanFilter
|
|
80
|
-
*
|
|
81
|
-
*
|
|
78
|
+
* **Wire-shape limitation (R1, #372)**: `eligibleJobs` has no
|
|
79
|
+
* `viewed: BooleanFilter` (confirmed empirically — the Toptal mobile
|
|
80
|
+
* app's `InitialJobs` operation lists filter fields exhaustively, no
|
|
81
|
+
* `viewed`). The service iterates ALL underlying pages, applies the
|
|
82
|
+
* client-side filter, dedups by id, then slices to the caller's
|
|
83
|
+
* `--page` / `--per-page`.
|
|
82
84
|
*
|
|
83
|
-
* **Pagination (#138, refactored per-command in #183
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
85
|
+
* **Pagination (#138, refactored per-command in #183, semantics
|
|
86
|
+
* refined in #372)**: `--page` and `--per-page` now slice the
|
|
87
|
+
* POST-FILTER list. `pageInfo.totalCount` reflects the count of
|
|
88
|
+
* viewed jobs (not the underlying pool); `items.length` matches the
|
|
89
|
+
* caller's `--per-page` request (modulo final-page truncation), no
|
|
90
|
+
* R1-style narrowing.
|
|
91
|
+
*
|
|
92
|
+
* **Cost**: O(N/20) wire calls per invocation. Acceptable as a
|
|
93
|
+
* stop-gap; tracked at #372 until Toptal exposes a wire-level filter.
|
|
88
94
|
*/
|
|
89
95
|
export async function runJobsViewed(opts) {
|
|
90
96
|
const token = await loadAuthTokenOrExit("jobs viewed", opts.output);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/jobs/list.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,aAAa,CAAC;AA+CrB,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAqB;IACrD,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACnE,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;QAAE,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAClF,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;QAAE,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IACxF,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IAC5E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACtE,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;QAAE,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAC3F,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACzE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAEhE,IAAI,IAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE;QAC9D,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;QACxD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;QACvD,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAsB;IACvD,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEnE,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAEhE,IAAI,IAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE;QAC9D,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;QACxD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;QACvD,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;KACjC,CAAC,CAAC;AACL,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/jobs/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/payments/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/payments/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAC;AA8BlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CA0J9C"}
|
|
@@ -4,9 +4,24 @@ import { Command, InvalidArgumentError, Option } from "commander";
|
|
|
4
4
|
import { payments } from "@ttctl/core";
|
|
5
5
|
import { markMutation } from "../../lib/dry-run.js";
|
|
6
6
|
import { OUTPUT_FORMATS } from "../../lib/output.js";
|
|
7
|
+
import { parsePaginationFlag } from "../../lib/pagination.js";
|
|
7
8
|
import { runPaymentsMethodsList, runPaymentsMethodsShow } from "./methods.js";
|
|
8
9
|
import { runPaymentsPayoutsList, runPaymentsPayoutsShow } from "./payouts.js";
|
|
9
10
|
import { runPaymentsRateChange, runPaymentsRateQuestions, runPaymentsRateShow } from "./rate.js";
|
|
11
|
+
/**
|
|
12
|
+
* Page-number option factory (#373, mirroring jobs/index.ts #183).
|
|
13
|
+
* `payouts list` declares its own `--page` / `--per-page`; the parser
|
|
14
|
+
* (`parsePaginationFlag`) and description are shared with the jobs
|
|
15
|
+
* leaves so the surfaces stay byte-identical in `--help` output.
|
|
16
|
+
* Leaves whose wire op does not paginate simply do not declare the
|
|
17
|
+
* flags (Commander then emits `error: unknown option '--page'`).
|
|
18
|
+
*/
|
|
19
|
+
function pageOption() {
|
|
20
|
+
return new Option("--page <number>", "page number (1-indexed)").argParser((raw) => parsePaginationFlag("--page", raw));
|
|
21
|
+
}
|
|
22
|
+
function perPageOption() {
|
|
23
|
+
return new Option("--per-page <number>", "items per page").argParser((raw) => parsePaginationFlag("--per-page", raw));
|
|
24
|
+
}
|
|
10
25
|
/**
|
|
11
26
|
* Build the `ttctl payments` command tree (#149). Seven leaves across
|
|
12
27
|
* three sub-namespaces:
|
|
@@ -44,9 +59,11 @@ export function buildPaymentsCommand() {
|
|
|
44
59
|
const payouts = cmd.command("payouts").description("Historical payouts (read-only)");
|
|
45
60
|
payouts
|
|
46
61
|
.command("list")
|
|
47
|
-
.description("List historical payouts (default: server order, most-recent first)")
|
|
62
|
+
.description("List historical payouts (paginated via --page / --per-page; default: server order, most-recent first)")
|
|
48
63
|
.option("--from <date>", "filter by createdOn lower bound (inclusive YYYY-MM-DD)")
|
|
49
64
|
.option("--to <date>", "filter by createdOn upper bound (inclusive YYYY-MM-DD)")
|
|
65
|
+
.addOption(pageOption())
|
|
66
|
+
.addOption(perPageOption())
|
|
50
67
|
.addOption(new Option("-o, --output <format>", "output format")
|
|
51
68
|
.choices(OUTPUT_FORMATS)
|
|
52
69
|
.default("pretty"))
|
|
@@ -56,6 +73,10 @@ export function buildPaymentsCommand() {
|
|
|
56
73
|
listOpts.from = options.from;
|
|
57
74
|
if (options.to !== undefined)
|
|
58
75
|
listOpts.to = options.to;
|
|
76
|
+
if (options.page !== undefined)
|
|
77
|
+
listOpts.page = options.page;
|
|
78
|
+
if (options.perPage !== undefined)
|
|
79
|
+
listOpts.perPage = options.perPage;
|
|
59
80
|
await runPaymentsPayoutsList(listOpts);
|
|
60
81
|
});
|
|
61
82
|
payouts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/payments/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEjG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAC7C,iGAAiG,CAClG,CAAC;IAEF,wEAAwE;IACxE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAErF,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/payments/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,24 +2,57 @@ import { payments } from "@ttctl/core";
|
|
|
2
2
|
import type { OutputFormat } from "../../lib/output.js";
|
|
3
3
|
/**
|
|
4
4
|
* Action handler for `ttctl payments payouts list [--from <date>]
|
|
5
|
-
* [--to <date>]
|
|
6
|
-
*
|
|
7
|
-
* (inclusive
|
|
5
|
+
* [--to <date>] [--page <number>] [--per-page <number>]`. Lists
|
|
6
|
+
* historical payouts (default: most-recent first, server order).
|
|
7
|
+
* Optional `--from` / `--to` filter by `createdOn` (inclusive
|
|
8
|
+
* YYYY-MM-DD).
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
10
|
+
* Pagination (#373, mirrors jobs #138/#183): reads `--page` /
|
|
11
|
+
* `--per-page` from the leaf's parsed options. When neither flag is
|
|
12
|
+
* set, the service applies defaults (`page: 1, perPage: 20`) — the
|
|
13
|
+
* same byte-shape as the pre-#373 hardcoded `offsetPagination: {
|
|
14
|
+
* offset: 0, limit: 20 }`.
|
|
15
|
+
*
|
|
16
|
+
* Returns the payouts wrapped in the v0.4 list envelope with
|
|
17
|
+
* `pageInfo: { currentPage, perPage, totalPages, hasNextPage }`. The
|
|
18
|
+
* wire op also returns aggregate summary totals for the same window;
|
|
19
|
+
* the CLI's `pretty` rendering surfaces them as a header line above
|
|
20
|
+
* the table, while `json` / `yaml` carry the bare list shape per
|
|
21
|
+
* envelope contract (the summary is intentionally NOT in the envelope
|
|
22
|
+
* — it's a portal feature; if users ask for it on the wire we'll add
|
|
23
|
+
* a parallel `payments payouts summary` leaf).
|
|
16
24
|
*/
|
|
17
25
|
export interface PaymentsPayoutsListOptions {
|
|
18
26
|
from?: string;
|
|
19
27
|
to?: string;
|
|
28
|
+
page?: number;
|
|
29
|
+
perPage?: number;
|
|
20
30
|
output: OutputFormat;
|
|
21
31
|
}
|
|
22
32
|
export declare function runPaymentsPayoutsList(opts: PaymentsPayoutsListOptions): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Render the pretty-format pagination footer for paginated payouts
|
|
35
|
+
* lists (#373). Pure — directly unit-testable. `totalPages` is derived
|
|
36
|
+
* as `Math.max(1, Math.ceil(totalCount / perPage))` so a single-page
|
|
37
|
+
* result with `totalCount > 0` renders "Page 1 of 1". Parallels
|
|
38
|
+
* `formatPageFooter` in `commands/jobs/shared.ts`.
|
|
39
|
+
*/
|
|
40
|
+
export declare function formatPayoutsPageFooter(currentPage: number, perPage: number, totalCount: number): string;
|
|
41
|
+
/**
|
|
42
|
+
* Build the offset-style `pageInfo` block for the list envelope (#373)
|
|
43
|
+
* from the service-layer's {@link payments.PayoutsListResult}. Wraps
|
|
44
|
+
* the `totalPages` / `hasNextPage` arithmetic so the action handler and
|
|
45
|
+
* the unit tests share one source of truth. Parallels
|
|
46
|
+
* `buildJobsPageInfo` in `commands/jobs/shared.ts`.
|
|
47
|
+
*
|
|
48
|
+
* Pure — directly unit-testable.
|
|
49
|
+
*/
|
|
50
|
+
export declare function buildPayoutsPageInfo(result: payments.PayoutsListResult): {
|
|
51
|
+
currentPage: number;
|
|
52
|
+
perPage: number;
|
|
53
|
+
totalPages: number;
|
|
54
|
+
hasNextPage: boolean;
|
|
55
|
+
};
|
|
23
56
|
/**
|
|
24
57
|
* Action handler for `ttctl payments payouts show <id>`. Fetches a
|
|
25
58
|
* single payout's detail by `TalentPayment.id`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payouts.d.ts","sourceRoot":"","sources":["../../../src/commands/payments/payouts.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD
|
|
1
|
+
{"version":3,"file":"payouts.d.ts","sourceRoot":"","sources":["../../../src/commands/payments/payouts.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB5F;AAeD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGxG;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,GAAG;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,CAQA;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAa5F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,GAAG,MAAM,CAQrG;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,EACxB,aAAa,GAAE,MAAsC,GACpD,MAAM,CA8BR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,CA2C7D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAIvD"}
|
|
@@ -12,6 +12,10 @@ export async function runPaymentsPayoutsList(opts) {
|
|
|
12
12
|
listOpts.fromDate = opts.from;
|
|
13
13
|
if (opts.to !== undefined)
|
|
14
14
|
listOpts.toDate = opts.to;
|
|
15
|
+
if (opts.page !== undefined)
|
|
16
|
+
listOpts.page = opts.page;
|
|
17
|
+
if (opts.perPage !== undefined)
|
|
18
|
+
listOpts.perPage = opts.perPage;
|
|
15
19
|
let result;
|
|
16
20
|
try {
|
|
17
21
|
result = await payments.payouts.list(token, listOpts);
|
|
@@ -19,12 +23,55 @@ export async function runPaymentsPayoutsList(opts) {
|
|
|
19
23
|
catch (err) {
|
|
20
24
|
handlePaymentsError("payments payouts list", err, opts.output);
|
|
21
25
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
const pageInfo = buildPayoutsPageInfo(result);
|
|
27
|
+
emitResult(wrapListEnvelope(result.items, pageInfo), opts.output, {
|
|
28
|
+
pretty: (data) => withPayoutsFooter(formatPayoutsBlock(data.items, result.summary), result),
|
|
29
|
+
table: (data) => withPayoutsFooter(formatPayoutsTable(data.items), result),
|
|
25
30
|
empty: { command: "payments.payouts.list" },
|
|
26
31
|
});
|
|
27
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Append the offset-style pagination footer ("Page X of Y
|
|
35
|
+
* (per_page=Z)") below a rendered payouts body (#373), mirroring
|
|
36
|
+
* `renderJobsListPretty` in `commands/jobs/list.ts`. The footer is
|
|
37
|
+
* appended ONLY when `totalCount > 0` — empty pages route through the
|
|
38
|
+
* `emitResult` empty-state CTA before this closure runs, so the
|
|
39
|
+
* `<= 0` guard is belt-and-suspenders.
|
|
40
|
+
*/
|
|
41
|
+
function withPayoutsFooter(body, result) {
|
|
42
|
+
if (result.totalCount <= 0)
|
|
43
|
+
return body;
|
|
44
|
+
return `${body}\n${formatPayoutsPageFooter(result.page, result.perPage, result.totalCount)}`;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Render the pretty-format pagination footer for paginated payouts
|
|
48
|
+
* lists (#373). Pure — directly unit-testable. `totalPages` is derived
|
|
49
|
+
* as `Math.max(1, Math.ceil(totalCount / perPage))` so a single-page
|
|
50
|
+
* result with `totalCount > 0` renders "Page 1 of 1". Parallels
|
|
51
|
+
* `formatPageFooter` in `commands/jobs/shared.ts`.
|
|
52
|
+
*/
|
|
53
|
+
export function formatPayoutsPageFooter(currentPage, perPage, totalCount) {
|
|
54
|
+
const totalPages = Math.max(1, Math.ceil(totalCount / perPage));
|
|
55
|
+
return `Page ${currentPage.toString()} of ${totalPages.toString()} (per_page=${perPage.toString()})`;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Build the offset-style `pageInfo` block for the list envelope (#373)
|
|
59
|
+
* from the service-layer's {@link payments.PayoutsListResult}. Wraps
|
|
60
|
+
* the `totalPages` / `hasNextPage` arithmetic so the action handler and
|
|
61
|
+
* the unit tests share one source of truth. Parallels
|
|
62
|
+
* `buildJobsPageInfo` in `commands/jobs/shared.ts`.
|
|
63
|
+
*
|
|
64
|
+
* Pure — directly unit-testable.
|
|
65
|
+
*/
|
|
66
|
+
export function buildPayoutsPageInfo(result) {
|
|
67
|
+
const totalPages = Math.max(1, Math.ceil(result.totalCount / result.perPage));
|
|
68
|
+
return {
|
|
69
|
+
currentPage: result.page,
|
|
70
|
+
perPage: result.perPage,
|
|
71
|
+
totalPages,
|
|
72
|
+
hasNextPage: result.page < totalPages,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
28
75
|
/**
|
|
29
76
|
* Action handler for `ttctl payments payouts show <id>`. Fetches a
|
|
30
77
|
* single payout's detail by `TalentPayment.id`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payouts.js","sourceRoot":"","sources":["../../../src/commands/payments/payouts.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"payouts.js","sourceRoot":"","sources":["../../../src/commands/payments/payouts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/profile/employment/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkC,OAAO,EAAmB,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAgB5C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/profile/employment/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkC,OAAO,EAAmB,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAgB5C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CAuHvD;AA8OD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,GAAG,MAAM,CAuB7E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,GAAG,MAAM,CAiB9E;AASD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,MAAM,CAGtF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,MAAM,CAMvF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,GAAG,MAAM,CAUhG;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,GAAG,MAAM,CAKjG"}
|
|
@@ -37,12 +37,13 @@ export function buildProfileEmploymentCommand() {
|
|
|
37
37
|
employment
|
|
38
38
|
.command("add")
|
|
39
39
|
.description("Add a new employment entry to your profile")
|
|
40
|
-
.requiredOption("--company <name>", "company / employer name")
|
|
40
|
+
.requiredOption("--company <name>", "company / employer name (resolved to employerId via autocomplete)")
|
|
41
41
|
.requiredOption("--role <title>", "job title (mapped to position)")
|
|
42
42
|
.option("--from <date>", "start date — ISO-8601 (YYYY-MM-DD) or year (YYYY)")
|
|
43
43
|
.option("--to <date>", "end date — ISO-8601 or year")
|
|
44
44
|
.option("--current", "current position (no end date)", false)
|
|
45
45
|
.option("--website <url>", "company website (optional)")
|
|
46
|
+
.option("--employer-id <id>", "explicit employerId (bypasses autocomplete; use `ttctl profile employment employer-autocomplete <query>` to discover)")
|
|
46
47
|
.addOption(new Option("-o, --output <format>", "output format")
|
|
47
48
|
.choices(OUTPUT_FORMATS)
|
|
48
49
|
.default("pretty"))
|
|
@@ -126,6 +127,9 @@ async function runAdd(options) {
|
|
|
126
127
|
company: options.company,
|
|
127
128
|
position: options.role,
|
|
128
129
|
};
|
|
130
|
+
if (options.employerId !== undefined) {
|
|
131
|
+
fields.employerId = options.employerId;
|
|
132
|
+
}
|
|
129
133
|
if (options.website !== undefined) {
|
|
130
134
|
fields.companyWebsite = options.website;
|
|
131
135
|
fields.noWebsite = false;
|
|
@@ -136,7 +140,13 @@ async function runAdd(options) {
|
|
|
136
140
|
const token = await loadAuthTokenOrExit("profile employment add", options.output);
|
|
137
141
|
let result;
|
|
138
142
|
try {
|
|
139
|
-
|
|
143
|
+
const outcome = await profile.employment.add(token, fields);
|
|
144
|
+
// CLI does not currently surface dryRun for employment add (#395 — MCP-only),
|
|
145
|
+
// so the apply path always returns `kind: "created"`.
|
|
146
|
+
if (outcome.kind !== "created") {
|
|
147
|
+
throw new Error(`Unexpected non-created outcome from profile.employment.add: ${outcome.kind}`);
|
|
148
|
+
}
|
|
149
|
+
result = outcome.result;
|
|
140
150
|
}
|
|
141
151
|
catch (err) {
|
|
142
152
|
presentSubDomainError("profile employment add", err, options.output);
|