setActiveTeam method

Future<Result<OrganizationTeam?>> setActiveTeam({
  1. String? teamId,
  2. bool clearActiveTeam = false,
})

Implementation

Future<Result<OrganizationTeam?>> setActiveTeam({
  String? teamId,
  bool clearActiveTeam = false,
}) async {
  final body = <String, dynamic>{};
  if (clearActiveTeam) {
    body['teamId'] = null;
  } else if (teamId != null) {
    body['teamId'] = teamId;
  }
  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-team',
      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(OrganizationTeam.fromJson(data));
  } on DioException catch (e, s) {
    return _orgResultFromDio<OrganizationTeam?>(e, s, e);
  } catch (e, s) {
    return Result.err(
      BetterError(message: e.toString(), stack: s.toString()),
    );
  }
}