-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
98 lines (77 loc) · 2.26 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package main
import (
"log"
"net/http"
"todo/api"
"todo/todostore"
)
//var todoItems []todo.TodoItem
func main() {
//todoItems = append(todoItems, todo.TodoItem{"item one", "Done"}, todo.TodoItem{"item two", "Not Done"}, todo.TodoItem{"item three", "Doing"}, todo.TodoItem{"item four", "Done"})
//outputItemsToConsole(todoItems)
//outputItemsToConsoleAsJson(todoItems)
//writeItemsToJsonFile(todoItems)
//readItemsFromJsonFile()
server := &api.TodoServer{Store: todostore.NewInMemoryTodoStore()}
log.Fatal(http.ListenAndServe(":3000", server))
}
// func outputItemsToConsole(todoItems []todo.TodoItem) {
// output := consoleOutput.ConsoleOutput{ Writer: os.Stdout }
// outputItems(&output, todoItems)
// }
// func outputItemsToConsoleAsJson(todoItems []todo.TodoItem) {
// output := jsonOutput.JsonOutput{ Writer: os.Stdout }
// outputItems(&output, todoItems)
// }
// func writeItemsToJsonFile(todoItems []todo.TodoItem) {
// // writeFile := func(data []byte) error {
// // return ioutil.WriteFile("realdata.json", data, 0644)
// // }
// var f, e = jsonWrite.CreateFile()
// if(e != nil) {
// fmt.Errorf("error")
// }
// write := jsonWrite.JsonWrite {}
// //write.WriteFileFunction = writeFile
// write.Writer = f
// writeItems(&write, todoItems)
// }
// func readItemsFromJsonFile() {
// // readFile := func(filename string) []byte {
// // itemsJson, err := os.ReadFile(filename)
// // if(err != nil) {
// // panic("problemo")
// // }
// // return itemsJson
// // }
// f, e := os.Open("items.json")
// if e != nil {
// fmt.Errorf("Failed to open file: %v", e)
// }
// read := jsonRead.JsonRead {}
// read.Reader = f
// items, e := read.Read()
// if(e != nil) {
// fmt.Errorf("Problem reading the file")
// }
// outputItemsToConsole(items)
// }
// func outputItems(output todo.Output, todoItems []todo.TodoItem) {
// e := output.Output(todoItems...)
// check(e)
// if(e == nil) {
// fmt.Println("All items outputted successfully.")
// }
// }
// func writeItems(write todo.Write, todoItems []todo.TodoItem) {
// e := write.Write(todoItems...)
// check(e)
// if(e == nil) {
// fmt.Println("All items written successfully.")
// }
// }
// func check(e error) {
// if e != nil {
// panic(e)
// }
// }