setActiveOrganization method
Implementation
Future<Result<OrganizationPayload?>> setActiveOrganization({
String? organizationId,
String? organizationSlug,
bool clearOrganization = false,
}) async {
final body = <String, dynamic>{};
if (clearOrganization) {
body['organizationId'] = null;
} else if (organizationId != null) {
body['organizationId'] = organizationId;
}
if (organizationSlug != null) {
body['organizationSlug'] = organizationSlug;
}
try {
final composed = _combineOrgPluginBaseUrls(
_dio.options.baseUrl,
_baseUrl,
);
final normalized = composed.endsWith('/')
? composed.substring(0, composed.length - 1)
: composed;
final response = await _dio.post<Map<String, dynamic>?>(
'$normalized/organization/set-active',
data: body,
options: Options(
contentType: Headers.jsonContentType,
headers: _dio.options.headers,
validateStatus: _dio.options.validateStatus,
responseType: ResponseType.json,
),
);
final data = response.data;
if (data == null) {
return Result.ok(null);
}
return Result.ok(OrganizationPayload.fromJson(data));
} on DioException catch (e, s) {
return _orgResultFromDio<OrganizationPayload?>(e, s, e);
} catch (e, s) {
return Result.err(
BetterError(message: e.toString(), stack: s.toString()),
);
}
}