move reportUrl and reportProjectId from config to setting
This commit is contained in:
@@ -2,35 +2,25 @@ import 'package:flutter/material.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
enum Flavor { UNSET, DEV, STAGING, PRODUCTION, LOCAL }
|
||||
|
||||
const FlavorNames = ["Unset", "Development", "Staging", "Production", "Local"];
|
||||
|
||||
class Config {
|
||||
static Config _instance = Config(
|
||||
flavor: Flavor.UNSET,
|
||||
apiURL: "",
|
||||
bucketName: "",
|
||||
reportProjectID: "",
|
||||
reportURL: "");
|
||||
static Config _instance = Config(flavor: Flavor.UNSET, apiURL: "");
|
||||
|
||||
final Flavor flavor;
|
||||
final String name;
|
||||
final Color color;
|
||||
final String apiURL;
|
||||
final String reportURL;
|
||||
final Level level;
|
||||
final String reportProjectID;
|
||||
final String bucketName;
|
||||
|
||||
factory Config(
|
||||
{required Flavor flavor,
|
||||
required String apiURL,
|
||||
required String reportURL,
|
||||
required String reportProjectID,
|
||||
required String bucketName,
|
||||
Color color= Colors.blue,
|
||||
Level level= Level.SEVERE}) {
|
||||
_instance = Config._internal(flavor, FlavorNames[flavor.index], color,
|
||||
apiURL, reportURL, level, reportProjectID, bucketName);
|
||||
Color color = Colors.blue,
|
||||
Level level = Level.SEVERE}) {
|
||||
_instance = Config._internal(
|
||||
flavor, FlavorNames[flavor.index], color, apiURL, level);
|
||||
|
||||
Logger.root.level = level;
|
||||
Logger.root.onRecord.listen((record) {
|
||||
@@ -41,8 +31,7 @@ class Config {
|
||||
return _instance;
|
||||
}
|
||||
|
||||
Config._internal(this.flavor, this.name, this.color, this.apiURL,
|
||||
this.reportURL, this.level, this.reportProjectID, this.bucketName);
|
||||
Config._internal(this.flavor, this.name, this.color, this.apiURL, this.level);
|
||||
|
||||
static Config get instance {
|
||||
return _instance;
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:fcs/config.dart';
|
||||
import 'package:fcs/constants.dart';
|
||||
import 'package:fcs/domain/entities/package.dart';
|
||||
import 'package:fcs/helpers/api_helper.dart';
|
||||
import 'package:fcs/helpers/firebase_helper.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
import '../services/services.dart';
|
||||
|
||||
class PackageDataProvider {
|
||||
final log = Logger('PackageDataProvider');
|
||||
|
||||
@@ -70,7 +71,7 @@ class PackageDataProvider {
|
||||
try {
|
||||
var data = await requestAPI(
|
||||
"/api/fts/$packages_collection/$escapePackage/$limit", "GET",
|
||||
url: Config.instance.reportURL, token: await getToken());
|
||||
url: Services.setting.reportURL, token: await getToken());
|
||||
|
||||
if (data == null) return [];
|
||||
|
||||
@@ -105,7 +106,7 @@ class PackageDataProvider {
|
||||
};
|
||||
var result = await requestAPI("/api/data/packages", "POST",
|
||||
token: await getToken(),
|
||||
url: Config.instance.reportURL,
|
||||
url: Services.setting.reportURL,
|
||||
payload: jsonEncode(data));
|
||||
if (result == null) return packages;
|
||||
result.forEach((d) {
|
||||
|
||||
@@ -4,8 +4,7 @@ import 'package:fcs/domain/entities/pickup.dart';
|
||||
import 'package:fcs/helpers/api_helper.dart';
|
||||
import 'package:fcs/helpers/firebase_helper.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
import '../../config.dart';
|
||||
import '../services/services.dart';
|
||||
|
||||
class PickupDataProvider {
|
||||
final log = Logger('PickupDataProvider');
|
||||
@@ -34,7 +33,7 @@ class PickupDataProvider {
|
||||
};
|
||||
var result = await requestAPI("/api/data/pickups", "POST",
|
||||
token: await getToken(),
|
||||
url: Config.instance.reportURL,
|
||||
url: Services.setting.reportURL,
|
||||
payload: jsonEncode(data));
|
||||
if (result == null) return pickups;
|
||||
result.forEach((d) {
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:fcs/config.dart';
|
||||
import 'package:fcs/constants.dart';
|
||||
import 'package:fcs/domain/entities/user.dart';
|
||||
import 'package:fcs/helpers/api_helper.dart';
|
||||
import 'package:fcs/helpers/firebase_helper.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
import '../services/services.dart';
|
||||
|
||||
class UserDataProvider {
|
||||
final log = Logger('UserDataProvider');
|
||||
|
||||
@@ -66,7 +67,7 @@ class UserDataProvider {
|
||||
try {
|
||||
var data = await requestAPI(
|
||||
"/api/fts/$user_collection/$escapeBuyer/$limit", "GET",
|
||||
url: Config.instance.reportURL, token: await getToken());
|
||||
url: Services.setting.reportURL, token: await getToken());
|
||||
|
||||
if (data == null) return [];
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ import 'package:fcs/data/services/rate_service.dart';
|
||||
import 'package:fcs/data/services/shipment_imp.dart';
|
||||
import 'package:fcs/data/services/shipment_service.dart';
|
||||
|
||||
import '../../domain/entities/setting.dart';
|
||||
import 'auth_imp.dart';
|
||||
import 'auth_service.dart';
|
||||
import 'common_imp.dart';
|
||||
@@ -37,6 +38,8 @@ import 'user_service.dart';
|
||||
|
||||
class Services {
|
||||
static final Services instance = Services._();
|
||||
static Setting setting = Setting();
|
||||
|
||||
|
||||
late AuthService _authService;
|
||||
late UserService _userService;
|
||||
|
||||
@@ -10,6 +10,9 @@ List<Day> dayLists = [
|
||||
|
||||
class Setting {
|
||||
final int supportBuildNum;
|
||||
final String reportURL;
|
||||
final String reportProjectID;
|
||||
final String bucketName;
|
||||
// contact page
|
||||
String? usaAddress;
|
||||
String? mmAddress;
|
||||
@@ -24,7 +27,7 @@ class Setting {
|
||||
String? about;
|
||||
String? courierWebsite;
|
||||
String? deactivateTextEn;
|
||||
String? deactivateTextMm;
|
||||
String? deactivateTextMm;
|
||||
|
||||
List<String> shipmentTypes;
|
||||
|
||||
@@ -44,27 +47,32 @@ class Setting {
|
||||
this.shipmentTypes = const [],
|
||||
this.courierWebsite,
|
||||
this.deactivateTextEn,
|
||||
this.deactivateTextMm});
|
||||
this.deactivateTextMm,
|
||||
this.bucketName = '',
|
||||
this.reportProjectID = '',
|
||||
this.reportURL = ''});
|
||||
|
||||
factory Setting.fromMap(Map<String, dynamic> map) {
|
||||
return Setting(
|
||||
supportBuildNum: map['support_build_number'],
|
||||
inviteRequired: map['invite_required'],
|
||||
appUrl: map['app_url'],
|
||||
usaAddress: map['usa_address'],
|
||||
mmAddress: map['mm_address'],
|
||||
usaContactNumber: map['usa_contact_number'],
|
||||
mmContactNumber: map['mm_contact_number'],
|
||||
emailAddress: map['email_address'],
|
||||
facebookLink: map['facebook_link'],
|
||||
about: map['about'],
|
||||
termsEng: map['terms_eng_markdown'],
|
||||
termsMm: map['terms_mm_markdown'],
|
||||
shipmentTypes: List.from(map['shipment_types']),
|
||||
courierWebsite: map['courier_website'],
|
||||
deactivateTextEn: map['deactivate_text_en']??"",
|
||||
deactivateTextMm: map['deactivate_text_mm']??""
|
||||
);
|
||||
supportBuildNum: map['support_build_number'],
|
||||
inviteRequired: map['invite_required'],
|
||||
appUrl: map['app_url'],
|
||||
usaAddress: map['usa_address'],
|
||||
mmAddress: map['mm_address'],
|
||||
usaContactNumber: map['usa_contact_number'],
|
||||
mmContactNumber: map['mm_contact_number'],
|
||||
emailAddress: map['email_address'],
|
||||
facebookLink: map['facebook_link'],
|
||||
about: map['about'],
|
||||
termsEng: map['terms_eng_markdown'],
|
||||
termsMm: map['terms_mm_markdown'],
|
||||
shipmentTypes: List.from(map['shipment_types']),
|
||||
courierWebsite: map['courier_website'],
|
||||
deactivateTextEn: map['deactivate_text_en'] ?? "",
|
||||
deactivateTextMm: map['deactivate_text_mm'] ?? "",
|
||||
reportProjectID: map['report_project_id'] ?? "",
|
||||
reportURL: map['report_url'] ?? "",
|
||||
bucketName: map['bucket_name'] ?? '');
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -37,7 +37,7 @@ Future<dynamic> requestAPI(String path, method,
|
||||
if (devInfo.deviceID != null) {
|
||||
headers["Device"] = devInfo.deviceID ?? "" + ":" + deviceName;
|
||||
}
|
||||
headers["Project-ID"] = Config.instance.reportProjectID;
|
||||
headers["Project-ID"] = Services.setting.reportProjectID;
|
||||
|
||||
BaseOptions options = new BaseOptions(
|
||||
method: method,
|
||||
@@ -99,7 +99,7 @@ Future<dynamic> requestDownloadAPI(String path, method,
|
||||
var _downloadData = StringBuffer();
|
||||
var fileSave = new File(filePath!);
|
||||
var request = await client.getUrl(Uri.parse("$baseUrl$path"));
|
||||
request.headers.set("Project-ID", Config.instance.reportProjectID);
|
||||
request.headers.set("Project-ID", Services.setting.reportProjectID);
|
||||
request.headers
|
||||
.set(HttpHeaders.contentTypeHeader, "application/json; charset=UTF-8");
|
||||
if (token != null) {
|
||||
@@ -140,7 +140,7 @@ Future<dynamic> requestDownloadPDFAPI(String path, method,
|
||||
// var _downloadData = StringBuffer();
|
||||
var fileSave = new File(filePath!);
|
||||
var request = await client.getUrl(Uri.parse("$baseUrl$path"));
|
||||
request.headers.set("Project-ID", Config.instance.reportProjectID);
|
||||
request.headers.set("Project-ID", Services.setting.reportProjectID);
|
||||
if (token != null) {
|
||||
request.headers.set("Token", token);
|
||||
}
|
||||
@@ -188,7 +188,7 @@ Future<dynamic> requestDownload(String path, method,
|
||||
HttpClient client = new HttpClient();
|
||||
// var _downloadData = StringBuffer();
|
||||
var request = await client.postUrl(Uri.parse("$baseUrl$path"));
|
||||
request.headers.set("Project-ID", Config.instance.reportProjectID);
|
||||
request.headers.set("Project-ID", Services.setting.reportProjectID);
|
||||
if (token != null) {
|
||||
request.headers.set("Token", token);
|
||||
}
|
||||
@@ -244,7 +244,7 @@ Future<File> downloadPDF(
|
||||
|
||||
await requestDownload("/api/pdf", "POST",
|
||||
filePath: path,
|
||||
url: Config.instance.reportURL,
|
||||
url: Services.setting.reportURL,
|
||||
token: await getToken(),
|
||||
payload: jsonEncode(data), onDownloadDone: (f) async {
|
||||
completer.complete(f);
|
||||
|
||||
@@ -21,9 +21,9 @@ Future<void> main() async {
|
||||
color: Colors.blue,
|
||||
apiURL: "http://192.168.100.150:9090",
|
||||
// apiURL: "https://asia-northeast1-fcs-dev1.cloudfunctions.net/API13",
|
||||
reportURL: "http://petrok.mokkon.com:7071",
|
||||
reportProjectID: "fcs-dev",
|
||||
bucketName: "gs://fcs-dev1-us",
|
||||
// reportURL: "http://petrok.mokkon.com:7071",
|
||||
// reportProjectID: "fcs-dev",
|
||||
// bucketName: "gs://fcs-dev1-us",
|
||||
level: Level.ALL);
|
||||
runApp(App(title: "FCS - Dev"));
|
||||
}
|
||||
|
||||
@@ -9,10 +9,12 @@ void main() {
|
||||
Config(
|
||||
flavor: Flavor.DEV,
|
||||
color: Colors.blue,
|
||||
reportURL: "http://petrok.mokkon.com:8091",
|
||||
reportProjectID: "fcs-dev",
|
||||
apiURL: "http://192.168.1.155:7777",
|
||||
bucketName: "gs://fcs-dev1-us",
|
||||
// reportURL: "http://petrok.mokkon.com:8091",
|
||||
// reportProjectID: "fcs-dev",
|
||||
// bucketName: "gs://fcs-dev1-us",
|
||||
level: Level.ALL);
|
||||
runApp(App(title: "FCS - Dev local",));
|
||||
runApp(App(
|
||||
title: "FCS - Dev local",
|
||||
));
|
||||
}
|
||||
|
||||
@@ -16,9 +16,9 @@ Future<void> main() async {
|
||||
flavor: Flavor.PRODUCTION,
|
||||
color: Colors.blue,
|
||||
apiURL: "https://asia-northeast1-fcs-prod1.cloudfunctions.net/API13",
|
||||
reportURL: "http://petrok.mokkon.com:8092",
|
||||
reportProjectID: "fcs-prod",
|
||||
bucketName: "gs://fcs-prod1",
|
||||
// reportURL: "http://petrok.mokkon.com:8092",
|
||||
// reportProjectID: "fcs-prod",
|
||||
// bucketName: "gs://fcs-prod1",
|
||||
level: Level.ALL);
|
||||
runApp(App(title: "FCS"));
|
||||
}
|
||||
|
||||
@@ -2,10 +2,10 @@ import 'dart:async';
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:fcs/config.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
import '../../../constants.dart';
|
||||
import '../../../data/services/services.dart';
|
||||
import '../../../domain/entities/user.dart';
|
||||
import '../../../helpers/api_helper.dart';
|
||||
import '../../../helpers/firebase_helper.dart';
|
||||
@@ -56,7 +56,7 @@ class ConsigneeSelectionModel extends BaseModel {
|
||||
|
||||
var result = await requestAPI(
|
||||
"/api/fts/$user_collection/$escapeSender/$rowPerPage", "GET",
|
||||
url: Config.instance.reportURL, token: await getToken());
|
||||
url: Services.setting.reportURL, token: await getToken());
|
||||
|
||||
if (result != null) {
|
||||
for (var row in result) {
|
||||
|
||||
@@ -3,9 +3,8 @@ import 'dart:convert';
|
||||
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
|
||||
import '../../../config.dart';
|
||||
import '../../../constants.dart';
|
||||
import '../../../data/services/services.dart';
|
||||
import '../../../domain/entities/user.dart';
|
||||
import '../../../helpers/api_helper.dart';
|
||||
import '../../../helpers/firebase_helper.dart';
|
||||
@@ -57,7 +56,7 @@ class SenderSelectionModel extends BaseModel {
|
||||
|
||||
var result = await requestAPI(
|
||||
"/api/fts/$user_collection/$escapeSender/$rowPerPage", "GET",
|
||||
url: Config.instance.reportURL, token: await getToken());
|
||||
url: Services.setting.reportURL, token: await getToken());
|
||||
|
||||
if (result != null) {
|
||||
for (var row in result) {
|
||||
|
||||
@@ -157,9 +157,12 @@ class FcsShipmentModel extends BaseModel {
|
||||
|
||||
void initUser(user) {
|
||||
super.initUser(user);
|
||||
_loadShipmentTypes();
|
||||
_loadShipmentConsignees();
|
||||
_loadShipmentPorts();
|
||||
|
||||
if (user != null && user.hasFcsShipments()) {
|
||||
_loadShipmentTypes();
|
||||
_loadShipmentConsignees();
|
||||
_loadShipmentPorts();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -141,6 +141,7 @@ class MainModel extends ChangeNotifier {
|
||||
try {
|
||||
Services.instance.authService.getSetting().listen((event) {
|
||||
this.setting = event;
|
||||
Services.setting = event;
|
||||
models.forEach((m) => m.initSetting(setting));
|
||||
notifyListeners();
|
||||
});
|
||||
|
||||
@@ -133,7 +133,7 @@ class _PackageInfoState extends State<PackageInfo> {
|
||||
if (d == null) return;
|
||||
_changeDeliverayAddress(d);
|
||||
}
|
||||
: () {},
|
||||
: null,
|
||||
);
|
||||
|
||||
return LocalProgress(
|
||||
|
||||
Reference in New Issue
Block a user