build static method
Future<Amadeus>
build({
- required String clientId,
- required String clientSecret,
- AmadeusEnvironment? amadeusEnvironment = AmadeusEnvironment.test,
Implementation
static Future<Amadeus> build({
required String clientId,
required String clientSecret,
AmadeusEnvironment? amadeusEnvironment = AmadeusEnvironment.test,
}) async {
final _authorizationEndpoint =
Uri.parse("https://test.api.amadeus.com/v1/security/oauth2/token");
late String baseUrl;
if (amadeusEnvironment == AmadeusEnvironment.test) {
baseUrl = "https://test.api.amadeus.com";
} else {
baseUrl = "https://api.amadeus.com";
}
final Amadeus amadeus = Amadeus._build();
final oauth2.Client client = await oauth2.clientCredentialsGrant(
_authorizationEndpoint, clientId, clientSecret);
if (client.credentials.isExpired == true) {
client.refreshCredentials();
}
amadeus.airport = Airport(client: client, baseUrl: baseUrl);
amadeus.analytics = Analytics(client: client, baseUrl: baseUrl);
amadeus.booking = Booking(client: client, baseUrl: baseUrl);
amadeus.eReputation = EReputation(client: client, baseUrl: baseUrl);
amadeus.referenceData = ReferenceData(client: client, baseUrl: baseUrl);
amadeus.shopping = Shopping(client: client, baseUrl: baseUrl);
amadeus.media = Media(client: client, baseUrl: baseUrl);
amadeus.safety = Safety(client: client, baseUrl: baseUrl);
amadeus.schedule = Schedule(client: client, baseUrl: baseUrl);
amadeus.travel = Travel(client: client, baseUrl: baseUrl);
return amadeus;
}