Line data Source code
1 : // Package entity はユーザーの外部プロバイダ連携を表すドメインエンティティです。
2 : package entity
3 :
4 : import "time"
5 :
6 : // UserIdentity はユーザーの外部プロバイダ連携を表すドメインエンティティです。
7 : type UserIdentity struct {
8 : ID uint64 `json:"id" gorm:"primaryKey;autoIncrement"`
9 : UserID uint64 `json:"user_id" gorm:"index:idx_auth_user"` // 逆引き用 index
10 : Provider string `json:"provider" gorm:"size:64;index:uq_provider_user,unique"`
11 : ProviderUserID string `json:"provider_user_id" gorm:"size:255;index:uq_provider_user,unique"`
12 : ProviderDisplayName string `json:"provider_display_name" gorm:"size:255"`
13 : EmailAtSignup *string `json:"email_at_signup" gorm:"size:320"`
14 : CreatedAt time.Time `json:"created_at"`
15 : }
16 :
17 : // TableName golang-migrate で auth_identities を作っている前提に合わせる
18 0 : func (UserIdentity) TableName() string {
19 0 : return "user_identities"
20 0 : }
|