package handlers import ( "ttime/internal/database" "github.com/gofiber/fiber/v2" ) // The actual interface that we will use type GlobalState interface { Register(c *fiber.Ctx) error // To register a new user UserDelete(c *fiber.Ctx) error // To delete a user Login(c *fiber.Ctx) error // To get the token LoginRenew(c *fiber.Ctx) error // To renew the token CreateProject(c *fiber.Ctx) error // To create a new project GetUserProjects(c *fiber.Ctx) error // To get all projects SubmitWeeklyReport(c *fiber.Ctx) error GetWeeklyReport(c *fiber.Ctx) error SignReport(c *fiber.Ctx) error GetProject(c *fiber.Ctx) error AddUserToProjectHandler(c *fiber.Ctx) error PromoteToAdmin(c *fiber.Ctx) error GetWeeklyReportsUserHandler(c *fiber.Ctx) error IsProjectManagerHandler(c *fiber.Ctx) error // UpdateProject(c *fiber.Ctx) error // To update a project // WIP DeleteProject(c *fiber.Ctx) error // To delete a project // WIP // CreateTask(c *fiber.Ctx) error // To create a new task // WIP // GetTasks(c *fiber.Ctx) error // To get all tasks // WIP // GetTask(c *fiber.Ctx) error // To get a specific task // WIP // UpdateTask(c *fiber.Ctx) error // To update a task // WIP // DeleteTask(c *fiber.Ctx) error // To delete a task // WIP // CreateCollection(c *fiber.Ctx) error // To create a new collection // WIP // GetCollections(c *fiber.Ctx) error // To get all collections // WIP // GetCollection(c *fiber.Ctx) error // To get a specific collection // WIP // UpdateCollection(c *fiber.Ctx) error // To update a collection // WIP // DeleteCollection(c *fiber.Ctx) error // To delete a collection // WIP // SignCollection(c *fiber.Ctx) error // To sign a collection // WIP ListAllUsers(c *fiber.Ctx) error // To get a list of all users in the application database ListAllUsersProject(c *fiber.Ctx) error // To get a list of all users for a specific project ProjectRoleChange(c *fiber.Ctx) error // To change a users role in a project } // "Constructor" func NewGlobalState(db database.Database) GlobalState { return &GState{Db: db} } // The global state, which implements all the handlers type GState struct { Db database.Database }