commit 4c873d4d095ff828f04092c1d65e24bbd672eebd Author: Nicolas SANS Date: Tue Mar 21 09:59:44 2023 +0100 Created project architecture diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/PocketBaseDataRepository.cs b/PocketBaseDataRepository.cs new file mode 100644 index 0000000..944a5b5 --- /dev/null +++ b/PocketBaseDataRepository.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Net; +using models; +using services; +using UnityEngine; + +public class PocketBaseDataRepository : MonoBehaviour +{ + + void Start() + { + Trash t = TrashService.GetTrash("gdnuxl0wlgurtj3"); + Debug.Log(t); + } + + + + // Update is called once per frame + void Update() + { + + } +} diff --git a/PocketBaseDataRepository.cs.meta b/PocketBaseDataRepository.cs.meta new file mode 100644 index 0000000..14308bf --- /dev/null +++ b/PocketBaseDataRepository.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8a652d58e66666249a20951649c4ddcd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/models.meta b/models.meta new file mode 100644 index 0000000..5e1bc2e --- /dev/null +++ b/models.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ff3b95e251e446dcabc742a9dac256cd +timeCreated: 1679384952 \ No newline at end of file diff --git a/models/LoginDto.cs b/models/LoginDto.cs new file mode 100644 index 0000000..a404263 --- /dev/null +++ b/models/LoginDto.cs @@ -0,0 +1,34 @@ +using System; + +namespace models +{ + + [Serializable] + public class LoginRequest + { + public String username; + public String password; + } + + [Serializable] + public class LoginResponse + { + public Record record { get; set; } + public string token { get; set; } + + public class Record + { + public string avatar { get; set; } + public string collectionId { get; set; } + public string collectionName { get; set; } + public string created { get; set; } + public string email { get; set; } + public bool emailVisibility { get; set; } + public string id { get; set; } + public string name { get; set; } + public string updated { get; set; } + public string username { get; set; } + public bool verified { get; set; } + } + } +} \ No newline at end of file diff --git a/models/LoginDto.cs.meta b/models/LoginDto.cs.meta new file mode 100644 index 0000000..c359fb0 --- /dev/null +++ b/models/LoginDto.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: bb7db611010e4a4ea253408f8f639da1 +timeCreated: 1679384960 \ No newline at end of file diff --git a/models/Trash.cs b/models/Trash.cs new file mode 100644 index 0000000..c181b79 --- /dev/null +++ b/models/Trash.cs @@ -0,0 +1,19 @@ +using System; + +namespace models +{ + [Serializable] + public class Trash + { + public String id; + public String collectionId; + public String collectionName; + public DateTime created; + public DateTime updated; + public Int16 value; + public String trash_id; + public String unit; + public Boolean status; + public String field; + } +} \ No newline at end of file diff --git a/models/Trash.cs.meta b/models/Trash.cs.meta new file mode 100644 index 0000000..2dbd454 --- /dev/null +++ b/models/Trash.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d491b601d266438383bff39599d5b2a1 +timeCreated: 1679385878 \ No newline at end of file diff --git a/services.meta b/services.meta new file mode 100644 index 0000000..2c0284d --- /dev/null +++ b/services.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c41af40269c84848a424cee12b7bfd14 +timeCreated: 1679386050 \ No newline at end of file diff --git a/services/TrashService.cs b/services/TrashService.cs new file mode 100644 index 0000000..d90e8d7 --- /dev/null +++ b/services/TrashService.cs @@ -0,0 +1,17 @@ +using System; +using System.IO; +using System.Net; +using models; +using UnityEngine; +using utils; + +namespace services +{ + public class TrashService + { + public static Trash GetTrash(String id) + { + return Api.get("/api/collections/trashs/records/"+id); + } + } +} \ No newline at end of file diff --git a/services/TrashService.cs.meta b/services/TrashService.cs.meta new file mode 100644 index 0000000..df664a9 --- /dev/null +++ b/services/TrashService.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5a5bdf680ce94648aac43fe3f9a29e98 +timeCreated: 1679386057 \ No newline at end of file diff --git a/utils.meta b/utils.meta new file mode 100644 index 0000000..587a779 --- /dev/null +++ b/utils.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f953923e9fca40ea897097feb7aa9dc0 +timeCreated: 1679386094 \ No newline at end of file diff --git a/utils/Api.cs b/utils/Api.cs new file mode 100644 index 0000000..3b7b0cc --- /dev/null +++ b/utils/Api.cs @@ -0,0 +1,65 @@ +using System; +using System.IO; +using System.Net; +using models; +using UnityEngine; + +namespace utils +{ + public class Api + { + public static String API_URL = "https://iot.epi.cb85.software"; + + public static HttpWebRequest createClient(String suffix) { + return (HttpWebRequest)WebRequest.Create(API_URL + suffix); + } + + public static T get(String suffix) + { + HttpWebRequest request = (HttpWebRequest)WebRequest.Create(API_URL + suffix); + request.Accept = "application/json"; + request.Method = "POST"; + HttpWebResponse response = (HttpWebResponse)request.GetResponse(); + if (response == null) + { + throw new Exception("Response is null"); + } + StreamReader reader = new StreamReader(response.GetResponseStream()); + string jsonResponse = reader.ReadToEnd(); + T responseData = JsonUtility.FromJson(jsonResponse); + return responseData; + } + + public static T post(String suffix, String body) + { + HttpWebRequest request = createClient(suffix); + request.ContentType = "application/json"; + request.Method = "POST"; + request.Accept = "application/json"; + + using (var streamWriter = new StreamWriter(request.GetRequestStream())) + { + streamWriter.Write(body); + } + HttpWebResponse response = (HttpWebResponse)request.GetResponse(); + StreamReader reader = new StreamReader(response.GetResponseStream()); + string jsonResponse = reader.ReadToEnd(); + T responseData = JsonUtility.FromJson(jsonResponse); + return responseData; + } + + public T send(HttpWebRequest request) + { + HttpWebResponse response = (HttpWebResponse)request.GetResponse(); + if (response == null) + { + throw new Exception("Response is null"); + } + StreamReader reader = new StreamReader(response.GetResponseStream()); + string jsonResponse = reader.ReadToEnd(); + T responseData = JsonUtility.FromJson(jsonResponse); + return responseData; + } + } + +} \ No newline at end of file diff --git a/utils/Api.cs.meta b/utils/Api.cs.meta new file mode 100644 index 0000000..c36a78a --- /dev/null +++ b/utils/Api.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1294827371cd4417aaab68f1c6736e6d +timeCreated: 1679386098 \ No newline at end of file