domain

package
v0.0.0-...-ac1dc5f Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewAccountID

func NewAccountID() (AccountID, DomainError)

func NewCredential

func NewCredential(u User, p Pass) (*Credential, DomainError)

func NewDate

func NewDate() (Date, DomainError)

func NewPass

func NewPass(pID PassID, aID AccountID, pass Password, iat Date) (*Pass, DomainError)

func NewPassID

func NewPassID() (PassID, DomainError)

func NewPassword

func NewPassword(pass string) (Password, DomainError)

平文パスワード から ハッシュ化されたパスワードオブジェクトを生成する

func NewUser

func NewUser(aID AccountID, uID UserID, uName UserName) (*User, DomainError)

func NewUserID

func NewUserID(id string) (UserID, DomainError)

func NewUserName

func NewUserName(name string) (UserName, DomainError)

func NilID

func NilID() id

func ReNewAccountID

func ReNewAccountID(data string) (AccountID, DomainError)

func ReNewDate

func ReNewDate(d string) (Date, DomainError)

func ReNewPass

func ReNewPass(passID string, accountID string, password string, iat string) (*Pass, DomainError)

インフラ層でドメインオブジェクトを生成するため 本当は 値オブジェクト を1個ずつ生成した方がいいんだろうけど 面倒だからまとめた

func ReNewPassID

func ReNewPassID(data string) (PassID, DomainError)

func ReNewPassword

func ReNewPassword(pass string) (Password, DomainError)

ハッシュ化されたパスワード から パスワードオブジェクトを生成する

func ReNewUser

func ReNewUser(accountID string, userID string, name string) (*User, DomainError)

インフラ層でドメインオブジェクトを生成するため 本当は 値オブジェクト を1個ずつ生成した方がいいんだろうけど 面倒だからまとめた

Types

type AccountID

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

アカウントID 値オブジェクト

func (*AccountID) IsNilID

func (id *AccountID) IsNilID() bool

func (*AccountID) PrefixID

func (id *AccountID) PrefixID() string

func (*AccountID) Val

func (id *AccountID) Val() string

type Credential

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

func (*Credential) Pass

func (c *Credential) Pass() Pass

func (*Credential) User

func (c *Credential) User() User

type CredentialRepo

type CredentialRepo interface {
	// contains filtered or unexported methods
}

この struct は ユースケース層 で使われていて 実装は インフラ層

type Date

type Date struct {
	time.Time
}

日付 値オブジェクト

func (*Date) MyFormat

func (d *Date) MyFormat() string

このサービス内で使う日付表記のフォーマット

type DomainError

type DomainError interface {
	error
	Unwrap() error
	FullError() string
}

ドメイン層の 独自エラー

func NewDomainError

func NewDomainError(msg string) DomainError

エラーオブジェクト自体を生成

func NewID

func NewID(prefixID string) (id, DomainError)

func ReNewID

func ReNewID(data string) (id, DomainError)

func WrapDomainError

func WrapDomainError(msg string, innerErr error) DomainError

エラーオブジェクトを ドメイン層エラー でラップする つまり エラーオブジェクトを生成 と本質は同じ

type Pass

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

パスワード

func (*Pass) AccountID

func (p *Pass) AccountID() AccountID

func (*Pass) IsLogin

func (p *Pass) IsLogin(inputPassword string) (bool, DomainError)

func (*Pass) IssuedAt

func (p *Pass) IssuedAt() Date

func (*Pass) PassID

func (p *Pass) PassID() PassID

func (*Pass) Password

func (p *Pass) Password() Password

type PassID

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

パスワードID 値オブジェクト

func (*PassID) IsNilID

func (id *PassID) IsNilID() bool

func (*PassID) PrefixID

func (id *PassID) PrefixID() string

func (*PassID) Val

func (id *PassID) Val() string

type Password

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

パスワード 値オブジェクト

func (Password) GoString

func (p Password) GoString() string

機密フィールドの出力形式変更

func (Password) String

func (p Password) String() string

機密フィールドの出力形式変更

func (*Password) ToHash

func (p *Password) ToHash() string

type User

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

あえてユーザーという名称を使う

func (*User) AccountID

func (u *User) AccountID() AccountID

func (*User) ID

func (u *User) ID() UserID

func (*User) Name

func (u *User) Name() UserName

type UserID

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

ユーザーID 値オブジェクト

func (*UserID) Val

func (u *UserID) Val() string

type UserName

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

ユーザー名 値オブジェクト

func (*UserName) Val

func (u *UserName) Val() string

Jump to

Keyboard shortcuts

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