Documentation ¶
Overview ¶
Package entity is Enterprise Business Rules. エンティティがどうあるべきか記述 どこにも依存しない.
Index ¶
- Variables
- type ErrMySQL
- type NullDate
- type NullString
- func (s NullString) Equal(t NullString) bool
- func (s NullString) IsNull() bool
- func (s *NullString) MarshalJSON() ([]byte, error)
- func (s *NullString) Scan(value interface{}) error
- func (s *NullString) Set(str string)
- func (s NullString) String() string
- func (s *NullString) UnmarshalJSON(data []byte) error
- func (s NullString) Value() (driver.Value, error)
- type Task
- type Token
- func (t *Token) Authenticate(plain *Token) bool
- func (t *Token) Encrypt() error
- func (t Token) Equal(s Token) bool
- func (t Token) IsNull() bool
- func (t *Token) MarshalJSON() ([]byte, error)
- func (t *Token) Scan(value interface{}) error
- func (t *Token) Set(str string)
- func (t Token) String() string
- func (t *Token) UnmarshalJSON(data []byte) error
- func (t Token) Value() (driver.Value, error)
- type User
Constants ¶
This section is empty.
Variables ¶
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
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 ¶
MySQLError is an error type which represents a single MySQL 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
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 (*Task) MarshalJSON ¶
MarshalJSON はjsonにエンコードするときにUserIDフィールドを隠す
type Token ¶
type Token struct {
// contains filtered or unexported fields
}
Token は受け取った文字列をハッシュ化して扱うためのstruct
func (*Token) Authenticate ¶
Authenticate は2つのトークンが同一のものか判定する (tの元となる文字列がplainと等しいかどうか)
func (*Token) MarshalJSON ¶
func (*Token) UnmarshalJSON ¶
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 (*User) BeforeSave ¶
BeforeSave はデータベースに保存する際のフック
func (*User) EncryptPassword ¶
func (*User) MarshalJSON ¶
MarshalJSON はjsonにエンコードするときにパスワードフィールドを隠す