-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
105 lines (85 loc) · 3.23 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
99
100
101
102
103
104
105
package main
import (
"flag"
"fmt"
"io"
"log"
"net/http"
"os"
"github.com/achhapolia10/inventory-manager/opdatabase"
"github.com/achhapolia10/inventory-manager/model"
"github.com/achhapolia10/inventory-manager/routes"
"github.com/julienschmidt/httprouter"
_ "github.com/mattn/go-sqlite3"
)
// Index Handler Method GET
func Index(w http.ResponseWriter, req *http.Request, _ httprouter.Params) {
io.WriteString(w, "Hello")
}
func main() {
lf, fileError := os.OpenFile("./inv.log", os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm)
if fileError != nil {
log.Println("Error in opening logging file: auth.log:", fileError)
}
w := io.MultiWriter(os.Stdout, lf)
log.SetOutput(w)
db := flag.String("database", "./default.imdb", "select database")
flag.Parse()
var publicDir http.Dir
publicDir = "./public/"
router := httprouter.New()
opdatabase.ConnectDatabase(*db)
opdatabase.CreateGroupTable()
opdatabase.CreateProductTable()
opdatabase.CreateUserTable()
opdatabase.CreateLabourTable()
model.DeleteLabours()
router.ServeFiles("/public/*filepath", publicDir)
// Login routes are defined
router.GET("/", routes.GetLogin)
router.POST("/", routes.PostLogin)
router.GET("/logout", routes.GetLogout)
router.GET("/users", routes.GetUsers)
router.GET("/users/new", routes.GetNewUser)
router.POST("/users/new", routes.PostNewUser)
router.GET("/users/edit", routes.GetChange)
router.POST("/users/edit", routes.PostChange)
router.GET("/users/delete", routes.PostDelete)
// Groupds reoutes are defined
router.GET("/groups", routes.GetGroup)
router.POST("/groups/new", routes.PostGroupNew)
router.POST("/groups/edit/:id", routes.PostGroupEdit)
router.POST("/groups/delete/:id", routes.PostGroupDelete)
// Products routes are defined
router.GET("/products", routes.GetProducts)
router.GET("/products/new", routes.GetNewProduct)
router.POST("/products/new", routes.PostNewProduct)
router.GET("/products/delete/:id", routes.GetDeleteProducts)
router.GET("/products/edit/:id", routes.GetEditProduct)
router.POST("/products/edit/:id", routes.PostEditProduct)
// Daily Report routes are defined
router.GET("/report", routes.GetDailyReport)
router.POST("/report", routes.PostDailyReport)
// Stock routes are defined
router.GET("/stock", routes.GetStock)
router.POST("/stock", routes.PostStock)
router.GET("/stock/product", routes.GetProductStock)
router.POST("/stock/product", routes.PostProductStock)
router.GET("/stock/print", routes.GetStockPrint)
// Labour Payment routes are defined
router.GET("/labourpayment", routes.GetLabourPayment)
router.POST("/labourpayment", routes.PostLabourPayment)
router.GET("/labourpayment/print", routes.GetPrintLabourPayment)
// Entry routes are defined
router.GET("/entry", routes.GetEntry)
router.POST("/entry/new", routes.PostEntryNew)
router.GET("/entry/getall", routes.GetJournalEntriesAll)
router.POST("/entry/delete", routes.PostDeleteJournalEntry)
// Dispatch routes are defined
router.GET("/dispatch", routes.GetDispatch)
router.GET("/dispatch/entries", routes.GetDispatchEntries)
router.POST("/dispatch/new", routes.PostDispatchNew)
router.GET("/dispatch/delete", routes.GetDispatchDelete)
fmt.Println("Starting Server on Port: 4001")
log.Println(http.ListenAndServe(":4001", router))
}