hlfw.ca

webbing

Download patch

ref: 43aaf43179c20ec5f99ea0e4e1f4031796368f70
parent: 373fb0d22ec131a771ceca6f0f4814d291bf78d2
author: halfwit <michaelmisch1985@gmail.com>
date: Sat Mar 28 07:26:09 PDT 2020

Move db away

--- a/db/tmp.go
+++ /dev/null
@@ -1,161 +1,0 @@
-package db
-
-import (
-	"errors"
-	"log"
-)
-
-// Access - Who can access the data
-type Access uint8
-
-const (
-	GuestAuth Access = 1 << iota
-	PatientAuth
-	DoctorAuth
-)
-
-type entry struct {
-	first string
-	last  string
-	email string
-	pass  string
-	role  Access
-}
-
-// NOTE: stubs for database calls.
-var tmpdata map[string]*entry
-var data map[string]*entry
-
-func init() {
-	tmpdata = make(map[string]*entry)
-	data = make(map[string]*entry)
-	// NOTE: Dummy entry for testing. This goes away when we have a real db
-	data["foo"] = &entry{
-		first: "foo",
-		last:  "bar",
-		email: "foo@bar.com",
-		pass:  "1234567890",
-		role:  PatientAuth,
-	}
-	data["bar"] = &entry{
-		first: "foo",
-		last:  "bar",
-		email: "doc@bar.com",
-		pass:  "1234567890",
-		role:  DoctorAuth,
-	}
-}
-
-// CreateTempEntry - Temporary (time limited) database entry
-func CreateTempEntry(first, last, email, pass, token string) {
-	tmpdata[token] = &entry{
-		first: first,
-		last:  last,
-		email: email,
-		pass:  pass,
-	}
-}
-
-// RemoveTempEntry - Called after timeout - this should be internal to db
-func RemoveTempEntry(token string) {
-	delete(tmpdata, token)
-}
-
-// FindTempEntry - validate entry still exists
-func FindTempEntry(token string) bool {
-	if _, ok := tmpdata[token]; ok {
-		return true
-	}
-	return false
-}
-
-// CreateEntry - Add a permanent entry to the database
-func CreateEntry(token string) {
-	log.Println(data)
-	if ent, ok := tmpdata[token]; ok {
-		data[token] = &entry{
-			first: ent.first,
-			last:  ent.last,
-			email: ent.email,
-			pass:  ent.pass,
-			role:  PatientAuth,
-		}
-		delete(tmpdata, token)
-	}
-}
-
-// User - Any registered user on the site
-type User struct {
-	First string
-	Last  string
-	Email string
-}
-
-// FromCookie - look up by Cookie token
-func FromCookie(token string) (*User, error) {
-	if u, ok := data[token]; ok {
-		return &User{
-			First: u.first,
-			Last:  u.last,
-			Email: u.email,
-		}, nil
-	}
-	return nil, errors.New("No such user")
-}
-
-// UpdateToken - Change entry status for temp entries
-func UpdateToken(old, new string) bool {
-	defer delete(data, old)
-	if ent, ok := data[old]; ok {
-		data[new] = ent
-		return true
-	}
-	return false
-}
-
-// FindEntry - Look up if token is still valid
-func FindEntry(token string) bool {
-	if _, ok := data[token]; ok {
-		return true
-	}
-	return false
-}
-
-// ValidateLogin - Dummy function for login
-func ValidateLogin(username, password string) bool {
-	for _, client := range data {
-		if client.email == username && client.pass == password {
-			return true
-		}
-	}
-	return false
-}
-
-// UserRole - Find Access mappings for given user
-func UserRole(username string) Access {
-	for _, client := range data {
-		if client.email != username {
-			continue
-		}
-		return client.role
-	}
-	return GuestAuth
-}
-
-// UserExists - Look up by email if user is in db
-func UserExists(email string) bool {
-	for _, client := range data {
-		if client.email == email {
-			return true
-		}
-	}
-	return false
-}
-
-// UpdateUserPassword - Dummy funtion to update password
-func UpdateUserPassword(token, pass string) {
-	if _, ok := data[token]; !ok {
-		return
-	}
-	data[token].pass = pass
-}
--- a/db/token.go
+++ /dev/null
@@ -1,30 +1,0 @@
-package db
-
-import (
-	"errors"
-	"net/http"
-
-	"github.com/google/uuid"
-	"github.com/olmaxmedical/olmax_go/session"
-)
-
-// NewToken returns a unique token string
-func NewToken() string {
-	u, _ := uuid.NewRandom()
-	t := u.String()
-	return t
-}
-
-// ValidateToken - verify old token was correct, set new
-func ValidateToken(h *http.Request, s session.Session) error {
-	defer s.Delete("token")
-	if h == nil {
-		return errors.New("Invalid session")
-	}
-	token := h.PostFormValue("token")
-	if s.Get("token") != token {
-		return errors.New("Invalid/expired token")
-	}
-	s.Set("token", NewToken())
-	return nil
-}