package auth import ( "api.qobiltu.id/controller" "api.qobiltu.id/models" "api.qobiltu.id/services" "github.com/gin-gonic/gin" ) func ExternalAuth(c *gin.Context) { ExternalAuthController := controller.Controller[models.ExternalAuthRequest, models.ExternalAuth, models.AuthenticatedUser]{} ExternalAuthController.RequestJSON(c, func() { if ExternalAuthController.Request.OauthProvider == "google" { GoogleLogin := services.GoogleAuthService{} ExternalAuthController.Service = &GoogleLogin.Service ExternalAuthController.Service.Constructor.OauthID = ExternalAuthController.Request.OauthID GoogleLogin.Authenticate(ExternalAuthController.Request.IsAgreeTerms && !ExternalAuthController.Request.IsSexualDisease) } }) }