40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from flask import jsonify, request
|
|
from schemas import LoginSchema
|
|
from services import UserService
|
|
from services import AuthService
|
|
|
|
|
|
class AuthController:
|
|
def __init__(
|
|
self, userService: UserService, authService: AuthService, googleAuth=None
|
|
):
|
|
self.user_service = userService
|
|
self.auth_service = authService
|
|
self.google_auth = googleAuth
|
|
|
|
def login(self):
|
|
data = request.get_json()
|
|
dataSchema = LoginSchema(**data)
|
|
response = self.auth_service.login(dataSchema)
|
|
if response.success:
|
|
return jsonify(response.to_dict()), 200
|
|
return jsonify(response.to_dict()), 400
|
|
|
|
def google_login(self):
|
|
data = request.get_json()
|
|
id_token = data["token"]
|
|
response = self.google_auth.parse_id_token(id_token)
|
|
if response:
|
|
return jsonify({"message": response})
|
|
return jsonify({"message": "google login failed"})
|
|
|
|
def register(self):
|
|
|
|
return jsonify({"message": "register"})
|
|
|
|
def logout(self):
|
|
return jsonify({"message": "logout"})
|
|
|
|
def test(self):
|
|
return "test"
|