import 'package:dio/dio.dart'; import 'package:libac_flutter/nbt/impl/CompoundTag.dart'; import 'package:libac_flutter/utils/Hashing.dart'; enum APIEndpoint { SetupCheck(script: "SetupCheck.php", path: "/ac/home/supports/"), Login(script: "Login.php", path: "/ac/home/supports/"); final String script; final String path; const APIEndpoint({required this.script, required this.path}); String getURL() { Settings settings = Settings(); return "${settings.API_SERVER}${path}${script}"; } } class Settings { static Settings? _inst = null; Settings._() {} Dio dio = Dio(); factory Settings() { if (Settings._inst != null) return Settings._inst!; else { Settings._inst = Settings._(); return Settings._inst!; } } static void Load(CompoundTag tag) {} static CompoundTag save() { CompoundTag tag = CompoundTag(); return tag; } String API_SERVER = ""; bool OpenSimSetupCompleted = false; void setServices(Map js) { var protocol = js['api']['protocol'] as String; var port = js['api']['port'] as int; var host = js['api']['host'] as String; API_SERVER = "${protocol}://${host}:${port}/"; } Future hashPSK(String PSK) async { String hash = Hashing.md5Hash("AriasCreations"); for (int i = 0; i < 512; i++) { hash = Hashing.sha256Hash("${hash}:${PSK}"); } hash = Hashing.md5Hash(hash); return hash; } }