summaryrefslogtreecommitdiffstats
path: root/web/include/api.php
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2024-04-26 10:06:03 +0200
committerHarald Eilertsen <haraldei@anduin.net>2024-04-26 10:06:03 +0200
commitf9b93c4bbb23b452551bd46ce86cc6e3602fd594 (patch)
tree3fd8f14afb8248fcd9a3092a3f8ee1755dc936c3 /web/include/api.php
parent975c0b735be0808883116616d934ee257a24fb08 (diff)
downloadfaktura-main.tar.gz
faktura-main.tar.bz2
faktura-main.zip
Begin web app frontend in PHP.main
While I'd like a command line client for retreiving information and scripting stuff based on the db contents, a web app is convenient for the less common stuff like adding and editing data. The web app could also have been done in rust, however, I feel php is so convenient for simple web stuff that I think it makes more sense this way.
Diffstat (limited to 'web/include/api.php')
-rw-r--r--web/include/api.php31
1 files changed, 31 insertions, 0 deletions
diff --git a/web/include/api.php b/web/include/api.php
new file mode 100644
index 0000000..c13b15c
--- /dev/null
+++ b/web/include/api.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Functions for intercting with the remote API.
+ *
+ * @package volse.faktura.web
+ */
+
+namespace Faktura\API;
+
+define('API_URL', 'http://postgrest:3000');
+
+function call(string $method, string $resource, mixed $data = null): string {
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, API_URL . '/' . $resource);
+ curl_setopt($ch, CURLOPT_HEADER, 'Accept: application/json');
+ curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
+ curl_setopt($ch, CURLOPT_TIMEOUT, 5);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+
+ $result = curl_exec($ch);
+
+ if ($result === false) {
+ echo curl_error($ch);
+ die();
+ }
+
+ curl_close($ch);
+
+ return $result;
+}
+