leaf_api: ota: Add DSU
Change-Id: Ia8e6250acf91b9c0bd7abfc810924260b841b610
diff --git a/ota/dsu/index.php b/ota/dsu/index.php
new file mode 100644
index 0000000..8481dd0
--- /dev/null
+++ b/ota/dsu/index.php
@@ -0,0 +1,57 @@
+<?php
+
+header("Content-Type: application/json");
+
+$includes = ["https://dl.google.com/developers/android/gsi/gsi-src.json"];
+$images = [];
+
+// Available devices
+$devices = [];
+$devices['leaf_gsi_arm64'] = [];
+$devices['leaf_gsi_arm64']['cpu_abi'] = "arm64-v8a";
+$devices['leaf_gsi_arm64']['name'] = "LeafOS on ARM64";
+
+$mysqli = new mysqli("localhost", "leaf", "leaf", "leaf_ota");
+if ($mysqli->connect_errno) {
+ die("Database unavailable!");
+}
+
+foreach ($devices as $codename => $device) {
+ $stmt = $mysqli->prepare("SELECT DISTINCT(version) FROM leaf_ota WHERE device = ?");
+ $stmt->bind_param('s', $codename);
+ $stmt->execute();
+
+ $result = $stmt->get_result();
+
+ while ($row = $result->fetch_assoc()) {
+ $stmt = $mysqli->prepare("SELECT DISTINCT(flavor) FROM leaf_ota WHERE device = ? AND version = ?");
+ $stmt->bind_param('ss', $codename, $row['version']);
+ $stmt->execute();
+
+ $flavor_result = $stmt->get_result();
+
+ while ($flavor_row = $flavor_result->fetch_assoc()) {
+ $stmt = $mysqli->prepare("SELECT filename, url FROM leaf_ota WHERE device = ? AND version = ? AND flavor = ? ORDER BY datetime DESC LIMIT 1");
+ $stmt->bind_param('sss', $codename, $row['version'], $flavor_row['flavor']);
+ $stmt->execute();
+
+ $build_result = $stmt->get_result();
+ while ($build = $build_result->fetch_assoc()) {
+ $image = [];
+ $image['name'] = $device['name'] . " (" . $flavor_row['flavor'] . ")";
+ $image['cpu_abi'] = $device['cpu_abi'];
+ $image['details'] = $build['filename'];
+ $image['uri'] = $build['url'];
+ array_push($images, $image);
+ }
+ }
+ }
+}
+
+$json = [];
+$json["include"] = $includes;
+$json["images"] = $images;
+
+echo json_encode($json, JSON_PRETTY_PRINT);
+
+?>