mobile_foundrylogin 0.0.3
mobile_foundrylogin: ^0.0.3 copied to clipboard
A flutter package to integrate foundry in your mobile apps.
mobile_foundrylogin #
A new Flutter package project.
Getting Started #
This project is a starting point for a Dart package, a library module containing code that can be shared easily across multiple Flutter or Dart projects.
For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
#Example For Login
import 'package:mobile_foundrylogin/mobile_foundrylogin.dart';
login() async {
var response = await loginFoundry(
<AuthenticateUrl>,
<FoundryEndPoint>,
<CustomEndPoint>,
<Email>,
<Password>,
<Region>,
<Host>,
<NotificationToken>);
debugPrint(json.decode(response).toString(), wrapWidth: 1024);
}
#Response Object { "firstName": firstName, "lastName": lastName, "accountID": accountID, "cognitoData": cognitoData, "expiration": expiration, "sessionToken": sessionToken, "secretKey": secretKey, "accessKeyId": accessKeyId, "uid": uid, "dKey": dKey, "id": id, "key": key }
#Example For ApiCalls
#GET
sampleGetRequest() async {
final SharedPreferences prefs = await _prefs;
var uid = prefs.getString('uid');
var dKey = prefs.getString('key');
var account_id = prefs.getString("accountID");
var username = prefs.getString('username');
var baseURL = <FoundryEndPoint> + "/foundry";
var getRequestURL = <FoundryEndPoint> + "foundry/devices/by-type";
//making client for performing API call
final client = await getApiClient(uid, dKey, username, baseURL);
// TypeID for getting the data
final query = {"type_id": "56954d40-9b7b-11eb-acf2-e5b4d70a8d57"};
final url = Uri.parse(client.canonicalUrl(getRequestURL, query: query));
final headers = client.signedHeaders(
getRequestURL,
query: query,
);
get(url, headers: headers)
.then((value) => {
data = json.decode(utf8.decode(value.bodyBytes)),
_data = data
.where((element) => element['accountId'] == account_id)
.toList(),
})
.catchError((err) {
print(err);
});
}
#POST
samplePostRequest() async {
final SharedPreferences prefs = await _prefs;
var uid = prefs.getString('uid');
var dKey = prefs.getString('key');
var account_id = prefs.getString("accountID");
var username = prefs.getString('username');
var baseURL = <FoundryEndPoint> + "/foundry";
var postRequestURL = <CustomEndPoint> + "search";
//making client for performing API call
final client = await getApiClient(uid, dKey, username, baseURL);
final queryObject = {
"typeId":"56954d40-9b7b-11eb-acf2-e5b4d70a8d57",
"filters": {"accountId": accountID},
};
final postRequest = client.request(postRequestURL,
method: 'POST',
headers: {
"Accept": "application/json",
"Content-Type": "application/json; charset=utf-8",
},
body: json.encode(queryObject));
Response res = await post(postRequest.url,
headers: postRequest.headers, body: postRequest.body);
if (res.statusCode == 200) {
List<dynamic> data = jsonDecode(utf8.decode(res.bodyBytes));
return 'success';
} else {
throw 'error';
}
}