getLayoutByRoleId method

Implementation

Future<GenericServerResponse<GetLayoutByRoleIdOutput>> getLayoutByRoleId(GenericServerInput<GetLayoutByRoleIdInput> input) async {
  GenericServerResponse<GetLayoutByRoleIdOutput> genericServerResponse = new GenericServerResponse<GetLayoutByRoleIdOutput>();
  try{

    if(input.input == null){
      throw new Exception("Input not found.");
    }

    String url = UrlUtils.getUrl(_baseUrl, UrlUtils.URL_GET_LAYOUT_BY_ROLE_ID);

    String jsonInput = input.input!.toJson().toString();

    Response response = await bsm!.genericBeaHttpPost(url, jsonInput);
    int? statusCode = response.statusCode;

    switch(statusCode){
      case 200:
        genericServerResponse.data = GetLayoutByRoleIdOutput.fromJson(response.data['result']);
        break;
      case 500:
         var res = response.data['error'];
        BeaError? error = res == null ? res : BeaError.fromJson(res);
        if (error != null) {
          genericServerResponse.beaError = error;
        } else {
          genericServerResponse.beaError = new BeaError("Unknown Error", 0, "");
        }
        break;
      case 401:
        genericServerResponse.beaSession = new BeaSession(true);
        break;
    }
  }on Exception catch (e){
    print('Error to get BEA Layout by role id');
    FLog.error(
        className: this.runtimeType.toString(),
        methodName: "GetLayoutByRoleId",
        text: 'Error to get BEA Layout by role id - $e');
    throw e;
  }

  return genericServerResponse;
}