Skip to content

Commit a1b2456

Browse files
algolia-botfebeckmillotp
committed
feat(specs): add /schedule endpoint (generated)
algolia/api-clients-automation#3350 Co-authored-by: algolia-bot <[email protected]> Co-authored-by: Fernando Beck <[email protected]> Co-authored-by: Pierre Millot <[email protected]>
1 parent 04055ab commit a1b2456

File tree

4 files changed

+92
-0
lines changed

4 files changed

+92
-0
lines changed

packages/client-abtesting/model/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ export * from './listABTestsResponse';
1818
export * from './minimumDetectableEffect';
1919
export * from './outliers';
2020
export * from './outliersFilter';
21+
export * from './scheduleABTestResponse';
22+
export * from './scheduleABTestsRequest';
2123
export * from './status';
2224
export * from './variant';
2325
export * from './clientMethodProps';
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2+
3+
export type ScheduleABTestResponse = {
4+
/**
5+
* Unique scheduled A/B test identifier.
6+
*/
7+
abTestScheduleID: number;
8+
};
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2+
3+
import type { AddABTestsVariant } from './addABTestsVariant';
4+
5+
export type ScheduleABTestsRequest = {
6+
/**
7+
* A/B test name.
8+
*/
9+
name: string;
10+
11+
/**
12+
* A/B test variants.
13+
*/
14+
variants: AddABTestsVariant[];
15+
16+
/**
17+
* Date and time when the A/B test is scheduled to start, in RFC 3339 format.
18+
*/
19+
scheduledAt: string;
20+
21+
/**
22+
* End date and time of the A/B test, in RFC 3339 format.
23+
*/
24+
endAt: string;
25+
};

packages/client-abtesting/src/abtestingClient.ts

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ import type {
2828
StopABTestProps,
2929
} from '../model/clientMethodProps';
3030
import type { ListABTestsResponse } from '../model/listABTestsResponse';
31+
import type { ScheduleABTestResponse } from '../model/scheduleABTestResponse';
32+
import type { ScheduleABTestsRequest } from '../model/scheduleABTestsRequest';
3133

3234
export const apiClientVersion = '5.0.2';
3335

@@ -407,6 +409,61 @@ export function createAbtestingClient({
407409
return transporter.request(request, requestOptions);
408410
},
409411

412+
/**
413+
* Schedule an A/B test to be started at a later time.
414+
*
415+
* Required API Key ACLs:
416+
* - editSettings.
417+
*
418+
* @param scheduleABTestsRequest - The scheduleABTestsRequest object.
419+
* @param requestOptions - The requestOptions to send along with the query, they will be merged with the transporter requestOptions.
420+
*/
421+
scheduleABTest(
422+
scheduleABTestsRequest: ScheduleABTestsRequest,
423+
requestOptions?: RequestOptions
424+
): Promise<ScheduleABTestResponse> {
425+
if (!scheduleABTestsRequest) {
426+
throw new Error(
427+
'Parameter `scheduleABTestsRequest` is required when calling `scheduleABTest`.'
428+
);
429+
}
430+
431+
if (!scheduleABTestsRequest.name) {
432+
throw new Error(
433+
'Parameter `scheduleABTestsRequest.name` is required when calling `scheduleABTest`.'
434+
);
435+
}
436+
if (!scheduleABTestsRequest.variants) {
437+
throw new Error(
438+
'Parameter `scheduleABTestsRequest.variants` is required when calling `scheduleABTest`.'
439+
);
440+
}
441+
if (!scheduleABTestsRequest.scheduledAt) {
442+
throw new Error(
443+
'Parameter `scheduleABTestsRequest.scheduledAt` is required when calling `scheduleABTest`.'
444+
);
445+
}
446+
if (!scheduleABTestsRequest.endAt) {
447+
throw new Error(
448+
'Parameter `scheduleABTestsRequest.endAt` is required when calling `scheduleABTest`.'
449+
);
450+
}
451+
452+
const requestPath = '/2/abtests/schedule';
453+
const headers: Headers = {};
454+
const queryParameters: QueryParameters = {};
455+
456+
const request: Request = {
457+
method: 'POST',
458+
path: requestPath,
459+
queryParameters,
460+
headers,
461+
data: scheduleABTestsRequest,
462+
};
463+
464+
return transporter.request(request, requestOptions);
465+
},
466+
410467
/**
411468
* Stops an A/B test by its ID. You can\'t restart stopped A/B tests.
412469
*

0 commit comments

Comments
 (0)