Skip to content

Commit 98dfad7

Browse files
feat(client): add more convenience service method overloads
1 parent 4817a04 commit 98dfad7

8 files changed

Lines changed: 400 additions & 261 deletions

File tree

finch-java-core/src/main/kotlin/com/tryfinch/api/services/async/jobs/AutomatedServiceAsync.kt

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,33 @@ interface AutomatedServiceAsync {
5252
requestOptions: RequestOptions = RequestOptions.none(),
5353
): CompletableFuture<AutomatedCreateResponse>
5454

55+
/** @see create */
56+
fun create(
57+
body: JobAutomatedCreateParams.Body,
58+
requestOptions: RequestOptions = RequestOptions.none(),
59+
): CompletableFuture<AutomatedCreateResponse> =
60+
create(JobAutomatedCreateParams.builder().body(body).build(), requestOptions)
61+
62+
/** @see create */
63+
fun create(body: JobAutomatedCreateParams.Body): CompletableFuture<AutomatedCreateResponse> =
64+
create(body, RequestOptions.none())
65+
66+
/** @see create */
67+
fun create(
68+
w4FormEmployeeSync: JobAutomatedCreateParams.Body.W4FormEmployeeSync,
69+
requestOptions: RequestOptions = RequestOptions.none(),
70+
): CompletableFuture<AutomatedCreateResponse> =
71+
create(
72+
JobAutomatedCreateParams.Body.ofW4FormEmployeeSync(w4FormEmployeeSync),
73+
requestOptions,
74+
)
75+
76+
/** @see create */
77+
fun create(
78+
w4FormEmployeeSync: JobAutomatedCreateParams.Body.W4FormEmployeeSync
79+
): CompletableFuture<AutomatedCreateResponse> =
80+
create(w4FormEmployeeSync, RequestOptions.none())
81+
5582
/** Get an automated job by `job_id`. */
5683
fun retrieve(jobId: String): CompletableFuture<AutomatedAsyncJob> =
5784
retrieve(jobId, JobAutomatedRetrieveParams.none())
@@ -138,6 +165,35 @@ interface AutomatedServiceAsync {
138165
requestOptions: RequestOptions = RequestOptions.none(),
139166
): CompletableFuture<HttpResponseFor<AutomatedCreateResponse>>
140167

168+
/** @see create */
169+
fun create(
170+
body: JobAutomatedCreateParams.Body,
171+
requestOptions: RequestOptions = RequestOptions.none(),
172+
): CompletableFuture<HttpResponseFor<AutomatedCreateResponse>> =
173+
create(JobAutomatedCreateParams.builder().body(body).build(), requestOptions)
174+
175+
/** @see create */
176+
fun create(
177+
body: JobAutomatedCreateParams.Body
178+
): CompletableFuture<HttpResponseFor<AutomatedCreateResponse>> =
179+
create(body, RequestOptions.none())
180+
181+
/** @see create */
182+
fun create(
183+
w4FormEmployeeSync: JobAutomatedCreateParams.Body.W4FormEmployeeSync,
184+
requestOptions: RequestOptions = RequestOptions.none(),
185+
): CompletableFuture<HttpResponseFor<AutomatedCreateResponse>> =
186+
create(
187+
JobAutomatedCreateParams.Body.ofW4FormEmployeeSync(w4FormEmployeeSync),
188+
requestOptions,
189+
)
190+
191+
/** @see create */
192+
fun create(
193+
w4FormEmployeeSync: JobAutomatedCreateParams.Body.W4FormEmployeeSync
194+
): CompletableFuture<HttpResponseFor<AutomatedCreateResponse>> =
195+
create(w4FormEmployeeSync, RequestOptions.none())
196+
141197
/**
142198
* Returns a raw HTTP response for `get /jobs/automated/{job_id}`, but is otherwise the same
143199
* as [AutomatedServiceAsync.retrieve].

finch-java-core/src/main/kotlin/com/tryfinch/api/services/async/sandbox/DirectoryServiceAsync.kt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,18 @@ interface DirectoryServiceAsync {
3939
params: SandboxDirectoryCreateParams = SandboxDirectoryCreateParams.none()
4040
): CompletableFuture<List<DirectoryCreateResponse>> = create(params, RequestOptions.none())
4141

42+
/** @see create */
43+
fun create(
44+
body: List<SandboxDirectoryCreateParams.IndividualOrEmployment>,
45+
requestOptions: RequestOptions = RequestOptions.none(),
46+
): CompletableFuture<List<DirectoryCreateResponse>> =
47+
create(SandboxDirectoryCreateParams.builder().body(body).build(), requestOptions)
48+
49+
/** @see create */
50+
fun create(
51+
body: List<SandboxDirectoryCreateParams.IndividualOrEmployment>
52+
): CompletableFuture<List<DirectoryCreateResponse>> = create(body, RequestOptions.none())
53+
4254
/** @see create */
4355
fun create(requestOptions: RequestOptions): CompletableFuture<List<DirectoryCreateResponse>> =
4456
create(SandboxDirectoryCreateParams.none(), requestOptions)
@@ -76,6 +88,19 @@ interface DirectoryServiceAsync {
7688
): CompletableFuture<HttpResponseFor<List<DirectoryCreateResponse>>> =
7789
create(params, RequestOptions.none())
7890

91+
/** @see create */
92+
fun create(
93+
body: List<SandboxDirectoryCreateParams.IndividualOrEmployment>,
94+
requestOptions: RequestOptions = RequestOptions.none(),
95+
): CompletableFuture<HttpResponseFor<List<DirectoryCreateResponse>>> =
96+
create(SandboxDirectoryCreateParams.builder().body(body).build(), requestOptions)
97+
98+
/** @see create */
99+
fun create(
100+
body: List<SandboxDirectoryCreateParams.IndividualOrEmployment>
101+
): CompletableFuture<HttpResponseFor<List<DirectoryCreateResponse>>> =
102+
create(body, RequestOptions.none())
103+
79104
/** @see create */
80105
fun create(
81106
requestOptions: RequestOptions

finch-java-core/src/main/kotlin/com/tryfinch/api/services/blocking/jobs/AutomatedService.kt

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,32 @@ interface AutomatedService {
5252
requestOptions: RequestOptions = RequestOptions.none(),
5353
): AutomatedCreateResponse
5454

55+
/** @see create */
56+
fun create(
57+
body: JobAutomatedCreateParams.Body,
58+
requestOptions: RequestOptions = RequestOptions.none(),
59+
): AutomatedCreateResponse =
60+
create(JobAutomatedCreateParams.builder().body(body).build(), requestOptions)
61+
62+
/** @see create */
63+
fun create(body: JobAutomatedCreateParams.Body): AutomatedCreateResponse =
64+
create(body, RequestOptions.none())
65+
66+
/** @see create */
67+
fun create(
68+
w4FormEmployeeSync: JobAutomatedCreateParams.Body.W4FormEmployeeSync,
69+
requestOptions: RequestOptions = RequestOptions.none(),
70+
): AutomatedCreateResponse =
71+
create(
72+
JobAutomatedCreateParams.Body.ofW4FormEmployeeSync(w4FormEmployeeSync),
73+
requestOptions,
74+
)
75+
76+
/** @see create */
77+
fun create(
78+
w4FormEmployeeSync: JobAutomatedCreateParams.Body.W4FormEmployeeSync
79+
): AutomatedCreateResponse = create(w4FormEmployeeSync, RequestOptions.none())
80+
5581
/** Get an automated job by `job_id`. */
5682
fun retrieve(jobId: String): AutomatedAsyncJob =
5783
retrieve(jobId, JobAutomatedRetrieveParams.none())
@@ -130,6 +156,37 @@ interface AutomatedService {
130156
requestOptions: RequestOptions = RequestOptions.none(),
131157
): HttpResponseFor<AutomatedCreateResponse>
132158

159+
/** @see create */
160+
@MustBeClosed
161+
fun create(
162+
body: JobAutomatedCreateParams.Body,
163+
requestOptions: RequestOptions = RequestOptions.none(),
164+
): HttpResponseFor<AutomatedCreateResponse> =
165+
create(JobAutomatedCreateParams.builder().body(body).build(), requestOptions)
166+
167+
/** @see create */
168+
@MustBeClosed
169+
fun create(body: JobAutomatedCreateParams.Body): HttpResponseFor<AutomatedCreateResponse> =
170+
create(body, RequestOptions.none())
171+
172+
/** @see create */
173+
@MustBeClosed
174+
fun create(
175+
w4FormEmployeeSync: JobAutomatedCreateParams.Body.W4FormEmployeeSync,
176+
requestOptions: RequestOptions = RequestOptions.none(),
177+
): HttpResponseFor<AutomatedCreateResponse> =
178+
create(
179+
JobAutomatedCreateParams.Body.ofW4FormEmployeeSync(w4FormEmployeeSync),
180+
requestOptions,
181+
)
182+
183+
/** @see create */
184+
@MustBeClosed
185+
fun create(
186+
w4FormEmployeeSync: JobAutomatedCreateParams.Body.W4FormEmployeeSync
187+
): HttpResponseFor<AutomatedCreateResponse> =
188+
create(w4FormEmployeeSync, RequestOptions.none())
189+
133190
/**
134191
* Returns a raw HTTP response for `get /jobs/automated/{job_id}`, but is otherwise the same
135192
* as [AutomatedService.retrieve].

finch-java-core/src/main/kotlin/com/tryfinch/api/services/blocking/sandbox/DirectoryService.kt

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,18 @@ interface DirectoryService {
3838
params: SandboxDirectoryCreateParams = SandboxDirectoryCreateParams.none()
3939
): List<DirectoryCreateResponse> = create(params, RequestOptions.none())
4040

41+
/** @see create */
42+
fun create(
43+
body: List<SandboxDirectoryCreateParams.IndividualOrEmployment>,
44+
requestOptions: RequestOptions = RequestOptions.none(),
45+
): List<DirectoryCreateResponse> =
46+
create(SandboxDirectoryCreateParams.builder().body(body).build(), requestOptions)
47+
48+
/** @see create */
49+
fun create(
50+
body: List<SandboxDirectoryCreateParams.IndividualOrEmployment>
51+
): List<DirectoryCreateResponse> = create(body, RequestOptions.none())
52+
4153
/** @see create */
4254
fun create(requestOptions: RequestOptions): List<DirectoryCreateResponse> =
4355
create(SandboxDirectoryCreateParams.none(), requestOptions)
@@ -73,6 +85,20 @@ interface DirectoryService {
7385
params: SandboxDirectoryCreateParams = SandboxDirectoryCreateParams.none()
7486
): HttpResponseFor<List<DirectoryCreateResponse>> = create(params, RequestOptions.none())
7587

88+
/** @see create */
89+
@MustBeClosed
90+
fun create(
91+
body: List<SandboxDirectoryCreateParams.IndividualOrEmployment>,
92+
requestOptions: RequestOptions = RequestOptions.none(),
93+
): HttpResponseFor<List<DirectoryCreateResponse>> =
94+
create(SandboxDirectoryCreateParams.builder().body(body).build(), requestOptions)
95+
96+
/** @see create */
97+
@MustBeClosed
98+
fun create(
99+
body: List<SandboxDirectoryCreateParams.IndividualOrEmployment>
100+
): HttpResponseFor<List<DirectoryCreateResponse>> = create(body, RequestOptions.none())
101+
76102
/** @see create */
77103
@MustBeClosed
78104
fun create(requestOptions: RequestOptions): HttpResponseFor<List<DirectoryCreateResponse>> =

finch-java-core/src/test/kotlin/com/tryfinch/api/services/async/jobs/AutomatedServiceAsyncTest.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ internal class AutomatedServiceAsyncTest {
2222
val automatedServiceAsync = client.jobs().automated()
2323

2424
val automatedFuture =
25-
automatedServiceAsync.create(
26-
JobAutomatedCreateParams.builder().bodyDataSyncAll().build()
27-
)
25+
automatedServiceAsync.create(JobAutomatedCreateParams.Body.ofDataSyncAll())
2826

2927
val automated = automatedFuture.get()
3028
automated.validate()

0 commit comments

Comments
 (0)