Files
ris-backend-go/types/oauth.types.go
2024-12-09 09:51:19 +07:00

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