datalayer

package
v0.0.0-...-a7e6680 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2020 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoData = sql.ErrNoRows
)

Functions

func GetFilterCriteria

func GetFilterCriteria(filter filters.CardTransactionFilter) (string, []interface{})

Types

type CardTransaction

type CardTransaction struct {
	Model
	DateTime             time.Time `json:"dateTime" db:"datetime"`
	Amount               int64     `json:"amount" db:"amount"`
	CurrencyScale        int       `json:"scale" db:"currency_scale"`
	CurrencyCode         string    `json:"currencyCode" db:"currency_code"`
	Reference            string    `json:"reference" db:"reference"`
	MerchantName         string    `json:"merchantName" db:"merchant_name"`
	MerchantCity         string    `json:"merchantCity" db:"merchant_city"`
	MerchantCountryCode  string    `json:"merchantCountryCode" db:"merchant_country_code"`
	MerchantCountryName  string    `json:"merchantCountryName" db:"merchant_country_name"`
	MerchantCategoryCode string    `json:"merchantCategoryCode" db:"merchant_category_code"`
	MerchantCategoryName string    `json:"merchantCategoryName" db:"merchant_category_name"`
	UserID               int64     `json:"userID" db:"user_id"`
}

type Contact

type Contact struct {
	Model
	Name   string `json:"name" db:"name"`
	Phone  string `json:"phone" db:"phone"`
	UserID int64  `json:"userID" db:"user_id"`
}

type DataLayer

type DataLayer interface {
	// Users
	GetUserByEmail(email string) (*User, error)
	GetUserByID(id int64) (*User, error)
	CreateUser(email, password string) (int64, error)
	GetUnconfirmedUsers() ([]User, error)
	SetUserStateByID(id int64, state UserState) error

	// Contacts
	CreateContact(name, phone string, userID int64) (int64, error)
	GetContactByID(id int64) (*Contact, error)
	GetContactsByUserID(userID int64) ([]*Contact, error)

	// Transactions
	CreateCardTransaction(*CardTransaction) (int64, error)
	GetCardTransactionByID(id int64) (*CardTransaction, error)
	GetCardTransactionsByUserID(userID int64, sortable pagination.Sortable, filter filters.CardTransactionFilter) ([]*CardTransaction, error)

	// SignUpConfirmations
	CreateSignUpConfirmation(nonce string, userID int64) (int64, error)
	LookupSignUpConfirmation(nonce string) (*SignUpConfirmation, error)
}

type JsonNullTime

type JsonNullTime struct {
	sql.NullTime
}

func (JsonNullTime) MarshalJSON

func (v JsonNullTime) MarshalJSON() ([]byte, error)

func (*JsonNullTime) UnmarshalJSON

func (v *JsonNullTime) UnmarshalJSON(data []byte) error

type Model

type Model struct {
	ID        int64        `json:"id" db:"id"`
	CreatedAt JsonNullTime `json:"createdAt" db:"created_at"`
	UpdatedAt JsonNullTime `json:"updatedAt" db:"updated_at"`
	DeletedAt JsonNullTime `json:"deletedAt" db:"deleted_at"`
}

type PersistenceDataLayer

type PersistenceDataLayer struct {
	// contains filtered or unexported fields
}

func New

func New() (*PersistenceDataLayer, error)

func (*PersistenceDataLayer) CreateCardTransaction

func (p *PersistenceDataLayer) CreateCardTransaction(cardTransaction *CardTransaction) (int64, error)

func (*PersistenceDataLayer) CreateContact

func (p *PersistenceDataLayer) CreateContact(name, phone string, userID int64) (int64, error)

func (*PersistenceDataLayer) CreateSignUpConfirmation

func (p *PersistenceDataLayer) CreateSignUpConfirmation(nonce string, userID int64) (int64, error)

func (*PersistenceDataLayer) CreateUser

func (p *PersistenceDataLayer) CreateUser(email, password string) (int64, error)

func (*PersistenceDataLayer) GetCardTransactionByID

func (p *PersistenceDataLayer) GetCardTransactionByID(id int64) (*CardTransaction, error)

func (*PersistenceDataLayer) GetCardTransactionsByUserID

func (p *PersistenceDataLayer) GetCardTransactionsByUserID(userID int64, sortable pagination.Sortable, filter filters.CardTransactionFilter) ([]*CardTransaction, error)

func (*PersistenceDataLayer) GetConn

func (p *PersistenceDataLayer) GetConn() *sqlx.DB

func (*PersistenceDataLayer) GetContactByID

func (p *PersistenceDataLayer) GetContactByID(id int64) (*Contact, error)

func (*PersistenceDataLayer) GetContactsByUserID

func (p *PersistenceDataLayer) GetContactsByUserID(userID int64) ([]*Contact, error)

func (*PersistenceDataLayer) GetUnconfirmedUsers

func (p *PersistenceDataLayer) GetUnconfirmedUsers() ([]User, error)

func (*PersistenceDataLayer) GetUserByEmail

func (p *PersistenceDataLayer) GetUserByEmail(email string) (*User, error)

func (*PersistenceDataLayer) GetUserByID

func (p *PersistenceDataLayer) GetUserByID(id int64) (*User, error)

func (*PersistenceDataLayer) LookupSignUpConfirmation

func (p *PersistenceDataLayer) LookupSignUpConfirmation(nonce string) (*SignUpConfirmation, error)

func (*PersistenceDataLayer) SetUserStateByID

func (p *PersistenceDataLayer) SetUserStateByID(id int64, state UserState) error

type SignUpConfirmation

type SignUpConfirmation struct {
	Model
	Nonce  string `json:"name" db:"nonce"`
	UserID int64  `json:"user_id" db:"user_id"`
}

type User

type User struct {
	Model
	Email       sql.NullString `db:"email"`
	Password    sql.NullString `db:"password"`
	Role        sql.NullString `db:"role"`
	State       sql.NullString `db:"state"`
	LoggedOutAt JsonNullTime   `db:"logged_out_at"`
}

type UserState

type UserState string
const (
	UserStateInvalid     UserState = "INVALID"
	UserStateUnconfirmed UserState = "UNCONFIRMED"
	UserStateProcessing  UserState = "PROCESSING"
	UserStatePending     UserState = "PENDING"
	UserStateConfirmed   UserState = "CONFIRMED"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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