models

package
v0.0.0-...-a433b9e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2018 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DataStore

type DataStore struct {
	Session *mgo.Session
	DbName  string
}

Implementation of the DataStorer

func CreateStore

func CreateStore(dialInfo *mgo.DialInfo, dbName string) *DataStore

getters / setters

func (*DataStore) C

func (d *DataStore) C(collection string) *mgo.Collection

general database functions

func (*DataStore) Close

func (d *DataStore) Close()

Closes the mgo session, within the DataStore

func (*DataStore) CreateTask

func (d *DataStore) CreateTask(task Task) (Task, error)

func (*DataStore) CreateUser

func (d *DataStore) CreateUser(user User) (bson.ObjectId, error)

Creates a user in the database, must have email, username & password set

func (*DataStore) DeleteTaskByUserIdAndTaskId

func (d *DataStore) DeleteTaskByUserIdAndTaskId(userId bson.ObjectId, taskId bson.ObjectId) (Task, error)

func (*DataStore) FindUser

func (d *DataStore) FindUser(user User) (User, error)

Find a specific user

func (*DataStore) GetAllTasksByUserId

func (d *DataStore) GetAllTasksByUserId(userId bson.ObjectId) ([]Task, error)

Returns all the tasks, a DataStore knows about

func (*DataStore) GetStore

func (d *DataStore) GetStore() *DataStore

Returns a new data store with a copy of the mgo session

func (*DataStore) GetTaskByUserIdAndTaskId

func (d *DataStore) GetTaskByUserIdAndTaskId(userId bson.ObjectId, taskId bson.ObjectId) (Task, error)

func (*DataStore) InitIndexs

func (d *DataStore) InitIndexs() error

indexs

func (*DataStore) UpdateTaskByUserIdAndTaskID

func (d *DataStore) UpdateTaskByUserIdAndTaskID(newTask Task, userId bson.ObjectId, taskId bson.ObjectId) (Task, error)

func (*DataStore) UserIndexs

func (d *DataStore) UserIndexs() error

Creates appropiate indexs for the user collection Creates an index on 'username' && 'email' field

type DataStorer

type DataStorer interface {
	GetStore() *DataStore
	Close()
	InitIndexs() error
	UserStore
	TaskStore
	C(string) *mgo.Collection
}

type Task

type Task struct {
	Id          bson.ObjectId `bson:"_id,omitempty" json:"id"`
	UserId      bson.ObjectId `bson:"userid" json:"userid"`
	Name        string        `json:"name"`
	Description string        `json:"description"`
	CreatedOn   time.Time     `json:"createdon,omitempty"`
	Due         time.Time     `json:"due,omitempty"`
	Status      string        `json:"status,omitempty"`
	Tags        []string      `json:"tags,omitempty"`
}

type TaskStore

type TaskStore interface {
	GetAllTasksByUserId(bson.ObjectId) ([]Task, error)
	GetTaskByUserIdAndTaskId(bson.ObjectId, bson.ObjectId) (Task, error)
	CreateTask(Task) (Task, error)
	DeleteTaskByUserIdAndTaskId(bson.ObjectId, bson.ObjectId) (Task, error)
	UpdateTaskByUserIdAndTaskID(Task, bson.ObjectId, bson.ObjectId) (Task, error)
}

type User

type User struct {
	Id           bson.ObjectId `bson:"_id,omitempty" json:"id,omitempty"`
	UserName     string        `json:"username"`
	Email        string        `json:"email"`
	Password     string        `json:"password,omitempty"`
	HashPassword []byte        `json:"hashPassword,omitempty"`
}

type UserStore

type UserStore interface {
	//GetAll() ([]User, error)
	CreateUser(User) (bson.ObjectId, error)
	FindUser(User) (User, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL