From 596ac9a0d53cbf6ee5c7039c822176adba5b4e51 Mon Sep 17 00:00:00 2001
From: Dylan Peiry <dylan.peiry@etu.hesge.ch>
Date: Wed, 16 Nov 2022 16:33:38 +0100
Subject: [PATCH] adding files

---
 .gitignore       |  1 +
 client/client.go |  1 +
 go.mod           |  3 +++
 helper/types.go  | 39 +++++++++++++++++++++++++++++++++++++++
 server/server.go | 26 ++++++++++++++++++++++++++
 5 files changed, 70 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 client/client.go
 create mode 100644 go.mod
 create mode 100644 helper/types.go
 create mode 100644 server/server.go

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9f11b75
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.idea/
diff --git a/client/client.go b/client/client.go
new file mode 100644
index 0000000..da13c8e
--- /dev/null
+++ b/client/client.go
@@ -0,0 +1 @@
+package client
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..83bdda5
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,3 @@
+module freenet
+
+go 1.19
diff --git a/helper/types.go b/helper/types.go
new file mode 100644
index 0000000..258e5cf
--- /dev/null
+++ b/helper/types.go
@@ -0,0 +1,39 @@
+package helper
+
+import "fmt"
+
+type Node struct {
+	Resource Resource `json:"resource"`
+	Storage  Storage  `json:"storage"`
+}
+
+type Resource struct {
+	Name    string `json:"name"`
+	Address string `json:"address"`
+}
+
+type Storage struct {
+	Data []StorageElement `json:"data"`
+}
+
+type StorageElement struct {
+	Id       int `json:"id"`
+	Resource `json:"resource"`
+}
+
+func (r Resource) String() string {
+	return fmt.Sprintf("Resource{Name=%s,Address=%s}", r.Name, r.Address)
+}
+
+func (se StorageElement) String() string {
+	return fmt.Sprintf("StorageElement{Id=%d,Resource=%s}", se.Id, se.Resource.String())
+}
+
+func (s Storage) String() string {
+	output := "Storage{\n"
+	for _, se := range s.Data {
+		output += fmt.Sprintf("%s\n", se.String())
+	}
+	output += "}"
+	return output
+}
diff --git a/server/server.go b/server/server.go
new file mode 100644
index 0000000..e60c2a8
--- /dev/null
+++ b/server/server.go
@@ -0,0 +1,26 @@
+package server
+
+import (
+	"fmt"
+	"freenet/helper"
+)
+
+func main() {
+	resource := helper.Resource{
+		Name:    "a",
+		Address: "127.0.0.10",
+	}
+	storageElement := helper.StorageElement{
+		Id:       15,
+		Resource: resource,
+	}
+
+	elements := make([]helper.StorageElement, 1)
+	elements = append(elements, storageElement)
+
+	node := helper.Node{
+		Resource: resource,
+		Storage:  helper.Storage{Data: elements},
+	}
+	fmt.Printf(node)
+}
-- 
GitLab