# Functions
AddUser Takes a fiber context, and creates a new User in the DB via a post request, or returns an error to the client.
CheckAuth Takes a username and password, and compares the password to the hash stored in the Users table to authenticate, returns true if authenticated and false if not.
CreateDefaultAdmin Creates sys_admin account if it doesn't already exist.
# Structs
User The primary user struct, contains all the user information including gorm.Model and various struct tags.
UserResponse Is a struct simply for returning different user fields after a successful reqeust, to prevent passwords from being passed over http.