package main

import (
	"github.com/gin-gonic/gin"
)

// define global db
var db, _ = sql.Open("sqlite3", "./database/data.db")

// types representing json queries

type loginInput struct {
	Name     string `json:"name"`
	Password string `json:"password"`
}

type loginOutput struct {
	UID      string `json:"uid"`
	Name     string `json:"name"`
	Password string `json:"password"`
	Role     string `json:"role"`
}

type task struct {
	TID    string `json:"tid"`
	Name   string `json:"name"`
	Points int    `json:"points"`
}

type historyData struct {
	UID          string `json:"uid"`
	TID          string `json:"tid"`
	Time         string `json:"time"`
	PointsGained int    `json:"pointsGained"`
}

// log the user into their account
func login(c *gin.Context) {
	// log the user into their account
}

func getTasks(c *gin.Context) {
	// return a list of all of the tasks
}

func completeTask(c *gin.Context) {
	// complete a task in the history log
}

func getHistory(c *gin.Context) {
	// get the log of past points gained
}

func addTask(c *gin.Context) {
	// add a task to the list of tasks
}

func main() {
	router := gin.Default()
	router.POST("/login", login)
	router.GET("/getTasks", getTasks)
	router.POST("/completeTask", completeTask)
	router.POST("/addTask", addTask)
	router.GET("/getHistory", getHistory)

	router.Run("localhost:8080")
}
