updateConsumingDomains function
- UpdateConsumingDomainsOptions options
Updates consuming domains based on the provided options.
This function updates consuming domains by invoking getDomains
and connectIps
functions based on the provided parameters.
@param UpdateConsumingDomainsOptions options - The options for updating consuming domains.
domains
: List of primary domains.altDomains
: Alternative domains map.apiUserName
: API username for authorization.apiKey
: API key for secure access.apiToken
: API token for secure access.parameters
: UpdateConsumingDomainsParameters instance with required parameters and functions.
Example usage:
final options = UpdateConsumingDomainsOptions(
domains: ["domain1.com", "domain2.com"],
altDomains: AltDomains(altDomains: {"domain1.com": ["alt1.com"]}),
apiUserName: "myApiUser",
apiKey: "myApiKey",
apiToken: "myApiToken",
parameters: UpdateConsumingDomainsParameters(
participants: [Participant(id: "user1", name: "User 1")],
consumeSockets: [ConsumeSocket(id: "socket1", isConnected: true)],
connectIps: (options) async => print("Connecting IPs"),
getDomains: (options) async => print("Getting Domains"),
),
);
await updateConsumingDomains(options);
Implementation
void updateConsumingDomains(UpdateConsumingDomainsOptions options) async {
try {
// Access latest parameters
final updatedParams = options.parameters.getUpdatedAllParams();
// Check if participants list is non-empty
if (updatedParams.participants.isNotEmpty) {
// Check if altDomains has entries
if (options.altDomains.altDomains.isNotEmpty) {
final optionsGet = GetDomainsOptions(
domains: options.domains,
altDomains: options.altDomains,
apiUserName: options.apiUserName,
apiKey: options.apiKey,
apiToken: options.apiToken,
parameters: updatedParams,
);
await updatedParams.getDomains(
optionsGet,
);
} else {
final optionsConnect = ConnectIpsOptions(
consumeSockets: updatedParams.consumeSockets,
remIP: options.domains,
apiUserName: options.apiUserName,
apiKey: options.apiKey,
apiToken: options.apiToken,
parameters: updatedParams,
);
await updatedParams.connectIps(
optionsConnect,
);
}
}
} catch (error) {
if (kDebugMode) {
print("Error in updateConsumingDomains: $error");
}
}
}