package model

type Oauth2Bind struct {
	Common

	UserID   uint64 `gorm:"uniqueIndex:u_p_o" json:"user_id,omitempty"`
	Provider string `gorm:"uniqueIndex:u_p_o" json:"provider,omitempty"`
	OpenID   string `gorm:"uniqueIndex:u_p_o" json:"open_id,omitempty"`
}

type Oauth2LoginType uint8

const (
	_ Oauth2LoginType = iota
	RTypeLogin
	RTypeBind
)

type Oauth2State struct {
	Action   Oauth2LoginType
	Provider string
	State    string
}