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"` }