Merge branch 'main' into form_data_imp

This commit is contained in:
Ashita Prasad
2024-01-06 22:50:02 +05:30
committed by GitHub
34 changed files with 1585 additions and 52 deletions

View File

@ -1,8 +1,8 @@
import 'package:apidash/consts.dart';
import 'package:apidash/utils/utils.dart'
show listToFormDataModel, mapToRows, rowsToFormDataMap, rowsToMap;
import 'package:flutter/foundation.dart';
import 'package:apidash/models/models.dart';
import '../utils/utils.dart';
show listToFormDataModel, rowsToFormDataMap, mapToRows, rowsToMap, getEnabledRows;
import '../consts.dart';
import 'models.dart';
@immutable
class RequestModel {
@ -15,6 +15,8 @@ class RequestModel {
this.requestTabIndex = 0,
this.requestHeaders,
this.requestParams,
this.isHeaderEnabledList,
this.isParamEnabledList,
this.requestBodyContentType = ContentType.json,
this.requestBody,
this.responseStatus,
@ -31,13 +33,24 @@ class RequestModel {
final int requestTabIndex;
final List<NameValueModel>? requestHeaders;
final List<NameValueModel>? requestParams;
final List<FormDataModel>? formDataList;
final List<bool>? isHeaderEnabledList;
final List<bool>? isParamEnabledList;
final List<FormDataModel>? requestFormDataList;
final ContentType requestBodyContentType;
final String? requestBody;
final int? responseStatus;
final String? message;
final ResponseModel? responseModel;
List<NameValueModel>? get enabledRequestHeaders =>
getEnabledRows(requestHeaders, isHeaderEnabledList);
List<NameValueModel>? get enabledRequestParams =>
getEnabledRows(requestParams, isParamEnabledList);
Map<String, String> get enabledHeadersMap =>
rowsToMap(enabledRequestHeaders) ?? {};
Map<String, String> get enabledParamsMap =>
rowsToMap(enabledRequestParams) ?? {};
Map<String, String> get headersMap => rowsToMap(requestHeaders) ?? {};
Map<String, String> get paramsMap => rowsToMap(requestParams) ?? {};
@ -52,6 +65,10 @@ class RequestModel {
description: description,
requestHeaders: requestHeaders != null ? [...requestHeaders!] : null,
requestParams: requestParams != null ? [...requestParams!] : null,
isHeaderEnabledList:
isHeaderEnabledList != null ? [...isHeaderEnabledList!] : null,
isParamEnabledList:
isParamEnabledList != null ? [...isParamEnabledList!] : null,
requestBodyContentType: requestBodyContentType,
requestBody: requestBody,
formDataList: formDataList != null ? [...formDataList!] : null,
@ -67,6 +84,8 @@ class RequestModel {
int? requestTabIndex,
List<NameValueModel>? requestHeaders,
List<NameValueModel>? requestParams,
List<bool>? isHeaderEnabledList,
List<bool>? isParamEnabledList,
ContentType? requestBodyContentType,
String? requestBody,
int? responseStatus,
@ -76,6 +95,8 @@ class RequestModel {
}) {
var headers = requestHeaders ?? this.requestHeaders;
var params = requestParams ?? this.requestParams;
var enabledHeaders = isHeaderEnabledList ?? this.isHeaderEnabledList;
var enabledParams = isParamEnabledList ?? this.isParamEnabledList;
return RequestModel(
id: id ?? this.id,
method: method ?? this.method,
@ -85,6 +106,8 @@ class RequestModel {
requestTabIndex: requestTabIndex ?? this.requestTabIndex,
requestHeaders: headers != null ? [...headers] : null,
requestParams: params != null ? [...params] : null,
isHeaderEnabledList: enabledHeaders != null ? [...enabledHeaders] : null,
isParamEnabledList: enabledParams != null ? [...enabledParams] : null,
requestBodyContentType:
requestBodyContentType ?? this.requestBodyContentType,
requestBody: requestBody ?? this.requestBody,
@ -111,6 +134,8 @@ class RequestModel {
final description = data["description"] as String?;
final requestHeaders = data["requestHeaders"];
final requestParams = data["requestParams"];
final isHeaderEnabledList = data["isHeaderEnabledList"] as List<bool>?;
final isParamEnabledList = data["isParamEnabledList"] as List<bool>?;
try {
requestBodyContentType =
ContentType.values.byName(data["requestBodyContentType"] as String);
@ -143,6 +168,8 @@ class RequestModel {
requestParams: requestParams != null
? mapToRows(Map<String, String>.from(requestParams))
: null,
isHeaderEnabledList: isHeaderEnabledList,
isParamEnabledList: isParamEnabledList,
requestBodyContentType: requestBodyContentType,
requestBody: requestBody,
responseStatus: responseStatus,
@ -162,6 +189,8 @@ class RequestModel {
"description": description,
"requestHeaders": rowsToMap(requestHeaders),
"requestParams": rowsToMap(requestParams),
"isHeaderEnabledList": isHeaderEnabledList,
"isParamEnabledList": isParamEnabledList,
"requestBodyContentType": requestBodyContentType.name,
"requestBody": requestBody,
"responseStatus": includeResponse ? responseStatus : null,
@ -181,7 +210,9 @@ class RequestModel {
"Request Description: $description",
"Request Tab Index: ${requestTabIndex.toString()}",
"Request Headers: ${requestHeaders.toString()}",
"Enabled Headers: ${isHeaderEnabledList.toString()}",
"Request Params: ${requestParams.toString()}",
"Enabled Params: ${isParamEnabledList.toString()}",
"Request Body Content Type: ${requestBodyContentType.toString()}",
"Request Body: ${requestBody.toString()}",
"Response Status: $responseStatus",
@ -203,6 +234,8 @@ class RequestModel {
other.requestTabIndex == requestTabIndex &&
listEquals(other.requestHeaders, requestHeaders) &&
listEquals(other.requestParams, requestParams) &&
listEquals(other.isHeaderEnabledList, isHeaderEnabledList) &&
listEquals(other.isParamEnabledList, isParamEnabledList) &&
other.requestBodyContentType == requestBodyContentType &&
other.requestBody == requestBody &&
other.responseStatus == responseStatus &&
@ -223,6 +256,8 @@ class RequestModel {
requestTabIndex,
requestHeaders,
requestParams,
isHeaderEnabledList,
isParamEnabledList,
requestBodyContentType,
requestBody,
responseStatus,