Documentation ¶
Index ¶
- Variables
- func NewRequestError(code int, msg ...string) error
- type Cursor
- type DummyID
- type FirebaseID
- type FirebaseRepository
- type FirebaseToken
- type Item
- type ItemID
- type ItemInventory
- type MasterRepository
- type PaymentItem
- type PaymentItemID
- type PaymentLog
- type PaymentRepository
- type Ranker
- type RankingRepository
- type RequestError
- type User
- type UserID
- type UserName
- type UserRepository
- type UserToken
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrNoSuchEntity is returned when no entity was found for a given key. ErrNoSuchEntity = NewRequestError(http.StatusNotFound, "404 no such entity") )
Functions ¶
func NewRequestError ¶
NewRequestError は外部要因エラーを生成します。
Types ¶
type FirebaseRepository ¶
type FirebaseRepository interface {
FirebaseID(c context.Context, token FirebaseToken) (FirebaseID, error)
}
FirebaseRepository はFirebaseの操作を抽象化します。
type ItemInventory ¶
ItemInventory はアイテムの所持数です。
type MasterRepository ¶
type MasterRepository interface { PaymentItems(c context.Context) ([]PaymentItem, error) PaymentItem(c context.Context, id PaymentItemID) (*PaymentItem, error) }
MasterRepository はマスターデータの読み取りを抽象化します。
type PaymentItem ¶
type PaymentItem struct { ID PaymentItemID Item Item Price int64 Quantity int64 }
PaymentItem は課金アイテムの値段と個数です。
type PaymentLog ¶
type PaymentLog struct { Item PaymentItem CreatedAt time.Time }
PaymentLog は課金履歴です。
type PaymentRepository ¶
type PaymentRepository interface { Pay(c context.Context, user *User, paymentItem *PaymentItem) (*PaymentLog, error) Logs(c context.Context, user *User, cursor Cursor) ([]PaymentLog, Cursor, error) }
PaymentRepository は課金のCRUDを抽象化します。
type RankingRepository ¶
type RankingRepository interface {
Rankers(c context.Context, offset, limit int64) ([]Ranker, error)
}
RankingRepository はランキングのCRUDを抽象化します。
type RequestError ¶
RequestError は外部要因エラーの識別に使用します。
func (RequestError) Error ¶
func (e RequestError) Error() string
type User ¶
type User struct { ID UserID Token UserToken FirebaseID FirebaseID DummyID DummyID Name UserName CreatedAt time.Time }
User はユーザーIDによってユニークなユーザーデータです。
func NewFirebaseUser ¶
func NewFirebaseUser(firebaseID FirebaseID) *User
NewFirebaseUser はFirebaseユーザーを作成します。
func (*User) UpdateName ¶
UpdateName はユーザー名を変更します。
type UserRepository ¶
type UserRepository interface { ByUserID(c context.Context, userID UserID) (*User, error) ByDummyID(c context.Context, dummyID DummyID) (*User, error) ByFirebaseID(c context.Context, firebaseID FirebaseID) (*User, error) CreateDummyUser(c context.Context, dummyID DummyID) (*User, error) CreateFirebaseUser(fc context.Context, irebaseID FirebaseID) (*User, error) Update(c context.Context, user *User) error }
UserRepository はユーザーのCRUDを抽象化します。
Click to show internal directories.
Click to hide internal directories.