models

package
v2.2.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2015 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Record

type Record struct {
	ID    string `json:"id"`
	Owner struct {
		ID    string `json:"id"`
		Email string `json:"email"`
	} `json:"owner"`
	FQDN            string `json:"fqdn"`
	HandlerHost     string `json:"handler_host"`
	HandlerPort     int    `json:"handler_port"`
	HandlerProtocol string `json:"handler_protocol"`
	UpdatedAt       int64  `json:"updated_at"`
	CreatedAt       int64  `json:"created_at"`
	Blacklist       bool   `json:"blacklist"`
}

Record is a single proxy record used for routing.

func FindRecordByFQDN

func FindRecordByFQDN(db *boltons.DB, fqdn string) (*Record, error)

FindRecordByFQDN returns a single record for the provided fqdn.

func FindRecordBySubOfFQDN

func FindRecordBySubOfFQDN(db *boltons.DB, name string) (*Record, error)

FindRecordBySubOfFQDN is used for DNS requests and tries to find the record whos FQDN matches name.

func FindRecordsForOwner

func FindRecordsForOwner(db *boltons.DB, ID string) ([]Record, error)

FindRecordsForOwner returns a list of all records for a given owner by their id.

type RecordRequest

type RecordRequest struct {
	FQDN            string `json:"fqdn"`
	HandlerHost     string `json:"handler_host"`
	HandlerPort     int    `json:"handler_port"`
	HandlerProtocol string `json:"handler_protocol"`
}

RecordRequest is used for JSON binding during a request to create a new record.

func (*RecordRequest) FieldMap

func (r *RecordRequest) FieldMap(req *http.Request) binding.FieldMap

FieldMap implements binding.FieldMap

func (*RecordRequest) Validate

func (r *RecordRequest) Validate(req *http.Request, errs binding.Errors) binding.Errors

Validate validates a request payload for a new record.

type UpdateRecordRequest

type UpdateRecordRequest struct {
	FQDN            string `json:"fqdn"`
	HandlerHost     string `json:"handler_host"`
	HandlerPort     int    `json:"handler_port"`
	HandlerProtocol string `json:"handler_protocol"`
	Blacklist       bool   `json:"blacklist"`
	Owner           struct {
		ID    string `json:"id"`
		Email string `json:"email"`
	} `json:"owner"`
}

UpdateRecordRequest is used to perform JSON binding when updating a record.

func (*UpdateRecordRequest) FieldMap

func (r *UpdateRecordRequest) FieldMap(req *http.Request) binding.FieldMap

FieldMap implements binding.FieldMap

func (*UpdateRecordRequest) Validate

func (r *UpdateRecordRequest) Validate(req *http.Request, errs binding.Errors) binding.Errors

Validate validates a request payload to update a record.

type User

type User struct {
	ID        string `json:"id"`
	Hash      string `json:"hash"`
	Email     string `json:"email"`
	CreatedAt int64  `json:"created_at"`
	UpdatedAt int64  `json:"updated_at"`
}

User is a single user of the application.

func FindUserByEmail

func FindUserByEmail(db *boltons.DB, email string) (*User, error)

FindUserByEmail is a convenience function to locate a users record by a given email address.

func NewUser

func NewUser(email string, password []byte) (*User, error)

NewUser creates and returns a new user object provided a username and password.

type UserRequest

type UserRequest struct {
	Email    string `json:"email"`
	Password string `json:"password"`
}

UserRequest is used for JSON binding when creating a new user.

func (*UserRequest) FieldMap

func (u *UserRequest) FieldMap(req *http.Request) binding.FieldMap

FieldMap implements binding.FieldMap

func (*UserRequest) Validate

func (u *UserRequest) Validate(req *http.Request, errs binding.Errors) binding.Errors

Validate validates a request payload to create a new user.

type UserTokenRequest

type UserTokenRequest struct {
	Email    string `json:"email"`
	Password string `json:"password"`
}

UserTokenRequest is used when doing a login to generate a new JWT token for the given user.

func (*UserTokenRequest) FieldMap

func (u *UserTokenRequest) FieldMap(req *http.Request) binding.FieldMap

FieldMap implements binding.FieldMap

func (*UserTokenRequest) Validate

func (u *UserTokenRequest) Validate(req *http.Request, errs binding.Errors) binding.Errors

Validate validates a request payload to generate a token for a user.

type UserUpdateRequest

type UserUpdateRequest struct {
	Password string `json:"password"`
}

UserUpdateRequest is used to perform JSON binding when updating a user.

func (*UserUpdateRequest) FieldMap

func (u *UserUpdateRequest) FieldMap(req *http.Request) binding.FieldMap

FieldMap implements binding.FieldMap

func (*UserUpdateRequest) Validate

func (u *UserUpdateRequest) Validate(req *http.Request, errs binding.Errors) binding.Errors

Validate validates a request payload to update a user.

Jump to

Keyboard shortcuts

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