remote_request 0.0.2+8
remote_request: ^0.0.2+8 copied to clipboard
A flutter package to request remote network calls i.e, Create , Read , Update , Delete, Patch, Put
import 'dart:convert';
import 'dart:developer';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:remote_request/remote_request.dart';
void main() async {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
RemoteCallsController.getDataFromRemoteNetworkCall();
},
child: const Center(
child: Text("Get Add "),
),
);
}
}
class RemoteCallsController {
static Future<void> getDataFromRemoteNetworkCall() async {
var response = await Request.get("ENDPOINT/get/");
List<CaseModel>? cases;
try {
if (response != null && response.statusCode == 200) {
var jsonData = response.data;
if (jsonData["status"] == 200) {
cases = [];
for (var temp in jsonData["data"]) {
log("Case : $temp");
cases.add(CaseModel.fromMap(temp));
}
} else {
throw await Request.throwExceptionFromStatusCode(jsonData["status"]);
}
}
} on DioException catch (e) {
log(e.toString());
throw await Request.throwException(e);
}
}
}
class Case {
final String ticketid;
final String docket;
final String meName;
final String cpName;
final String cpNumber;
final String bank;
final String activityType;
final DateTime? docketDate;
final DateTime? assignedDate;
final DateTime? targetDate;
final String model;
final String sla;
final String priority;
final String? tl;
final String remarks;
final DateTime? planDate;
final String? previousStatus;
final String? previousAttendedDate;
final String? previousFse;
final String previousNstpCategory;
final String previousRevisitCategory;
final DateTime? rejectedDate;
final String? rejectReason;
final String address;
final String mobile;
final String description;
final String city;
final String pincode;
final String tid;
final String assignedtime;
final DateTime? accepteddate;
final String acceptedtime;
Case({
required this.ticketid,
required this.docket,
required this.meName,
required this.cpName,
required this.cpNumber,
required this.bank,
required this.activityType,
required this.docketDate,
required this.assignedDate,
required this.targetDate,
required this.model,
required this.sla,
required this.priority,
required this.tl,
required this.remarks,
required this.planDate,
required this.previousStatus,
required this.previousAttendedDate,
required this.previousFse,
required this.previousNstpCategory,
required this.previousRevisitCategory,
required this.rejectedDate,
required this.rejectReason,
required this.mobile,
required this.address,
required this.description,
required this.city,
required this.pincode,
required this.tid,
required this.assignedtime,
required this.accepteddate,
required this.acceptedtime,
});
}
String caseModelToMap(CaseModel data) => json.encode(data.toMap());
class CaseModel extends Case {
CaseModel({
required super.ticketid,
required super.docket,
required super.meName,
required super.cpName,
required super.cpNumber,
required super.bank,
required super.activityType,
required super.docketDate,
required super.assignedDate,
required super.targetDate,
required super.model,
required super.sla,
required super.priority,
required super.tl,
required super.remarks,
required super.planDate,
required super.previousStatus,
required super.previousAttendedDate,
required super.previousFse,
required super.previousNstpCategory,
required super.previousRevisitCategory,
required super.rejectedDate,
required super.rejectReason,
required super.mobile,
required super.address,
required super.description,
required super.city,
required super.pincode,
required super.tid,
required super.assignedtime,
required super.accepteddate,
required super.acceptedtime,
});
factory CaseModel.fromMap(Map<String, dynamic> json) => CaseModel(
ticketid: json["ticketid"] ?? "",
docket: json["docket"] ?? "",
meName: json["me_name"] ?? "",
cpName: json["cp_name"] ?? "",
cpNumber: json["cp_number"] ?? "",
bank: json["bank"] ?? "",
activityType: json["activity_type"] ?? "",
docketDate: (json["docket_date"] != null)
? DateTime.parse(json["docket_date"])
: null,
assignedDate: (json["assigneddate"] != null)
? DateTime.parse(json["assigneddate"])
: null,
targetDate: (json["target_date"] != null)
? DateTime.parse(json["target_date"])
: null,
model: json["model"] ?? "",
sla: json["sla"] ?? "",
priority: json["priority"] ?? "",
tl: json["tl"] ?? "",
remarks: json["remarks"] ?? "",
planDate: (json["plandate"] != null)
? DateTime.parse(json["plandate"])
: null,
previousStatus: json["previous_status"],
previousAttendedDate: json["previous_attended_date"],
previousFse: json["previous_fse"],
previousNstpCategory: json["previous_nstp_category"],
previousRevisitCategory: json["previous_revisit_category"],
rejectedDate: (json["rejecteddate"] != null)
? DateTime.parse(json["rejecteddate"])
: null,
rejectReason: json["rejecreason"],
address: json["address"] ?? "",
mobile: json["mobile"] ?? "",
description: json["description"],
city: json["city"] ?? "",
pincode: json["pincode"] ?? "",
tid: json["tid"],
assignedtime: json["assignedtime"] ?? "",
acceptedtime: json["acceptedtime"] ?? "",
accepteddate: (json["accepteddate"] != null)
? DateTime.parse(json["accepteddate"])
: null,
);
Map<String, dynamic> toMap() => {
"ticketid": ticketid,
"docket": docket,
"me_name": meName,
"cp_name": cpName,
"cp_number": cpNumber,
"bank": bank,
"activity_type": activityType,
"docket_date":
"${docketDate?.year.toString().padLeft(4, '0')}-${docketDate?.month.toString().padLeft(2, '0')}-${docketDate?.day.toString().padLeft(2, '0')}",
"target_date":
"${targetDate?.year.toString().padLeft(4, '0')}-${targetDate?.month.toString().padLeft(2, '0')}-${targetDate?.day.toString().padLeft(2, '0')}",
"model": model,
"sla": sla,
"priority": priority,
"tl": tl,
"remarks": remarks,
"previous_status": previousStatus,
"previous_attended_date": previousAttendedDate,
"previous_fse": previousFse,
"previous_nstp_category": previousNstpCategory,
"previous_revisit_category": previousRevisitCategory,
};
}