entity

package
v0.0.0-...-5044793 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2021 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package entity is Enterprise Business Rules. エンティティがどうあるべきか記述 どこにも依存しない.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrRecordNotFound returns a "record not found error". Occurs only when attempting to query the database with a struct; querying with a slice won't return this error
	ErrRecordNotFound = gorm.ErrRecordNotFound
	// ErrInvalidSQL occurs when you attempt a query with invalid SQL
	ErrInvalidSQL = gorm.ErrInvalidSQL
	// ErrInvalidTransaction occurs when you are trying to `Commit` or `Rollback`
	ErrInvalidTransaction = gorm.ErrInvalidTransaction
	// ErrCantStartTransaction can't start transaction when you are trying to start one with `Begin`
	ErrCantStartTransaction = gorm.ErrCantStartTransaction
	// ErrUnaddressable unaddressable value
	ErrUnaddressable = gorm.ErrUnaddressable
)

Errors of jinzhu/gorm

View Source
var (
	ErrInvalidConn       = mysql.ErrInvalidConn
	ErrMalformPkt        = mysql.ErrMalformPkt
	ErrNoTLS             = mysql.ErrNoTLS
	ErrCleartextPassword = mysql.ErrCleartextPassword
	ErrNativePassword    = mysql.ErrNativePassword
	ErrOldPassword       = mysql.ErrOldPassword
	ErrUnknownPlugin     = mysql.ErrUnknownPlugin
	ErrOldProtocol       = mysql.ErrOldProtocol
	ErrPktSync           = mysql.ErrPktSync
	ErrPktSyncMul        = mysql.ErrPktSyncMul
	ErrPktTooLarge       = mysql.ErrPktTooLarge
	ErrBusyBuffer        = mysql.ErrBusyBuffer
)

Errors of go-sql-driver/mysql. Various errors the driver might return. Can change between driver versions.

Functions

This section is empty.

Types

type ErrMySQL

type ErrMySQL mysql.MySQLError

func NewErrMySQL

func NewErrMySQL(num uint16, str string) (err *ErrMySQL)

MySQLError is an error type which represents a single MySQL error

func (*ErrMySQL) Error

func (me *ErrMySQL) Error() string

type NullDate

type NullDate struct {
	sql.NullTime
}

func NewNullDate

func NewNullDate(s string) NullDate

func (NullDate) Equal

func (s NullDate) Equal(t NullDate) bool

func (NullDate) GetTime

func (d NullDate) GetTime() time.Time

func (NullDate) IsNull

func (d NullDate) IsNull() bool

func (*NullDate) MarshalJSON

func (d *NullDate) MarshalJSON() ([]byte, error)

func (*NullDate) Set

func (d *NullDate) Set(str string) error

func (NullDate) String

func (d NullDate) String() string

func (*NullDate) UnmarshalJSON

func (d *NullDate) UnmarshalJSON(data []byte) error

type NullString

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

NullString はsql.NullStringをうまくJSONにMarshal/Unmarshal出来るようにするstruct (https://okamuuu.hatenablog.com/entry/2016/12/20/150339) 名前付きフィールドにすることでStringerインターフェースに対応させる. (https://stackoverflow.com/questions/65559059/custom-golang-sql-nullstring-stringer-interface)

func NewNullString

func NewNullString(s string) NullString

func (NullString) Equal

func (s NullString) Equal(t NullString) bool

func (NullString) IsNull

func (s NullString) IsNull() bool

func (*NullString) MarshalJSON

func (s *NullString) MarshalJSON() ([]byte, error)

func (*NullString) Scan

func (s *NullString) Scan(value interface{}) error

func (*NullString) Set

func (s *NullString) Set(str string)

func (NullString) String

func (s NullString) String() string

func (*NullString) UnmarshalJSON

func (s *NullString) UnmarshalJSON(data []byte) error

func (NullString) Value

func (s NullString) Value() (driver.Value, error)

type Task

type Task struct {
	ID          NullString `gorm:"primary_key" json:"id"`
	Title       NullString `gorm:"not null" json:"title"`
	Content     NullString `json:"content"`
	UserID      NullString `gorm:"not null;index"`
	IsCompleted bool       `gorm:"not null" json:"iscomp"`
	Deadline    NullDate   `gorm:"not null" json:"deadline"`
	CreatedAt   time.Time  `json:"-"`
	UpdatedAt   time.Time  `json:"-"`
}

Task は内部で処理する際のTask情報である

func NewTask

func NewTask(id string, title string, content string, userid string, deadline string) (u *Task)

NewTask is the constructor of Task.(値が""の場合はsql.NullStringのnullとして扱う)

func (*Task) MarshalJSON

func (t *Task) MarshalJSON() ([]byte, error)

MarshalJSON はjsonにエンコードするときにUserIDフィールドを隠す

func (*Task) NewID

func (t *Task) NewID() *Task

NewID はTaskのUUIDを生成

func (*Task) SetComp

func (t *Task) SetComp(comp bool) *Task

SetComp はTaskのIsCompletedを設定する

func (*Task) SetID

func (t *Task) SetID(id string) *Task

SetID はTaskのIDを設定

func (*Task) String

func (t *Task) String() (str string)

type Token

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

Token は受け取った文字列をハッシュ化して扱うためのstruct

func NewToken

func NewToken(s string) Token

func (*Token) Authenticate

func (t *Token) Authenticate(plain *Token) bool

Authenticate は2つのトークンが同一のものか判定する (tの元となる文字列がplainと等しいかどうか)

func (*Token) Encrypt

func (t *Token) Encrypt() error

Encrypt はトークンをハッシュ化する

func (Token) Equal

func (t Token) Equal(s Token) bool

func (Token) IsNull

func (t Token) IsNull() bool

func (*Token) MarshalJSON

func (t *Token) MarshalJSON() ([]byte, error)

func (*Token) Scan

func (t *Token) Scan(value interface{}) error

Scan はデータベースの値をTokenにマッピングする

func (*Token) Set

func (t *Token) Set(str string)

func (Token) String

func (t Token) String() string

func (*Token) UnmarshalJSON

func (t *Token) UnmarshalJSON(data []byte) error

func (Token) Value

func (t Token) Value() (driver.Value, error)

Value はTokenのフィールドのうちデータベースに保存するものを指定する

type User

type User struct {
	// ID        int        `gorm:"primary_key"`
	ID        NullString `gorm:"primary_key" json:"id"`
	Name      NullString `gorm:"not null" json:"name"`
	Password  Token      `gorm:"not null" json:"password"`
	Email     NullString `gorm:"not null;unique" json:"email"`
	CreatedAt time.Time  `json:"-"`
	UpdatedAt time.Time  `json:"-"`
}

User は内部で処理する際のUser情報である

func NewUser

func NewUser(id string, name string, pass string, email string) (u *User)

NewUser is the constructor of User.(値が""の場合はsql.NullStringのnullとして扱う)

func (*User) BeforeSave

func (u *User) BeforeSave(tx *gorm.DB) (err error)

BeforeSave はデータベースに保存する際のフック

func (*User) EncryptPassword

func (u *User) EncryptPassword() error

func (*User) MarshalJSON

func (u *User) MarshalJSON() ([]byte, error)

MarshalJSON はjsonにエンコードするときにパスワードフィールドを隠す

func (*User) NewID

func (u *User) NewID() *User

NewID はUserのUUIDを生成

func (*User) SetID

func (u *User) SetID(id string) *User

SetID はUserのIDを設定

func (*User) String

func (u *User) String() (str string)

Jump to

Keyboard shortcuts

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