model

package
v0.0.0-...-2ea2df2 Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2017 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Application

type Application struct {
	ID   string `json:"id" binding:"required"`
	Name string `json:"name" binding:"required"`
}

Application store a service deployment

type Permission

type Permission string

Permission informations

type Profile

type Profile map[string]interface{}

Profile for user related generic data

type PublicUser

type PublicUser struct {
	*User
	ObjectID omit `json:"-"`
	Password omit `json:"password,omitempty"`
}

PublicUser expose defined fields on JSON marshalling

type RequestAuthorization

type RequestAuthorization struct {
	SubjectID   string       `json:"subject" binding:"required"`
	ObjectID    string       `json:"object" binding:"required"`
	Permissions []Permission `json:"permissions" binding:"required"`
}

RequestAuthorization contains authz request

type RequestLogin

type RequestLogin struct {
	Username string `json:"username" binding:"required,min=3,max=64"`
	Password string `json:"password" binding:"required,min=3"`
}

RequestLogin contains login request

type RequestRegister

type RequestRegister struct {
	Username string `json:"username" binding:"required,min=3,max=64"`
	Password string `json:"password" binding:"required,min=3"`
	Email    string `json:"email" binding:"required,min=4,email"`
}

RequestRegister contains login request

func (*RequestRegister) ToUser

func (r *RequestRegister) ToUser() User

ToUser convert to a User model

type ResponseLogin

type ResponseLogin struct {
	PublicUser
}

ResponseLogin a response login

func NewResponseLogin

func NewResponseLogin(user *User) ResponseLogin

NewResponseLogin init a ResponseLogin

type Role

type Role struct {
	Name        string       `json:"name" binding:"required"`
	Permissions []Permission `json:"permissions,omitempty"`
}

Role informations

type Token

type Token struct {
	ObjectID bson.ObjectId `json:"-" bson:"_id"`
	UserID   string        `json:"userId"`
	Value    string        `json:"token"`
	Expires  time.Time     `json:"expires"`
	Created  time.Time
}

Token for authentication

func NewToken

func NewToken(user *User) Token

NewToken create a new token

func (*Token) GenerateJWTToken

func (t *Token) GenerateJWTToken() error

GenerateJWTToken generate a JWT token

type User

type User struct {
	ObjectID     bson.ObjectId `json:"-" bson:"_id"`
	ID           string        `json:"id"`
	Enabled      bool          `json:"enabled"`
	Username     string        `json:"username" binding:"required,min=3,max=64"`
	Password     string        `json:"password,omitempty" binding:"required,min=3"`
	Email        string        `json:"email" binding:"required,min=4,email"`
	Roles        []Role        `json:"roles" binding:"required"`
	SessionToken string        `json:"sessionToken,omitempty"`
	Applications []string      `json:"applications,omitempty"`
	Profile      Profile       `json:"profile,omitempty"`
}

User profile informations

func NewUser

func NewUser() User

NewUser init an user

func (*User) ToPublicUser

func (u *User) ToPublicUser() PublicUser

ToPublicUser return a specialized struct for serialization

Jump to

Keyboard shortcuts

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