kibana/x-pack/plugins/license_management/server/lib/start_trial.ts
Jean-Louis Leysens 00c62afaf8
initial migration (#97795)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-04-23 17:14:54 +02:00

40 lines
1.1 KiB
TypeScript

/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { IScopedClusterClient } from 'src/core/server';
import { LicensingPluginStart } from '../../../licensing/server';
export async function canStartTrial(client: IScopedClusterClient) {
try {
const { body: response } = await client.asCurrentUser.license.getTrialStatus();
return response.eligible_to_start_trial;
} catch (error) {
return error.body;
}
}
interface StartTrialArg {
client: IScopedClusterClient;
licensing: LicensingPluginStart;
}
export async function startTrial({ client, licensing }: StartTrialArg) {
try {
const { body: response } = await client.asCurrentUser.license.postStartTrial({
acknowledge: true,
});
const { trial_was_started: trialWasStarted } = response;
if (trialWasStarted) {
await licensing.refresh();
}
return response;
} catch (error) {
return error.body;
}
}