58 lines
2.5 KiB
Go
58 lines
2.5 KiB
Go
package types
|
|
|
|
import "github.com/markbates/goth"
|
|
|
|
type OauthStore interface {
|
|
AddGoolgeAccount(user UserGoogle) error
|
|
CheckGoogleAccountLinked(user UserGoogle) (int, error)
|
|
GenerateAuthCode(email string, jenis string, userid int) error
|
|
CompareAuthCode(authcode string, user goth.User, typez string) (int, error)
|
|
SignInWestone(email string, password string) (*User, error)
|
|
LogSignIn(email string, ip string, status string, tipe string, provider string) error
|
|
}
|
|
|
|
type UserGoogle struct {
|
|
M_UserGoogleID int `json:"M_UserGoogleID" db:"M_UserGoogleID"`
|
|
M_UserGoogleM_UserID int `json:"M_UserGoogleM_UserID" db:"M_UserGoogleM_UserID"`
|
|
M_UserGoogleEmail string `json:"M_UserGoogleEmail" db:"M_UserGoogleEmail"`
|
|
M_UserGoogleIdentifier string `json:"M_UserGoogleIdentifier" db:"M_UserGoogleIdentifier"`
|
|
M_UserGoogleCode string `json:"M_UserGoogleCode" db:"M_UserGoogleCode"`
|
|
M_UserGoogleToken string `json:"M_UserGoogleToken" db:"M_UserGoogleToken"`
|
|
M_UserGoogleIsActive string `json:"M_UserGoogleIsActive" db:"M_UserGoogleIsActive"`
|
|
}
|
|
|
|
type AuthCode struct {
|
|
AuthCodeID int `json:"AuthCodeID" db:"AuthCodeID"`
|
|
AuthCodeMUserID int `json:"AuthCodeMUserID" db:"AuthCodeMUserID"`
|
|
AuthCodeUser string `json:"AuthCodeUser" db:"AuthCodeUser"`
|
|
AuthCodeType string `json:"AuthCodeType" db:"AuthCodeType"`
|
|
AuthCodeCode string `json:"AuthCodeCode" db:"AuthCodeCode"`
|
|
AuthCodeIsUsed string `json:"AuthCodeIsUsed" db:"AuthCodeIsUsed"`
|
|
}
|
|
|
|
type AuthCodePayload struct {
|
|
Code string `json:"code" validate:"required"`
|
|
}
|
|
|
|
type GenerateAuthCode struct {
|
|
Email string `json:"email" validate:"required"`
|
|
Types string `json:"type" validate:"required"`
|
|
UserID int `json:"userid" validate:"required"`
|
|
}
|
|
|
|
type SignInPayload struct {
|
|
Email string `json:"email" validate:"required,email"`
|
|
Password string `json:"password" validate:"required,min=6,max=130"`
|
|
}
|
|
|
|
type LogLogin struct {
|
|
LogLoginMUserEmail string `db:"Log_LoginM_UserEmail" json:"logLoginMUserEmail"`
|
|
LogLoginDateTime string `db:"Log_LoginDateTime" json:"logLoginDateTime"`
|
|
LogLoginIP string `db:"Log_LoginIP" json:"logLoginIP"`
|
|
LogLoginType string `db:"Log_LoginType" json:"logLoginType"`
|
|
LogLoginStatus string `db:"Log_LoginStatus" json:"logLoginStatus"`
|
|
LogLoginLogin string `db:"Log_LoginLogin" json:"logLoginLogin"`
|
|
LogLoginIsActive string `db:"Log_LoginIsActive" json:"logLoginIsActive"`
|
|
LogLoginLastUpdated string `db:"Log_LoginLastUpdated" json:"logLoginLastUpdated"`
|
|
}
|